第二章 文獻探討
3.1 研究問題描述
在以往的排程問題大多屬 NP-hard,都是利用演算法的方式來進行求解的動 作,而在過去的文獻當中,大多其實都是集中在演算法的進化機制中進行改變以 達到更佳的效果,而在 Wu et al.(2011)的論文中,在應用基因演算法的情況下,
利用不同的染色體表達法確實能夠達到改善,故這次的研究主要是針對在具順序 相依家族整備時間之流線型製造單元排程的情況下,應用基因演算法在不同的染 色體表達法之下,能夠有效的改善績效值為前提,套用到其他的演算法上,利用 這兩種不同的染色體表達法是否一樣能夠達到相當程度的改善,主要的目的也是 希望能夠排列出最佳的工件排序組合時,並且最佳化績效指標,降低最大完工時 間。
這次研究的重點在於染色體的表達方式不同,因為加入家族的概念,使得染 色體的解讀方式更加複雜,如圖 3.1 所示。
圖 3.1 染色體表達方式
本篇的問題限制條件假設相同於 Schaller et al. (2000)這篇論文:
1. 本研究僅限於分析靜態式 2. Ready Time=0
3. 同一個工件族內的工件不能被分割處理
4. 每個工件一次只能經由一部機台加工,每部機台一次只能加工一個工件 5. 每個 family 至少要有兩個工件
6. 緩衝區內的在製品無上限 7. 工件完成後即可立即到下一站
更詳細的染色體設計與解讀方式將在下面章節做更詳細的介紹
3.2 染色體設計與解讀
這次主要是研究針對染色體表達方式的不同所造成的改善是否可以應用在 其他的演算法上,兩種染色體表達的方式方別為傳統的染色體表達法,稱為舊表 達法,和 Wu et al.(2011)染色體表達法,稱為新表達法,而下面會分別對舊染色 體表達法和新染色體表達法這兩種,在染色體的設計與解讀上的不同,做詳盡的 解說。
3.2.1 舊染色體設計與解讀
舊的染色體在設計上,使用一條染色體來表示所有工件的排列順序並且記錄 各工件所屬的工件族,每一個工件或每一個工件族視為一個基因,舊染色體將染 色體分成(1+F)段,F 為工件族數目,如圖 3.2 所示,這例子有三個工件族,共有 九個工件,第 1 段紀錄的是工件族在機台上加工的順序,第(1+1)段紀錄第一個 工件族擁有的兩個工件,且第一個工件族內工件的加工順序為 J1、J2,第(1+2) 段是紀錄第二個工件族有三個工件,第二個工件族內工件的加工順序為 J4、J3、 J5,第(1+3)段紀錄第三個工件族有四個工件,第三個工件族內工件的加工順序為
J9、J6、J7、J8。
圖 3.2 舊染色體的設計
在染色體解讀主要是決定出兩個部分,第一個部分是工件族之間的加工順序,
第二個部分是工件族內的加工順序,在解讀染色體時先從第一段開始解讀起,也 就是(1+F)段的第一段部分,決定出工件族之間的加工順序,如圖 3.3 所示,一開 始就決定了各機台加工工件族的順序是以 F2,F1,F3的工件族順序進行加工,
而當決定好了各工件族的加工順序後,便依照工件族內工件的順序將工件依序排 列出,首先,先排列 F2內的工件,J4、J3、J5,在排列 F1內的工件 J1,J2,最後 排列 F3內的工件,J9、J6、J7、J8,如此一來可以解讀出整體的工件加工順序 J4、 J3、J5、J1、J2、J9、J6、J7、J8,將解讀出來後的染色體便可以讓進入演算法,
計算出其適應值。
圖 3.3 舊染色體的解讀
J1 J2 J4 J3 J5 J9 J6 J7 J8 F3
F1
F2
J1 J2 J4 J3 J5 J9 J6 J7 J8
F3
F1
F2
J5 J3
J4 J1 J2 J9 J6 J7 J8
3.2.2 新染色體設計與解讀
圖 3.5 新染色體的解讀第一部分