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

矩形毛坯最優層排樣方式的動態規劃算法

2010-01-01 00:00:00王曉慶李尚芳崔耀東
計算機應用研究 2010年6期

摘 要:討論矩形毛坯無約束二維剪切排樣問題,提出層排樣方式的動態規劃算法,使板材所含毛坯總價值最大。排樣時使用一組平行的剪切線將板材分割為多個層,層的長度等于板材的長度或寬度,寬度等于最左邊主毛坯的高度。通過動態規劃算法確定所有可能尺寸層的最大價值和板材中層的最優組合。實驗結果表明,該算法在滿足實際應用要求的同時,板材利用率和計算時間兩方面都較有效。

關鍵詞:兩維切割; 剪切; 層排樣方式; 動態規劃

中圖分類號:TP301.6文獻標志碼:A

文章編號:1001-3695(2010)06-2040-03

doi:10.3969/j.issn.1001-3695.2010.06.012

Dynamic programming algorithm for generating optimal layer patterns of rectangular blanks

WANG Xiao-qing, LI Shang-fang, CUI Yao-dong

(School of Computer Science Information Engineering, Guangxi Normal University, Guilin Guangxi 541004, China)

Abstract:Focusing on the unconstrained two-dimensional guillotine cutting problem of rectangular blanks, this paper proposed a dynamic programming algorithm to generate layer patterns, making the total value of the blanks included in the plant reach its maximum. The algorithm divided the plate into layers with horizontal cuts. The length of the cuts was equal to the length or width of the plate, the width was the same as the height of the leftmost blank in the layer. The dynamic programming algorithm determined the optimal value of all the layers and the optimal combination of the layers included in the plate. The computational results indicate that the algorithm can satisfy the requirement of actual application and is efficient both in material utilization and in computation time.

Key words:two-dimensional cutting; guillotine cutting; layer pattern; dynamic programming

0 引言

討論矩形毛坯無約束二維剪切排樣問題(unconstrained two-dimensional cutting problem,UTDC)[1]:將板材L×W切成m種毛坯,第i種毛坯尺寸為li×wi,價值為vi(1≤i≤m),對每種毛坯在板材中出現的次數無約束,排樣的目標是使板材所含毛坯的總價值最大。

UTDC算法的作用是與線性規劃相結合,解決二維下料問題(two-dimensional cutting stock problem,TDCS)[2]。在TDCS中,使用板材L×W切出m種毛坯,第i種毛坯尺寸為li×wi,需求量為di,i=1,…,m,排樣的目標是滿足對全部毛坯的需求所需要的板材總面積最小。采用好的UTDC算法,有效提高下料利用率、降低產品成本。

很多文獻對UTDC進行了研究,文獻[3,4]采用動態規劃算法生成二階段排樣方式如圖1(a)所示,通過兩個階段將板材切成毛坯,在同一階段內剪切線方向一致,相鄰階段剪切線方向垂直,同規則生成三階段排樣方式。文獻[5]采用遞歸算法生成二段排樣方式如圖1(b)所示,將板材分成兩段,同一段中條帶的長度和方向均相同,兩段的條帶方向平行或垂直。文獻[6]采用遞歸算法生成簡單塊排樣方式如圖1(c)所示,將毛坯放入當前塊時,按價值最大原則選擇水平或豎直分割塊。但企業下料環節影響排樣的因素很多,隨著生產的發展,這些因素在不斷變化,具有新特性的排樣問題不斷出現。例如,部分企業采用雙時段下料工藝,第一時段利用具有多把平行刀具的自動機床將尺寸較大的板材分割為多個板塊,第二時段使用普通設備將尺寸較小的板塊分割為毛坯。在這種下料工藝中使用兩階段排樣方式,可充分發揮自動機床的效率(可同時使用多把刀具),但板材利用率較低。使用二段、三階段或塊排樣方式,板材利用率可以提高,但有可能不能充分發揮第一時段自動機床的效率,從而大大增加第二時段人工操作的工作量。如圖1(b)和(c)所示的情況,在第一時段均無法同時使用多刀具切割。本文提出層排樣方式的動態規劃算法,在保證板材利用率的同時,可以充分發揮自動機床的效率,減少人工操作量,為生產實踐提供更多的選擇。

