專利名稱:一種基于退火策略的圓形裝填問題的布局方法
技術領域:
本發(fā)明涉及一種基于退火策略的圓形裝填問題的布局方法,主要應用于物體堆放、運輸、原料下料、航天器布局設計和工業(yè)布圖規(guī)劃等領域中。
背景技術:
圓形裝填(Packing)問題研究的是多個圓形物體在一個大空間或容器內(nèi)互不嵌入的放置方式,要求盡可能提高空間或容器的利用率。圓形裝填問題屬于裝填問題的一種,此類問題在物體堆放、運輸、原料下料、航天器布局設計和工業(yè)布圖規(guī)劃等領域中有著廣泛的應用。在理論上,該問題屬于NP-hard問題[I],同時,近年來又被工業(yè)界花重金進行研究,其原因在于,有效地求解該類問題不僅能夠節(jié)約大量資源,而且還能降低生產(chǎn)成本,從而獲得更高的經(jīng)濟效益。 近年來研究表明,對于此類NP-hard問題可能不存在既完整嚴格又不太慢的求解算法。因此,國內(nèi)外求解該問題的方法多為依據(jù)問題的特點而設計的近似或啟發(fā)式算法。這些算法本質(zhì)上可分為兩類,即隨機算法和確定性算法。對于隨機算法,如遺傳算法[2]、模擬退火算法[3]-[5]、禁忌搜索算法[6]、快速擬物算法[7]、粒子群算法[8]、吸引盤填充算法[9]、快速擬物擬人算法[10]等,其核心是設計一種高效的搜索方法,該方法應該具有搜索整個解空間而不至于陷入局部最優(yōu)的能力。對于確定性算法,如梯度下降法、分枝限界法、基于最小自由度優(yōu)先的算法[12],其關鍵在于確定一種放置規(guī)則,使得在一個可以接受的時間內(nèi)求得問題的近似最優(yōu)解。確定性算法較之于隨機算法,搜索速度快、精細度高,但普適性不強,且易于陷入局部極小點的陷阱;隨機算法具有全局搜索且適應面廣的優(yōu)點,但缺乏有效的局部搜索機制,且收斂速度較慢。分析上述兩類算法各自的優(yōu)缺點可知,單獨使用任何一種算法都難以有效獲得圓形裝填問題的最優(yōu)解。事實上,考慮將具有全局搜索能力的隨機算法和能精細搜索的局部搜索算法及一些啟發(fā)式策略相結(jié)合,來構(gòu)造新的方法不失為求解圓形裝填問題的一種可行途徑。
發(fā)明內(nèi)容
本發(fā)明提供的可行性高、處理速度快的基于退火策略的圓形裝填問題的布局方法可以克服現(xiàn)有技術的不足。本發(fā)明提供的基于退火策略的圓形裝填問題的布局方法,用來實現(xiàn)將η個事先給定的圓餅兩兩互不嵌入地置入一邊長為L的正三角形容器內(nèi),并確定L的最小值,所述方法包括以下步驟Α.讀輸入文件,即測試用例的數(shù)據(jù),包括待布局圓餅的個數(shù)η及其半徑Ri(l ^ i ^ η);B.利用擬物策略將二維正三角形容器內(nèi)圓形裝填問題轉(zhuǎn)化為無約束的布局優(yōu)化問題;
C.應用啟發(fā)式模擬退火算法HSA(L)求解二維正三角形容器內(nèi)圓形裝填問題;D.以算法HSA(L)得到的最終布局為初始布局,對正三角形容器邊長L進行二分搜索;E.以圖形和文件兩種形式輸出最終布局結(jié)果。所述的一種基于退火策略的圓形裝填問題的布局方法,其進一步設計在于,所述步驟C中具體包括以下步驟Cl.初始化初始溫度t、溫度下降系數(shù)λ、抽樣步數(shù)S和退火結(jié)束準則的終止溫度
teoc2.根據(jù)正三角形容器的邊長L和待布局圓餅的個數(shù)η及其半徑Ri,在正三角形容器內(nèi)隨機生成η個圓餅的圓心坐標(X1, Y1), (x2, J2), , (Xi, Ji), . . . , (xn, yn),產(chǎn)生一個初始格局,記為X = (X1, Yi X2 y2,…,χη,yn);c3.令抽樣步數(shù)K = O;c4.對于當前格局X,計算每一個圓餅的擠壓彈性勢能,挑出當前格局X中相對擠壓痛苦度Pi最大的圓餅,設為Ci,備份當前格局X,并計算E (X);c5.將挑選出來的圓餅Ci的圓心放置在正三角形容器內(nèi)空白區(qū)域內(nèi)某一空位點上,產(chǎn)生一個新的格局X□;c6.對于新產(chǎn)生的格局X□,采用基于自適應步長的梯度下降法[9]進行能量極小化計算,得到一個新的格局x%計算E (X*);c7. SE(X*) < 10_7,則稱格局X*是合法格局,保存相應格局圖案并記錄每個圓餅的最終坐標,成功退出HSA(L)算法調(diào)用過程;否則,執(zhí)行步驟c8 ;c8. Random [O, I] ^ min{l, exp [-(E (·X*) _E (X))/t]},貝U 接受格局 X% 并使之成為當前格局,令x = x* ;否則不接受x%恢復X為當前格局,這里Random
表示
之間的一個隨機數(shù);c9.若抽樣穩(wěn)定準則滿足,即K彡S,則執(zhí)行退溫操作,即令t= X*t,轉(zhuǎn)向步驟ClO ;否則,令K = K+1,轉(zhuǎn)向步驟c4 ;clO.若退火結(jié)束準則滿足,即t < te,則失敗退出;否則轉(zhuǎn)向步驟c3。本發(fā)明基于退火策略的圓形裝填問題的布局方法,其進一步在于,所述步驟D中具體包括以下步驟dl.初始化二分搜索的正三角形容器邊長的上界Luppct和下界L1otot ;該步驟中上界設置為1 ;_尺,下界設置為& =2*λ/3 *max{i }od2.令L= (!^^+!^^/^,調(diào)用啟發(fā)式模擬退火算法^^仏);d3.若 HSA (L)成功退出,則令 Lupper = L ;否則,Llower = L ;d4.若 I Lupper-Llower I < 10_6,則令 Lmin = Luppw,轉(zhuǎn)向步驟 E ;否則,轉(zhuǎn)向步驟 d2。本發(fā)明基于退火策略的圓形裝填問題的布局方法,其進一步在于,所述步驟c5中,在正三角形容器內(nèi)隨機找出100個空位點,將圓餅Ci的圓心試放在這100個空位點上,一旦計算出Ci放在該位置的擠壓彈性勢能Ei后就將(^從該位置移走。最后,將圓餅Ci的圓心放在使得Ei最小的空位點上,同時保持其它圓餅的位置不變,從而跳出當前局部最優(yōu)而產(chǎn)生一個新的格局,記為X □。
圖I為本發(fā)明基于退火策略的圓形裝填問題的布局方法流程圖;圖2為二維笛卡爾直角坐標系下正三角形容器內(nèi)圓形裝填問題布局示意圖;圖3為圓餅Ci與正三角形容器的三邊及與圓餅Cj之間的嵌入深度示意圖;圖4為啟發(fā)式模擬退火算法流程圖;圖5為二分搜索法流程圖;圖6 (a) (f)為本發(fā)明方法得到的表I中6個等圓測試用例的最優(yōu)布局結(jié)果圖,其中圖6(a)為算例I. I的最優(yōu)布局圖,圖6(b)為算例I. 2的最優(yōu)布局圖,圖6 (c)為算例
I.3的最優(yōu)布局圖,圖6(d)為算例I. 4的最優(yōu)布局圖,圖6(e)為算例I. 5的最優(yōu)布局圖,圖6(f)為算例I. 6的最優(yōu)布局圖;圖7(a) (e)為本發(fā)明方法得到的表2中5個不等圓測試用例的最優(yōu)布局結(jié)果圖,其中圖7(a)為算例2. I的最優(yōu)布局圖,圖7(b)為算例2. 2的最優(yōu)布局圖,圖7(c)為算例2. 3的最優(yōu)布局圖,圖7 (d)為算例2. 4的最優(yōu)布局圖,圖7 (e)為算例2. 5的最優(yōu)布局圖。
具體實施例方式以下通過實例對本發(fā)明作進一步的描述二維正三角形容器內(nèi)圓形裝填問題可以描述如下設有η個大小事先給定的圓餅CiQ = 1,2,...,η),問如何將這η個圓餅兩兩互不嵌入地置入一個正三角形容器內(nèi),使得容器的邊長L盡可能小。請給出具體的布局圖案。本發(fā)明基于退火策略的圓形裝填問題的布局方法的特征在于它依次包括以下步驟,流程如圖I所示 Α.讀輸入文件,即測試用例的數(shù)據(jù),包括待布局圓餅的個數(shù)η及其半徑Ri(l ^ i ^ η);B.利用擬物策略將二維正三角形容器內(nèi)圓形裝填問題轉(zhuǎn)化為無約束的布局優(yōu)化問題;C.應用啟發(fā)式模擬退火算法HSA(L)求解二維正三角形容器內(nèi)圓形裝填問題;D.以算法HSA(L)得到的最終布局為初始布局,對正三角形容器邊長L進行二分搜索;Ε.以圖形和文件兩種形式輸出最終布局結(jié)果。所述利用擬物策略將二維正三角形容器內(nèi)圓形裝填問題轉(zhuǎn)化為無約束的布局優(yōu)化問題,其具體方法如下二維正三角形容器內(nèi)圓形裝填問題可作如下形式化描述將二維笛卡爾直角坐標系的X軸取在正三角形容器的底邊上,原點固定在該邊的中點處,令第i個圓餅Ci (i = 1,2,... ,η)的圓心坐標為(X^yi),半徑為Ri(如圖2所示),問是否存在2η個實數(shù)X1, y1; x2, y2, . . . , xn, yn,使得minimize L (I)subject to
權利要求
1.一種基于退火策略的圓形裝填問題的布局方法,其特征在于,用來實現(xiàn)將/7個事先給定的圓餅兩兩互不嵌入地置入一邊長為Z的正三角形容器內(nèi),并確定Z的最小值,所述方法包括以下步驟 A.讀輸入文件,即測試用例的數(shù)據(jù),包括待布 局圓餅的個數(shù)及其半徑&(I ≤ i ≤ / ); B.利用擬物策略將二維正三角形容器內(nèi)圓形裝填問題轉(zhuǎn)化為無約束的布局優(yōu)化問題; C.應用啟發(fā)式模擬退火算法HSA(Z)求解二維正三角形容器內(nèi)圓形裝填問題; D.以算法HSA(Z)得到的最終布局為初始布局,對正三角形容器邊長Z進行二分搜索; E.以圖形和文件兩種形式輸出最終布局結(jié)果。
2.根據(jù)權利要求I所述的基于退火策略的圓形裝填問題的布局方法,其特征在于,所述步驟C中具體包括以下步驟 Cl.初始化初始溫度 、溫度下降系數(shù)』、抽樣步數(shù)S和退火結(jié)束準則的終止溫度te ;c2.根據(jù)正三角形容器的邊長Z和待布局圓餅的個數(shù)及其半徑&,在正三角形容器內(nèi)隨機生成/7個圓餅的圓心坐標Cr1, Y1),(x2, y2),. . . , Cri, Y1),. . . , {xn, yn),產(chǎn)生一個初始格局,記為 I= Cr1, Jr1, A,72,···,Yn);c3.令抽樣步數(shù)^f=O ; c4.對于當前格局尤計算每一個圓餅的擠壓彈性勢能,挑出當前格局Z中相對擠壓痛苦度Λ.最大的圓餅,設為Ci,備份當前格局尤并計算E Cr); C5.將挑選出來的圓餅G的圓心放置在正三角形容器內(nèi)空白區(qū)域內(nèi)某一空位點上,產(chǎn)生一個新的格局I ; c6.對于新產(chǎn)生的格局Z ,采用基于自適應步長的梯度下降法[9]進行能量極小化計算,得到一個新的格局I*,計算A (X*); c7.若萬0^)〈10_7,則稱格局是合法格局,保存相應格局圖案并記錄每個圓餅的最終坐標,成功退出HSA (Z)算法調(diào)用過程;否則,執(zhí)行步驟c8 ; c8.若Random
£ min{l, exp [-(£'(/*)-A(Z))/ ]},則接受格局Z*,并使之成為當前格局,令I* ;否則不接受I*,恢復I為當前格局,這里Random
表示
之間的一個隨機數(shù); c9.若抽樣穩(wěn)定準則滿足,即PA則執(zhí)行退溫操作,即令 =』* ,轉(zhuǎn)向步驟clO ;否則,令Κ+1,轉(zhuǎn)向步驟c4 ; clO.若退火結(jié)束準則滿足,即則失敗退出;否則轉(zhuǎn)向步驟c3。
3.根據(jù)權利要求I所述的基于退火策略的圓形裝填問題的布局方法,其特征在于,所述步驟D中具體包括以下步驟 dl.初始化二分搜索的正三角形容器邊長的上界和下界㈣; 該步驟中上界設置為,下界設置為; d2.令Z= HupperU /2,調(diào)用啟發(fā)式模擬退火算法HSA (Z); d3.若HSA(Z)成功退出,則令ZwZZ ;否則,; d4.若Vupper-L1隱r I〈10_6,則令,轉(zhuǎn)向步驟E ;否則,轉(zhuǎn)向步驟d2。
4.根據(jù)權利要求2所述的基于退火策略的圓形裝填問題的布局方法,其特征在于,所述步驟c5中,在正三角形容器內(nèi)隨機找出100個空位點,將圓餅G的圓心試放在這100個空位點上,一旦計算出Ci放在該位置的擠壓彈性勢能瓦后就將Ci從該位置移走; 最后,將圓餅G的圓心放在使得瓦最小的空位點上,同時保持其它圓餅的位置不變,從而跳出當前局部最優(yōu)而產(chǎn)生一個新的格局,記為Z ?!?br>
全文摘要
本發(fā)明及一種基于退火策略的圓形裝填問題的布局方法,將n個事先給定的圓餅兩兩互不嵌入地置入一邊長為L的正三角形容器內(nèi),并確定L的最小值,該方法包括以下步驟A.讀輸入文件,即測試用例的數(shù)據(jù),包括待布局圓餅的個數(shù)n及其半徑Ri(1≤i≤n);B.利用擬物策略將三角形容器內(nèi)圓形裝填問題轉(zhuǎn)化為無約束的布局優(yōu)化問題;C.應用啟發(fā)式模擬退火算法求解三角形容器內(nèi)圓形裝填問題;D.以算法得到的最終布局為初始布局,對正三角形容器邊長L進行二分搜索;E.以圖形和文件兩種形式輸出最終布局結(jié)果。本發(fā)明方法可行性高,具有較快的處理速度,得到的結(jié)果更接近全局最優(yōu)解,并可推廣應用于解決其它布局優(yōu)化問題。
文檔編號G06F17/50GK102722595SQ20121004246
公開日2012年10月10日 申請日期2012年2月23日 優(yōu)先權日2012年2月23日
發(fā)明者劉景發(fā), 周子鈴, 張國建, 高澤旭 申請人:南京信息工程大學