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

矩形毛坯最優(yōu)層排樣方式的動(dòng)態(tài)規(guī)劃算法

2010-01-01 00:00:00王曉慶李尚芳崔耀東

摘 要:討論矩形毛坯無約束二維剪切排樣問題,提出層排樣方式的動(dòng)態(tài)規(guī)劃算法,使板材所含毛坯總價(jià)值最大。排樣時(shí)使用一組平行的剪切線將板材分割為多個(gè)層,層的長(zhǎng)度等于板材的長(zhǎng)度或?qū)挾龋瑢挾鹊扔谧钭筮呏髅鞯母叨取Mㄟ^動(dòng)態(tài)規(guī)劃算法確定所有可能尺寸層的最大價(jià)值和板材中層的最優(yōu)組合。實(shí)驗(yàn)結(jié)果表明,該算法在滿足實(shí)際應(yīng)用要求的同時(shí),板材利用率和計(jì)算時(shí)間兩方面都較有效。

關(guān)鍵詞:兩維切割; 剪切; 層排樣方式; 動(dòng)態(tài)規(guī)劃

中圖分類號(hào):TP301.6文獻(xiàn)標(biāo)志碼:A

文章編號(hào):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,價(jià)值為vi(1≤i≤m),對(duì)每種毛坯在板材中出現(xiàn)的次數(shù)無約束,排樣的目標(biāo)是使板材所含毛坯的總價(jià)值最大。

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

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

1 板材層排樣方式

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

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

2 算法原理及其實(shí)現(xiàn)

動(dòng)態(tài)規(guī)劃算法的基本思想是將待求解問題分解成若干個(gè)子問題,先求解子問題,然后從這些子問題的解得到原問題的解,而分解得到的子問題往往不是相互獨(dú)立的[8]。

2.1 運(yùn)用動(dòng)態(tài)規(guī)劃原理生成塊的價(jià)值

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

算法1 生成塊最大價(jià)值F(x,y)的動(dòng)態(tài)規(guī)劃遞歸式塊