1 板材層排樣方式

圖2為兩種層排樣方式,數字表示毛坯序號,箭頭所示水平線將板材分成層,層寬度等于左邊主毛坯的高度。圖2(a)所示X向方式,板材水平放置,層的主毛坯分別為5、7和44號毛坯,層長度等于板材長度;圖2(b)所示Y向方式,板材90°旋轉放置,層的主毛坯分別為43、25、25、25、25和27號毛坯,層長度等于板材寬度。

板材中的矩形區域分別稱為段或塊,整張板材也看做一個段。層排樣方式的生成規則如下[7]:如果當前區域為段,選擇毛坯R放在其左下角作為層的主毛坯,用水平線將空白區域分割成塊A和段B,如圖3所示,如果當前區域為塊,選擇毛坯S放在其左下角,按價值最大的原則選擇按圖4(a)將空白區域水平分割成塊A1和A2,或按圖4(b)豎直分割成塊A1和A2。

2 算法原理及其實現

動態規劃算法的基本思想是將待求解問題分解成若干個子問題,先求解子問題,然后從這些子問題的解得到原問題的解,而分解得到的子問題往往不是相互獨立的[8]。

2.1 運用動態規劃原理生成塊的價值

設板材、毛坯方向可90°旋轉,F(x,y)為塊x×y的最大價值。層排樣方式是一種剪切方式,利用多刀具自動機床將板材分割成層,再用普通設備將每層分割為毛坯。算法1為生成塊最大價值的動態規劃遞歸式。其中,Voi是將毛坯i水平放置在塊x×y的左下角得到的最大價值,VRi是將毛坯90°旋轉放置得到的最大價值,i=1,…,m。

算法1 生成塊最大價值F(x,y)的動態規劃遞歸式塊

