國(guó) 蓉,于高耀,孟詳眾,張文培
GUO Rong, YU Gao-yao, MENG Xiang-zhong, ZHANG Wen-pei
(西安工業(yè)大學(xué),西安 710000)
近年來隨著市場(chǎng)競(jìng)爭(zhēng)的白熱化,客戶對(duì)產(chǎn)品的要求不僅體現(xiàn)在多樣性上,而且對(duì)產(chǎn)品的更新速度和生產(chǎn)周期提出了更高的要求。機(jī)械加工工藝是產(chǎn)品設(shè)計(jì)和制造的紐帶,它對(duì)產(chǎn)品的加工質(zhì)量和成本有著很大的影響。因此,在生產(chǎn)活動(dòng)中快速、合理的制定出機(jī)械加工工藝不僅能夠可靠地保證產(chǎn)品質(zhì)量、提高生產(chǎn)效率還能夠保證生產(chǎn)的安全性、降低企業(yè)貴重設(shè)備的損耗。
工藝路線的決策不但受到企業(yè)資源的影響還受到工藝約束的限制,它實(shí)質(zhì)上是一個(gè)復(fù)雜的非線性的帶約束的規(guī)劃問題,工藝路線優(yōu)化的目標(biāo)和約束條件很難用清晰地?cái)?shù)學(xué)表達(dá)式來表示。因此,傳統(tǒng)的優(yōu)化方法(例如牛頓法、梯度法)在沒有明確數(shù)學(xué)表達(dá)式的情況下很難解決工藝優(yōu)化問題。近年來人工智能的優(yōu)化算法成為了人們研究的熱點(diǎn),例如人工神經(jīng)網(wǎng)絡(luò)、模擬退火算法、禁忌搜索、遺傳算法、粒子群優(yōu)化算法,已經(jīng)取得了豐碩的成果,但是由于產(chǎn)品的多樣性和企業(yè)制造資源的制約每種算法都有各自的優(yōu)點(diǎn)和不足[1]。
蟻群算法是一種模擬進(jìn)化算法,它由Marco Dorigo于1992年在他的博士論文中提出,目前已經(jīng)成功的運(yùn)用在了旅行商問題、車輛路徑規(guī)劃問題以及車間加工調(diào)度等離散的組合優(yōu)化問題中[2]。針對(duì)當(dāng)前多品種、小批量的生產(chǎn)需求,本文提出一種基于蟻群算法的機(jī)械加工工藝的優(yōu)化方法,解決了工藝制定及優(yōu)化效率低的問題。
在制定零件的加工工藝路線的過程中首先要對(duì)零件的特征進(jìn)行提取,通常來講,零件的要素是由一些具有加工意義的最基本的加工特征來構(gòu)成,零件的特征又可以分為主要特征和輔助特征。零件的主要特征用來構(gòu)造零件的整體結(jié)構(gòu),例如外圓、孔、平面等無法再次分解的特征。零件的輔助特征主要是對(duì)主特征的進(jìn)一步修飾,例如鍵槽和倒角等特征。現(xiàn)我們給出以下兩個(gè)定義。
定義1:我們將零件中具有加工意義的最基本的單元定位為零件的特征元。零件的所有特征就構(gòu)成了特征集合,我們用F表示。
式中,N表示零件的總特征個(gè)數(shù)。
定義2:加工元。零件是由一系列特征構(gòu)成的,對(duì)于零件的每一個(gè)特征,我們都可以通過多道工序完成加工,完成零件特征加工的多道工序就會(huì)形成一個(gè)加工序列,我們將加工序列中最基本的加工節(jié)點(diǎn)稱為加工元。加工元可以用四維向量來表示。
式中:Fi為第i個(gè)特征,i∈N,N代表零件中制造特征的總數(shù)。
Sj為第i個(gè)特征中的第j個(gè)加工階段,粗加工,半精加工,精加工。
Tl為第i個(gè)特征中第j個(gè)加工階段可以用l種加工類型,車、銑、刨、磨、鏜、鉆等。
D為裝夾位置。
因此,待加工零件的N個(gè)特征的各個(gè)加工階段就組成了零件的加工元集,可以表示為A=P1j+P2j…為了便于描述,我們將每個(gè)特征的各個(gè)加工階段展開,那么加工元集就可以表示為A=a1+a2…,其中n表示加工元的總個(gè)數(shù),如果將零件的所有加工元都按照一定的順序進(jìn)行了排序,那么該零件的工藝路線也就生成了。
企業(yè)在實(shí)際的生產(chǎn)過程中,企業(yè)的制造資源通常是不變的。那么在所用的機(jī)床、刀具以及夾具已經(jīng)確定的情況下,頻繁的更換機(jī)床、改變裝夾方式和所用刀具勢(shì)必會(huì)導(dǎo)致加工效率的下降、增加生產(chǎn)成本并且對(duì)待加工零件的精度造成一定的影響。因此,在滿足加工要求的條件下,本文的優(yōu)化目標(biāo)是盡可能的減少加工過程中機(jī)床的改變次數(shù)、改變裝夾的次數(shù)和更換刀具的次數(shù)。
1)約束條件
把零件的所有特征元的各個(gè)加工節(jié)點(diǎn)按一定的順序排列在一起,就生成了零件的工藝路線,但是加工節(jié)點(diǎn)之間并不能任意進(jìn)行組合,螞蟻在對(duì)加工節(jié)點(diǎn)進(jìn)行遍歷的過程中必須受到約束條件的制約。螞蟻所受約束可以分為兩種:一種是加工過程中必須遵循的,如先粗后精、先面后孔、先主后次、基準(zhǔn)先行等;另一種是當(dāng)加工對(duì)象過于復(fù)雜時(shí),工藝人員結(jié)合企業(yè)的制造資源預(yù)先設(shè)定的約束條件。比如將待加工零件的定i特征的第2個(gè)加工階段放在第i+1個(gè)特征的粗加工之前。
2)禁忌準(zhǔn)則
運(yùn)用蟻群算法進(jìn)行工藝路線決策的過程中,螞蟻在當(dāng)前工序節(jié)點(diǎn)選擇下一節(jié)點(diǎn)時(shí),有兩類節(jié)點(diǎn)會(huì)被放在禁忌列表中,在選擇時(shí)被暫時(shí)的剔除。一種是已經(jīng)加工過的工序節(jié)點(diǎn),另一種是不滿足約束條件的加工節(jié)點(diǎn)。
當(dāng)螞蟻從當(dāng)前的加工元向下一個(gè)加工元轉(zhuǎn)移時(shí),會(huì)隨機(jī)的選取被禁忌列表過濾后的所有加工元,隨機(jī)選取的概率的大小依據(jù)優(yōu)選原則進(jìn)行計(jì)算,優(yōu)選原則即為螞蟻選擇距離當(dāng)前加工元較近的加工元的概率較高。
不同加工元之間距離的確定原則有以下三點(diǎn):第一,兩加工元所用的機(jī)床相同則距離就近;第二,兩加工元之間裝夾位置相同則距離就近;第三,兩加工元之間所用刀具相同則距離就近。任意量加工元之間的距離可以由式(3)計(jì)算。
其中:λ1,λ2,λ3分別為機(jī)床、刀具、夾具更換的權(quán)重系數(shù),機(jī)床的改變必定引起刀具和裝夾位置的改變,依據(jù)企業(yè)在實(shí)際生產(chǎn)中機(jī)床、刀具以及裝夾的更換對(duì)生產(chǎn)效率的影響大小,我們給出λ1=0.55,λ2=0.1,λ3=0.35;Ry、Rt、Rf由加工元i與j的具體情況確定。
其中:Xai表示ai所用的機(jī)床,Yai表示ai所用刀具,Zai表示ai裝夾位置。
螞蟻在對(duì)所有加工元進(jìn)行遍歷的過程中,從當(dāng)前節(jié)點(diǎn)來選擇下一個(gè)加工節(jié)點(diǎn)的過程中要依據(jù)相關(guān)的轉(zhuǎn)移概率函數(shù),該函數(shù)確定螞蟻從當(dāng)前加工元i向下一個(gè)加工元j轉(zhuǎn)移的概率。數(shù)值越大,那么下一個(gè)加工節(jié)點(diǎn)選擇j的幾率就越大。
其中:α為為信息啟發(fā)式因子,表示軌跡的相對(duì)重要性。
B為期望式啟發(fā)因子,表示啟發(fā)因子在螞蟻選擇路徑中受重視的程度。為啟發(fā)函數(shù),表示螞蟻從i到j(luò)的期望程度,其大小為路徑的倒數(shù)。
為了避免殘留信息素過多引起殘留信息淹沒啟發(fā)信息,每只螞蟻對(duì)所有節(jié)點(diǎn)遍歷后,按式(6)對(duì)殘留信息進(jìn)行更新[2]。
其中:ρ為信息素?fù)]發(fā)系數(shù),1-ρ為信息素殘留因子,為防止信息無限積累,ρ的取值范圍為表示本次循環(huán)中路徑(i,j)上的信息素增量;表示第k只螞蟻在本次循環(huán)中留在路徑上的信息量。
圖1 算法流程示意圖
我們以某企業(yè)生產(chǎn)的傳動(dòng)軸為例,傳動(dòng)軸圖樣如圖2所示。通過對(duì)該零件進(jìn)行分析,我們能夠得出零件的特征屬性表,如表1所示。并依據(jù)在滿足加工精度要求的前提下,盡量減少加工鏈長(zhǎng)度列出了各個(gè)特征對(duì)應(yīng)的加工方法以及加工鏈,如表2所示。
本實(shí)例選取蟻群個(gè)數(shù)為24,循環(huán)次數(shù)為200次,零件加工元個(gè)數(shù)為36個(gè),通過求解,最終優(yōu)化結(jié)果為:機(jī)床更換次數(shù)3次,裝夾改變次數(shù)為6次,刀具更換次數(shù)為13次。加工元優(yōu)先順序?yàn)椋?/p>
a18-a14-a12-a9-a19-a36-a1-a3-a7-a2-a20-a15-a13-a10-a27-a32-a34-a29-a35-a30-a4-a8-a23-a21-a22-a24-a28-a33-a31-a11-a25-a26-a5-a16-a6-a17。當(dāng)前企業(yè)現(xiàn)行的工藝路線,機(jī)床改變4次,刀具改變15次,裝夾改變8次,均高于本文優(yōu)化方案得出的結(jié)果。本方案有效的改善了該零件的工藝路線。
圖2 某傳動(dòng)軸圖樣
表1 傳動(dòng)軸特征屬性表
表2 零件特征可用的加工方法及加工設(shè)備
基于MATLAB開發(fā)的蟻群算法的機(jī)械加工工藝優(yōu)化軟件運(yùn)行實(shí)例如圖3所示,圖4為視圖區(qū)顯示的路徑收斂曲線和優(yōu)化選擇結(jié)果。
圖3 基于蟻群算法的機(jī)械加工工藝優(yōu)化運(yùn)行實(shí)例
圖4 路徑收斂曲線和優(yōu)化選擇結(jié)果
本文把蟻群算法應(yīng)用于機(jī)械加工工藝優(yōu)化中,以資源更換率低為優(yōu)化目標(biāo),利用MATLAB軟件開發(fā)平了基于蟻群算法的冷加工工藝決策軟件,實(shí)例證明本方法可以得到滿足加工要求的最優(yōu)的工藝路線。但是,在用該平臺(tái)求解得到的工藝路線,還需要適當(dāng)?shù)募尤霟崽幚砗蜋z驗(yàn)等輔助工序,才能夠形成完成的工藝路線。
[1] 劉煒,王太勇.基于蟻群算法的工藝路線生成及優(yōu)化[J].計(jì)算機(jī)集成制造系統(tǒng),2010(7):1378-1882.
[2] 段海濱.蟻群算法原理及應(yīng)用[M].北京:科學(xué)出版社,2005.
[3] 李明.詳解MATLAB在最優(yōu)計(jì)算中的應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[4] 田穎,江平宇.基于蟻群算法的零件多工藝路線決策方法研究[J].計(jì)算機(jī)集成制造系,2006(6):882-887.
[5] 常智勇,楊建新.基于自適應(yīng)蟻群算法的工藝路線優(yōu)化[J].機(jī)械工程學(xué)報(bào),2012(5):163-169.