閆佳雯,周亮,趙航,朱波
(哈爾濱工業(yè)大學 機電工程學院,黑龍江 哈爾濱 150006)*
?
基于遺傳算法的鐵路平車鎖座調整方案研究
閆佳雯,周亮,趙航,朱波
(哈爾濱工業(yè)大學 機電工程學院,黑龍江 哈爾濱 150006)*
針對鐵路集裝箱運輸過程中,由于鐵路平車鎖座平面度超差而導致集裝箱傾覆等現(xiàn)象,制定了鎖座高度調整方案.提出以遺傳算法基本模型為基礎,建立相應的平車鎖座調整算法模型.應用遺傳算法中的種群自然選擇原則,確定鎖座調整過程中基因變量和染色體變量,并根據(jù)選擇過程中的約束條件要求,定義適應度函數(shù),進行多代篩選.最終得到調整鎖座數(shù)最少且調整總高度值最少的最佳高度調整方案.
遺傳算法;染色體;基因;適應度函數(shù);鐵路平車
隨著交通運輸業(yè)的迅速發(fā)展,鐵路平車廣泛應用于集裝箱運輸中.初期平車只有最簡單的鎖閉裝置,適用的集裝箱類型也較為局限,安裝時只需將集裝箱底面四角上的鎖扣套入平車上相應鎖座內,保證平車上相應矩形承載面的平面度即可.所以質量檢測較為容易,不合格平車調整起來也比較方便.近年來,為適應運輸穩(wěn)定性及靈活性等方面的需求,研制出了多種平車車型.除了強化設計鎖閉裝置以外,還引入了橫梁、底板面等多種結構.同時,很多車型鎖座數(shù)目比較多,可以在不同的運輸條件下合理分配鎖座組合,運載多種規(guī)格的集裝箱.因此,在進行出廠質量檢測時,擬定承載面數(shù)量較多,很多鎖座出現(xiàn)在多個承載面內,大大增加了檢測和調整難度.傳統(tǒng)檢測方式主要是手動測量同一承載面上四個鎖座高度后,根據(jù)平面度技術指標進行調整,再繼續(xù)測量下一個承載面.這種方式耗時久,精度低,而且對于可裝載不同型號集裝箱的鎖座來說,很容易出現(xiàn)顧此失彼的情況.為了解決這個問題,本文建立了檢測調整模型,綜合考慮所有要求,利用遺傳算法原理[1-2]處理數(shù)據(jù),對不合格平車,將鎖座調整量作為基因,每組基因作為一條染色體,通過計算染色體適應度評價方案進行優(yōu)選.最后整合到相應的測量軟件中,以提高生產效率.
1.1 技術指標與需求分析
鐵路平車有多種適應不同運輸條件的車型,但基本原理是一樣的,故只需建立一個遺傳算法模型,根據(jù)車型要求修改約束條件和數(shù)值即可.下面以一種典型車型為例說明算法原理,如圖1所示.
圖1 車型及技術指標示意圖
圖中每條對角線都代表一個矩形承載面,每一個矩形平面的四角都分別有一個鎖座固定.對角線長度不同,表明矩形承載面大小不同,即裝載集裝箱種類不同,該車型共可裝載三種集裝箱.其中共有三條最短的對角線,代表20 ft集裝箱平面,技術指標要求為每個平面對應的四個鎖座中最高與最低差值不能大于4 mm.同理,中等長度的兩條對角線,代表30 ft集裝箱平面,要求的高度差值也增加到5 mm.而最長的三條對角線,代表40 ft集裝箱平面,高度差要求為6 mm.此外,每一橫斷面上的兩個鎖座(如圖1右側所示)高度差值需小于4 mm.這些指標中一旦有一項超差,平車即為不合格.
對于實際檢測調整來說,由于調整鎖座高度比較耗時耗力,因此制定調整方法時,首先考慮要盡可能少調整鎖座,其次高度值調整總量也要盡可能小.在滿足技術指標的基礎上要通過這兩項要求優(yōu)選出最佳調整方案.
1.2 基本函數(shù)與變量創(chuàng)建
根據(jù)實際問題,在本算法中首先確定染色體和基因變量.用基因代表單個鎖座高度調整值,值為0代表不進行調整.鎖座總數(shù)為20,用一條染色體(即個體基因型)代表一組20個基因,即20個鎖座的調整量,也就是一種調整方案.首先創(chuàng)建類struct Chromosome{float gene[20];float heightsum; int pointsum; double fitness}.其中Chromosome即為染色體,每條染色體包括四項內容.浮點型數(shù)組gene[20],表示20個基因取值組合.整型變量pointsum意為需調整的鎖座數(shù)目之和,即值不為0的基因個數(shù).浮點型變量heightsum為調整總高度,即20個基因值絕對值之和.最后雙精度變量fitness表示適應度值,也就是該條染色體的優(yōu)劣評判.
在類Chromosome下創(chuàng)建初始樣本chromosome[10],即樣本為10個,每代有10個個體,也就是10中調整方法.并創(chuàng)建bestchromosome和worstchromosome代表當前一代中最好和最壞個體,currentBest代表目前為止最好個體.chromorder[10]代表染色體優(yōu)劣排序. 其他重要的函數(shù)及變量如下所示:
函數(shù)checkquality,用于檢測平車是否合格.
函數(shù)calculateaver,用于計算鎖座高度平均值,并有變量average代表平均值.
函數(shù)generateInitialchromosome,對于不合格平車,用于產生第一代群體.用變量generation代表代數(shù).
函數(shù)calculateFitnessValue,用于計算染色體適應度.
函數(shù)findbestandworstchromosome,用于選出本代最優(yōu)最差染色體.
函數(shù)selectionOperator,選擇算子,用于優(yōu)選染色體產生子代.
函數(shù)crossOperator,交叉算子,將優(yōu)選出的染色體配對交叉.
函數(shù)generateNextchromosome,用于產生下一代染色體.
1.3 算法實現(xiàn)流程
遺傳算法的第一步驟是編碼,將鎖座從左上角開始按照順序編號1~20.由1.2可知,是將每個鎖座的調整量作為基因,將一組全部號鎖座的調整量作為一個集合,即為一條染色體.例如染色體chromosome[1]={0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,1},則表示8號鎖座上調2 mm,15號和20號分別上調1 mm,其余不做調整.
初始時系統(tǒng)按照給定的規(guī)則產生第一代染色體,此處設定為10條,也就是10種調整方法.將1.1中所介紹的技術指標作為算法中的約束條件.由于遺傳算法要求產生的每個個體都是可行解,需要在給染色體賦值的時候就限定了其較小的誤差范圍.具體方法是,計算鎖座高度的平均值,記為average.對于大于平均值3~5之間的鎖座,基因賦值為-4~0范圍內的一個隨機數(shù);對于5~10范圍內,則賦予-9~5范圍的一個隨機數(shù),對于大于10的鎖座,則將其調整至平均值后加上0~3范圍的一個隨機數(shù).負數(shù)則相反,以期生成符合要求的數(shù)組.此時生成的數(shù)組嵌套在一個do while循環(huán)內,進行約束條件驗證,如果數(shù)組不符合車型的約束條件要求,則重新生成數(shù)組直至滿足要求;如果滿足約束條件要求,則自動進入下一環(huán)節(jié).過程如圖2所示.
圖2 生成第一代個體流程
適應度函數(shù)是一個與鎖座調整數(shù)和調整總高度負相關的式子,保證最終選出的染色體的優(yōu)良性能,調整最簡便.此處定為fitness=1/pointnum+1/(100×heightsum).分別計算出10條染色體適應度之后,將其按照適應度高低排序后進入選擇階段.
選擇算子分三個階段進行,首先留下適應度最高的兩條染色體直接到子代.然后再將適應度最低的兩條染色體按照產生第一代個體的流程重新產生.其他六條染色體根據(jù)適應度高低進行輪盤賭式選擇,并隨機配對,等待下一步交叉運算.
交叉算子運算,模擬等位基因交換過程,將兩條染色體部分基因段進行交換.交換起止位置根據(jù)概率隨機設定,基因交換長度也不確定.例如將下列染色體五到十交換.
chromosome[1]={0,1,0,2,1,0,0,1,0,2,1,0,0,0,4,0,0,0,0,0}
chromosome[2]={0,0,1,3,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0}
得到新的子代為
chromosome[1]={0,1,0,2,1,1,0,0,0,1,1,0,0,0,4,0,0,0,0,0}
chromosome[2]={0,0,1,3,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0}
圖3 算法基本流程圖
產生新子代后要先進行約束條件驗算,如果不合格則需要繼續(xù)重新交叉運算.由于條件局限性,本算法中省略變異部分.
本算法中為測試算法性能,將代數(shù)值設置較大為1 000代,即要重復上述迭代過程1 000次.將1 000次運算后的結果輸入到currentBest變量內,作為最佳調整方法直接輸出.算法總體流程如圖3所示.
應用該算法后,迅速收斂,且結果較為精確.檢測軟件內該車型表內示數(shù)如圖4所示.
圖4 檢測結果軟件圖
應用同樣的算法模型,添加每種車型的約束條件后,分別對其達到最優(yōu)時的子代數(shù)目進行100次實驗,概率統(tǒng)計如表1所示.可見收斂速度快,較為復雜的車型也大部分在100代以前就已經達到收斂.
表1 收斂速度統(tǒng)計表
本文將遺傳算法原理應用于鐵路平車鎖座平面度檢測中,建立平車鎖座檢測與調整算法模型.實現(xiàn)具體問題的抽象化處理,將鎖座高度、調整方法等實際問題轉化為遺傳過程中的基因和染色體.模擬生物進化過程,應用智能優(yōu)化原理在解空間搜索最優(yōu)解.將算法實現(xiàn)于上位機軟件中,經驗證能夠快速進行計算,且得到解為最優(yōu)解.遺傳算法的工程實際應用極大地提高了工作效率和精度,滿足現(xiàn)代工業(yè)需求.本算法通用性較強,但約束條件部分仍需單獨給出,值得繼續(xù)研究提升性能.本文總體思路可供約束條件較為復雜的最優(yōu)化問題借鑒.
[1]PEREIRA F B, TAVARES J, MACHADO P ,et al. A new genetic representation for the Vehicle Routing Problem[C]// In Proceedings of the 13th Irish Conference on Artificial Intelligence and Congnitive Science, Ireland,2002:95-102.
[2]MACHADO P, TAVARES J, PEREIRA F B,etal. Vehicle Routing Problem doing it the evolutionary way[C]// In Proceedings of the Genetic and Evolutionary Computation Conference, Ireland,2002:690.
Method for Adjusting Lock Brackets of Flat Cars Based on Genetic Algorithm
YAN Jiawen , ZHOU Liang , ZHAO Hang , ZHU Bo
(School of Mechatronics, Harbin Institute of Technology, Harbin 150006, China)
Aiming at the unqualified flat cars with oversized flatness, a new method is proposed to make adjustment schemes based on genetic algorithm model. According to natural selection principle, related parameters are defined as gene and chromosome as well as fitness function. Through multiple iteration, the best adjustment scheme can be determined.
genetic algorithm; chromosome; gene; fitness function; flat cars
1673- 9590(2016)06- 0108- 04
2016- 05-31
閆佳雯(1993-),女,碩士研究生;周亮(1975-),男,教授,博士,從事機械制造及自動化的研究
A
E- mail:412973712@qq.com.