一种基于改进遗传算法的3D打印订单任务调度方法

文档序号:34971173发布日期:2023-08-01 16:32阅读:112来源:国知局
一种基于改进遗传算法的3D打印订单任务调度方法

本发明涉及3d打印领域,尤其涉及一种3d打印订单任务调度方法


背景技术:

1、社会生产力的快速发展导致制造业竞争日渐激烈,各国的头部企业为稳固自己的行业地位都开始着重发展“精益生产”,采用先进的生产技术和管理方法,以更好的掌控瞬息万变的市场。为了提高市场竞争力,各企业争相推出新品,市场中的商品种类日益丰富,促使企业向多样化生产企业方向改革。随着制造业改革的进行,各种问题也随之出现,许多企业由于制造订单的突增从而导致生产问题的不断发生,如交单延期、废件率提高、突发事件增多等问题,而这些问题都是由于企业的任务调度制度不完善而导致的,可以通过提高对生产调度的重视程度而迎刃而解,例如通过设置任务调度目标的优先级来避免交单延期的问题、通过分析订单要求来合理分配加工设备来降低产品的报废率、通过对突发事件的提前预测而及时变更调度方案来及时解决突发问题。随着优秀的任务调度方法在各行各业的应用都得到了不错的反馈,因此,越来越多的学者参与到任务调度的研究中,越来越多的企业开始自发进行任务调度改革。

2、在制造业的任务调度问题中,遗传算法的适用性广泛,可用于解决各类问题,且算法步骤简单,但是对于不同的调度对象,运用传统的遗传算法可能会出现不同的缺陷。针对本文所涉及的3d打印车间任务调度问题,直接运用传统的遗传算法可能会出现收敛速度慢、输出效果不佳的结果,并且还容易出现陷入局部最优解,不利于得到更好的调度方案。

3、为了降低传统遗传算法在解决3d打印订单调度问题中的不足,本发明提出了一种基于改进遗传算法的3d打印订单任务调度方法。


技术实现思路

1、针对以上背景,本发明提供了一种基于改进遗传算法的3d打印订单任务调度方法,旨在解决运用传统遗传算法调度3d打印订单时容易出现收敛速度慢、输出效果不佳、容易陷入局部最优解的问题,使得生成的任务调度方案总加工时间最少、总加工成本最低。

2、为达到上述目的,本发明提供如下技术方案:

3、一种基于改进遗传算法的3d打印订单任务调度方法,包括以下步骤:

4、(1)整理订单并编码,设置模型的初始参数,生成3d打印调度模型的初始化种群并根据种群总加工时间te(x)和总加工成本ce(x)并结合所需权重w计算种群适应度f(x);

5、适应度f(x)公式如下:

6、

7、其中,x=(1,2,3...,sizepop),te(x)为当前种群加工总时间,ce(x)表示当前种群加工总成本,tem表示当前所有种群中最小总加工时间,cem为当前所有种群中最小总加工成本,w1和w2是权重系数,可以根据企业偏好随时调整,其和为1。

8、个体的总加工时间te公式为:

9、

10、所有种群中最小总加工时间tem如下所示。

11、tem=max{tem(x)},x∈(1,2,…sizepop)

12、订单总加工时间ce如下所示。

13、

14、其中,ce表示订单加工总成本,c表示订单成本矩阵,p表示任务调度方案矩阵,tsj表示订单任务量,tcj表示订单填充量,csi表示设备加工成本。

15、所有种群中最小总加工成本cem如下所示。

16、cem=min(cem(x)),x∈(1,2,3,...,sizepop)

17、(2)将精英选择法和线性排序轮盘赌选择法相结合,对初始种群进行筛选,将非精英种群作为子种群继续参与进化;

18、1)精英选择法是通过保留精英的方法来保留优秀个体。精英选择方式需要设置精英保留率,3d打印任务调度模型的精英保留率ggap设置为0.1,即种群的10%,暂不参与算法的后续进化。

19、2)线性轮盘赌选择法的步骤如下。

