自動排料方法
【專利摘要】本發(fā)明公開了一種自動排料方法,包括以下步驟:采用遺傳算法,建立算法數(shù)學(xué)模型;加載待排零件圖紙,對待排零件進行預(yù)處理;遺傳算法初始化,包括群體初始化、設(shè)置遺傳算法的運行參數(shù)和終止條件;按算法數(shù)學(xué)模型中的基因序列將待排零件放置于板材上,并計算群體中各個個體的適應(yīng)度;終止條件判斷,若不滿足終止條件,群體經(jīng)過選擇運算、交叉運算、變異運算之后,得到下一代群體,轉(zhuǎn)至上一步繼續(xù)執(zhí)行;若滿足終止條件,輸出最優(yōu)解。本發(fā)明通過遺傳算法和計算機圖形學(xué)的有效結(jié)合實現(xiàn)自動排料,通過遺傳算法可以隨機生成待排零件序列和放置角度,利用臨界多邊形算法將待排零件放置于板材上,提高自動排料效率和板材的利用率。
【專利說明】自動排料方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種自動排料方法,具體地說,涉及一種板材切割自動排料方法。
【背景技術(shù)】
[0002] 在工程應(yīng)用中,自動排料問題是指在給定的一塊或多塊材料和若干待排零件,將 待排零件合理的擺放在材料上,并使材料利用率最高。排料問題要求滿足的特定約束條件: 任意兩個待排零件互不重疊;任意一個待排零件不能超出板材的范圍,必須放在板材內(nèi)。
[0003] 排料問題是具有最高計算復(fù)雜度的一類問題--NP完全問題。NP完全問題是指 多項式時間復(fù)雜度范圍內(nèi)無法解決的一類問題。通常認(rèn)為算法的時間復(fù)雜性存在多項式界 時,計算時間是可以接受的,如果超出多項式界,計算時間將隨著問題規(guī)模的增大而急速增 長(呈指數(shù)關(guān)系增長),在實際應(yīng)用中該算法將難以被人們接受。
[0004] 現(xiàn)有技術(shù)中不規(guī)則排料有兩種方法:一是以矩形件排料為基礎(chǔ),用待排零件的最 小包絡(luò)矩形代替待排零件,將不規(guī)則的待排零件轉(zhuǎn)化為矩形件,然后用矩形件排料算法進 行求解;二是以計算機圖形學(xué)為基礎(chǔ),用計算機圖形學(xué)相關(guān)概念和方法處理待排零件和板 材,求得最優(yōu)的排料結(jié)果。
[0005] 現(xiàn)有的排料算法多以矩形件排料為基礎(chǔ),用待排零件的最小包絡(luò)矩形代替待排零 件,無法對不規(guī)則圖形達到很高的利用率;而單純以計算機圖形學(xué)的方案,計算量復(fù)雜、效 率低,很難達到很高的板材利用率。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供一種自動排料方法,通過遺傳算法和計算機圖形學(xué)的有效 結(jié)合實現(xiàn)自動排料,提高自動排料效率和板材的利用率。
[0007] 為了實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案如下:
[0008] -種自動排料方法,包括以下步驟:采用遺傳算法,建立算法數(shù)學(xué)模型;加載待排 零件圖紙,對待排零件進行預(yù)處理;遺傳算法初始化,包括群體初始化、設(shè)置遺傳算法的運 行參數(shù)和終止條件;按算法數(shù)學(xué)模型中的基因序列將待排零件放置于板材上,并計算群體 中各個個體的適應(yīng)度;終止條件判斷,若不滿足終止條件,群體經(jīng)過選擇運算、交叉運算、變 異運算之后,得到下一代群體,轉(zhuǎn)至上一步繼續(xù)執(zhí)行;若滿足終止條件,輸出最優(yōu)解。
[0009] 進一步,遺傳算法基因串中包含待排零件序號和待排零件放置角度索引值。
[0010] 進一步,初始化時,一個基因采用面積由大到小順序排列,一個基因按用戶初始輸 入的順序排列,其余基因隨機生成。
[0011] 進一步,每一代群體以板材利用率最高的基因為基準(zhǔn),其適應(yīng)度函數(shù)值為1〇〇〇,其 余基因根據(jù)相對于該基因的差值得到一個小于1000的適應(yīng)度函數(shù)值。
[0012] 進一步,采用輪盤賭算法作為選擇算子。
[0013] 進一步,對待排零件進行預(yù)處理時,可對待排零件圖形中的曲線進行離散化,將待 排零件圖形轉(zhuǎn)化為簡單多邊形;或求取待排零件多邊形的凸包;或?qū)Υ帕慵M行對排、 聯(lián)排。
[0014] 進一步,采用臨界多邊形算法放置待排零件。
[0015] 進一步,求解臨界多邊形時,定義第一多邊形為逆時針方向的矢量多邊形、第二多 邊形為順時針方向的矢量多邊形,將第一多邊形、第二多邊形的矢量分別平移到原點處,第 一多邊形、第二多邊形各自矢量順序不變,由任意矢量出發(fā),按逆時針方向旋轉(zhuǎn),將第一多 邊形與第二多邊形的矢量首尾相連。
[0016] 進一步,首先取出遺傳算法生成序列中的第一多邊形,按放置角度將第一多邊形 擺放在板材上,采用最低最左原則(BL,Bottom-Left)將第一多邊形放在板材的左下角;其 次取出序列中的第二多邊形,計算第二多邊形對于第一多邊形的臨界多邊形;然后對臨界 多邊形進行判斷和評估,確定第二多邊形的最佳放置位置;接著將第一多邊形、第二多邊形 的合成多邊形記為第三多邊形,做下次計算的第一多邊形;最后判斷所有待排零件是否均 已完成放置。
[0017] 進一步,確定第二多邊形的放置位置時,先選取參考點,讓其沿著臨界多邊形移 動,搜索每一個不在臨界多邊形內(nèi)的點,并讓第二多邊形一起移動;接著對每一個第二多邊 形的位置,計算合成多邊形的面積;再選取合成多邊形面積最小的位置作為第二多邊形的 放置位置。
[0018] 與現(xiàn)有技術(shù)相比,本發(fā)明通過遺傳算法和計算機圖形學(xué)的有效結(jié)合實現(xiàn)自動排 料,通過遺傳算法可以隨機生成待排零件序列和放置角度,利用臨界多邊形算法將待排零 件放置于板材上,提高自動排料效率和板材的利用率。
【專利附圖】
【附圖說明】
[0019] 圖1為本發(fā)明的遺傳算法的執(zhí)行過程示意圖;
[0020] 圖2為本發(fā)明的臨界多邊形的形成過程示意圖;
[0021] 圖3為本發(fā)明的矢量多邊形第一多邊形A、第二多邊形B的示意圖;
[0022] 圖4為本發(fā)明的第一多邊形A、第二多邊形B的矢量順序圖;
[0023] 圖5為本發(fā)明的第二多邊形B相對于第一多邊形A的臨界多邊形示意圖;
[0024] 圖6為本發(fā)明的基于臨界多邊形的放置算法執(zhí)行過程示意圖。
【具體實施方式】
[0025] 下面結(jié)合附圖和具體實施例對本發(fā)明自動排料方法作進一步說明。
[0026] 遺傳算法(Genetic Algorithm)是一類借鑒生物界的進化規(guī)律(適者生存,優(yōu)勝 劣汰遺傳機制)演化而來的隨機化搜索方法。遺傳算法是從代表問題可能潛在的解集的 一個群體(population)開始的,而一個群體則由經(jīng)過基因(gene)編碼的一定數(shù)目的個體 (individual)組成。每個個體實際上是染色體(chromosome)帶有特征的實體。初代群 體產(chǎn)生之后,按照適者生存和優(yōu)勝劣汰的原理,逐代(generation)演化產(chǎn)生出越來越好的 近似解,在每一代,根據(jù)問題域中個體的適應(yīng)度(fitness)大小選擇(selection)個體,并 借助于自然遺傳學(xué)的遺傳算子(genetic operators)進行組合交叉(crossover)和變異 (mutation),產(chǎn)生出代表新的解集的群體。這個過程將導(dǎo)致群體像自然進化一樣的后生代 群體比前代更加適應(yīng)于環(huán)境,末代群體中的最優(yōu)個體經(jīng)過解碼(decoding),可以作為問題 近似最優(yōu)解。
[0027] 遺傳算法的基本運算過程如下:a)初始化:設(shè)置進化代數(shù)計數(shù)器t=0,設(shè)置最大進 化代數(shù)T,隨機生成Μ個個體作為初始群體P (0)。b)個體評價:計算群體P (t)中各個個體 的適應(yīng)度。c)選擇運算:將選擇算子作用于群體。選擇的目的是把優(yōu)化的個體直接遺傳到 下一代或通過配對交叉產(chǎn)生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適 應(yīng)度評估基礎(chǔ)上的。d)交叉運算:將交叉算子作用于群體。所謂交叉是指把兩個父代個體 的部分結(jié)構(gòu)加以替換重組而生成新個體的操作。遺傳算法中起核心作用的就是交叉算子。 e)變異運算:將變異算子作用于群體。即是對群體中的個體串的某些基因座上的基因值作 變動。群體P(t)經(jīng)過選擇、交叉、變異運算之后得到下一代群體P(tl)。f)終止條件判斷: 若t=T,則以進化過程中所得到的具有最大適應(yīng)度個體作為最優(yōu)解輸出,終止計算。
[0028] 遺傳算法的一般算法:建初始狀態(tài),初始種群是從解中隨機選擇出來的,將這些解 比喻為染色體或基因,該種群被稱為第一代,這和符號人工智能系統(tǒng)的情況不一樣,在那里 問題的初始狀態(tài)已經(jīng)給定了。評估適應(yīng)度,對每一個解(染色體)指定一個適應(yīng)度的值,根 據(jù)問題求解的實際接近程度來指定(以便逼近求解問題的答案)。繁殖(包括子代突變), 帶有較高適應(yīng)度值的那些染色體更可能產(chǎn)生后代(后代產(chǎn)生后也將發(fā)生突變)。后代是父 母的產(chǎn)物,他們由來自父母的基因結(jié)合而成,這個過程被稱為"雜交"。下一代,如果新的一 代包含一個解,能產(chǎn)生一個充分接近或等于期望答案的輸出,那么問題就已經(jīng)解決了。如果 情況并非如此,新的一代將重復(fù)他們父母所進行的繁衍過程,一代一代演化下去,直到達到 期望的解為止。
[0029] 請參閱圖1,本發(fā)明基于遺傳算法和計算機圖形學(xué)的有效結(jié)合,公開了一種自動排 料方法,包括以下步驟:
[0030] 第一步:采用遺傳算法,建立優(yōu)化排料的算法數(shù)學(xué)模型。
[0031] 首先對待排零件進行基因編碼。遺傳算法不能直接處理問題空間的參數(shù),必須把 它們轉(zhuǎn)換成遺傳空間的由基因按一定結(jié)構(gòu)組成的染色體或個體。這一轉(zhuǎn)換操作就叫做編 碼,也可以稱作(問題的)表示(representation)。基因(Gene)是串中的元素,基因用于 表示個體的特征。例如有一個串S=1011,則其中的1,0,1,1這4個元素分別稱為基因。本 實施例中,遺傳算法基因串中包含待排零件序號和待排零件放置角度索引值,如表1所示, 對待排零件序列進行編碼。
[0032] 表1待排零件的基因串表不
[0033]
【權(quán)利要求】
1. 一種自動排料方法,其特征在于,包括以下步驟: 采用遺傳算法,建立算法數(shù)學(xué)模型; 加載待排零件圖紙,對待排零件進行預(yù)處理; 遺傳算法初始化,包括群體初始化、設(shè)置遺傳算法的運行參數(shù)和終止條件; 按算法數(shù)學(xué)模型中的基因序列將待排零件放置于板材上,并計算群體中各個個體的適 應(yīng)度; 終止條件判斷,若不滿足終止條件,群體經(jīng)過選擇運算、交叉運算、變異運算之后,得到 下一代群體,轉(zhuǎn)至上一步繼續(xù)執(zhí)行;若滿足終止條件,輸出最優(yōu)解。
2. 如權(quán)利要求1所述的自動排料方法,其特征在于:遺傳算法基因串中包含待排零件 序號和待排零件放置角度索引值。
3. 如權(quán)利要求1所述的自動排料方法,其特征在于:初始化時,一個基因采用面積由大 到小順序排列,一個基因按用戶初始輸入的順序排列,其余基因隨機生成。
4. 如權(quán)利要求1所述的自動排料方法,其特征在于:每一代群體以板材利用率最高 的基因為基準(zhǔn),其適應(yīng)度函數(shù)值為1000,其余基因根據(jù)相對于該基因的差值得到一個小于 1000的適應(yīng)度函數(shù)值。
5. 如權(quán)利要求1所述的自動排料方法,其特征在于:采用輪盤賭算法作為選擇算子。
6. 如權(quán)利要求1所述的自動排料方法,其特征在于:對待排零件進行預(yù)處理時,可對待 排零件圖形中的曲線進行離散化,將待排零件圖形轉(zhuǎn)化為簡單多邊形;或求取待排零件多 邊形的凸包;或?qū)Υ帕慵M行對排、聯(lián)排。
7. 如權(quán)利要求1至6任一所述的自動排料方法,其特征在于:采用臨界多邊形算法放 置待排零件。
8. 如權(quán)利要求7所述的自動排料方法,其特征在于:求解臨界多邊形時,定義第一多邊 形為逆時針方向的矢量多邊形、第二多邊形為順時針方向的矢量多邊形,將第一多邊形、第 二多邊形的矢量分別平移到原點處,第一多邊形、第二多邊形各自矢量順序不變,由任意矢 量出發(fā),按逆時針方向旋轉(zhuǎn),將第一多邊形與第二多邊形的矢量首尾相連。
9. 如權(quán)利要求7或8所述的自動排料方法,其特征在于:首先取出遺傳算法生成序列 中的第一多邊形,按放置角度將第一多邊形擺放在板材上,采用最低最左原則將第一多邊 形放在板材的左下角;其次取出序列中的第二多邊形,計算第二多邊形對于第一多邊形的 臨界多邊形;然后對臨界多邊形進行判斷和評估,確定第二多邊形的最佳放置位置;接著 將第一多邊形、第二多邊形的合成多邊形記為第三多邊形,做下次計算的第一多邊形;最后 判斷所有待排零件是否均已完成放置。
10. 如權(quán)利要求9所述的自動排料方法,其特征在于:確定第二多邊形的放置位置時, 先選取參考點,讓其沿著臨界多邊形移動,搜索每一個不在臨界多邊形內(nèi)的點,并讓第二多 邊形一起移動;接著對每一個第二多邊形的位置,計算合成多邊形的面積;再選取合成多 邊形面積最小的位置作為第二多邊形的放置位置。
【文檔編號】G06F17/50GK104281722SQ201310279300
【公開日】2015年1月14日 申請日期:2013年7月4日 優(yōu)先權(quán)日:2013年7月4日
【發(fā)明者】孫克爭, 周雪峰, 陳賢帥, 張弓, 梁濟民 申請人:廣州中國科學(xué)院先進技術(shù)研究所