一種基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃方法及裝置。所述方法包括:對于待裝配體,根據(jù)各子零件間的裝配關(guān)系將待裝配體分解成多個(gè)子模塊;根據(jù)各子模塊之間的模塊級干涉關(guān)系建立第一空間干涉矩陣和第一裝配效率關(guān)系干涉矩陣;根據(jù)所述第一空間干涉矩陣和第一裝配效率干涉矩陣,使用動態(tài)規(guī)劃算法求取各個(gè)子模塊之間的相對裝配順序;根據(jù)各個(gè)子模塊內(nèi)部各零件間的干涉關(guān)系建立第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣;根據(jù)所述第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣,使用遺傳算法求取各個(gè)子模塊中各個(gè)零件間的相對裝配順序;綜合各個(gè)子模塊間的相對裝配序列與各個(gè)模塊內(nèi)的相對裝配序列,得到待裝配體的總體裝配序列。
【專利說明】一種基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于工業(yè)自動化【技術(shù)領(lǐng)域】,具體涉及一種基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃方法及裝置。
【背景技術(shù)】
[0002]裝配成本占產(chǎn)品制造成本的40%到50%,裝配自動化一直是制造自動化中的瓶頸問題。裝配序列規(guī)劃屬于裝配規(guī)劃中作業(yè)集規(guī)劃層次,它主要解決以下問題:對于給定的產(chǎn)品,以什么樣的次序來裝配產(chǎn)品的零部件。裝配順序是描述產(chǎn)品裝配過程的重要信息之一,其優(yōu)劣直接影響到產(chǎn)品的可裝配性。裝配質(zhì)量及裝配成本,并且裝配序列規(guī)劃本身是一個(gè)十分費(fèi)時(shí)和容易犯錯(cuò)的過程,因此裝配序列的自動化規(guī)劃對于實(shí)現(xiàn)裝配序列優(yōu)化和縮短裝配序列規(guī)劃時(shí)間具有重要意義[1_3]。
[0003]當(dāng)前常用的裝配序列規(guī)劃方法主要有兩種,一種是基于圖論的割集算法,通過對產(chǎn)品裝配關(guān)聯(lián)圖進(jìn)行割集運(yùn)算,得到所有可行裝配序列的裝配圖,通過對裝配圖進(jìn)行求解,搜索出最優(yōu)的裝配序列。這種算法的優(yōu)勢是能通過搜索得到全局最優(yōu)解,其缺點(diǎn)是總序列數(shù)隨零件數(shù)的增加呈指數(shù)級增加,帶來了很大的計(jì)算量[4’5]。另一種是基于仿生算法、神經(jīng)網(wǎng)絡(luò)等智能控制算法,這類算法可以通過對算法參數(shù)的設(shè)置控制算法的收斂速度,并得到較優(yōu)的裝配序列。其優(yōu)點(diǎn)是,零件數(shù)的增加帶來的計(jì)算量的增加是多項(xiàng)式級,其缺點(diǎn)是不一定能得到全局最優(yōu)解[6-1(1]。
[0004]參考文獻(xiàn)
[0005][l]NiuXinwen, Ding Han,XiongYoulun.A review of computer-aided assemblysequence planning[J].China Mechanical Engineering,2001,12(12):1440-1443.[0006][2]Sanderson A C,de Mello L S H,Zhang H.Assembly sequence planning[J].Al Magazine,1990,11(I):62.[0007][3]Shi Miao,Tang Sh`uofe1.A review of assembly sequences planning[J].Computer Research and Development,1994,31(6):30-34.[0008][4]Su Q.A hierarchical approach on assembly sequence planning andoptimal sequences analyzing[J].Robotics and Computer-1ntegrated Manufacturing,2009,25(1):224-234.[0009][5]Yang Guang.The research of assembly sequence planning based on anengine[D].Northeastern University,2008.[0010][6]Marian R M,Luong L H S,Abhary K.A genetic algorithm for theoptimization of assembly sequences[J].Computers&Industrial Engineering,2006,50(4):503-527.[0011][7]Dini G,F(xiàn)ailli F, Lazzerini B,et al.Generation of optimized assemblysequences using genetic algorithms[J].CIRP Annals-Manufacturing Technology,1999,48(1):17-20.[0012][8]Xia Pingjun, Yao Yingxue, Liu Jiangsheng, et al.Generating optimizedassembly sequence by virtual reality and bionic algorithm[J].Chinese Journal ofMechanical Engineering,2007,43 (4):44-52.[0013][9]Marian R M, Luong L H S, Abhary K.Assembly sequence planning andoptimization using genetic algorithms:part 1.Automatic generation of feasibleassembly sequences[J].Applied Soft Computing,2003,2 (3):223-253.[0014][10]Huang Jie, Du Pingan, Liao Weizh1.Genetic algorithm for assemblysequences planning based on assembly constraint[J].Computer IntegratedManufacturing Systems,2007,13(4):756-761.
【發(fā)明內(nèi)容】
[0015](一)要解決的技術(shù)問題
[0016]有鑒于此,本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種動態(tài)規(guī)劃與遺傳算法相結(jié)合的裝配序列規(guī)劃方法,該發(fā)明綜合了這兩種算法的優(yōu)點(diǎn):在裝配序列的框架層面,模塊數(shù)較少,使用動態(tài)規(guī)劃算法得到各模塊之間的最優(yōu)裝配序列;在裝配序列的細(xì)節(jié)層面,零件較多,使用遺傳算法得到各模塊內(nèi)部的較優(yōu)裝配序列。
[0017](二)技術(shù)方案
[0018]為達(dá)到上述目的,本發(fā)明提供了一種動態(tài)規(guī)劃與遺傳算法相結(jié)合的裝配序列規(guī)劃方法,該方法包括步驟如下:
[0019]步驟1:對于待裝配體,根據(jù)各子零件間的裝配關(guān)系將待裝配體分解成多個(gè)子模塊,其中各子模塊間的零件級干涉低于第一預(yù)定值,多個(gè)子模塊的數(shù)量不高于第二預(yù)定值;
[0020]步驟2:根據(jù)各子模塊之間的干涉關(guān)系建立第一空間干涉矩陣和第一裝配效率關(guān)系干涉矩陣;
[0021]步驟3:根據(jù)所述第一空間干涉矩陣和第一裝配效率干涉矩陣,使用動態(tài)規(guī)劃算法求取各個(gè)子模塊之間的相對裝配順序;
[0022]步驟4:根據(jù)各個(gè)子模塊內(nèi)部各零件間的干涉關(guān)系建立第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣;
[0023]步驟5:根據(jù)所述第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣,使用遺傳算法求取各個(gè)子模塊中各個(gè)零件間的相對裝配順序;
[0024]步驟6:綜合各個(gè)子模塊間的相對裝配序列與各個(gè)模塊內(nèi)的相對裝配序列,得到待裝配體的總體裝配序列。
[0025]根據(jù)本發(fā)明另一方面,其還提供了一種基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃裝置,其包括:
[0026]分解模塊,對于待裝配體,根據(jù)各子零件間的裝配關(guān)系將待裝配體分解成多個(gè)子模塊,其中各子模塊間的零件級干涉低于第一預(yù)定值,多個(gè)子模塊的數(shù)量不高于第二預(yù)定值;
[0027]第一干涉矩陣建立模塊,根據(jù)各子模塊之間的干涉關(guān)系建立第一空間干涉矩陣和第一裝配效率關(guān)系干涉矩陣;[0028]粗規(guī)劃模塊,根據(jù)所述第一空間干涉矩陣和第一裝配效率干涉矩陣,使用動態(tài)規(guī)劃算法求取各個(gè)子模塊之間的相對裝配順序;
[0029]第二干涉矩陣建立模塊,根據(jù)各個(gè)子模塊內(nèi)部各零件間的干涉關(guān)系建立第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣;
[0030]細(xì)規(guī)劃模塊,根據(jù)所述第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣,使用遺傳算法求取各個(gè)子模塊中各個(gè)零件間的相對裝配順序;
[0031]綜合模塊,綜合各個(gè)子模塊間的相對裝配序列與各個(gè)模塊內(nèi)的相對裝配序列,得到待裝配體的總體裝配序列。
[0032](三)有益效果:
[0033]本發(fā)明的有益效果在于:傳統(tǒng)的裝配序列規(guī)劃算法局限性較強(qiáng),基于圖論的割集算法,雖然能得到全局最優(yōu)解,得到最優(yōu)的裝配序列,但是隨著零件數(shù)增加,會發(fā)生組合爆炸情況,計(jì)算量急劇增加,造成難以求解的情況,因此這種算法只適用于零件數(shù)較少的情況。而基于仿生算法或者神經(jīng)網(wǎng)絡(luò)的智能控制算法,雖然計(jì)算復(fù)雜度有所降低,但是當(dāng)零件數(shù)十分巨大時(shí),計(jì)算量也難以承受,同時(shí)該算法難以得到全局最優(yōu)解。本發(fā)明通過將動態(tài)規(guī)劃與遺傳算法相結(jié)合,綜合了這兩種算法的優(yōu)點(diǎn):在裝配序列的框架層面,模塊數(shù)較少,使用動態(tài)規(guī)劃算法得到各模塊之間的最優(yōu)裝配序列;在裝配序列的細(xì)節(jié)層面,零件較多,使用遺傳算法得到各模塊內(nèi)部的較優(yōu)裝配序列。大量實(shí)驗(yàn)證明了本發(fā)明的有效性。本發(fā)明(I)解決了傳統(tǒng)裝配序列規(guī)劃算法對于復(fù)雜裝配體難以求解的缺陷,通過模塊分解大大提升了問題的求解速度;(2)能夠在裝配序列的框架層面得到最優(yōu)的裝配序列;(3)能夠在裝配序列的細(xì)節(jié)層面快速得到較優(yōu)的裝配序列。
【專利附圖】
【附圖說明】
[0034]圖1為本發(fā)明基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃方法的流程圖。
[0035]圖2為本發(fā)明裝配序列規(guī)劃問題基于圖論的兩種建模方式示意圖。
【具體實(shí)施方式】
[0036]下面結(jié)合附圖對本發(fā)明的實(shí)施例作詳細(xì)的說明:本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,結(jié)合詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述實(shí)施例。
[0037]圖1示出了本發(fā)明中所提供方法的流程圖,通過對較復(fù)雜的裝配體進(jìn)行模塊劃分,從模塊之間與模塊內(nèi)部兩個(gè)層面進(jìn)行裝配序列規(guī)劃,從而在保證裝配體裝配序列優(yōu)化質(zhì)量的情況下,大大降低了求解復(fù)雜度。本發(fā)明包括以下步驟:
[0038]第一步:對于待裝配的裝配體,根據(jù)經(jīng)驗(yàn),考慮其各子零件間的裝配關(guān)系及其模塊特性,將待裝配體分解成一些子模塊,盡可能保證各模塊間相互獨(dú)立,即使得不同模塊之間的零件級干涉關(guān)系低于第一預(yù)定值,且使得模塊數(shù)量少于第二預(yù)定值,其中第一預(yù)定值和第二預(yù)定值可以根據(jù)經(jīng)驗(yàn)總結(jié)獲得;當(dāng)然第一預(yù)定值和第二預(yù)定值還可以根據(jù)情況進(jìn)行調(diào)整,所述不同模塊間的零件級干涉關(guān)系可以根據(jù)經(jīng)驗(yàn)或者本領(lǐng)域中的常用計(jì)算方式得出。
[0039]第二步:對各模塊之間的模塊級干涉關(guān)系進(jìn)行建模,從兩個(gè)方面考慮一個(gè)裝配序列的好壞:裝配空間可達(dá)性與裝配效率。根據(jù)這兩個(gè)標(biāo)準(zhǔn),分別建立干涉矩陣,干涉矩陣R表示模塊之間的第一空間干涉關(guān)系;干涉矩陣P表示模塊之間的第一裝配效率關(guān)系,其中各模塊間的模塊級干涉關(guān)系也可以根據(jù)經(jīng)驗(yàn)或者本領(lǐng)域中的常用計(jì)算方式得出;
[0040]第三步:使用動態(tài)規(guī)劃算法進(jìn)行裝配序列的粗規(guī)劃,即通過第二步建立的干涉矩陣,使用動態(tài)規(guī)劃算法,求取模塊之間最優(yōu)的相對裝配順序,從而得到裝配體裝配順序的大體框架;
[0041]第四步:對模塊內(nèi)部各零件間的干涉關(guān)系進(jìn)行建模,同樣從裝配空間可達(dá)性與裝配效率兩個(gè)方面考慮,建立第二空間干涉關(guān)系矩陣R'與第二裝配效率矩陣P,;
[0042]第五步:使用遺傳算法進(jìn)行裝配序列的細(xì)規(guī)劃,即通過第四步建立的干涉矩陣,使用遺傳算法,求取模塊內(nèi)部各子零件間較優(yōu)的相對裝配順序,從而得到裝配體裝配順序的細(xì)節(jié);
[0043]第六步:將模塊間的相對裝配序列與模塊內(nèi)的相對裝配序列進(jìn)行綜合,得到裝配體的總體裝配序列。
[0044]第二步與第四步分別提到使用干涉矩陣對裝配體的干涉關(guān)系進(jìn)行建模,具體如下:
[0045]本發(fā)明從以下兩個(gè)方面考察裝配體的裝配序列:1裝配空間可達(dá)性;2裝配效率:裝配空間的可達(dá)性主要衡量的是在當(dāng)前環(huán)境下,裝配某零件的難度,主要考察零件是否可裝配,裝配過程中輔助工裝是否有足夠的活動空間等因素;裝配效率主要從零件之間的裝配方向是否一致、輔助工裝是否相同、零件之間的間隔距離等因素考察[4]。
[0046]根據(jù)以上兩條評價(jià)標(biāo)準(zhǔn),對裝配體分別建立兩個(gè)干涉矩陣,干涉矩陣R表示零件之間的空間干涉關(guān)系;干涉矩陣P表示零件之間的裝配效率關(guān)系。以包含η個(gè)零件{Α1;A2,…,AJ的裝配體為例:
【權(quán)利要求】
1.一種基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃方法,其包括: 步驟1:對于待裝配體,根據(jù)各子零件間的裝配關(guān)系將待裝配體分解成多個(gè)子模塊,其中各子模塊間的零件級干涉低于第一預(yù)定值,多個(gè)子模塊的數(shù)量不高于第二預(yù)定值; 步驟2:根據(jù)各子模塊之間的模塊級干涉關(guān)系建立第一空間干涉矩陣和第一裝配效率關(guān)系干涉矩陣; 步驟3:根據(jù)所述第一空間干涉矩陣和第一裝配效率干涉矩陣,使用動態(tài)規(guī)劃算法求取各個(gè)子模塊之間的相對裝配順序; 步驟4:根據(jù)各個(gè)子模塊內(nèi)部各零件間的干涉關(guān)系建立第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣; 步驟5:根據(jù)所述第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣,使用遺傳算法求取各個(gè)子模塊中各個(gè)零件間的相對裝配順序; 步驟6:綜合各個(gè)子模塊間的相對裝配序列與各個(gè)模塊內(nèi)的相對裝配序列,得到待裝配體的總體裝配序列。
2.如權(quán)利要求1所述的方法,其中,第一空間干涉矩陣中的元素表示安裝了第i個(gè)零件后,對安裝第j個(gè)零件所造成的空間干涉情況;第一裝配效率關(guān)系矩陣中的元素Pij表示安裝了第i個(gè)零件后,緊接著安裝第j個(gè)零件對裝配效率造成的影響。
3.如權(quán)利要求1或2所述的方法,其中步驟3中所述使用動態(tài)規(guī)劃算法求取各個(gè)子模塊之間的相對裝配順序具體可以通過對下述方程進(jìn)行迭代求解獲得:
4.如權(quán)利要求1或2所述的方法,其中,步驟5具體包括以下步驟: 步驟51:隨機(jī)生成M條染色體組成種群,其中每個(gè)染色體表示具有η個(gè)零件的子模塊的裝配序列,其中染色體上的第i個(gè)基因代表在第i步被裝配的零件; 步驟52:利用第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣計(jì)算當(dāng)前種群中每條染色體的適應(yīng)度函數(shù)值,所述適應(yīng)度函數(shù)值用于表示所述染色體表示的裝配序列的優(yōu)劣程度; 步驟53:若滿足迭代停止條件,則轉(zhuǎn)步驟58 ; 步驟54:選取適應(yīng)度函數(shù)值最低的M條染色體組成下一代種群; 步驟55:根據(jù)交叉概率從種群中選取父代染色體進(jìn)行交叉操作生成子代染色體,并將所述子代染色體加入下一代種群; 步驟56:根據(jù)變異概率從種群中選取父代染色體進(jìn)行變異操作生成子代染色體,并將子代染色體加入下一代種群; 步驟57:使用下一代種群替換當(dāng)前種群,迭代次數(shù)加1,并轉(zhuǎn)步驟52 ;步驟58:從當(dāng)前種群中選出適應(yīng)度函數(shù)值最小的染色體對應(yīng)的裝配序列作為對應(yīng)子模塊的最優(yōu)裝配序列。
5.如權(quán)利要求4所述的方法,其中,所述適應(yīng)度函數(shù)值如下計(jì)算:
6.如權(quán)利要求4或5所述的方法,其中,步驟55中交叉操作具體如下: 對于父代染色體Xi, 隨機(jī)生成一個(gè)交配位k,由Xi交配位前的k個(gè)基因組成子代染色體Yi的前k個(gè)基因,在Xj中按順序選取n-k個(gè)沒在Yi中出現(xiàn)過的基因組成Yi染色體,子代染色體I的生成采用同樣的方法,其中η為染色體基因個(gè)數(shù),即子模塊中的零件個(gè)數(shù)。
7.如權(quán)利要求4或5所述的方法,其中,步驟56中變異操作如下進(jìn)行: 隨機(jī)選一條染色體中的兩個(gè)基因進(jìn)行交換,也就是隨機(jī)交換兩個(gè)零件的裝配順序生成子代染色體。
8.如權(quán)利要求4或5所述的方法,其中,交叉概率取0.5~I之間的值,變異概率選取0.01~0.1之間的值。
9.一種基于動態(tài)規(guī)劃與遺傳算法的裝配序列規(guī)劃裝置,其包括: 分解模塊,對于待裝配體,根據(jù)各子零件間的裝配關(guān)系將待裝配體分解成多個(gè)子模塊,其中各子模塊間的零件級干涉低于第一預(yù)定值,多個(gè)子模塊的數(shù)量不高于第二預(yù)定值; 第一干涉矩陣建立模塊,根據(jù)各子模塊之間的干涉關(guān)系建立第一空間干涉矩陣和第一裝配效率關(guān)系干涉矩陣; 粗規(guī)劃模塊,根據(jù)所述第一空間干涉矩陣和第一裝配效率干涉矩陣,使用動態(tài)規(guī)劃算法求取各個(gè)子模塊之間的相對裝配順序; 第二干涉矩陣建立模塊,根據(jù)各個(gè)子模塊內(nèi)部各零件間的干涉關(guān)系建立第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣 細(xì)規(guī)劃模塊,根據(jù)所述第二空間干涉矩陣和第二裝配效率關(guān)系干涉矩陣,使用遺傳算法求取各個(gè)子模塊中各個(gè)零件間的相對裝配順序; 綜合模塊,綜合各個(gè)子模塊間的相對裝配序列與各個(gè)模塊內(nèi)的相對裝配序列,得到待裝配體的總體裝配序列。
【文檔編號】G06N3/12GK103870658SQ201410120736
【公開日】2014年6月18日 申請日期:2014年3月27日 優(yōu)先權(quán)日:2014年3月27日
【發(fā)明者】王鵬, 湯志鵬, 熊召, 蘇虎, 陶晶 申請人:中國科學(xué)院自動化研究所