閆佳雯,周亮,趙航,朱波
(哈爾濱工業(yè)大學(xué) 機(jī)電工程學(xué)院,黑龍江 哈爾濱 150006)*
?
基于遺傳算法的鐵路平車鎖座調(diào)整方案研究
閆佳雯,周亮,趙航,朱波
(哈爾濱工業(yè)大學(xué) 機(jī)電工程學(xué)院,黑龍江 哈爾濱 150006)*
針對(duì)鐵路集裝箱運(yùn)輸過(guò)程中,由于鐵路平車鎖座平面度超差而導(dǎo)致集裝箱傾覆等現(xiàn)象,制定了鎖座高度調(diào)整方案.提出以遺傳算法基本模型為基礎(chǔ),建立相應(yīng)的平車鎖座調(diào)整算法模型.應(yīng)用遺傳算法中的種群自然選擇原則,確定鎖座調(diào)整過(guò)程中基因變量和染色體變量,并根據(jù)選擇過(guò)程中的約束條件要求,定義適應(yīng)度函數(shù),進(jìn)行多代篩選.最終得到調(diào)整鎖座數(shù)最少且調(diào)整總高度值最少的最佳高度調(diào)整方案.
遺傳算法;染色體;基因;適應(yīng)度函數(shù);鐵路平車
隨著交通運(yùn)輸業(yè)的迅速發(fā)展,鐵路平車廣泛應(yīng)用于集裝箱運(yùn)輸中.初期平車只有最簡(jiǎn)單的鎖閉裝置,適用的集裝箱類型也較為局限,安裝時(shí)只需將集裝箱底面四角上的鎖扣套入平車上相應(yīng)鎖座內(nèi),保證平車上相應(yīng)矩形承載面的平面度即可.所以質(zhì)量檢測(cè)較為容易,不合格平車調(diào)整起來(lái)也比較方便.近年來(lái),為適應(yīng)運(yùn)輸穩(wěn)定性及靈活性等方面的需求,研制出了多種平車車型.除了強(qiáng)化設(shè)計(jì)鎖閉裝置以外,還引入了橫梁、底板面等多種結(jié)構(gòu).同時(shí),很多車型鎖座數(shù)目比較多,可以在不同的運(yùn)輸條件下合理分配鎖座組合,運(yùn)載多種規(guī)格的集裝箱.因此,在進(jìn)行出廠質(zhì)量檢測(cè)時(shí),擬定承載面數(shù)量較多,很多鎖座出現(xiàn)在多個(gè)承載面內(nèi),大大增加了檢測(cè)和調(diào)整難度.傳統(tǒng)檢測(cè)方式主要是手動(dòng)測(cè)量同一承載面上四個(gè)鎖座高度后,根據(jù)平面度技術(shù)指標(biāo)進(jìn)行調(diào)整,再繼續(xù)測(cè)量下一個(gè)承載面.這種方式耗時(shí)久,精度低,而且對(duì)于可裝載不同型號(hào)集裝箱的鎖座來(lái)說(shuō),很容易出現(xiàn)顧此失彼的情況.為了解決這個(gè)問(wèn)題,本文建立了檢測(cè)調(diào)整模型,綜合考慮所有要求,利用遺傳算法原理[1-2]處理數(shù)據(jù),對(duì)不合格平車,將鎖座調(diào)整量作為基因,每組基因作為一條染色體,通過(guò)計(jì)算染色體適應(yīng)度評(píng)價(jià)方案進(jìn)行優(yōu)選.最后整合到相應(yīng)的測(cè)量軟件中,以提高生產(chǎn)效率.
1.1 技術(shù)指標(biāo)與需求分析
鐵路平車有多種適應(yīng)不同運(yùn)輸條件的車型,但基本原理是一樣的,故只需建立一個(gè)遺傳算法模型,根據(jù)車型要求修改約束條件和數(shù)值即可.下面以一種典型車型為例說(shuō)明算法原理,如圖1所示.
圖1 車型及技術(shù)指標(biāo)示意圖
圖中每條對(duì)角線都代表一個(gè)矩形承載面,每一個(gè)矩形平面的四角都分別有一個(gè)鎖座固定.對(duì)角線長(zhǎng)度不同,表明矩形承載面大小不同,即裝載集裝箱種類不同,該車型共可裝載三種集裝箱.其中共有三條最短的對(duì)角線,代表20 ft集裝箱平面,技術(shù)指標(biāo)要求為每個(gè)平面對(duì)應(yīng)的四個(gè)鎖座中最高與最低差值不能大于4 mm.同理,中等長(zhǎng)度的兩條對(duì)角線,代表30 ft集裝箱平面,要求的高度差值也增加到5 mm.而最長(zhǎng)的三條對(duì)角線,代表40 ft集裝箱平面,高度差要求為6 mm.此外,每一橫斷面上的兩個(gè)鎖座(如圖1右側(cè)所示)高度差值需小于4 mm.這些指標(biāo)中一旦有一項(xiàng)超差,平車即為不合格.
對(duì)于實(shí)際檢測(cè)調(diào)整來(lái)說(shuō),由于調(diào)整鎖座高度比較耗時(shí)耗力,因此制定調(diào)整方法時(shí),首先考慮要盡可能少調(diào)整鎖座,其次高度值調(diào)整總量也要盡可能小.在滿足技術(shù)指標(biāo)的基礎(chǔ)上要通過(guò)這兩項(xiàng)要求優(yōu)選出最佳調(diào)整方案.
1.2 基本函數(shù)與變量創(chuàng)建
根據(jù)實(shí)際問(wèn)題,在本算法中首先確定染色體和基因變量.用基因代表單個(gè)鎖座高度調(diào)整值,值為0代表不進(jìn)行調(diào)整.鎖座總數(shù)為20,用一條染色體(即個(gè)體基因型)代表一組20個(gè)基因,即20個(gè)鎖座的調(diào)整量,也就是一種調(diào)整方案.首先創(chuàng)建類struct Chromosome{float gene[20];float heightsum; int pointsum; double fitness}.其中Chromosome即為染色體,每條染色體包括四項(xiàng)內(nèi)容.浮點(diǎn)型數(shù)組gene[20],表示20個(gè)基因取值組合.整型變量pointsum意為需調(diào)整的鎖座數(shù)目之和,即值不為0的基因個(gè)數(shù).浮點(diǎn)型變量heightsum為調(diào)整總高度,即20個(gè)基因值絕對(duì)值之和.最后雙精度變量fitness表示適應(yīng)度值,也就是該條染色體的優(yōu)劣評(píng)判.
在類Chromosome下創(chuàng)建初始樣本chromosome[10],即樣本為10個(gè),每代有10個(gè)個(gè)體,也就是10中調(diào)整方法.并創(chuàng)建bestchromosome和worstchromosome代表當(dāng)前一代中最好和最壞個(gè)體,currentBest代表目前為止最好個(gè)體.chromorder[10]代表染色體優(yōu)劣排序. 其他重要的函數(shù)及變量如下所示:
函數(shù)checkquality,用于檢測(cè)平車是否合格.
函數(shù)calculateaver,用于計(jì)算鎖座高度平均值,并有變量average代表平均值.
函數(shù)generateInitialchromosome,對(duì)于不合格平車,用于產(chǎn)生第一代群體.用變量generation代表代數(shù).
函數(shù)calculateFitnessValue,用于計(jì)算染色體適應(yīng)度.
函數(shù)findbestandworstchromosome,用于選出本代最優(yōu)最差染色體.
函數(shù)selectionOperator,選擇算子,用于優(yōu)選染色體產(chǎn)生子代.
函數(shù)crossOperator,交叉算子,將優(yōu)選出的染色體配對(duì)交叉.
函數(shù)generateNextchromosome,用于產(chǎn)生下一代染色體.
1.3 算法實(shí)現(xiàn)流程
遺傳算法的第一步驟是編碼,將鎖座從左上角開(kāi)始按照順序編號(hào)1~20.由1.2可知,是將每個(gè)鎖座的調(diào)整量作為基因,將一組全部號(hào)鎖座的調(diào)整量作為一個(gè)集合,即為一條染色體.例如染色體chromosome[1]={0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,1},則表示8號(hào)鎖座上調(diào)2 mm,15號(hào)和20號(hào)分別上調(diào)1 mm,其余不做調(diào)整.
初始時(shí)系統(tǒng)按照給定的規(guī)則產(chǎn)生第一代染色體,此處設(shè)定為10條,也就是10種調(diào)整方法.將1.1中所介紹的技術(shù)指標(biāo)作為算法中的約束條件.由于遺傳算法要求產(chǎn)生的每個(gè)個(gè)體都是可行解,需要在給染色體賦值的時(shí)候就限定了其較小的誤差范圍.具體方法是,計(jì)算鎖座高度的平均值,記為average.對(duì)于大于平均值3~5之間的鎖座,基因賦值為-4~0范圍內(nèi)的一個(gè)隨機(jī)數(shù);對(duì)于5~10范圍內(nèi),則賦予-9~5范圍的一個(gè)隨機(jī)數(shù),對(duì)于大于10的鎖座,則將其調(diào)整至平均值后加上0~3范圍的一個(gè)隨機(jī)數(shù).負(fù)數(shù)則相反,以期生成符合要求的數(shù)組.此時(shí)生成的數(shù)組嵌套在一個(gè)do while循環(huán)內(nèi),進(jìn)行約束條件驗(yàn)證,如果數(shù)組不符合車型的約束條件要求,則重新生成數(shù)組直至滿足要求;如果滿足約束條件要求,則自動(dòng)進(jìn)入下一環(huán)節(jié).過(guò)程如圖2所示.
圖2 生成第一代個(gè)體流程
適應(yīng)度函數(shù)是一個(gè)與鎖座調(diào)整數(shù)和調(diào)整總高度負(fù)相關(guān)的式子,保證最終選出的染色體的優(yōu)良性能,調(diào)整最簡(jiǎn)便.此處定為fitness=1/pointnum+1/(100×heightsum).分別計(jì)算出10條染色體適應(yīng)度之后,將其按照適應(yīng)度高低排序后進(jìn)入選擇階段.
選擇算子分三個(gè)階段進(jìn)行,首先留下適應(yīng)度最高的兩條染色體直接到子代.然后再將適應(yīng)度最低的兩條染色體按照產(chǎn)生第一代個(gè)體的流程重新產(chǎn)生.其他六條染色體根據(jù)適應(yīng)度高低進(jìn)行輪盤賭式選擇,并隨機(jī)配對(duì),等待下一步交叉運(yùn)算.
交叉算子運(yùn)算,模擬等位基因交換過(guò)程,將兩條染色體部分基因段進(jìn)行交換.交換起止位置根據(jù)概率隨機(jī)設(shè)定,基因交換長(zhǎng)度也不確定.例如將下列染色體五到十交換.
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 算法基本流程圖
產(chǎn)生新子代后要先進(jìn)行約束條件驗(yàn)算,如果不合格則需要繼續(xù)重新交叉運(yùn)算.由于條件局限性,本算法中省略變異部分.
本算法中為測(cè)試算法性能,將代數(shù)值設(shè)置較大為1 000代,即要重復(fù)上述迭代過(guò)程1 000次.將1 000次運(yùn)算后的結(jié)果輸入到currentBest變量?jī)?nèi),作為最佳調(diào)整方法直接輸出.算法總體流程如圖3所示.
應(yīng)用該算法后,迅速收斂,且結(jié)果較為精確.檢測(cè)軟件內(nèi)該車型表內(nèi)示數(shù)如圖4所示.
圖4 檢測(cè)結(jié)果軟件圖
應(yīng)用同樣的算法模型,添加每種車型的約束條件后,分別對(duì)其達(dá)到最優(yōu)時(shí)的子代數(shù)目進(jìn)行100次實(shí)驗(yàn),概率統(tǒng)計(jì)如表1所示.可見(jiàn)收斂速度快,較為復(fù)雜的車型也大部分在100代以前就已經(jīng)達(dá)到收斂.
表1 收斂速度統(tǒng)計(jì)表
本文將遺傳算法原理應(yīng)用于鐵路平車鎖座平面度檢測(cè)中,建立平車鎖座檢測(cè)與調(diào)整算法模型.實(shí)現(xiàn)具體問(wèn)題的抽象化處理,將鎖座高度、調(diào)整方法等實(shí)際問(wèn)題轉(zhuǎn)化為遺傳過(guò)程中的基因和染色體.模擬生物進(jìn)化過(guò)程,應(yīng)用智能優(yōu)化原理在解空間搜索最優(yōu)解.將算法實(shí)現(xiàn)于上位機(jī)軟件中,經(jīng)驗(yàn)證能夠快速進(jìn)行計(jì)算,且得到解為最優(yōu)解.遺傳算法的工程實(shí)際應(yīng)用極大地提高了工作效率和精度,滿足現(xiàn)代工業(yè)需求.本算法通用性較強(qiáng),但約束條件部分仍需單獨(dú)給出,值得繼續(xù)研究提升性能.本文總體思路可供約束條件較為復(fù)雜的最優(yōu)化問(wèn)題借鑒.
[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-),男,教授,博士,從事機(jī)械制造及自動(dòng)化的研究
A
E- mail:412973712@qq.com.