【Python3】混合流水车间+多目标遗传算法+完整代码

时间:2024-05-23 07:36:28

前言

前面写过单目标混合流水车间调度问题及其遗传算法实现,这里实现多目标混合流水车间调度问题的多目标遗传算法

多目标遗传算法

简介:多目标遗传算法NSGA多目标遗传算法
个人总结如下:多目标遗传算法,与遗传算法的本质区别在于选择操作——多目标遗传算法根据帕累托等级和拥挤度选出优秀的个体。

测试实验

数据来源:参考文献[1]中的实例2
目标包括:

  1. 最小化最大完工时间Makespan
  2. 最小化总空闲时间
  3. 最小化工件的总流程时间,即每个工件的加工开始到加工完成之间的时间和
  4. 最小化总等待时间,即每个工件的流程时间减去其总加工时间

算法参数:种群规模40,迭代次数20,交叉概率0.80,变异概率0.05
得到帕累托前沿:
[[ 23 38 146 19]
[ 24 40 140 20]
[ 24 45 135 10]
[ 24 50 134 15]
[ 25 54 135 8]
[ 25 44 136 10]
[ 25 43 137 10]
[ 25 39 143 20]
[ 25 40 140 15]
[ 25 55 131 8]
[ 25 49 131 9]
[ 26 32 134 10]
[ 26 44 132 11]
[ 27 45 136 8]
[ 27 43 137 8]
[ 28 31 134 7]
[ 28 37 133 6]]
其中第1个的甘特图如下:
【Python3】混合流水车间+多目标遗传算法+完整代码

参考文献

[1] 张源,陶翼飞,王加冕.改进差分进化算法求解混合流水车间调度问题[J/OL].中国机械工程:1-8[2020-08-08].http://kns.cnki.net/kcms/detail/42.1294.TH.20200522.1016.002.html.

附录

代码下载
方式一:Github
方式二:百度网盘 提取码:yekr
联系:[email protected]