李彬,張雷
(重慶交通大學,重慶 400074)
裝配線上的螺母問題就是在每條裝配線上用一個機械手去緊固螺母,機械手從當前位置開始,依次移動到每一個螺母處完成擰緊的工作,最后返回初始位置。要想讓除修復機器以外的成本盡量少,最好的辦法就是減少輔助工時。加工輔助工時就是非加工時間,包括裝夾、拆卸產品、去毛刺、涂防銹油,等等。在實際工作中,機械手移動速度不能過快,否則會產生大的慣性,無法保證螺母擰緊的質量。那么,在速度一定的情況下,找到最短路線,讓機械手沿著這條路線來移動,從而大大縮短所需時間是一個很有效的方法。
目前,國內采用的大多數方法存在一個問題,即規劃算法本身具有局限性,容易陷入局部最優,優化效果不明顯。因此,本文采用優化的蟻群算法求解[1]。
“旅行商問題”(TSP問題)是建模領域一個經典的問題,大意是一名推銷員拜訪多個地點時,要找到在拜訪每個地點一次后再回到起點的最短路徑。從對TSP問題的描述中可以看出,螺母的裝配路徑優化問題在數學本質上與TSP問題是相通的,都是要求解最短路徑。螺母裝配問題中的每個螺母就相當于TSP問題中的城市,因此,求解了該模型就相當于求解了螺母裝配問題。
求解上述問題的算法有很多種,但是,大多都存在求出的解是局部最優而非全局最優的問題。本文采用蟻群算法求解模型,大大提高了算法的效率,易于找到全局最優[2-3]。
在螞蟻轉移過程中,信息素會以一定速度揮發,假設參數ρ表示揮發程度,于是有m只螞蟻完成一次遍歷過后,兩兩城市之間路徑上的信息素更新為:
運用蟻群算法解決螺母裝配問題一般要經過以下幾個步驟:①初始化參數。初次計算時,需要對模型中有些參數賦初值,比如螞蟻數量m、信息素重要因子α、啟發函數重要程度因子β、信息素揮發因子ρ等。②初始化解空間。計算之初,將所有的螞蟻隨機放到不同的出發點,對每個螞蟻按照式(1)計算其下一個將要去的城市,直到訪問完所有的城市。③更新信息素。計算每個螞蟻走過的路徑長度Lk,記錄當前最小路徑,同時根據式(2)、式(3)更新各條路徑上的信息素。④判斷結束與否。例如,當前迭代次數iter>iter_max,程序結束,輸出最優解,否則返回步驟③。
本文針對生產過程中典型的內圈8個、外圈8個排列的螺栓裝配問題進行求解,如圖1所示。
根據各個螺栓的坐標,利用MATLAB編程計算出兩兩螺栓之間的距離,從而得到對稱的矩陣。由于對角線上的數據均為0,而計算啟發函數的時候dij為分母,所以,將對角線上的數據修正為很小的正數10-4.
計算之初,令m=31,α=1,β=5,ρ=0.1,Q=1,η=1/D,iter_max=200,iter=1.
構建解空間,計算每個螞蟻走過的距離,根據式(2)、式(3)實時更新路徑上的信息素濃度,經過循環迭代,記下最優解。
程序運行結果如圖2所示。經過計算,最短距離為17.414,最短路徑為5-4-12-11-3-2-10-9-1-8-16-15-7-6-14-13-5,用此算法規劃出的路徑比實際中先擰緊外面一圈再擰緊里面一圈所經過的路徑長度少了1.6,一道裝配工序就減少了將近10%的時間,由此可見效率大大提高。
對比了10組不同的螞蟻個數下距離平均值的變化,發現當螞蟻個數為45時平均路徑最短,此時最短路徑為17.413.根據控制變量的思想,還可討論信息素重要程度因子α、啟發函數重要程度因子β、信息素揮發因子ρ對結果的影響。由于原理與螞蟻個數對結果的影響相同,所以此處不再贅述。
圖1 典型螺栓裝配圖
圖2 優化過程中的裝配路徑距離變化
本文將神經網絡中的蟻群算法應用到螺栓裝配的路徑規劃問題上,顛覆了傳統的八邊形位置分布的螺栓裝配順序,優化了螺栓裝配的路徑,大大提高了加工裝配效率。在計算求解過程中,通過軟件檢驗文中的算法,具有良好的精度和穩定性,且收斂較快,所以,有一定的合理性。因此,本文的研究也為實際工作提供了一定的參考價值。另外,本文的算法可以應用到其他領域,例如數控加工中的打孔問題,具有推廣價值。
參考文獻:
[1]楊劍峰.蟻群算法及其應用研究[D].杭州:浙江大學,2007.
[2]秦玲.蟻群算法的改進與應用[D].揚州:揚州大學,2004.
[3]陳建玲.基于蟻群算法的優化問題研究[D].大慶:大慶石油學院,2007.
[4]郁磊.MATLAB智能算法30個案例分析[M].北京:北京航空航天大學出版社,2015:205-212.
[5]謝慶生,尹健,羅延科.機械工程中的神經網絡方法[M].北京:機械工業出版社,2003:159-162.
[6]鐘經農.神經網絡理論在CAPP系統中的應用[D].長沙:湖南大學,1996.