基于改进遗传算法和模拟退火算法的三维球体装箱方法技术

技术编号:29300386 阅读:20 留言:0更新日期:2021-07-17 01:19
本发明专利技术涉及三维模型显示技术领域,尤其是基于改进遗传算法和模拟退火算法的三维球体装箱方法,包括数据预处理阶段、球体内接立方体空间装箱阶段和“立方体

【技术实现步骤摘要】
基于改进遗传算法和模拟退火算法的三维球体装箱方法


[0001]本专利技术涉及三维模型显示
,具体领域为一种基于改进遗传算法和模拟退火算法的三维球体装箱方法。

技术介绍

[0002]在进行3D模型渲染展示时,有时会需要将某一层级的模型进行分解,以此达到更完善的展示效果。传统的模型分解算法通常是对初始零件与中心点位置的差值进行倍增,调整展开后零件的最终位置,以达到分解展示的效果。但是这种简单的位置处理方法在处理分布不规则、零件数量繁多的模型时具有空间利用率低和泛用性差的问题,经常出现分解后零件位置重叠等现象,较大地影响了模型展示的效果,阻碍了这类3D模型展示方案的推广。
[0003]装箱问题是一种经典的离散组合最优化问题,旨在将给定的确定数量的“箱子”,按一定约束条件填装至指定目标容器中。这与我们要解决的模型零件分解,并对最终位置进行展示的方案有很大相关性,因此将对模型分解后各个零件最终位置的计算,转化为球体空间三维装箱问题进行求解。
[0004]三维装箱问题的求解由于受到控制因素的影响,常规枚举算法得到精确解需要花费难以计量的时间成本,可行性不高,因此通常使用启发式算法对这类问题进行近似求解。但是即使使用了传统的遗传算法等启发式算法,在应用在网页端的模型展示上时,其所要花费的求解时间仍然不能满足即时性的需求,无法在用户点击后及时反馈结果。

技术实现思路

[0005]针对现有技术存在的不足,本专利技术的目的在于提供一种基于改进遗传算法和模拟退火算法的三维球体装箱方法,先将三维球体空间的装箱问题求解的过程分为两个部分,即球体内接立方体空间装箱,和“立方体

球体”布局展开。对于球体内接立方体空间装箱,使用改进后的遗传算法模块,根据预设的位置编码等处理信息,将待处理模型零件属性进行立方体空间的位置处理,得到中间解。接下来进行“立方体

球体”布局展开过程,使用模拟退火算法,对中间解进行球体空间的展开,调整位置,以达到最终位置信息的求解。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种基于改进遗传算法和模拟退火算法的三维球体装箱方法,包括数据预处理阶段、球体内接立方体空间装箱阶段和“立方体

球体”展开阶段,
[0007](1)数据预处理阶段步骤为:
[0008](1.1)接收待分解的模型信息;
[0009](1.2)对接收的模型信息进行编码设计;
[0010](2)球体内接立方体空间装箱阶段步骤为:
[0011](2.1)根据预处理后的信息生成初始解;
[0012](2.2)根据适应度函数,求解当前初始解中初代种群的适应度函数值;
[0013](2.3)根据当前的交叉率和变异率,随机选取需要进行交叉和变异的个体并进行操作,以此产生部分新个体;
[0014](2.4)根据当前代中各个个体的适应度函数值,使用选择算子选出将进入下一代种群的个体;
[0015](2.5)判断得到的后代是否发生进化,并以此为依据调整交叉率和变异率;
[0016](2.6)进行终止条件判断,若当前进化的次数计数器达到预设的数值,说明完成了求解,结束操作,若未达到预设进化次数,则返回步骤(2.2),重复接下来的步骤直至终止;
[0017](3)“立方体

球体”展开阶段步骤为:
[0018](3.1)根据步骤(2)中得到的中间解,并以此进行参数的初始化;
[0019](3.2)使用分割法生成模拟退火算法的初始解;
[0020](3.3)进入抽样过程,生成符合约束条件的新解,并判定是否接受该解;
[0021](3.4)更新温度,判断是否满足终止条件,若达到,则结束求解,输出当前解即为最优解,否则返回步骤(3.3)重新进行抽样操作。
[0022]优选的,步骤(1)中待分解的模型信息包括待分解模型初始位置坐标与父节点包围盒中心坐标、目标容器球体的中心坐标及半径。
[0023]优选的,步骤(1.2)中在进行位置编码设计前,首先要根据实际使用需要确定约束条件;
[0024]其具体位置编码方式为:
[0025]①
对每个零件个体根据其原本的位置,获得一个三位的位置编码;
[0026]②
根据将要分解模型的零件数量,沿z轴分为N份;
[0027]③
从z轴坐标最大值处开始,该分组中每个模型位置编码第一位为0,以此类推,分配至编码N

1;
[0028]④
之后,对于其中任意一个分组,以中心点建立坐标系,根据其所在象限的位置,以1和

