本發(fā)明涉及板材下料優(yōu)化算法方法,具體涉及板材的一維下料方法。
背景技術(shù):
:板材的一維下料,是指原材料和所需材料維數(shù)都為一維時(shí),在已知的訂單要求和原料數(shù)據(jù)下如何優(yōu)化切割下料,使得原材料盡量得到充分利用,成本盡量得到節(jié)約的規(guī)劃問(wèn)題。傳統(tǒng)的一維下料算法還存在很多不足,浪費(fèi)大,算法執(zhí)行不合理,算法執(zhí)行過(guò)程效率低。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的技術(shù)問(wèn)題在于針對(duì)上述現(xiàn)有技術(shù)中的不足,提供一種基于均布有序搜索的一維下料優(yōu)化算法,其算法優(yōu)勢(shì)明顯,能夠高效合理排版。為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案予以實(shí)現(xiàn):一種基于均布有序搜索的一維下料優(yōu)化算法,其包含如下步驟:(1)構(gòu)造板條需求對(duì):按照板條寬度,降序排列板條需求對(duì)(Hi,Ni,)隊(duì)列,從隊(duì)列中剔除Ni為零的需求對(duì),重新計(jì)算需求對(duì)的數(shù)量n;若n=0,說(shuō)明本次加工任務(wù)全部完成,結(jié)束本次加工任務(wù)轉(zhuǎn)步驟(7),否則轉(zhuǎn)下一步(2);(2)判斷寬度為Ws的板材若只放最寬板條H1,是否可以剛好放下。首先計(jì)算板材Ws中可放最寬板條H1的最大排版數(shù)量Qs1=Ws/H1]]>如果則然后求板材剩余材料寬度Es1=Ws-H1Qs1]]>若在0-5mm之間,則更新需求對(duì)中的N1,前s塊板材剩余材料寬度之和保存當(dāng)前排版數(shù)據(jù),O[1].H=H1,本次寬度為Ws的板材排版結(jié)束,取保存的結(jié)構(gòu)體數(shù)組O[k]的第1組數(shù)據(jù),生成加工的G代碼程序,取下一板材(s加1),轉(zhuǎn)步驟(1);若大于5mm,亦即本次排版為無(wú)效排版,轉(zhuǎn)下一步(3);(3)第s次加工板材寬度為Ws的板材時(shí),根據(jù)板條需求對(duì)(Hi,Ni,)隊(duì)列,計(jì)算理論上需要板材的平均總數(shù)量Ms:Ms=(Σi=1nHiNi)/W‾]]>令板材Ws剩余寬度初始排版次數(shù)k=1,取第一組板條需求對(duì)即i=1,轉(zhuǎn)下一步(4);(4)若i大于n,則i=1。計(jì)算板條Hi在板材Ws上的平均排版數(shù)量Psi=Ni/Ms]]>若則更新第i組板條需求對(duì)(Hi,Ni,)中的轉(zhuǎn)下一步(5);(5)第s塊板材在第k次排版時(shí),取第i組板條需求對(duì)(Hi,Ni,),計(jì)算Esk=Esk-1-HiPsi]]>若在0-Hn之間(可通過(guò)逐步有序剔除法和遍歷算法查找最優(yōu)的排版組合),則更新第i組板條需求對(duì)(Hi,Ni,)中的Ni,前s塊板材剩余材料寬度之和保存當(dāng)前排版數(shù)據(jù),O[k].H=Hi,本次寬度為Ws的板材排版結(jié)束,取保存的結(jié)構(gòu)體數(shù)組O[k]的前k組數(shù)據(jù),生成加工的G代碼程序,取下一板材(s加1),轉(zhuǎn)步驟(1);若小于0且大于1,則減1,更新第i組需求對(duì)(Hi,Ni,)中的后轉(zhuǎn)步驟(5);若小于0且小于等于1,此次排版為無(wú)效排版,則取下一組板條i=i+1,轉(zhuǎn)步驟(4);若大于Hn,則更新第i組板條需求對(duì)(Hi,Ni,)中的Ni,從隊(duì)列中剔除Ni為零的需求對(duì),重新計(jì)算需求對(duì)的數(shù)量n。保存當(dāng)前排版數(shù)據(jù),O[k].H=Hi,轉(zhuǎn)下一步(6);(6)若n大于0且在0-Hn之間,則本次寬度為Ws的板材排版結(jié)束,前s塊板材剩余材料寬度之和取保存的結(jié)構(gòu)體數(shù)組O[k]的前k組數(shù)據(jù),生成加工的G代碼程序,取下一板材(s加1),轉(zhuǎn)步驟(1);若n大于0且大于Hn,則取下一組板條i=i+1,k=k+1,轉(zhuǎn)步驟(4);若n等于0,當(dāng)前寬度為Ws的板材排版結(jié)束,且所有板條加工完成。前s塊板材剩余材料寬度之和取保存的結(jié)構(gòu)體數(shù)組O[k]的前k組數(shù)據(jù),生成加工的G代碼程序,轉(zhuǎn)下一步(7);(7)結(jié)束。進(jìn)一步的是:所述板材為毛坯板材,已知毛坯板材平均寬度為且進(jìn)一步的是:所述板條為加工后滿足客戶寬度要求的板材,板條厚度為板條的厚度與切刀的厚度相加。進(jìn)一步的是:板條需求對(duì)(Hi,Ni)表示寬度為Hi的板條需求數(shù)量為Ni(i=1,2,…,n);第s塊板材排版時(shí),理論需要板材平均總數(shù)量為Ms,其計(jì)算公式為:Ms=(Σi=1nHiNi)/W‾]]>第s次加工寬為Ws的板材時(shí),可放板條寬為Hi的平均數(shù)量為Psi=Ni/Ms]]>的取值原則為:如果Ni/Ms有小數(shù),則取整數(shù)部分后加1,否則直接取整數(shù)部分;若大于Ni,則等于Ni,否則按上述的取值原則進(jìn)行取值;第s次加工寬為Ws的板材在第k次排版時(shí),放進(jìn)塊寬為Hi的板條后,板材Ws剩余材料寬度為為一個(gè)循環(huán)遞減的過(guò)程,k為當(dāng)前板材的有效排版次數(shù);每經(jīng)過(guò)一次有效排版k值加1,直到板材剩余材料寬度小于當(dāng)前剩余的未加工的板條中最小板條寬度;第s次加工寬為Ws的板材在第k次排版時(shí),可放入第i組板條的最大數(shù)量為Qsi=Esk-1/Hi,(Es0=Ws,k=1)]]>的取值為的整數(shù)部分,若大于Ni,則等于Ni;否則不變。本發(fā)明有益效果是:本發(fā)明公開(kāi)的算法合理高效,能夠高效合理排版,大大減少浪費(fèi),能夠有助于自動(dòng)化排版的實(shí)現(xiàn);其排版方案也更加符合實(shí)際生產(chǎn)需要,根據(jù)具體實(shí)踐,其節(jié)省物料的效果非常好。附圖說(shuō)明圖1為本發(fā)明一種基于均布有序搜索的一維下料優(yōu)化算法獲取一組基本優(yōu)化組合的流程圖。圖2為本發(fā)明中使用的逐步有序剔除發(fā)的說(shuō)明流程圖。具體實(shí)施方式下面結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)一步說(shuō)明,下述實(shí)施例是說(shuō)明性的,不是限定性的,不能以下述實(shí)施例來(lái)限定本發(fā)明的保護(hù)范圍。本發(fā)明公開(kāi)的一種基于均布有序搜索的一維下料優(yōu)化算法采用如下基本原則:①每次從最寬的板條開(kāi)始排版,依次排第二、第三寬的板條,以此類(lèi)推。②排版過(guò)程中,首先考慮最寬板條剛好排下(板材剩余材料寬度在0~5mm之間)的排版。③其次,盡量把各種不同寬度的板條均勻地分布在Ms塊板材中。下面結(jié)合附圖來(lái)說(shuō)明本發(fā)明的具體實(shí)施步驟。如圖1所示,為獲取一組基本優(yōu)化組合的步驟,具體流程如下所示:(1)構(gòu)造板條需求對(duì):按照板條寬度,降序排列板條需求對(duì)(Hi,Ni,)隊(duì)列,從隊(duì)列中剔除Ni為零的需求對(duì),重新計(jì)算需求對(duì)的數(shù)量n;若n=0,說(shuō)明本次加工任務(wù)全部完成,結(jié)束本次加工任務(wù)轉(zhuǎn)步驟(7),否則轉(zhuǎn)下一步(2);(2)判斷寬度為Ws的板材若只放最寬板條H1,是否可以剛好放下。首先計(jì)算板材Ws中可放最寬板條H1的最大排版數(shù)量Qs1=Ws/H1]]>如果則然后求板材剩余材料寬度Es1=Ws-H1Qs1]]>若在0-5mm之間,則更新需求對(duì)中的N1,前s塊板材剩余材料寬度之和保存當(dāng)前排版數(shù)據(jù),O[1].H=H1,本次寬度為Ws的板材排版結(jié)束,取保存的結(jié)構(gòu)體數(shù)組O[k]的第1組數(shù)據(jù),生成加工的G代碼程序,取下一板材(s加1),轉(zhuǎn)步驟(1);若大于5mm,亦即本次排版為無(wú)效排版,轉(zhuǎn)下一步(3);(3)第s次加工板材寬度為Ws的板材時(shí),根據(jù)板條需求對(duì)(Hi,Ni,)隊(duì)列,計(jì)算理論上需要板材的平均總數(shù)量Ms:Ms=(Σi=1nHiNi)/W‾]]>令板材Ws剩余寬度初始排版次數(shù)k=1,取第一組板條需求對(duì)即i=1,轉(zhuǎn)下一步(4);(4)若i大于n,則i=1。計(jì)算板條Hi在板材Ws上的平均排版數(shù)量Psi=Ni/Ms]]>若則更新第i組板條需求對(duì)(Hi,Ni,)中的轉(zhuǎn)下一步(5);(5)第s塊板材在第k次排版時(shí),取第i組板條需求對(duì)(Hi,Ni,),計(jì)算Esk=Esk-1-HiPsi]]>若在0-Hn之間(可在遍歷原則的基礎(chǔ)上通過(guò)逐步有序剔除法查找最優(yōu)的排版組合),則更新第i組板條需求對(duì)(Hi,Ni,)中的Ni,前s塊板材剩余材料寬度之和保存當(dāng)前排版數(shù)據(jù),O[k].H=Hi,本次寬度為Ws的板材排版結(jié)束,取保存的結(jié)構(gòu)體數(shù)組O[k]的前k組數(shù)據(jù),生成加工的G代碼程序,取下一板材(s加1),轉(zhuǎn)步驟(1);若小于0且大于1,則減1,更新第i組需求對(duì)(Hi,Ni,)中的后轉(zhuǎn)步驟(5);若小于0且小于等于1,亦即此次排版為無(wú)效排版,則取下一組板條i=i+1,轉(zhuǎn)步驟(4);若大于Hn,則更新第i組板條需求對(duì)(Hi,Ni,)中的Ni,從隊(duì)列中剔除Ni為零的需求對(duì),重新計(jì)算需求對(duì)的數(shù)量n。保存當(dāng)前排版數(shù)據(jù),O[k].H=Hi,轉(zhuǎn)下一步(6);(6)若n大于0且在0-Hn之間,則本次寬度為Ws的板材排版結(jié)束,前s塊板材剩余材料寬度之和取保存的結(jié)構(gòu)體數(shù)組O[k]的前k組數(shù)據(jù),生成加工的G代碼程序,取下一板材(s加1),轉(zhuǎn)步驟(1);若n大于0且大于Hn,則取下一組板條i=i+1,k=k+1,轉(zhuǎn)步驟(4);若n等于0,當(dāng)前寬度為Ws的板材排版結(jié)束,且所有板條加工完成。前s塊板材剩余材料寬度之和取保存的結(jié)構(gòu)體數(shù)組O[k]的前k組數(shù)據(jù),生成加工的G代碼程序,轉(zhuǎn)下一步(7);(7)結(jié)束。如圖2所示,為本發(fā)明所使用到的逐步有序剔除法的算法流程,具體實(shí)施過(guò)程如下所示:(a)獲取當(dāng)前一維下料優(yōu)化的排列組合;(b)當(dāng)前排列組合是否只由板條需求對(duì)中的最寬和最窄板條組成,如果是則優(yōu)化結(jié)束,得到最優(yōu)組合,否則轉(zhuǎn)下一步;(c)判斷當(dāng)前排列組合中的最小板條是否等于板條需求對(duì)中的最小板條,如果是則將當(dāng)前排列組合的最小板條從中剔除,然后將第二小的板條排列數(shù)量減少一塊后取板條需求對(duì)中的下一組板條進(jìn)行排列,轉(zhuǎn)下一步;否則將當(dāng)前排列組合的最小板條從中剔除,然后取板條需求對(duì)中的下一組板條進(jìn)行排列轉(zhuǎn)下一步;(d)根據(jù)基本原則,重新優(yōu)化排版,獲得新的一組優(yōu)化組合,轉(zhuǎn)步驟(a)。上述具體實(shí)施方式中以及說(shuō)明書(shū)中的具體符號(hào)描述如表1:表1本發(fā)明的算法的一次優(yōu)化排版數(shù)據(jù)變化過(guò)程如表2所示:表2排版數(shù)據(jù)變化過(guò)程現(xiàn)就對(duì)本發(fā)明所提出的算法,舉一應(yīng)用實(shí)例來(lái)說(shuō)明本發(fā)明的優(yōu)越性。假設(shè)板材平均寬度:具體每塊原板材寬度只有在上料時(shí)才知其具體值,切刀厚度為10mm?,F(xiàn)有板條需要加工,具體值如表3所示:表3板條需求對(duì)理論需求板材平均總數(shù)量為:M1=(Σi=1nHiNi)/W‾=19073/1500≈13]]>根據(jù)所需求原板材的平均總數(shù)量,計(jì)算板條需求對(duì)的平均排版數(shù)量,依次取原板材進(jìn)行優(yōu)化排版,得到最終的切割數(shù)據(jù),如下表4所示:表4本發(fā)明原理最終加工數(shù)據(jù)通過(guò)上述實(shí)例,可以驗(yàn)證本發(fā)明算法的優(yōu)化利用率是很高的,并可以有效避免優(yōu)化利用率不均的情況,以上實(shí)例在排除數(shù)據(jù)輸入的時(shí)間后,得到優(yōu)化結(jié)果的時(shí)間不足1秒,可見(jiàn)其優(yōu)化效率是很快的。上面對(duì)本發(fā)明優(yōu)選實(shí)施方式作了詳細(xì)說(shuō)明,但是本發(fā)明不限于上述實(shí)施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化,這些變化涉及本領(lǐng)域技術(shù)人員所熟知的相關(guān)技術(shù),這些都落入本發(fā)明專(zhuān)利的保護(hù)范圍。不脫離本發(fā)明的構(gòu)思和范圍可以做出許多其他改變和改型。應(yīng)當(dāng)理解,本發(fā)明不限于特定的實(shí)施方式,本發(fā)明的范圍由所附權(quán)利要求限定。當(dāng)前第1頁(yè)1 2 3