本發(fā)明涉及計(jì)算機(jī)輔助工藝設(shè)計(jì)技術(shù)領(lǐng)域,具體涉及機(jī)床零件加工中的典型工藝路線的提取。
背景技術(shù):
典型工藝路線是指企業(yè)為了生產(chǎn)典型零件而制定的較為普遍的工藝路線,只需要對(duì)典型工藝路線進(jìn)行部分修改,就能夠生產(chǎn)與典型零件相近的零件,從而提高企業(yè)的生產(chǎn)效率,但實(shí)際生產(chǎn)中卻存在著工藝路線過多和典型工藝路線提取不夠精確的問題。
目前對(duì)典型工藝路線提取的研究主要關(guān)注的是相似度的計(jì)算以及不同的聚類算法。雖然提出了許多能夠提高聚類結(jié)果準(zhǔn)確性的方法,但仍然存在著一些問題,比如相似度計(jì)算結(jié)果與實(shí)際情況存在一定偏差、聚類結(jié)果的分析和工作人員的經(jīng)驗(yàn)有很大關(guān)系。
因此研究一種聚類分析的方法,可以更為科學(xué)的提取工藝過程中的典型路線,與典型零件相近的零件也只需要通過對(duì)典型工藝路線稍加修改就可以進(jìn)行加工,這樣可以簡化工藝生產(chǎn)過程并且提高生產(chǎn)效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的問題是,提供一種基于相似度計(jì)算然后利用鴿群聚類算法提取機(jī)床零件加工中典型工藝路線的方法,提高了相似度計(jì)算方法的精確性并且優(yōu)化了聚類的結(jié)果,最終達(dá)到提高生產(chǎn)效率的目的。
按照本發(fā)明所采用的技術(shù)方案,所述基于鴿群聚類算法的典型工藝路線提取方法包括如下步驟:
步驟1、建立數(shù)據(jù)矩陣,數(shù)據(jù)矩陣是一個(gè)n×p的矩陣,n表示模型中工藝路線總數(shù)量,p表示工藝路線中工序個(gè)數(shù)的最大值,也即數(shù)據(jù)矩陣的每一行都表示一條工藝路線,每一行中的元素依次表示一條工藝路線中的工序編號(hào),矩陣元素xak表示第a條工藝路線的第k個(gè)工序,a=1,2,...,n,k=1,2,...,p,如果一條工藝路線中的工序個(gè)數(shù)小于p個(gè),則該行超出工序個(gè)數(shù)的元素用零表示;
步驟2、通過計(jì)算工序以及工藝路線之間的距離來建立相異度矩陣,用于隨后的聚類分析;
步驟3、對(duì)相異度矩陣進(jìn)行降噪處理,刪去冗余數(shù)據(jù);
步驟4、將降噪處理后的相異度矩陣轉(zhuǎn)化為二維編碼,每一個(gè)二維編碼就是一個(gè)聚類結(jié)果;
步驟5、基于鴿群優(yōu)化算法進(jìn)行聚類分析,得到最優(yōu)聚類結(jié)果;
步驟6、利用均值公式從聚類的結(jié)果中提取典型工藝路線。
具體的,步驟2所述的建立相異度矩陣,通過計(jì)算工序之間的距離d1(xik,xjk)從而計(jì)算出兩條工藝路線之間的距離d2(xi,xj);其中工序之間的距離d1(xik,xjk)和兩條工藝路線之間的距離d2(xi,xj)分別表示為:
式中,l表示工序的數(shù)字編碼位數(shù),cm表示相似度影響系數(shù),p表示工藝路線中工序個(gè)數(shù)的最大值,xi和xj分別表示第i條和第j條工藝路線,xik和xjk分別表示第i條工藝路線中的第k個(gè)工序和第j條工藝路線中的第k個(gè)工序,xikm和xjkm分別表示工藝路線i和工藝路線j中的第k個(gè)工序的數(shù)字編碼的前m個(gè)數(shù)字,為有效地衡量不同工序之間的相似性,參照機(jī)械行業(yè)標(biāo)準(zhǔn)jb/t5992.1對(duì)工序進(jìn)行編碼,工序編碼包括大類、中類、小類和細(xì)分類四個(gè)層次共五位編碼,為簡化計(jì)算,選取前三個(gè)層次以構(gòu)建三位編碼,xikm^xjkm表示xikm和xjkm之間的異或運(yùn)算。
具體的,步驟3所述的對(duì)相異度矩陣進(jìn)行對(duì)降噪處理,過程如下:
計(jì)算模型中的每一條工藝路線與其他工藝路線之間的距離,如果滿足條件1或者條件2就將這條工藝路線刪除;所述的條件1和條件2分別表示為:
nmin/n>λmin
nmax/n>λmax
式中,nmin表示某一條工藝路線與其他工藝路線之間的距離小于設(shè)定的工藝路線間的最小距離d2min的數(shù)量,nmax表示某一條工藝路線與其他工藝路線之間的距離大于設(shè)定的工藝路線間的最大距離d2max的數(shù)量,n表示模型中工藝路線的總數(shù)量,λmin表示小相似度比例,λmax表示大相似度比例。
具體的,步驟4所述的二維編碼,是記模型中工藝路線的總數(shù)量是n,對(duì)該模型中的工藝路線按順序依次編碼是p1,p2,…,pn;如果有r個(gè)聚類簇,則二維編碼是一個(gè)r×n的矩陣,矩陣中的元素非0即1,1表示該列所對(duì)應(yīng)的工藝路線屬于所在行的聚類簇,否則值為0。
具體的,步驟5基于鴿群優(yōu)化算法進(jìn)行聚類分析,包括如下過程:
(1)種群初始化,在初始化時(shí),首先將每一條工藝路線都隨機(jī)分配到一個(gè)聚類簇中,作為最初始的聚類劃分,然后對(duì)初始化的工藝路線進(jìn)行二維編碼,將其作為初始位置,將以上過程反復(fù)進(jìn)行n次,就可以生成包括n只“鴿子”初始種群,其中每一只“鴿子”代表一個(gè)二維編碼也即一種聚類結(jié)果,其中20≤n≤100;
(2)種群優(yōu)化,針對(duì)種群中的所有元素也即所有工藝路線,首先計(jì)算其與該“鴿子”中所有聚類簇的競標(biāo)值,然后按照競標(biāo)值的大小,將元素劃分到競標(biāo)值小的聚類簇中,以獲得聚類劃分的結(jié)果,最后更新二維編碼;
所述的競標(biāo)值函數(shù)表示為:
式中,c表示聚類簇編號(hào),v表示所選元素編號(hào),u表示聚類簇c中的元素編號(hào),∑d2(xu,xv)表示所選元素v與聚類簇c中的所有元素的相似度的總量,nc表示聚類簇c中元素的數(shù)量,λd表示相似度權(quán)重指數(shù),λb表示聚類簇權(quán)重指數(shù),bc(v)表示元素v對(duì)于聚類簇c的競標(biāo)值;
(3)更新“鴿子”的位置和速度,在鴿群優(yōu)化算法pio中,每一只“鴿子”的位置都代表了一個(gè)解,“鴿子”會(huì)不斷改變自己的位置和速度來尋求最優(yōu)解;由二維編碼可知,每只“鴿子”的位置和速度都是r×n的矩陣;“鴿子”的位置和速度更新包括兩個(gè)階段,分別是地圖及指南針階段和地標(biāo)階段;首先進(jìn)入地圖及指南針階段,更新位置和速度的公式可以表示為:
vi(t)=vi(t-1)e-r×t+rand·[xbest-xi(t-1)]
xi(t)=xi(t-1)+vi(t)
式中,t表示目前迭代次數(shù),r表示地圖和指南針因數(shù),e表示自然常數(shù),rand表示0到1之間的隨機(jī)數(shù)字,xbest表示在t-1次迭代過程中,通過比較得到的全局最優(yōu)位置,vi(t)表示第t次迭代時(shí)的速度,xi(t)表示第t次迭代時(shí)的位置;
(4)反復(fù)進(jìn)行步驟(3)的迭代過程,直至迭代次數(shù)t大于設(shè)定的最大迭代次數(shù)t1,則進(jìn)入地標(biāo)階段;在地標(biāo)階段,每次迭代后“鴿子”的數(shù)目就會(huì)減少一半,那些遠(yuǎn)離目標(biāo)的“鴿子”不再具備分辨路徑的能力,因此必須舍去,所以最終可以得到最優(yōu)解;更新位置公式表示為:
xi=xi(t-1)+rand·[xcenter(t-1)-xi(t-1)]
式中,n(t-1)表示t-1次迭代時(shí)的“鴿子”數(shù)目,xi(t-1)表示t-1次迭代時(shí)的“鴿子”的位置,f(x)表示目標(biāo)函數(shù),a、b、c、d表示權(quán)重因子,rf、vf、θf、φf分別表示“鴿子”與目標(biāo)地點(diǎn)之間的徑向距離、“鴿子”的速度、“鴿子”所在的經(jīng)度、“鴿子”所在的緯度,rf*、vf*、θf*、φf*分別表示目標(biāo)“鴿子”與目標(biāo)地點(diǎn)之間的徑向距離,目標(biāo)“鴿子”的速度、目標(biāo)“鴿子”所在的經(jīng)度、目標(biāo)“鴿子”所在的緯度,jmin表示目標(biāo)函數(shù)的最小值,j0表示一個(gè)常數(shù),取決于具體要求,xcenter(t-1)表示剩余“鴿子”的中心位置;反復(fù)進(jìn)行步驟(4)的迭代過程,直至迭代次數(shù)t大于設(shè)定的最大迭代次數(shù)t2;
(5)當(dāng)?shù)螖?shù)達(dá)到設(shè)定的最大值時(shí),結(jié)束并且輸出“鴿子”的最好位置;將輸出的最好位置的二維編碼,也即最優(yōu)聚類結(jié)果轉(zhuǎn)化為相異度矩陣。
具體的,步驟6中采用如下均值公式得到每個(gè)聚類簇中的典型工藝路線;
式中,c表示聚類簇編號(hào),v表示所選元素編號(hào),u表示聚類簇c中的元素編號(hào),∑d2(xu,xv)表示所選元素v與聚類簇c中的所有元素的相似度的總量,nc表示聚類簇c中的元素?cái)?shù)量,sc(v)表示所選元素v對(duì)聚類簇c的均值;在提取典型工藝路線時(shí),計(jì)算每一個(gè)聚類簇中的每一個(gè)元素相對(duì)于該聚類簇的均值,選取均值最小的作為該聚類簇的典型工藝路線。
本發(fā)明的優(yōu)點(diǎn)是:本發(fā)明將鴿群算法應(yīng)用在聚類分析之中,提高了相似度計(jì)算方法的精確性并且優(yōu)化了聚類的結(jié)果,使聚類的結(jié)果更加精確科學(xué),更符合生產(chǎn)實(shí)際。通過智能聚類算法得到了典型工藝路線后,只需要對(duì)典型工藝路線稍加修改,就能夠生產(chǎn)與典型零件相近的零件,這樣可以大大簡化生產(chǎn)過程,提高生產(chǎn)效率。
附圖說明
圖1是本發(fā)明典型工藝路線提取流程圖。
圖2是鴿群聚類算法流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的基于鴿群聚類算法的典型工藝路線提取做出詳細(xì)說明。
如圖1所示,本發(fā)明的基于聚類分析的典型工業(yè)路線提取方法,包括如下步驟:
1)建立數(shù)據(jù)矩陣,數(shù)據(jù)矩陣是一個(gè)n×p的矩陣,n表示模型中工藝路線總數(shù)量,p表示工藝路線中工序個(gè)數(shù)的最大值,也即數(shù)據(jù)矩陣的每一行都表示一條工藝路線,每一行中的元素依次表示一條工藝路線中的工序編號(hào),矩陣元素xak表示第a條工藝路線的第k個(gè)工序,如果一條工藝路線中的工序個(gè)數(shù)小于p個(gè),則該行超出工序個(gè)數(shù)的元素用零表示。
2)建立相異度矩陣以便隨后的聚類分析,所述的建立相異度矩陣,是通過計(jì)算工序之間的距離d1(xik,xjk),從而計(jì)算出兩條工藝路線之間的距離d2(xi,xj)也即相似度,最終得到一個(gè)n×n的相異度矩陣,矩陣中的元素表示該元素所在行和列的工藝路線之間的距離。其中工序之間的距離d1(xik,xjk)和兩條工藝路線之間的距離d2(xi,xi)表示為:
式中,1表示工序的數(shù)字編碼位數(shù),cm表示相似度影響系數(shù),p表示工藝路線中工序個(gè)數(shù)的最大值,xi和xj分別表示第i條和第j條工藝路線,xik和xjk分別表示第i條工藝路線中的第k個(gè)工序和第j條工藝路線中的第k個(gè)工序,xikm和xjkm分別表示工藝路線i和工藝路線j中的第k個(gè)工序的數(shù)字編碼的前m個(gè)數(shù)字,參考機(jī)械行業(yè)標(biāo)準(zhǔn)jb/t5992.1對(duì)工序進(jìn)行編碼,工序編碼包括大類、中類、小類和細(xì)分類四個(gè)層次共五位編碼,為簡化計(jì)算,本專利選取前三個(gè)層次構(gòu)建三位編碼,例如銑削的工序編碼是312,其中一位碼3表示切削加工類,二位碼31表示刃具切削類,三位碼312表示銑削類,xikm^xjkm表示xikm和xjkm之間的異或運(yùn)算。
3)對(duì)相異度矩陣進(jìn)行降噪處理來降低聚類分析的復(fù)雜度并且可以防止“噪聲”對(duì)聚類結(jié)果的過分干擾,其中所述的降噪處理就是計(jì)算每一條工藝路線與其他工藝路線之間的距離,如果滿足條件1或者條件2就將這條工藝路線刪除。
所述的條件1和條件2分別表示為:
nmin/n>λmin
nmax/n>λmax
式中,nmin表示某一條工藝路線與其他工藝路線之間的距離小于d2min的數(shù)量,nmax表示某一條工藝路線與其他工藝路線之間的距離大于d2max的數(shù)量,n表示模型中工藝路線的總數(shù)量,d2min表示設(shè)定的最小相似度,d2max表示設(shè)定的最大相似度,λmin表示小相似度比例,λmax表示大相似度比例。
4)將降噪處理后的相異度矩陣轉(zhuǎn)化為二維編碼,每一個(gè)二維編碼就是一個(gè)聚類結(jié)果。
所述的二維編碼,是記模型中工藝路線的總數(shù)量是n,工藝路線按順序依次編碼是p1,p2,…,pn,如果聚類數(shù)是r,則二維編碼是r×n的矩陣,其中的元素非0即1,1表示該列所對(duì)應(yīng)的工藝路線屬于所在行的聚類簇,否則值為0。
5)基于鴿群優(yōu)化算法進(jìn)行聚類分析,得到最優(yōu)聚類結(jié)果。
基于鴿群優(yōu)化算法進(jìn)行聚類,如圖2所示,包括如下過程:
(5.1)種群初始化,首先將每一條工藝路線都隨機(jī)的分配到某一個(gè)聚類簇中,作為起始的聚類劃分,然后將初始化的工藝路線進(jìn)行二維編碼處理,將其作為初始位置,并且將以上步驟重復(fù)進(jìn)行n(優(yōu)選20≤n≤100)次,就可以生成n個(gè)二維編碼也即生成包括n只“鴿子”的種群。
(5.2)種群優(yōu)化,針對(duì)種群中的所有元素也即所有工藝路線,首先計(jì)算其與該只“鴿子”中所有聚類簇的競標(biāo)值,然后按照競標(biāo)值的大小,將元素劃分到競標(biāo)值小的的聚類簇中,從而可以獲得聚類劃分的結(jié)果,最后更新“鴿子”的二維編碼。在優(yōu)化種群時(shí),如果出現(xiàn)了空的聚類簇,就從某個(gè)非空聚類簇中找一個(gè)對(duì)該元素所處的聚類簇的競標(biāo)值最大的元素,將該元素放入空聚類簇中,重復(fù)此過程,直到劃分中沒有空聚類簇為止。
式中,c表示聚類簇編號(hào),v表示所選元素編號(hào),u表示聚類簇c中的元素編號(hào),∑d2(xu,xv)表示所選元素v與聚類簇c中的所有元素的相似度的總量,nc表示聚類簇c中元素的數(shù)量,λd表示相似度權(quán)重指數(shù),λb表示聚類簇權(quán)重指數(shù),bc(v)表示元素v對(duì)于聚類簇c的競標(biāo)值。
(5.3)更新“鴿子”的位置和速度,在pio(鴿群優(yōu)化算法)中,每一只“鴿子”的位置都代表了一個(gè)解,“鴿子”會(huì)不斷改變自己的位置和速度來尋求最優(yōu)解。由r×n的二維編碼可知,每只“鴿子”的位置和速度都是r×n的矩陣?!傍澴印钡奈恢煤退俣雀掳▋蓚€(gè)階段,分別是地圖及指南針階段和地標(biāo)階段。首先進(jìn)入地圖及指南針階段,更新位置和速度的公式可以表示為:
vi(t)=vi(t-1)e-r×t+rand·[xbest-xi(t-1)]
xi(t)=xi(t-1)+vi(t)
式中,t表示目前迭代次數(shù),r表示地圖和指南針因數(shù),e表示自然常數(shù),rand表示0到1之間的隨機(jī)數(shù)字,xbest表示在t-1次迭代過程中,通過比較得到的全局最優(yōu)位置,vi(t)表示第t次迭代時(shí)的速度,xi(t)表示第t次迭代時(shí)的位置。
(5.4)反復(fù)進(jìn)行步驟(3)的迭代過程,直至迭代次數(shù)t大于設(shè)定的最大迭代次數(shù)t1,則進(jìn)入地標(biāo)階段。在地標(biāo)階段,每次迭代后“鴿子”的數(shù)目就會(huì)減少一半,那些遠(yuǎn)離目標(biāo)的“鴿子”不再具備分辨路徑的能力,也不再是所要得到最優(yōu)解,因此必須舍去。更新位置公式可以表示為:
xi=xi(t-1)+rand·[xcenter(t-1)-xi(t-1)]
式中,n(t-1)表示t-1次迭代時(shí)的“鴿子”數(shù)目,xi(t-1)表示t-1次迭代時(shí)的“鴿子”的位置,f(x)表示目標(biāo)函數(shù),rf、vf、θf、φf分別表示“鴿子”與目標(biāo)地點(diǎn)之間的徑向距離、“鴿子”的速度、“鴿子”所在的經(jīng)度、“鴿子”所在的緯度,rf*、vf*、θf*、φf*分別表示目標(biāo)“鴿子”與目標(biāo)地點(diǎn)之間的徑向距離,目標(biāo)“鴿子”的速度、目標(biāo)“鴿子”所在的經(jīng)度、目標(biāo)“鴿子”所在的緯度,jmin表示目標(biāo)函數(shù)的最小值,j0表示一個(gè)常數(shù),取決于具體要求,xcenter(t-1)表示剩余“鴿子”的中心位置。反復(fù)進(jìn)行步驟(4)的迭代過程,直至迭代次數(shù)t大于設(shè)定的最大迭代次數(shù)t2。
(5.5)當(dāng)滿足迭代條件(迭代次數(shù)達(dá)到最大值)時(shí),則結(jié)束并且輸出“鴿子”的最好位置。
6)利用均值公式從聚類的結(jié)果中提取典型工藝路線。
將輸出的最好位置的二維編碼也即最優(yōu)聚類結(jié)果轉(zhuǎn)換成相異度矩陣,采用如下均值公式得到每個(gè)聚類中的典型工藝路線。
式中,c表示聚類簇編號(hào),v表示所選工藝路線編號(hào),u表示聚類簇c中的元素編號(hào),∑d2(xu,xv)表示所選元素v與聚類簇c中的所有元素的相似度的總量,nc表示聚類簇c中的元素?cái)?shù)量,sc(v)表示所選元素v對(duì)聚類簇c的均值。在提取典型工藝路線時(shí),計(jì)算每一個(gè)聚類簇中的每一個(gè)元素相對(duì)于該聚類簇的均值,選取均值最小的作為該聚類簇的典型工藝路線。