天天看點

【Python3】混合流水工廠中的房間+多目标遺傳算法

前言

前面寫過單目标混合流水工廠中的房間排程問題及其遺傳算法實作,這裡實作多目标混合流水工廠中的房間排程問題的多目标遺傳算法

多目标遺傳算法

簡介:多目标遺傳算法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

方式二:百度網盤 提取碼:qnzh