20、①使用线性排序法对个体进行排序处理。首先将种群个体的适应度值从大到小排序,然后根据排序的顺序不同为每个个体重新分配适应度值,该值与真实的适应度值没有直接联系,被选择的概率只与排名有关,从而提高了选择的鲁棒性。运用这种算法,能够避免由于优秀个体被重复选中而导致种群多样性的降低,同时也避免算法陷入局部最优解。改进后的选择方法将上述真实适应度值的排序序号作为其新的适应度值,如真实适应度值最大个体的新适应度值为1,真实适应度值最小个体的新适应度值为n,n为个体数量值,以此类推。

21、每个个体计算被选择概率公式为:

22、

23、

24、其中,γ(t)为自适应函数,maxgen为最大迭代次数。在迭代初期,自适应函数的值比较小,有利于物种的多样性。在迭代后期,由于种群的个体之间的差异性减小,增大自适应函数值有利于突出个体间的差距,提高进化的效率。

25、②运用轮盘赌方法对种群进行选择操作。根据线性排序赋予每个个体的选择概率值,首先为每个个体计算累积概率f(i),并计算其累积概率区间(f(i-1),f(i)],然后生成随机数r∈(0,1)。当随机数r处于某个体的累积概率区间时,则选择该个体进入到进化种群内。最后,运用轮盘赌方法选出temppop个个体参与后续进化。

26、f(i)计算公式为:

27、temppop计算公式为:temppop=sizepop*(1-ggap)

28、其中,sizepop为种群总数。

29、③将精英选择方法得到的个体与线性轮盘赌选择法得到的个体合并为新种群,继续后续进化操作。

30、(3)对每个非精英种群中的个体进行判断,若符合交叉条件,则对该个体进行动态定向交叉;

31、①动态交叉概率的确定

32、将交叉概率动态化,即随着进化代数的改变,动态设定交叉概率。由于进化前期收敛速度快,所以选用较大的交叉概率,便于更快地趋于最优解。而进化后期,算法搜索范围已经基本锁定,只是在小范围内寻找最优解,所以此时需要将交叉概率变小,防止过度交叉导致优秀解被破坏。

33、动态交叉概率jci公式如下所示。

34、

35、

36、其中,jci表示个体i的交叉概率,jcmax表示算法交叉概率的最大值,jcmin表示算法交叉概率的最小值,,fi表示个体适应度值,f表示种群的平均适应度值,jc表示基准交叉概率,d表示当前进化代数,maxgen表示最大迭代次数。

37、②定向交叉操作

38、针对每个3d打印订单只能在一台设备上打印的特点,定向交叉是根据分配矩阵进行的,根据每个订单只能选择一个设备的特点,对种群矩阵进行交叉操作,将父代两个个体的基因片段进行交换,生成两个新子代。

39、(4)对完成交叉操作后的种群中的个体进行判断,若符合变异条件,则进行动态定向变异;

40、①动态变异概率的确定

41、动态变异概率是随着种群的进化代数和平均适应度值进行动态调整。进化前期,需要尽可能地减小变异概率,当连续几代进化不理想时,则增大变异概率以便生成更多的新个体,防止进化陷入局部最优解,当上一代的优化程度很理想时,则减小变异概率来保护优秀种群不被破坏。

42、动态变异概率公式如下:

43、

44、

45、其中,by表示种群的基准变异概率,byi表示个体i的变异概率,bymax表示个体算法变异概率最大值,bymin表示个体算法变异概率最小值,fi表示个体适应度值,f表示种群的平均适应度值,d表示当前进化代数,maxgen表示最大迭代次数。

46、②定向变异操作

47、定向变异操作是先随机选择父代矩阵的列向量,然后选择变异位置进行变异,为保证解的可行性,同时随机选择列向量的其他位置进行变异补偿,最终形成新子代。

48、(5)将进化后的子种群与精英个体合并为新种群;

49、(6)判断是否满足进化终止条件,若满足,则生成调度方案,否则返回步骤(2),直至生成调度方案;

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1