1 ifx

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

    3 ifx

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

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

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

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

    算法2 生成塊最大價(jià)值F(x,y)的動(dòng)態(tài)規(guī)劃算法

    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(xiàn)(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(xiàn)(wi,y-li)+F(x-wi,y)}

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

    2.2 生成層的價(jià)值

    若板材水平放置,主毛坯i水平或90°旋轉(zhuǎn)放置會(huì)生成兩個(gè)不同的水平層,如圖5(a)(b)所示,層價(jià)值記為Vjv(1≤j≤2m);若板材90°旋轉(zhuǎn)放置,如圖5(c)(d)所示,層價(jià)值記為Vjh(1≤j≤2m)。下列代碼生成所有層價(jià)值,其中行1~4是當(dāng)1≤j≤m時(shí),主毛坯i水平放置;行5~8是當(dāng)m+1≤j≤2m時(shí),主毛坯i按90°旋轉(zhuǎn)放置;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 生成層排樣方式

    運(yùn)用動(dòng)態(tài)規(guī)劃原理求解一維背包問題,確定板材中層的最優(yōu)組合,得到板材所含毛坯的最大價(jià)值。當(dāng)板材水平放置時(shí),

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

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

    運(yùn)用動(dòng)態(tài)規(guī)劃原理,通過函數(shù)bagVal(vjv,W)求解式(1),得到層排樣方式所含毛坯的最大價(jià)值V1max。下面為模型(1)的求解過程,V1max=bagVal(Vjv,W)=f(W)。其中f(h)為長(zhǎng)L寬h的板塊中所含毛坯的最大價(jià)值。同理可得到板材90°旋轉(zhuǎn)時(shí)層排樣方式所含毛坯的最大價(jià)值V2max=bagVal(Vjh,L)。由此板材層排樣方式所含毛坯所能達(dá)到的最大價(jià)值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 板材層排樣方式算法

    根據(jù)動(dòng)態(tài)規(guī)劃原理,綜合2.1~2.3節(jié)所述,本文排樣算法步驟如下:

    a)輸入板材與各毛坯數(shù)據(jù)。

    b)通過動(dòng)態(tài)規(guī)劃算法求解所有可能尺寸塊x×y的最大價(jià)值F(x,y)。

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

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

    d)通過動(dòng)態(tài)規(guī)劃原理求解一維背包問題。

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

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

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

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

    3 實(shí)驗(yàn)結(jié)果

    用Intel Core 2 CPU,主頻為2.20 GHz、內(nèi)存為1 GB的計(jì)算機(jī)進(jìn)行測(cè)試。

    3.1 不同排樣方式的比較

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

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

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

    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

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

    表1說明層排樣方式的動(dòng)態(tài)規(guī)劃算法在更適合實(shí)際應(yīng)用的同時(shí),板材利用率和計(jì)算時(shí)間兩方面都較有效。兩段排樣式與三階段排樣方式同理,由于文獻(xiàn)[5]中毛坯不能旋轉(zhuǎn),本文不作比較。

    3.2 大規(guī)模數(shù)據(jù)測(cè)試

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

    表2 與簡(jiǎn)單塊排樣方式比較

    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

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

    分析表2,從板材利用率來看,雖然只有APT17可以與簡(jiǎn)單塊排樣方式持平,但兩種排樣方式板材平均利用率之差僅為0.04%,且利用率均達(dá)到99.9%左右。簡(jiǎn)單塊排樣方式板材利用率稍高,但如圖1(c)所示情況,在第一時(shí)段可能只有一條剪切線(使用一把刀具),不能充分發(fā)揮自動(dòng)機(jī)床多刀具的效率。從計(jì)算時(shí)間來看,10組數(shù)據(jù)層排樣方式所需平均計(jì)算時(shí)間明顯減少。圖2中,(a)為例題APT15的X向?qū)优艠臃绞綀D,板材所含毛坯總價(jià)值為6 048 942;(b)為Y向?qū)优艠臃绞綀D,板材所含毛坯總價(jià)值6 054 955。最終選擇Y向?qū)优艠臃绞阶鳛榕艠咏Y(jié)果。

    4 結(jié)束語(yǔ)

    與其他類型的排樣方式相比,層排樣方式在保證板材利用率的同時(shí),能夠充分發(fā)揮自動(dòng)機(jī)床的效率,減少人工操作量。本文提出的動(dòng)態(tài)規(guī)劃算法設(shè)計(jì)簡(jiǎn)單,所需計(jì)算時(shí)間短。將本文算法與線性規(guī)劃算法結(jié)合用于解決二維下料問題,為生產(chǎn)實(shí)踐提供更多的選擇,可作為本文的后續(xù)研究?jī)?nèi)容。

    參考文獻(xiàn):

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

    [2]崔耀東.計(jì)算機(jī)排樣及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,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]何冬黎,崔耀東.一種卷材填充分層遞歸排樣的優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用,2008,28(6):1632-1634.

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

  • 主站蜘蛛池模板: 五月六月伊人狠狠丁香网| 国内a级毛片| 亚洲人成在线精品| 第九色区aⅴ天堂久久香| 日韩av在线直播| 一级毛片免费高清视频| 三上悠亚一区二区| 亚洲清纯自偷自拍另类专区| 国产18在线播放| 69综合网| 成人国内精品久久久久影院| 91黄色在线观看| 国产精品三级av及在线观看| 日韩欧美国产综合| 伊人五月丁香综合AⅤ| 伊人色综合久久天天| 久久久久无码国产精品不卡| 国产丝袜91| 欧美精品v欧洲精品| 日韩午夜福利在线观看| 波多野结衣爽到高潮漏水大喷| 美女内射视频WWW网站午夜| 国产香蕉97碰碰视频VA碰碰看| 爽爽影院十八禁在线观看| 国产成a人片在线播放| 3D动漫精品啪啪一区二区下载| 国产精品免费电影| 亚洲天堂在线免费| 亚洲国产精品久久久久秋霞影院| 久久综合丝袜日本网| 狠狠躁天天躁夜夜躁婷婷| 午夜影院a级片| 久久精品电影| 一区二区日韩国产精久久| 中文成人在线| 亚洲精品在线影院| 露脸国产精品自产在线播| 五月婷婷欧美| 亚洲男人的天堂在线| 人妻夜夜爽天天爽| 欧美中文字幕在线视频 | 国产欧美日韩视频一区二区三区| 中文字幕1区2区| 午夜精品国产自在| 毛片网站观看| 国产高潮流白浆视频| 欧美成人免费午夜全| 免费三A级毛片视频| 国产欧美日韩综合在线第一| 日本久久久久久免费网络| 色九九视频| 青青国产成人免费精品视频| 欧美性精品不卡在线观看| 午夜天堂视频| 日韩区欧美国产区在线观看| 亚洲人成影院在线观看| 亚洲一级毛片在线观播放| av天堂最新版在线| 久久成人免费| 国产第一福利影院| 亚洲欧美成人在线视频| 国产精品网拍在线| 亚洲成a∧人片在线观看无码| 日本精品视频一区二区| 久久精品国产国语对白| 国内精品久久人妻无码大片高| 国产成年无码AⅤ片在线| 久草美女视频| 亚洲精品欧美重口| 国产麻豆91网在线看| 免费人成网站在线观看欧美| 55夜色66夜色国产精品视频| 国产精品林美惠子在线观看| 青青热久免费精品视频6| 九九热免费在线视频| 久久亚洲国产视频| 99re在线免费视频| 91视频首页| 亚洲视屏在线观看| 亚洲成人高清在线观看| 91视频区| 国产美女主播一级成人毛片|