1为区分分配剩余位置编码;
[0029]⑤
获得对每个零件的位置编码后,根据装载顺序编排为数据串p,p中包含所有的待装箱物体内容,数据串中的每位整数数值pi代表了对应待装箱物体的编号。
[0030]优选的,步骤(2.1)的具体方式为:
[0031]①
根据位置编码中的层级编码数据,也即其中第一位数据,将所有待装箱模型根据层级分为n组;
[0032]②
对于每层组中的物体,再根据编码后两位的象限数据,继续细分为4个象限组,并根据其中物体的体积大小,从小到大的顺序排列,形成待装箱的层级块列表;
[0033]③
对待装箱容器也按相同模式分为4n个子容器。
[0034]优选的,步骤(2.3)中交叉操作使用两点交叉,将其中两个个体选取随机的两个标记点k1和k2,交换两个个体中标记点的分布结果,生成新的两个个体;变异操作使用互异变异,随机选中单个个体中两个被分配的零件信息,在满足约束条件的情况下进行位置交换;
[0035]步骤(2.4)中选择操作中采用轮盘赌选择,将当前种群中的每个个体在一个指定的数值区间片段中进行对应,根据适应度函数值得到的结果大小,为每个个体片段分配等比的长度;随后,算子将在区间范围内生成随机数,根据该随机数处在的位置,获取该区域对应的种群个体,该个体即为被选中的目标个体,循环生成随机数直至抽取的种群个体数
达到设定的需求。
[0036]优选的,根据步骤(2.5)对控制交叉和变异操作发生的交叉率和变异率进行自适应的调整,其调整方式为建立在对后代是否发生进化的基础上,若新一代个体中适应度函数值最大值大于前代中最大值,则说明发生了进化,则增加交叉率和变异率,以p代表当前交叉率数值,t代表截至最新一代种群未发生进化的种群代数,则交叉率增加遵循函数f(t)=(1

p)e
(

1/t)

[0037]变异率方面,由于通常情况下变异的发生小于交叉产生的概率,因此变异率在增加时遵循的函数为f(t)/5;反之,若未发生进化,则减小两个概率,以d代表前代最优适应度函数值,则交叉率减少函数为f(t)=d
t
·
p;同理,变异率减少函本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进遗传算法和模拟退火算法的三维球体装箱方法,其特征在于:包括数据预处理阶段、球体内接立方体空间装箱阶段和“立方体

球体”展开阶段,(1)数据预处理阶段步骤为:(1.1)接收待分解的模型信息;(1.2)对接收的模型信息进行编码设计;(2)球体内接立方体空间装箱阶段步骤为:(2.1)根据预处理后的信息生成初始解;(2.2)根据适应度函数,求解当前初始解中初代种群的适应度函数值;(2.3)根据当前的交叉率和变异率,随机选取需要进行交叉和变异的个体并进行操作,以此产生部分新个体;(2.4)根据当前代中各个个体的适应度函数值,使用选择算子选出将进入下一代种群的个体;(2.5)判断得到的后代是否发生进化,并以此为依据调整交叉率和变异率;(2.6)进行终止条件判断,若当前进化的次数计数器达到预设的数值,说明完成了求解,结束操作,若未达到预设进化次数,则返回步骤(2.2),重复接下来的步骤直至终止;(3)“立方体

球体”展开阶段步骤为:(3.1)根据步骤(2)中得到的中间解,并以此进行参数的初始化;(3.2)使用分割法生成模拟退火算法的初始解;(3.3)进入抽样过程,生成符合约束条件的新解,并判定是否接受该解;(3.4)更新温度,判断是否满足终止条件,若达到,则结束求解,输出当前解即为最优解,否则返回步骤(3.3)重新进行抽样操作。2.根据权利要求1所述的基于改进遗传算法和模拟退火算法的三维球体装箱方法,其特征在于:步骤(1)中待分解的模型信息包括待分解模型初始位置坐标与父节点包围盒中心坐标、目标容器球体的中心坐标及半径。3.根据权利要求2所述的基于改进遗传算法和模拟退火算法的三维球体装箱方法,其特征在于:步骤(1.2)中在进行位置编码设计前,首先要根据实际使用需要确定约束条件;其具体位置编码方式为:

对每个零件个体根据其原本的位置,获得一个三位的位置编码;

根据将要分解模型的零件数量,沿z轴分为N份;

从z轴坐标最大值处开始,该分组中每个模型位置编码第一位为0,以此类推,分配至编码N

1;

之后,对于其中任意一个分组,以中心点建立坐标系,根据其所在象限的位置,以1和

1为区分分配剩余位置编码;

获得对每个零件的位置编码后,根据装载顺序编排为数据串p,p中包含所有的待装箱物体内容,数据串中的每位整数数值pi代表了对应待装箱物体的编号。4.根据权利要求3所述的基于改进遗传算法和模拟退火算法的三维球体装箱方法,其特征在于:步骤(2.1)的具体方式为:

根据位置编码中的层级编码数据,也即其中第一位数据,将所有待装箱模型根据层级分为n组;

对于每层组中的物体,再根据编码后两位的象限数据,继续细分为4个象限组,并根据其中物体的体积大小,从小到大的顺序排列,形成待装箱的层级块列表;

对待装箱容器也按相同模式分为4n个子容器。5.根据权利要求4所述的基于改进遗传算法和模拟退火算法的三维球体装箱方法,其特征在于:步骤(2.3)中交叉操作使用两点交叉,将其中两个个体选取随机的两个标记点k1和k2,交换两个个体中标记点的分布结果,生成新的两个个体;变异操作使用互异变异,随机选中单个个体中两个被分配的零件信息,在满足约束条件的情况下进行位置交换;步骤(2.4)中选择操作中采用轮盘赌选择,将当前种群中的每个...

【专利技术属性】
技术研发人员:邵晗琦彭建牛永卿张琦
申请(专利权)人:杭州炽橙数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1