999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于序列模型的三維矩形布局算法

2014-03-17 05:52:56王金敏朱麗蘋
圖學(xué)學(xué)報(bào) 2014年6期
關(guān)鍵詞:模型

王金敏, 朱麗蘋

(1. 天津市高速切削與精密加工重點(diǎn)實(shí)驗(yàn)室,天津 300222;2. 天津職業(yè)技術(shù)師范大學(xué)機(jī)械工程學(xué)院,天津 300222)

基于序列模型的三維矩形布局算法

王金敏1,2, 朱麗蘋2

(1. 天津市高速切削與精密加工重點(diǎn)實(shí)驗(yàn)室,天津 300222;2. 天津職業(yè)技術(shù)師范大學(xué)機(jī)械工程學(xué)院,天津 300222)

針對(duì)三維矩形布局問題進(jìn)行了研究。在三元序列的基礎(chǔ)上,結(jié)合布局物體的幾何可行域,提出了三元序列結(jié)合幾何可行域的布局算法。并且利用遺傳算法對(duì)布局算法進(jìn)行優(yōu)化,得到了三元序列結(jié)合可行域布局遺傳算法。分析和實(shí)例證明,三元序列結(jié)合幾何可行域的改進(jìn)算法有效地提高了布局效率。

布局問題;三元序列;可行域;遺傳算法

