應用基因演算法求解方形物件排列問題 吳奕樺、吳泰熙
E-mail: [email protected]
摘 要
方形物件排列問題在工業界中出現頻繁,如紡織業、玻璃業、皮革製鞋業、傢俱業及鋼鐵造船業…等。業者莫不絞盡腦汁
,發展出快速的解決之道。本研究以過去文獻中所提出之啟發式排列演算法(Improved Bottom-Left Heuristic, IBH)為基礎,
提出一基因演算法,期望能在方形物件排列問題中迅速地找到「好的」或「近似最佳」的切割、排列方式以節省成本及提 昇原物料使用率。 電腦叢集為現今高速計算領域的新寵,其最大特點為擁有極佳的績效,其應用領域涵蓋相當廣泛包括天 文、物理、流體力學、電磁、氣象、水資源規劃…等,面對處理問題越來越複雜之今日,許多模擬需處理大量資料,並執 行龐大的運算,以得到正確或近似之答案,這種結果往往必須具備時效性,因此作為一個決策者應體認如何在合理的時間 內得到適當決策之重要性。 基於此原因踏入高速運算的領域已是時勢之所趨,電腦叢集亦成為一般研究團體或個人最佳的 運算利器,所以本研究對廣範成功應用於各領域之基因演算法作為求解方形物件排列問題之工具,並進行平行化之探討,
藉由結合高速運算概念,期能快速求解複雜之切割、排列問題。最後並透過演算國際文獻之數個範例與比較,來驗證本演 算法之效能。研究結果顯示本研究所發展之平行化基因演算法,可有效率地求解方形物件排列問題,縮短大量的求解時間
,並求得良好品質之解。
關鍵詞 : 啟發式排列演算法 ; 基因演算法 ; 電腦叢集
目錄
封面內頁 簽名頁 授權書 iii 中文摘要 iv ABSTRACT v 誌謝 vi 目錄 vii 圖目錄 x 表目錄 xi 第一章 緒論 1 1.1 研究背景與動機 1 1.2 研究目的與內容 2 1.3 研究假設與限制 2 1.4 研究方法與架構 3 第二章 文獻探討 6 2.1 方形物件排列問題 6 2.1.1 數學規 劃模式 6 2.1.2 啟發式演算法 7 2.2 基因演算法 11 2.2.1 基本運算子 12 2.2.2 平行基因演算法 13 2.3 平行處理技術 14 2.3.1 個 人電腦叢集 15 2.3.2 平行計算程式語言 15 2.3.3 平行基因演算法效能評估 16 2.4 文獻總結及研究方向 17 第三章 方形物件排 列問題之求解 18 3.1 問題定義 18 3.2 基因演算法求解 19 3.2.1 預處理 19 3.2.2 母體產生 20 3.2.3 編碼 20 3.2.4 計算適合度函 數 21 3.2.5 複製 23 3.2.6 交配 25 3.2.7 突變 26 3.2.8 精英策略 27 3.2.9 終止條件 27 3.2.10 基因演算流程 28 3.3 平行基因演算 法求解 30 3.3.1 平行處理技術 30 3.3.2 平行程式效能分析 33 3.3.3 終止條件 34 第四章 演算結果與分析 35 4.1 平行處理運算 環境 35 4.2 文獻例題說明 37 4.3 演算參數設定與例題說明 38 4.4 演算結果與分析 46 4.4.1 單原片執行結果與分析 46 4.4.2 多原片執行結果與分析 47 4.4.3 平行程式執行結果與分析 53 第五章 結論與建議 55 5.1 結論 55 5.2 建議 56 參考文獻 58 附 錄 63 圖目錄 圖1.1 研究架構圖 5 圖2.1 左下優先置放邏輯 7 圖2.2 左下優先置放填補邏輯 8 圖2.3 Babu and Babu分片擺放圖 9 圖2.4 Wu分片擺放圖 9 圖2.5 IBH擺放法則流程圖 10 圖3.1 編碼 21 圖3.2 使用率定義 22 圖3.3 適合度函數值佔有比例 24 圖3.4 交配方法 25 圖3.5 突變過程 26 圖3.6 基因演算法運作流程圖 29 圖3.7 平行處理執行模式圖 32 圖3.8 加速因子表示圖 34 圖4.1 實驗室電腦叢集系統實景 35 圖4.2 單原片使用率比較圖 47 圖4.3 多原片平均使用率比較圖 52 圖4.4 多原片最佳使 用率比較圖 52 圖4.5 多原片執行時間比較圖 53 表目錄 表3.1 適合度函數值 24 表4.1 平行處理運算環境 36 表4.2 基因演算法 實驗參數 38 表4.3 實驗參數詳細結果一 40 表4.4 實驗參數詳細結果二 41 表4.5 參數在不同水準下使用率變化。 42 表4.6 使 用率變化之變異數分析 42 表4.7 本研究與國際範例題號對照表 43 表4.8 單原片資料表 43 表4.9 原片、分片編號表 44 表4.10 多原片資料表 45 表4.11 單原片實驗結果分析一 49 表4.12 單原片實驗結果分析二 50 表4.13 多原片實驗結果分析 51 表4.14 單原片問題效率與加速因子 54 表4.15 多原片問題效率與加速因子 54
參考文獻
2.2 基因演算法 11 2.2.1 基本運算子 12 2.2.2 平行基因演算法 13 2.3 平行處理技術 14 2.3.1 個人電腦叢集 15 2.3.2 平行計算程式語言 15 2.3.3 平行基因演算法效能評估 16 2.4 文獻總結及研究方向 17 第三章 方形物件排列問題之求解 18 3.1 問題定義 18 3.2 基因演算法求解 19 3.2.1 預處理 19 3.2.2 母體產生 20 3.2.3 編碼 20 3.2.4 計算適合度函數 21 3.2.5 複製 23 3.2.6 交配 25 3.2.7 突變 26 3.2.8 精英策略 27 3.2.9 終止條件 27 3.2.10 基因演算流程 28 3.3 平行基因演算法求解 30 3.3.1 平行處理技術 30 3.3.2 平行程式效能分析 33 3.3.3 終止條件 34 第四章 演算結果與分析 35 4.1 平行處理運算環境 35 4.2 文獻例題說明 37 4.3 演算參數設定與例題說明 38 4.4 演算結果與分析 46 4.4.1 單 原片執行結果與分析 46 4.4.2 多原片執行結果與分析 47 4.4.3 平行程式執行結果與分析 53 第五章 結論與建議 55 5.1 結論 55 5.2 建議 56 參考文獻 58 附錄 63 圖目錄 圖1.1 研究架構圖 5 圖2.1 左下優先置放邏輯 7 圖2.2 左下優先置放填補邏輯 8 圖2.3 Babu and Babu分片擺放 圖 9 圖2.4 Wu分片擺放圖 9 圖2.5 IBH擺放法則流程圖 10 圖3.1 編碼 21 圖3.2 使用率定義 22 圖3.3 適合度函數值佔有比例 24 圖3.4 交配
方法 25 圖3.5 突變過程 26 圖3.6 基因演算法運作流程圖 29 圖3.7 平行處理執行模式圖 32 圖3.8 加速因子表示圖 34 圖4.1 實驗室電腦叢集 系統實景 35 圖4.2 單原片使用率比較圖 47 圖4.3 多原片平均使用率比較圖 52 圖4.4 多原片最佳使用率比較圖 52 圖4.5 多原片執行時間比 較圖 53 表目錄 表3.1 適合度函數值 24 表4.1 平行處理運算環境 36 表4.2 基因演算法實驗參數 38 表4.3 實驗參數詳細結果一 40 表4.4 實 驗參數詳細結果二 41 表4.5 參數在不同水準下使用率變化。 42 表4.6 使用率變化之變異數分析 42 表4.7 本研究與國際範例題號對照表 43 表4.8 單原片資料表 43 表4.9 原片、分片編號表 44 表4.10 多原片資料表 45 表4.11 單原片實驗結果分析一 49 表4.12 單原片實驗結果 分析二 50 表4.13 多原片實驗結果分析 51 表4.14 單原片問題效率與加速因子 54 表4.15 多原片問題效率與加速因子 54 [ 參考文獻] [1] 田 邦廷,「長方體物件排列問題解法之研究」,大葉大學工業工程學系碩士班碩士論文,2002。
[2] 吳泰熙、駱景堯、林東養,「多尺寸方形排列問題啟發式解法之研究」,工業工程學刊,第17卷,75-85,2000。
[3] 林東養,「不規則物件排列問題解法之研究」,大葉大學工業工程研究所碩士班碩士論文,1998。
[4] 何旭彬,「對高速計算之我見」,高速計算,1995。
[5] 徐德興,「利用模擬退火演算法求解不規則物件排列及切割問題」,大葉大學工業工程學系碩士班碩士論文,2000。
[6] 鄭守成,「MPI 平行計算程式設計」,國家高速電腦中心,2001。
[7] 楊朝棟,「電腦之平行技術發展探析」,電腦科技,2000。
[8] 張西亞、蔡佳璋、黃國展、李先知、周朝宜、鄭守成、陳敏、沈澄宇,「科學計算應用之新寵:個人電腦叢集」,高速運算,2000。
[9] Alba, E. and J. M. Troya, “Analyzing synchronous and Asynchro-nous parallel distributed genetic algorithms,” Future Generation Computer Systems, 17, pp.451-465 (2001).
[10] Babu, A.R. and R. Babu, “Effective nesting of rectangular parts in multiple rectangular sheets using genetic and heuristic algo-rithms,”
International Journal of the Production Research, 37, pp.1625-1643 (1999).
[11] Beasley, J. E., “Algorithms for unconstrained two-dimensional guillotine cutting,” Journal of the Operational Research Society, 36, 297-306 (1985).
[12] Bianchini, R. and C. M. Brown, “Parallel Genetic Algorithms on Distributed-Memory Architectures,” Transputer Research and Applications, 6, pp.67-82 (1993).
[13] Biro, M. and E. Borors, “Network flows and non-guillotine cut-ting patterns,” European Journal of Operational Research, 16, pp.215-221 (1984).
[14] Dagli, C. H. and A. Hajakbari, “Simulated annealing approach for solving stock cutting problem,” IEEE Transactions on Systems, Man, and Cybernetics, pp.221-223 (1990).
[15] Dagli, C. H. and M. Y. Tatoglu, “An approach to two- dimensional cutting stock problem,” International Journal Production Re-search, 25, pp.175-190 (1987).
[16] Davies, R., and T. Voice, “Parallel Implementation of a Genetic Algorithm,” Control Eng. Practice, 3, pp.11-19 (1995).
[17] Dowsland, K. A. and W. Dowsland, “Packing problem,” European Journal of Operational Research, 56, 2-14 (1992).
[18] Erick, C. P., and D. E. Goldberg, “Efficient Parallel Genetic Algo-rithms:Theory and Practice,” Comput. Methods Appl. Mech. Engrg., 186, pp.221-238 (2000).
[19] Gilmore, P. C. and R. E. Gomory, “A linear programming ap-proach to the cutting stock problem (Part 1),” Operations Re-search, 9, 849-855 (1961).
[20] Gilmore, P. C. and R. E. Gomory, “A linear programming ap-proach to the cutting stock problem (Part 2),” Operations Re-search, 11, 863-888 (1963).
[21] Goulimis, C., “Optimal solution for the cutting stock problem,” European Journal of Operational Research, 44, 197-208 (1990).
[22] Grefenstette, J. J., “Parallel Adaptive Algorithms for Function Op-timization,” Tech Rep.No. cs-81-19(1981).
[23] Hamalainen, T., H. Klapuri, J. Saarinen, P. Ojala, and K. Kaski, “Accelerating Genetic Algorithm Computation in Tree Shaped Parallel Computer,” Journal of Systems Architecture, 42, pp.19-36 , (1996).
[24] Henry, L. and W. N. Waggenspack Jr., “Practic & experience nesting of two-dimensional irregular parts using a shape reasoning heuristic,”
Computer-Aided Design, 29, 221-238 (1997).
[25] Hopper, E. and B. C. H. Turton, “An empirical investigation of meta-heuristic and heuristic algorithms for a 2D packing prob-lem,”
European Journal of Operational Research, 128, pp34-57, (2001).
[26] Ismail, H. S. and K. K. B. Hon, “The nesting of 2-dimensional shapes using genetic algorithm,” Proceedings of the Institution of Mechanical Engineers Part B-Journal of Engineering Manufac-ture, 209, 115-124 (1995).
[27] Jakobs, S., “On genetic algorithms for the packing of polygons,” European Journal of Operational Research, 88, pp165-181 (1996) [28]
Kroger, B., “Guillotineable bin packing: A genetic approach,” European Journal of Operational Research, 84, 645-661 (1996).
[29] Lai K. K. and J. W. M. Chan, “Developing a simulated annealing algorithm for the cutting stock problem,” Computers ind. Engng., 32, No.1, pp.115-127 (1997).
[30] Leung T.W. , C. K. Chan, and D. M. Troutt, “Application of a mixed simulated annealing-genetic algorithm heuristic for the two-dimensional orthogonal packing problem,” European Jour-nal of Operational Research, 145, pp.530–542 (2003).
[31] Leung T.W. , C. H. Yung, and D. M. Troutt, “Applications of ge-netic search and simulated annealing to the two-dimensional non-guillotine
cutting stock problem,” Computer and Industrial Engineering, 40, pp.201-214 (2001).
[32] Liu, J. and L. Tandg, “A modified genetic algorithm for single machine scheduling,” Computers and Industrial Engineering, 37, 43-46 (1999).
[33] Murata, T., H. Ishibuchi and H. Tanaka, “Genetic algorithms for flow shop scheduling problems,” Computers Industrial Engineer-ing, 30, 1061-1071 (1996).
[34] Pacheco, P. S., “Parallel Programming With MPI,” University of San Franciso, (1995).
[35] Sena, G. A., D. Megherbi and G. Isern, “Implementation of a Par-allel Genetic Algorithm on a Cluster of Workstation:Traveling Salesman Problem, a Case Study,” Future Generation Computer Systems, 17, pp.477-488 (2001).
[36] Stefan Jakobs, “On genetic algorithms for the packing of poly-gons,” European Journal of Operational Research, 88, pp.165-181(1996).
[37] Tongchim, S. and C. Prabhas, “Parallel genetic algorithm with pa-rameter adaptation,” Information Processing Letters, 82, pp.47-54 (2002).
[38] Wu, T. H., J. F. Chen, C. Y. Low, and P. T. Tang, “Nesting of two-dimensional parts in multiple plates using hybrid algorithm,”
International Journal of the Production Research, 41, 3883-3900 (2003).
[39] Yu G. S. and V. N. Patsuk, “A method of optimal lattice packing of congruent oriented polygons in the plane,” European Journal of Operational Research, 124, 204-216 (2000).