1 ifx

  • 2 elseVoi=vi+max{F(x,y-wi)+F(x-li,wi),F(li,y-wi)+F(x-li,y)}

    3 ifx

    4 elseVRi=vi+max{F(x,y-li)+F(x-wi,li),F(wi,y-li)+F(x-wi,y)}

    5 F(x,y)=maxi{Voi,VRi}

    行2是將毛坯水平放入塊,按價值最大原則選擇水平(圖4(a))或豎直(圖4(b))分割塊。圖4中,(a)中兩個空白塊所含毛坯的最大價值為F(x,y-wi)+F(x-li,wi),(b)中兩個空白塊所含毛坯的最大價值為F(li,y-wi)+F(x-li,y)。行4是將毛坯90°旋轉放入塊。

    算法2是生成所有可能尺寸塊x×y的最大價值F(x,y)的動態規劃算法。其中,τ=mini(li,wi),所有塊的最大長度xmax=max(L,W)-τ,最大寬度ymax=maxi(li,wi)。行1是對所有可能尺寸塊x×y初始化,行4~6判斷如果當前塊能將毛坯i水平放入,按價值最大的原則選擇水平或豎直分割塊,并更新塊的最大價值F(x,y)。行7~9判斷如果當前塊能將毛坯i按90°旋轉放入,同理更新塊的最大價值F(x,y)。

    算法2 生成塊最大價值F(x,y)的動態規劃算法

    1 fory=0 to ymax:let F(x,y)=0

    2 forx=τtoxmax

    3fory=τtoymax

    4 if(x≥liandy≥wi)

    5 Voi=vi+max{F(x,y-wi)+F(x-li,wi),F(li,y-wi)+F(x-li,y)}

    6 ifVoi>F(x,y)then letF(x,y)=Voi

    7 if(x≥wiandy≥li)

    8 VRi=vi+max{F(x,y-li)+F(x-wi,li),F(wi,y-li)+F(x-wi,y)}

    9 if VRi>F(x,y)then let F(x,y)=VRi

    2.2 生成層的價值

    若板材水平放置,主毛坯i水平或90°旋轉放置會生成兩個不同的水平層,如圖5(a)(b)所示,層價值記為Vjv(1≤j≤2m);若板材90°旋轉放置,如圖5(c)(d)所示,層價值記為Vjh(1≤j≤2m)。下列代碼生成所有層價值,其中行1~4是當1≤j≤m時,主毛坯i水平放置;行5~8是當m+1≤j≤2m時,主毛坯i按90°旋轉放置;hj表示層j的高度。

    1for j=1 to m

    2i=j;hj=wi;

    3Vjv=vi+F(L-li,wi);

    4Vjh=vi+F(W-li,wi);

    5for j=m+1 to 2m

    6i=i-m;hj=li;

    7Vjv=vi+F(L-wi,li);

    8Vjh=vi+F(W-wi,li)

    2.3 生成層排樣方式

    運用動態規劃原理求解一維背包問題,確定板材中層的最優組合,得到板材所含毛坯的最大價值。當板材水平放置時,

    maxV1max=∑2mj=1Vjvyj; ∑2mj=1hjyj≤W(1)

    其中:yj是非負整數,j表示排樣方式中高度為hj的層出現的次數,j=1,2,…,2m。

    運用動態規劃原理,通過函數bagVal(vjv,W)求解式(1),得到層排樣方式所含毛坯的最大價值V1max。下面為模型(1)的求解過程,V1max=bagVal(Vjv,W)=f(W)。其中f(h)為長L寬h的板塊中所含毛坯的最大價值。同理可得到板材90°旋轉時層排樣方式所含毛坯的最大價值V2max=bagVal(Vjh,L)。由此板材層排樣方式所含毛坯所能達到的最大價值V=max(V1max,V2max)。

    1 for h=0 to τ:let f(h)=0

    2 for h=τ to W

    3for j=1 to 2m

    4if(h

    5let v=Vjv+f(h-hj)

    6if v>f(i) then let f(i)=v

    7 return f(W)

    2.4 板材層排樣方式算法

    根據動態規劃原理,綜合2.1~2.3節所述,本文排樣算法步驟如下:

    a)輸入板材與各毛坯數據。

    b)通過動態規劃算法求解所有可能尺寸塊x×y的最大價值F(x,y)。

    c)(a)求解板材水平放置時,所有層的最大價值Vjv(1≤j≤2m)。

    (b)求解板材90°旋轉放置時,所有層的最大價值Vjh(1≤j≤2m)。

    d)通過動態規劃原理求解一維背包問題。

    (a)得到板材水平放置時,層排樣方式所含毛坯的最大價值V1max;

    (b)得到板材90°旋轉放置時,層排樣方式所含毛坯的最大價值V2max;

    (c)得到板材層排樣方式所含毛坯最大價值V=max(V1max,V2max);

    e)根據板材排樣過程反向追蹤,得到層排樣方式中毛坯布局。

    3 實驗結果

    用Intel Core 2 CPU,主頻為2.20 GHz、內存為1 GB的計算機進行測試。

    3.1 不同排樣方式的比較

    采用文獻[3]中的例題,可以通過http://www.laria.u-picardie.fr/hifi/OR-Benchmark/下載。毛坯的價值等于其面積。該文獻生成經典二階段、三階段排樣方式,這里用V2STAGE、V3STAGE表示文獻中得到的二階段、三階段排樣方式板材所含毛坯的總價值;V表示本文算法得到的層排樣方式板材所含毛坯的總價值;T2STAGE、T3STAGE、T分別表示計算時間。

    表1為對例題采用不同排樣方式的結果。分析表1,從板材利用率來看,15道題目中15題均有V≥V2STAGE。其中7題V>V2STAGE,8題V=V2STAGE,說明二階段排樣方式雖然能充分發揮自動機床的效率,但板材利用率較低。與三階段方式相比較,8題V=V3STAGE,另7題V

    表1 不同排樣方式結果(15個例題)

    IDL×MmV3STAGEV2STAGEVT3STAGET2STAGET

    M1100×156101546815468154681.760.070.14

    M2253×294107308072172725327.460.200.15

    M3318×473101470541469951469955.660.310.17

    M4501×556102739912739912739919.000.320.18

    M5750×8061058687957788257793016.600.490.21

    B3000×30003290000008997780900000087.827.0311

    UU1500×5002524604624604624604617.270.800.20

    UU2750×8003059565559325659528849.001.470.34

    UU31100×10002510893081082504108711242.461.610.43

    UU41000×120038118863811886381188638186.472.790.85

    UU51450×130050187825318782531878253352.174.401.60

    UU62050×145738295120229512022951202262.864.602.65

    UU71465×202450294904329358342947961942.386.073.82

    UU82000×200055397482839593523974828444.476.602.70

    UU92500×256060611044261084276108427739.718.914.18

    平均值(板材利用率、計算時間)98.86%98.55%98.71%210.396.991.91

    表1說明層排樣方式的動態規劃算法在更適合實際應用的同時,板材利用率和計算時間兩方面都較有效。兩段排樣式與三階段排樣方式同理,由于文獻[5]中毛坯不能旋轉,本文不作比較。

    3.2 大規模數據測試

    采用文獻[6]中的10組例題(APT10~APT19),可通過3.1節中網站下載。這些例題板材尺寸在1 500~3 000間,每題毛坯種數m在30~60間,每種毛坯的價值等于其面積。表2為計算結果。其中VSB為文獻[6]通過遞歸算法得到的板材所含毛坯最大價值,TSB為計算時間,V為本文算法得到的板材所含毛坯最大價值,T為計算時間,usage為本文算法得到的板材利用率。

    表2 與簡單塊排樣方式比較

    IDL×WmVSBVusage/%TSBT

    APT102097×1713513591980359178399.98919.334.79

    APT112600×1612584190479418859999.93826.4510.25

    APT122662×1941355162097515615399.79120.885.00

    APT131674×2090543498302349677399.94619.805.12

    APT142090×2138424466844446609899.94820.993.05

    APT152726×2222496054955605102799.89939.007.07

    APT162899×2614537573172756702799.85554.037.84

    APT172313×1962594537842453784299.99432.756.54

    APT182775×2105315835996583451699.88323.134.42

    APT192284×2994356831801683062399.87930.586.37

    平均值(板材利用率、計算時間)99.95399.91228.696.05

    分析表2,從板材利用率來看,雖然只有APT17可以與簡單塊排樣方式持平,但兩種排樣方式板材平均利用率之差僅為0.04%,且利用率均達到99.9%左右。簡單塊排樣方式板材利用率稍高,但如圖1(c)所示情況,在第一時段可能只有一條剪切線(使用一把刀具),不能充分發揮自動機床多刀具的效率。從計算時間來看,10組數據層排樣方式所需平均計算時間明顯減少。圖2中,(a)為例題APT15的X向層排樣方式圖,板材所含毛坯總價值為6 048 942;(b)為Y向層排樣方式圖,板材所含毛坯總價值6 054 955。最終選擇Y向層排樣方式作為排樣結果。

    4 結束語

    與其他類型的排樣方式相比,層排樣方式在保證板材利用率的同時,能夠充分發揮自動機床的效率,減少人工操作量。本文提出的動態規劃算法設計簡單,所需計算時間短。將本文算法與線性規劃算法結合用于解決二維下料問題,為生產實踐提供更多的選擇,可作為本文的后續研究內容。

    參考文獻:

    [1]崔耀東,黃健民,張顯全.矩形毛坯無約束二維剪切排樣的遞歸算法[J].計算機輔助設計與圖形學學報,2006,18(7):948-951.

    [2]崔耀東.計算機排樣及應用[M].北京:機械工業出版社,2004:90-92.

    [3]HIFI M. Exact algorithms for large-scale unconstrained two and three staged cutting problems [J].Computational Optimization and Applications,2001,18(1):63-88.

    [4]CUI Yao-dong, WANG Z, LI J. Exact and heuristic algorithms for staged cutting problems [J]. Journal of Engineering Manufacture,2005,219(B2):201-208.

    [5]CUI Yao-dong, HE Dong-li, SONG Xiao-xia. Generating optimal two-section cutting patterns for rectangular blanks[J]. Computers and Operations Research,2006,33:1505-1520.

    [6]CUI Yao-dong. Simple block patterns for the two-dimensional cutting problem[J]. Mathematical and Computer Modelling,2007,45(7-8):943-953.

    [7]何冬黎,崔耀東.一種卷材填充分層遞歸排樣的優化算法[J].計算機應用,2008,28(6):1632-1634.

    [8]王曉東.計算機算法設計與分析[M].3版.北京:電子工業出版社,2007:48-49.

  • 主站蜘蛛池模板: 国产一区二区三区精品久久呦| 欧美色综合网站| 国产精品人莉莉成在线播放| 亚洲AV成人一区二区三区AV| 亚洲色图另类| 国产精品亚洲专区一区| 精品国产亚洲人成在线| 伊人久久精品无码麻豆精品| 99视频在线看| 亚洲美女一级毛片| 中文成人在线视频| 91视频精品| 97人妻精品专区久久久久| 亚洲欧洲免费视频| jizz国产视频| 国内精品视频| 美女无遮挡拍拍拍免费视频| 亚洲一区网站| 久久久久人妻一区精品色奶水| 久久久黄色片| 色婷婷综合在线| 国产精品网址在线观看你懂的| 久久久久久高潮白浆| A级毛片高清免费视频就| 免费全部高H视频无码无遮掩| 欧美自慰一级看片免费| 91精品国产自产在线观看| 就去色综合| 国产美女自慰在线观看| 欧美精品色视频| 在线观看欧美国产| 国产精品v欧美| 欧美激情成人网| 国产精品综合久久久| 在线国产毛片手机小视频 | 国产最新无码专区在线| 少妇高潮惨叫久久久久久| 视频国产精品丝袜第一页| 九九免费观看全部免费视频| 久久99国产综合精品女同| 日韩毛片在线播放| 狼友视频国产精品首页| 夜夜拍夜夜爽| 精品成人免费自拍视频| 欧美www在线观看| 第一区免费在线观看| 亚洲国产精品一区二区高清无码久久| 国产丝袜第一页| 日韩美女福利视频| 成人免费午夜视频| 亚洲侵犯无码网址在线观看| 精品国产一二三区| 国产一区二区在线视频观看| 日韩欧美在线观看| 欧美日韩激情在线| 波多野结衣国产精品| 55夜色66夜色国产精品视频| 性欧美在线| h网站在线播放| 亚洲欧美日韩精品专区| 亚洲人成亚洲精品| 午夜性刺激在线观看免费| 精品人妻无码中字系列| 欧美综合一区二区三区| 九九这里只有精品视频| yy6080理论大片一级久久| 毛片网站在线播放| 网友自拍视频精品区| 亚洲天堂免费| 热热久久狠狠偷偷色男同| 日本一区中文字幕最新在线| 99精品国产电影| 久久精品国产一区二区小说| 午夜啪啪福利| 久久天天躁夜夜躁狠狠| 91尤物国产尤物福利在线| 国产精品成人不卡在线观看| 久久久久无码精品国产免费| 熟妇无码人妻| 天堂av高清一区二区三区| 亚洲毛片一级带毛片基地| 亚洲天堂色色人体|