布局問題(packing problem)[1-2]是指給定一個(gè)布局空間和若干待布物體,將待布物體合理地?cái)[放在空間中滿足必要的約束,并達(dá)到某種最優(yōu)指標(biāo)。布局問題的求解非常困難,唐曉君等[3]詳細(xì)闡述了布局問題的復(fù)雜性。即使是最簡單的一維布局問題也被證明是 NP完全問題(non-deterministic polynomial, NP)。因此,布局問題吸引了大批的學(xué)者對(duì)其進(jìn)行研究。Hashimshony和 Roth[4]介紹了ALG模型,該模型在給定的約束條件下,利用圖論來產(chǎn)生可行的布局方案。袁苗龍等[5]利用圖法則分析了三維布局模型生成方法對(duì)車身內(nèi)進(jìn)行了布置,但文章并沒有過多地對(duì)布局結(jié)果進(jìn)行分析。晏敏等[6]給出了用于表達(dá)矩形物體平面布局空間關(guān)系的方圖模型,并提出了方圖矩陣及其運(yùn)算規(guī)則。該模型側(cè)重平面布局問題的求解,對(duì)空間布局問題的求解有一定的困難。吳慧中等[7-8]利用空間布局的約束圖方法對(duì)房間布局進(jìn)行了初步試驗(yàn),證明約束圖在處理布局問題時(shí)比其他模型更簡便、高效,文章只是停留在試驗(yàn)階段,對(duì)該方法解決問題的能力有待進(jìn)一步闡述。

此外,許多學(xué)者利用啟發(fā)式優(yōu)化算法求解布局問題,取得了不錯(cuò)的結(jié)果。Lai和Chan[9-10]利用模擬退火算法和遺傳算法對(duì)布局問題進(jìn)行求解。解空間是待布物體的排列,一個(gè)解表示一個(gè)布局。但是文章只給出了有限的幾個(gè)解。Beasley[11]在遺傳算法的基礎(chǔ)上提出了一個(gè)能有效解決4000塊待布物體的啟發(fā)式算法。但是對(duì)已知最優(yōu)解的小算例該算法卻不能取得最優(yōu)解。Egeblad和Pisinger[12]提出了一個(gè)整數(shù)規(guī)劃方程式,并在此基礎(chǔ)上仿照Murata等[13]提出解決二維布局問題序列的方法,給出了一個(gè)由三元序列表示三維裝箱問題的布局算法,并用模擬退火算法優(yōu)化三元序列。但是文章沒有對(duì)由三元序列表示的布局結(jié)果進(jìn)行進(jìn)一步改善處理。本文在三元序列的基礎(chǔ)上,結(jié)合可行域,對(duì)原布局算法進(jìn)行了改善,之后再用遺傳算法對(duì)此布局算法進(jìn)行優(yōu)化。

1 三元序列模型

文獻(xiàn)[12]介紹了利用三元序列模型求解布局問題,此模型屬于圖論模型的范疇。大部分的布局可以用這個(gè)方法表示,其中具有代表性的是“機(jī)器人碼垛”,根據(jù)“機(jī)器人碼垛”的定義,總會(huì)有一個(gè)布局物體被放置在布局空間的最左、最下和最后的角點(diǎn)。“機(jī)器人碼垛”是從空間的左下后角點(diǎn)開始,依次布入布局物體,這樣,每布入一個(gè)布局物體都會(huì)在前一個(gè)已步入的布局物體的右面、上面、前面。

1.1 三元序列

lij(left)、rij(right)、uij(under)、oij(over)、bij(behind)和fij(front)分別表示布局物體i在j(i< j)的左面、右面、下面、上面、后面和前面。為了確保布局物體i和j不發(fā)生干涉,應(yīng)滿足如下不等式:

當(dāng) si= sj=1, lij, rij, uij, oij, bij, fij要滿足如下的不等式:

對(duì)于三維布局問題,可用一個(gè)三元序列A,B和C來表示,每一個(gè)序列都是n個(gè)布局物體的排列。對(duì)于每一個(gè)序列X,Xij表示:在序列X里,布局物體i在j之前。

為了方便起見,令 - Xij? Xji。

也就是說 Aij表示布局物體i在布局物體j的左面、上面或前面。

也就是說 Bij表示布局物體i在布局物體j的左面、下面或后面。

也就是說 Cij表示布局物體i在布局物體j的右面、下面或前面。

1.2布局算法

三元序列到布局,要建立3個(gè)約束圖。第一幅圖中,i到j(luò)的邊表示布局物體i在j的左邊,即第二幅圖中,i到j(luò)的邊表示布局物體i在j的下邊,即第三幅圖中,i到j(luò)的邊表示布局物體i在布局物體j的后邊,即

在每一幅約束圖當(dāng)中,Bij都是i在j之前的必要條件。因此,可以按照序列 B的順序布局。序列B中的第一塊待布物體放置在(0,0,0),依次按照B序列中的排序布局。為了便于記錄,在布局過程中建立一個(gè)集合P,令P包含所有已布入的布局物體。子集 Px? P, Px中的布局物體滿足約束子集中的布局物體滿足;子集中的布局物體滿足若對(duì)布局物體 i進(jìn)行布局,為了確定i的布局位置,要把i依次和P中布局物體比較。布局物體i的坐標(biāo)(xi, yi,zi)可由如下方程求解:

一旦布局物體i被放置在布局空間中,它就加入到集合P中。文獻(xiàn)[12]給出一個(gè)布局算例,其布局物體長、寬、高尺寸如表1所示。

由三元序列A = (9, 4, 8, 5, 1, 6, 2, 7, 3),B = (7, 8, 6, 9, 1, 3, 5, 2, 4),C = (2, 3, 6, 7, 1, 4, 5, 9, 8) 得到的布局結(jié)果(見表2),布局結(jié)果如圖1所示。

表1 布局物體的長寬高

表2 布局物體的長寬高及布置位置

圖1 文獻(xiàn)[12]給出的布局結(jié)果

1.3 分析

對(duì)文獻(xiàn)[12]進(jìn)行分析可知:

(1) 文獻(xiàn)[12]指出lij+ rij+ uij+ oij+ bij+ fij= 1,但根據(jù)實(shí)際的布局情況,如果布局物體i既在布局物體j的前面,同時(shí)又在j的左面和上面,則有l(wèi)ij+rij+uij+oij+bij+fij= 3。本文將其改為:

(2) 文獻(xiàn)[12]指出 + + x xl y yh z

i ji i ji i≤ ˇ≤ ˇ≤zh ?B

j i ij +,本文將其改為:

(3) 由三元序列A = (9, 4, 8, 5, 1, 6, 2, 7, 3), B = (7, 8, 6, 9, 1, 3, 5, 2, 4),C = (2, 3, 6, 7, 1, 4, 5, 9, 8)得出的布局結(jié)果如圖2所示,圖1所示的三元序列應(yīng)為A = (9, 4, 8, 5, 1, 6, 2, 7, 3),B = (7, 6, 8, 9, 1, 3, 2, 5, 4),C = (2, 3, 6, 7, 1, 4, 5, 9, 8)。

圖2 實(shí)際的布局結(jié)果

2 三元序列結(jié)合可行域改進(jìn)算法

文獻(xiàn)[12]的算法雖然能達(dá)到一定的布局效果,但是由算例結(jié)果來看,布局效果并不是非常理想。因此,本文在此算法的基礎(chǔ)上做出了改進(jìn),每一個(gè)待布局物體由三元序列確定了一個(gè)布局位置(一個(gè)點(diǎn))之后,再把可行域內(nèi)的其他點(diǎn)與三元序列確定的點(diǎn)進(jìn)行比較,比較這些點(diǎn)與上一個(gè)已布入的布局物體的距離,選擇距離最小的點(diǎn)作為待布局物體的布局位置。可行域的求法見文獻(xiàn)[14]。原算法和改進(jìn)的布局算法基本流程圖分別如圖3和圖4所示。

圖3 原布局算法的基本流程

圖4 改進(jìn)布局算法的基本流程

本文利用遺傳算法對(duì)三元序列進(jìn)行優(yōu)化。

2.1 編碼策略

本文直接對(duì)優(yōu)化變量采用實(shí)數(shù)編碼。每個(gè)染色體由A、B、C 三個(gè)序列構(gòu)成,基因0~n-1(包括0和n-1)表示序列A,基因n~2n-1(包括n和2n-1)表示序列B,基因2n~3n-1(包括2n和3n-1)表示序列C。因此每個(gè)染色體都有3n個(gè)基因,基因的個(gè)數(shù)隨著待布局物體的個(gè)數(shù)變化而變化。

2.2 適應(yīng)度函數(shù)及初始種群的產(chǎn)生

本文中的初始候選解由計(jì)算機(jī)隨機(jī)產(chǎn)生,每個(gè)候選解就是一個(gè)個(gè)體,這些個(gè)體構(gòu)成了初始種群。適應(yīng)度函數(shù)f是評(píng)價(jià)各解優(yōu)劣的標(biāo)準(zhǔn)。本文適應(yīng)度函數(shù)選為布局空間的體積利用率,即:

2.3 選擇算子

選擇操作就是從種群中選擇兩個(gè)候選解,以便進(jìn)一步操作。本文使用蜜蜂進(jìn)化選擇算子,其具體實(shí)現(xiàn)如下:

2.4 交叉算子

(1) 將父代染色體的序列 B的基因(基因n+1~2n)全部交換。

將父染色體A和C序列的基因直接復(fù)制到子代解1的A和C序列部分,子代解1的B序列由母染色體的B序列填充;

將母染色體A和C序列的基因直接復(fù)制到子代解2的A和C序列部分,子代解2的B序列由父染色體的B序列填充。

(2) 將父代染色體的序列B的基因部分交換,進(jìn)行單點(diǎn)交叉。

隨機(jī)產(chǎn)生一個(gè)n+1~2n的交叉點(diǎn),父染色體B序列在交叉點(diǎn)左側(cè)的代碼直接復(fù)制到子代解 1的左側(cè),子代解 1交叉點(diǎn)右側(cè)的代碼依次從母染色體選擇未在子代解 1中使用的代碼。父染色體 A序列和C序列直接復(fù)制到子代解1的A序列和C序列。交叉過程如圖5所示。

(3) 將父代染色體的序列A的基因部分交換,進(jìn)行兩點(diǎn)交叉。

隨機(jī)產(chǎn)生兩個(gè)1~n的交叉點(diǎn)p1和p2,父染色體A序列在交叉點(diǎn)p1左側(cè)的代碼和p2右側(cè)的代碼直接復(fù)制到子代解 1的左側(cè)和右側(cè),子代解 1的兩交叉點(diǎn)中間的代碼依次從母染色體中選擇未在子代解1中使用的代碼。父染色體B序列和C序列直接復(fù)制到子代解1的B序列和C序列。交叉過程如圖6所示。

圖5 序列B單點(diǎn)交叉

圖6 序列A兩點(diǎn)交叉

2.5 變異算子

(1) 隨機(jī)交換染色體A序列和B序列中兩個(gè)代碼的位置。

隨機(jī)產(chǎn)生一個(gè)[1, n]的數(shù)k1,一個(gè)[n+1, 2n]的數(shù)k2,交換k1和k2所對(duì)應(yīng)的代碼。將A序列中與交換后的代碼相同的基因位處,用 A序列未使用過的代碼替換;如果k1和k2所對(duì)的代碼相同,則重新產(chǎn)生隨機(jī)數(shù)直到k1和k2所對(duì)應(yīng)的代碼不相同為止。變異過程如圖7所示。

(2) 隨機(jī)交換染色體B序列和C序列中兩個(gè)代碼的位置。方法同(1)。

3 算例及分析

算例1.采用文獻(xiàn)[12]中的三維算例ep-3d。此類算例共包括60個(gè)三維裝箱問題。布局物體的個(gè)數(shù)分別為20,40,60。表3將文獻(xiàn)[12]算法和本文算法求出的布局結(jié)果進(jìn)行了比較。

圖7 序列A和序列B之間的變異

表3 文獻(xiàn)[12]算法與本文算法布局結(jié)果比較(%)

由表3可以看出,本文算法較文獻(xiàn)[12]算法有了很大地提高,利用率平均提高了10.24%。最差的結(jié)果也保持與文獻(xiàn)[12]算法的結(jié)果相等,而對(duì)于提升幅度最高的算例60lc90利用率則提高了27.2%。對(duì)于算例60lc90兩種算法的布局效果如圖8所示。圖 8中文獻(xiàn)[12]算法中布局物體之間的空隙比較大。這是由三元序列本身原因造成的,所以本文對(duì)由三元序列布局的結(jié)果進(jìn)行處理,即與布局物體幾何可行域結(jié)合,尋找待布局物體最優(yōu)的布局位置。算例20lc90、40ur50、60uc50的布局結(jié)果與Jens的布局結(jié)果比較如圖9~11所示。可以看出本文算法有效地提高了布局空間的利用率。

算例2.此算例由二維C類算例改進(jìn)而來,在原有的算例基礎(chǔ)上,對(duì)布局空間和布局物體都增加了同樣的高。C1~C7算例中布局物體數(shù)量逐漸增多。C11~C13算例當(dāng)中總共有16塊布局物體,C71~C73當(dāng)中總共有196塊布局物體。表4將本文算法求出的布局結(jié)果和文獻(xiàn)[12]算法求解的結(jié)果進(jìn)行了比較。兩種算法對(duì) C類算例的計(jì)算結(jié)果的對(duì)比如圖12。

圖8 文獻(xiàn)[12]算法(左)與本文算法(右)的布局結(jié)果

圖9 算例20lc90本文算法(左)與文獻(xiàn)[12]算法(右)的布局結(jié)果

圖10 算例40ur50本文算法(左)與文獻(xiàn)[12]算法(右)的布局結(jié)果

圖11 算例60uc50本文算法(左)與文獻(xiàn)[12]算法(右)的布局結(jié)果

表4 文獻(xiàn)[12]算法與本文算法對(duì)C類算例布局結(jié)果比較(%)

圖12 兩種算法對(duì)C類算例的計(jì)算結(jié)果

由表4的數(shù)據(jù)可以看出,對(duì)于C11算例布局空間利用率提高了 20.25%,C71算例提高了64.88%,所有算例平均提高了40.47%。

由圖12可以看出,隨著布局物體數(shù)量的增多,本文算法的利用率有所下降,文獻(xiàn)[12]算法的利用率則呈現(xiàn)顯著下降的趨勢(shì)。這是因?yàn)殡S著布局物體的增多,布局物體之間的空隙也就越來越多,從而造成布局空間體積的浪費(fèi)。這說明,文獻(xiàn)[12]算法只適用于布局物體數(shù)量較少的算例,而本文算法在布局物體數(shù)量較多的算例中同樣能表現(xiàn)出較好的性能。

4 結(jié) 束 語

本文對(duì)文獻(xiàn)[12]提出的三元序列進(jìn)行了分析,提出了一種以三元序列為基礎(chǔ),結(jié)合幾何可行域的改進(jìn)布局算法,并用遺傳算法來優(yōu)化布局物體的布局順序。最后分別用文獻(xiàn)[12]算法和本文布局算法對(duì)兩組算例進(jìn)行了計(jì)算、比較,實(shí)例證明,三元序列結(jié)合幾何可行域的改進(jìn)算法有效地提高了布局效率。

[1] Sweeny P E, Paternoster E R. Cutting and packing problems: a categorized, application-orientated research [J]. Journal of Operation Research Society, 1992, 43(7): 691-706.

[2] Dowsland K A, Dowsland W B. Packing problems [J]. European Journal of Operational Research, 1992, 56(1): 2-14.

[3] 唐曉君, 査建中, 陸一平. 布局問題的復(fù)雜性和建模方法[J]. 北方交通大學(xué)學(xué)報(bào), 2003, 27(1): 12-15.

[4] Hashimshony R, Roth J. ALG: a model for generating alternative layout graphs under architectural constraints [J]. Computer Aided Design, 1986, 18(8): 431-436.

[5] 袁苗龍, 胡于進(jìn), 付莉紅. 基于圖法則分析的三維布局模型生成方法[J]. 華中理工大學(xué)學(xué)報(bào), 1998, 26(10): 38-41.

[6] 晏 敏, 張昌期, 劉育騏. 平面布局的一個(gè)拓?fù)淠P?方圖[J]. 小型微型計(jì)算機(jī)系統(tǒng), 1989, 10(2): 23-32.

[7] 吳慧中, 王英林. 一種立體空間布局模型及布局算法[J]. 計(jì)算機(jī)學(xué)報(bào), 1994, 17(11): 835-840.

[8] 王英林, 吳慧中, 田宜風(fēng). 求解布局模型的并行矩陣算法研究[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 1998, 10(4): 341-348.

[9] Lai K K, Chan J W M. Developing a simulated annealing algorithm for the cutting stock problem [J]. Computers and Industrial Engineering, 1997, 32(1): 115-127.

[10] Lai K K, Chan J W M. A evolutionary algorithm for the rectangular cutting stock problem [J]. International Journal on Industrial Engineering, 1997, 4(1): 130-139.

[11] Beasley J E. A population heuristic for constrained two-dimensional non-guillotine cutting [J]. European Journal of Operational Research, 2004, 156(3): 601-627.

[12] Egeblad J, Pisinger D. Heuristic approaches for the two and three dimensional knapsack packing problem [J]. Computers & Operations Research, 2009, 36(4): 1026-1049.

[13] Murata H, Fujiyoshi K, Nakatake S, Kajitani Y. VLSI module packing based on rectangle-packing by the sequence pair [J]. IEEE Transaction on Computer Aided Design of Integrated Circuits and Systems, 1996, 15(12): 1518-1524.

[14] 朱麗蘋, 王金敏. 基于空間分割的求解布局幾何可行域的算法[J]. 天津職業(yè)技術(shù)師范大學(xué)學(xué)報(bào), 2012, 22(2): 30-33.

An Improved Algorithm for 3D Rectangular Packing Sequence Model

Wang Jinmin1,2, Zhu Liping2
(1. Tianjin Key Laboratory of High Speed Cutting & Precision Machining, Tianjin 300222, China; 2. School of Mechanical Engineering, Tianjin University of Technology and Education, Tianjin 300222, China)

This paper studies the three dimensional rectangular packing problem. On the basis of sequence triple, combined with geometry feasible region of packing items, the sequence triple and feasible region packing algorithm is proposed. Then the packing algorithm is optimized by genetic algorithm, the sequence triple and feasible region packing genetic algorithm is formed. Analysis and examples prove that the improved sequence triple and feasible region packing algorithm can effectively increase packing efficiency.

packing problem; sequence triple; feasible region; genetic algorithm

TP 391

A

2095-302X(2014)06-0821-07

2013-04-19;定稿日期:2013-05-29

國家自然科學(xué)基金資助項(xiàng)目(60975046);天津職業(yè)技術(shù)師范大學(xué)科研發(fā)展基金資助項(xiàng)目(KJ14-64)

王金敏(1963-),男,河南舞陽人,教授,博士。主要研究方向?yàn)橹悄懿季帧⒂?jì)算機(jī)輔助設(shè)計(jì)及圖形學(xué)。E-mail:wang_jin_min@163.com

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點(diǎn)
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲国产日韩欧美在线| 狠狠久久综合伊人不卡| 熟妇无码人妻| 精品一区二区无码av| 四虎影视无码永久免费观看| 综合成人国产| 亚洲天堂免费观看| 综合网久久| 91福利免费| 欧美日韩国产精品综合| 好紧好深好大乳无码中文字幕| 国产福利不卡视频| 99re视频在线| 久久综合丝袜长腿丝袜| 国产制服丝袜无码视频| 亚洲永久免费网站| 亚洲日韩第九十九页| 亚洲首页在线观看| 波多野吉衣一区二区三区av| 亚洲女同一区二区| 亚洲美女高潮久久久久久久| 国产91丝袜在线观看| 欧美人与性动交a欧美精品| 亚洲一区二区三区中文字幕5566| 亚洲中文字幕精品| 亚洲欧美成aⅴ人在线观看| 亚洲成a人在线播放www| 国产探花在线视频| 午夜三级在线| 午夜电影在线观看国产1区| 18禁不卡免费网站| 欧美性色综合网| 国产午夜福利在线小视频| 婷婷99视频精品全部在线观看| 欧美色亚洲| 中文字幕在线视频免费| 成人午夜在线播放| 99九九成人免费视频精品 | 亚洲色无码专线精品观看| 99精品视频九九精品| 免费在线国产一区二区三区精品| 亚洲第一福利视频导航| 国产欧美在线| 欧美激情视频一区| 一级毛片免费不卡在线视频| 一区二区影院| 国产又粗又猛又爽| 亚洲第一极品精品无码| 日本高清有码人妻| 国产亚洲欧美在线人成aaaa| 狠狠色噜噜狠狠狠狠色综合久| 婷婷伊人久久| 69综合网| 熟妇无码人妻| 国产在线拍偷自揄拍精品| 久久久久久久97| 成人精品视频一区二区在线| 日韩资源站| 亚洲丝袜中文字幕| 色综合久久无码网| 日本一区二区三区精品AⅤ| 国产女人18毛片水真多1| 欧美视频免费一区二区三区| 午夜在线不卡| 午夜激情福利视频| 狼友视频一区二区三区| 夜夜高潮夜夜爽国产伦精品| 日韩一区精品视频一区二区| 国产美女无遮挡免费视频网站| 国产精品va| 国产精品极品美女自在线网站| 久久人人爽人人爽人人片aV东京热 | 91网红精品在线观看| 国产精品免费久久久久影院无码| 天堂va亚洲va欧美va国产 | 国产免费a级片| 青青国产在线| 超碰精品无码一区二区| 国产人免费人成免费视频| 国产成人综合亚洲欧美在| 亚洲三级a| 国产一在线观看|