桶紗配重過程的計算機(jī)軟件模擬
桶紗配重過程的計算機(jī)軟件模擬,配重,過程,進(jìn)程,計算機(jī)軟件,模擬,摹擬
桶紗配重過程的計算機(jī)軟件模擬1 背景介紹近幾十年來,隨著我國綜合國力和科技水平的不斷提升,紡織行業(yè)與國外先進(jìn)水平的差距日漸縮小,但也存在不少問題。例如勞動力較為密集,自動化程度不高,生產(chǎn)效率相對較低等。因此,提高企業(yè)生產(chǎn)自動化和管理水平,改進(jìn)產(chǎn)品質(zhì)量和生產(chǎn)效率將成為整個紡織企業(yè)的發(fā)展趨勢。隨著市場的多元化和用工成本的不斷上漲,紡織行業(yè)也需要轉(zhuǎn)型升級。除了紡織機(jī)械的主要設(shè)備外,紡織生產(chǎn)和流通的不同環(huán)節(jié)也逐步采用智能化裝置來代替人工。目前網(wǎng)絡(luò)交流以及網(wǎng)上購物的發(fā)展與流行,紡織企業(yè)為了在競爭日益激烈市場中吸引潛在的客戶,利用互聯(lián)網(wǎng)平臺來實現(xiàn)產(chǎn)品的推廣,網(wǎng)上銷售紡紗的店鋪越來越多?;ヂ?lián)網(wǎng)電子商務(wù)的迅速發(fā)展,也就出現(xiàn)了一些個性化的客戶市場,企業(yè)要根據(jù)客戶的需求生產(chǎn)桶紗并裝箱。但是每箱桶紗的重量都不是一定的,選擇哪幾箱桶紗進(jìn)行裝箱,如何才能讓客戶和商販都滿意,就需要計算機(jī)程序的幫助了。2 研究現(xiàn)狀我國是紡織大國,2015 年紡紗產(chǎn)量高達(dá)四千多萬噸,紡紗生產(chǎn)的最后環(huán)節(jié)是將生產(chǎn)好的桶紗進(jìn)行裝箱,裝箱前需要對裝箱的桶紗重量進(jìn)行測量。目前紡織行業(yè)的自動化技術(shù)水平仍然比較低,一方面由于用工成本不斷上漲,紡織行業(yè)也需要進(jìn)行轉(zhuǎn)型升級,通過智能化裝備來節(jié)省勞動力成本,提高生產(chǎn)效率已經(jīng)成為紡織企業(yè)的必由之路。另一方面,互聯(lián)網(wǎng)電子商務(wù)發(fā)展迅速,為了在激烈競爭的市場中增加企業(yè)的客戶,利用互聯(lián)網(wǎng)平臺來實現(xiàn)產(chǎn)品的推廣和銷售紡紗已經(jīng)越來越普遍,這種小批量個性化的需求,每箱桶紗的重量往往是不同的。采用計算機(jī)軟件對桶紗裝箱過程進(jìn)行優(yōu)化,不僅可以減輕裝箱人員的工作量,還可優(yōu)化裝箱質(zhì)量,降低裝箱成本,使裝箱過程快速高效,這些情況使得1用計算機(jī)輔助桶紗裝箱更有必要。3 課題研究的內(nèi)容本課題針對中國紡紗企業(yè)多,產(chǎn)量巨大,生產(chǎn)智能化程度需要進(jìn)一步提升的現(xiàn)狀,以紡紗生產(chǎn)的最后環(huán)節(jié)的桶紗裝箱為研究對象,解決人工裝紗工作量太大并且誤差也很大的問題。通過采用計算機(jī)來管理桶紗裝紗,在裝箱前對桶紗的重量進(jìn)行測量和控制,收集桶紗信息,采用遺傳算法,利用 Matlab 軟件編寫程序來實現(xiàn)桶紗裝紗過程的優(yōu)化。4 課題研究的意義根據(jù)博思數(shù)據(jù)發(fā)布的《2016-2022 年中國紗線產(chǎn)業(yè)調(diào)研現(xiàn)狀及投資咨詢戰(zhàn)略研究報告》 ,我國在 2015 年的紡紗市場生產(chǎn)的紗量將高達(dá) 4047.5 萬噸,同比2014 年增長 4.7%。因此采用計算機(jī)軟件對桶紗裝箱過程進(jìn)行優(yōu)化是十分重要的,這不僅可以減輕裝箱人員的工作量,還可以優(yōu)化選擇的過程,降低裝箱的成本,使裝箱過程高效、快速。5 技術(shù)路線運(yùn)用軟件開發(fā)工具,使用兩種不同的方法(智能算法或窮舉方法)實現(xiàn)桶紗配重的自動計算,軟件可以設(shè)定配重范圍和裝箱的桶紗數(shù)量(10-50 個) ,為自動配重提供支持。最后以計算機(jī)動畫的方式演示配重的計算結(jié)果。1. 收集資料。包括:(1)開發(fā)軟件的相關(guān)資料。了解所用軟件工具的主要功能、運(yùn)行環(huán)境等;(2)收集智能算法、配種知識等信息,為軟件開發(fā)提供基礎(chǔ)。2.采用 matlab 為開發(fā)平臺,實現(xiàn)配重的自動計算軟件和結(jié)果的動畫顯示軟件的開發(fā)。26 關(guān)鍵技術(shù)介紹遺傳算法是基于自然界生物進(jìn)化基本法則而發(fā)展起來的一類新算法。1962年霍蘭德(Holland)首次提出了 GA 算法的思想,它借用了仿真生物遺傳學(xué)和自然選擇機(jī)理,通過自然選擇、遺傳、變異等作用機(jī)制,實現(xiàn)各個個體的適應(yīng)性的提高。1975 年 Holland 出版專著《自然系統(tǒng)和人工系統(tǒng)的自適應(yīng)》 ,系統(tǒng)論述遺傳算法,有人把 1975 年作為遺傳算法的誕生年。6.1 遺傳算法的基本原理遺傳算法是一種優(yōu)化種群規(guī)模,使其走向某一優(yōu)勢的過程。遺傳算法運(yùn)用的原理跟達(dá)爾文在進(jìn)化論中提到的適者生存、優(yōu)勝劣汰的原理是一樣的。遺傳算法就是模擬生物遺傳、變異、繁衍、基因優(yōu)化的過程。通過某種需求確定所需的種群要求,然后進(jìn)行遺傳優(yōu)化,使得遺傳下來的基因中符合要求的基因越來越多,最終一步步達(dá)到所需的要求。它比枚舉法運(yùn)算更快速,是一種全局優(yōu)化方法。6.2 遺傳算法的特點(1) 簡捷、試用范圍廣,適應(yīng)性強(qiáng),應(yīng)用領(lǐng)域廣。(2) 是一種群體優(yōu)化過程,可以同時處理大量數(shù)據(jù); (3) 不是枚舉法,是一種優(yōu)化過程;(4) 適應(yīng)度函數(shù)受到的約束條件少,因此在很多領(lǐng)域都可以使用。(5) 為了達(dá)到所需要某種要求,對種群不斷地進(jìn)行篩選、優(yōu)化,在一定的迭代次數(shù)內(nèi)選出最優(yōu)解,運(yùn)算量小。6.3 遺傳算法的組成6.3.1 編碼遺傳算法將所要研究的對象(桶紗)看成是生物遺傳進(jìn)化過程中的染色體,然后將染色體作為初始種群進(jìn)行優(yōu)化。由于染色體上存在基因,因此種群優(yōu)化3的過程實際上就是染色體上的基因變異的過程。遺傳算法根據(jù)研究者的需要,用一定的方法將研究對象也就是染色體分成若干個部分,每個部分就叫做一個種群。每個種群中擁有的染色體的數(shù)量稱為種群規(guī)模。 6.3.2 適應(yīng)度函數(shù)在遺傳算法中,適應(yīng)度函數(shù)值是用來評價優(yōu)化結(jié)果符合要求的程度大小,適應(yīng)度函數(shù)值越大說明優(yōu)化效果越好,種群的質(zhì)量越高。適應(yīng)度函數(shù)值越小,說明優(yōu)化效果越差,種群的質(zhì)量越低。不同的研究對象所確定的適應(yīng)度值也是不一樣的。不同問題不同討論(適應(yīng)度值=1/重量偏離合格區(qū)間的距離) 。 6.3.3 遺傳算子 (1) 選擇算子選擇算子是選擇優(yōu)勢個體的過程,通過對所研究的種群進(jìn)行優(yōu)勝劣汰的選擇,使得符合要求的個體有更多的機(jī)會生存下來,并且把他們的基因遺傳給下一代。而不符合要求的個體雖然也有機(jī)會生存下來,但是經(jīng)過很多次的迭代必然所占比例逐漸減少,最終慢慢會走向消亡。(2) 交叉算子我們所說的交叉算子,實際上是根據(jù)生物遺傳過程中相互配對的兩個染色體可能由于某種原因交換它們的一部分基因從而產(chǎn)生新的個體的原理,依據(jù)一定的變異概率 Pc 通過改變研究對象的部分基因以便產(chǎn)生新的個體,正是由于交叉算子使得遺傳算法同其他算法區(qū)別開來。遺傳算法產(chǎn)生新個體的主要方式是通過交叉算子實現(xiàn)的。 (3) 變異算子通常所說的變異運(yùn)算是指依據(jù)生物染色體在遺傳的過程中有一定的概率 Pm將自身的一部分基因轉(zhuǎn)換為其他的基因,進(jìn)而產(chǎn)生新的種群。變異算子是遺傳算法產(chǎn)生新個體的輔助方法。交叉算子和變異算子的互相交流與融合,共同完成了遺傳算法的種群更新,使得產(chǎn)生符合要求的種群的數(shù)量的概率大大提升。46.3.4 運(yùn)行參數(shù) (1) M:所研究的種群的規(guī)模(2) T:遺傳算法終止的迭代次數(shù)(3) Pc:染色體交叉概率(4) Pm:染色體變異概率6.4 遺傳算法的選擇機(jī)制遺傳算法的基本原理是模仿了大自然中生物在生存繁衍過程中基因的變異現(xiàn)象,利用遺傳算子(選擇算子、交叉算子、變異算子)來改變所研究種群的基因,以便在每次的迭代過程中不斷優(yōu)化種群,選擇更符合要求的個體生存下來并將它們的基因遺傳給下一代。直到種群滿足所要達(dá)到的要求。達(dá)到這種要求的種群往往比其他種群更具有某一方面的優(yōu)勢。6.5 遺傳算法的流程遺傳算法基本原理框圖如圖 2.1 所示。5圖 2-1 遺傳算法基本原理框圖遺傳算法的基本流程是:(1) 初始化群體;(2) 計算群體上每個個體的適應(yīng)度值;(3) 按由個體適應(yīng)度值所決定的某個規(guī)則選擇將進(jìn)入下一代的個體;(4) 按概率進(jìn)行交叉操作;(5) 按概率進(jìn)行突變操作;(6) 沒有滿足某種停止條件,則轉(zhuǎn)第(2)步,否則進(jìn)入第(7)步;(7) 輸出種群中適應(yīng)度值最優(yōu)者作為最優(yōu)解。遺傳算法通過不斷的遺傳并且積累下來,使所得到的后代種群越來越接近所需要的最優(yōu)解。6.6 遺傳算法的收斂性分析要進(jìn)行遺傳算法的收斂性分析,必須要保證初始的種群經(jīng)過一定次數(shù)的迭6代循環(huán)都能達(dá)到所需要的最優(yōu)解。并且必須要保證最優(yōu)解包含的基因在遺傳的過程不會丟失。與算法收斂性有關(guān)的因素主要包括種群規(guī)模、選擇操作、交叉概率和變異概率。 6.6.1 種群規(guī)模對收斂性的影響 一般地,種群規(guī)模太小可能會導(dǎo)致遺傳算法經(jīng)過有限次的迭代進(jìn)化不出符合要求的種群,使得算法的優(yōu)勢無法體現(xiàn)出來。而種群的規(guī)模和數(shù)目如果太大,會使得運(yùn)算量十分巨大,加重勞動量降低效率,因此在實際應(yīng)用的時候要注意選擇合適的種群規(guī)模。6.6.2 選擇操作對收斂性的影響選擇操作通過選擇能達(dá)到所需要求的個體,讓他們的基因一代代地遺傳下來,不進(jìn)行任何的變異或者交叉。這樣就會使得每一代種群中含有該基因的個體越來越多,該基因所占的百分比也越來越大,使得遺傳算法以無限接近于 1的概率得到所需的最優(yōu)解。6.6.3 交叉概率對收斂性的影響交叉概率主要是通過交換相互配對的染色體之間的部分基因產(chǎn)生新的個體。如果交叉的概率很大,那么產(chǎn)生新個體的速度就會太快,基因也更新很快,使得前代父本保留下來的優(yōu)良基因被淡化、降低了他們遺傳下去的概率。而交叉概率太小,基因更新的頻率就會太慢,可能父本中一直選不出好的基因來進(jìn)行遺傳。因此合理的選擇交叉概率是保障遺傳算法正常進(jìn)行、縮短迭代時間的必要條件。6.6.4 變異概率對收斂性的影響變異操作可以豐富種群的多樣性。變異概率如果太小,則種群的多樣性會一直得不到提高,而變異概率太大則會使種群的個體太多樣性,使得遺傳算法的迭代次數(shù)無限增大,使得遺傳算法的操作顯得十分的復(fù)雜。因此要選擇合適7的變異頻率限制新模式產(chǎn)生的頻率,使得遺傳算法能夠更快的優(yōu)化。 6.7 遺傳算法的本質(zhì)遺傳算法的本質(zhì)就是利用生物界染色體的基因在遺傳過程中產(chǎn)生的交叉、變異的現(xiàn)象,通過改變所研究對象的基因從而產(chǎn)生新的個體,再從這些個體中選擇符合要求的個體將他們的基因遺傳下來,從而使包含這些優(yōu)良基因的個體在種群中所占的比例逐漸增加,使問題逐漸地得到解決。 6.8 遺傳算法的發(fā)展遺傳欺騙問題:在遺傳算法進(jìn)行迭代優(yōu)化的過程中,有時候可能會由于某個個體的十分突出,導(dǎo)致了其競爭力遠(yuǎn)遠(yuǎn)的超過了包含所需求基因的個體。從而使得遺傳算法沒能選擇出優(yōu)良基因而是選擇了錯誤的個體的基因。因此這時候就需要對遺傳算法進(jìn)行改進(jìn)以彌補(bǔ)這個不足。6.8.1 編碼方式二進(jìn)制編碼的優(yōu)點是只有 0 和 1 兩個數(shù)字,編寫起來方便。缺點是如果種群的規(guī)模太大,則二進(jìn)制編碼就會太長,顯得十分冗長。也會無形中加大遺傳算法的計算量。6.8.2 遺傳算子6.8.2.1 排序選擇 (1)按照種群的適應(yīng)度函數(shù)值由高(低)到低(高)對種群里面的個體進(jìn)行降(升)序排序;(2) 根據(jù)具體的實際要解決的問題,確定種群中每個個體基因遺傳下來的概率。(3) 基于確定好的概率,產(chǎn)生新的種群。 86.8.2.2 均勻交叉 (1) 隨機(jī)產(chǎn)生一個與種群個體染色體所含基因長度相同的二進(jìn)制編碼A=W1W2.Wn(2)按照如下規(guī)則從父代種群中產(chǎn)生新的種群,如果 Wi=0 則將父代染色體的基因一一對應(yīng)的遺傳給子代;如果 Wi=1,就將父代的染色體進(jìn)行交叉然后在分別傳給對應(yīng)的子代。 6.8.2.3 逆序變異變異前:2 |5 9 | 4 3 7 |9 7 |9變異前:3 |5 9 | 3 4 5 |6 7 |96.8.3 控制參數(shù)Schaffer 建議的最優(yōu)參數(shù)范圍是: M = 20-100, T = 100-500, Pc = 0.4-0.9,Pm = 0.001-0.01。Srinvivas 和它的同事提出了一種叫做自適應(yīng)的遺傳算法,這種遺傳算法的特點是它的交叉概率 Pc 和變異概率 Pm 會隨著適應(yīng)度函數(shù)值的變化而變化,這種遺傳算法當(dāng)種群無限趨于最優(yōu)解的時候就會增大交叉概率 Pc 和變異概率Pm,以增大種群的豐富性以便繼續(xù)優(yōu)化。當(dāng)種群的優(yōu)化迭代次數(shù)比較少的時候就降低交叉概率 Pc 和變異概率 Pm,以便先使種群中原有的符合要求的個體優(yōu)先遺傳進(jìn)而完成優(yōu)化過程。6.8.4 執(zhí)行策略(1)混合遺傳算法9(2)免疫遺傳算法(3)小生境遺傳算法(4)單親遺傳算法(5)并行遺傳算法7、要解決的技術(shù)問題7.1 桶紗裝箱過程相關(guān)信息的收集。7.2 遺傳算法與窮舉方法的對比分析。7.3 如何用 Matlab 制作動畫。7.4 選取過程要一直持續(xù)下去直到手動停止。108、日程安排序號 各階段名稱 起止日期1 調(diào)研、收集資料 2015 年 12 月 15 日 ~ 2015年 12 月 22 日2 學(xué)習(xí)資料、選擇開發(fā)工具、設(shè)計軟件 功能 2015 年 12 月 23 日 ~ 2016年 1 月 25 日3 編制配重的計算程序 2016 年 2 月 20 日 ~ 2016 年3 月 22 日4 編制計算機(jī)的動畫演示程序 2016 年 3 月 23 日 ~ 2016 年4 月 24 日5 撰寫畢業(yè)論文 2016 年 4 月 25 日 ~ 2016 年5 月 1 日6 準(zhǔn)備答辯文件 2016 年 5 月 2 日 ~ 2016 年5 月 10 日9 參考文獻(xiàn)[1] 《物流配送區(qū)域劃分模型及優(yōu)化計算研究》 《重慶交通大學(xué)碩士論文》 2009[2] 《基于庫存策略的生產(chǎn)計劃問題的研究》 吉林 2008 43-50[3] 《遺傳算法和模擬退火算法求解 TSP 的性能分析》 《計算機(jī)技術(shù)與發(fā)展》 2009 年 11 期 97-100[4] 2006-5-18 唐慧豐-遺傳算法原理與應(yīng)用-百度文庫 2012[5] 《基于 Petri 網(wǎng)和改進(jìn)遺傳算法的 AS/RS 調(diào)度系統(tǒng)的研究》 河北 2009 301-306[6] 《MIMO 檢測算法研究與實現(xiàn)》 西安 2010 119-123[7] 《遺傳算法的改進(jìn)與算法收斂性分析》 《機(jī)械研究與應(yīng)用》 2008 年 4 期 90-9211[8] 《MIMO 檢測算法研究與實現(xiàn)》 西安 2010 156-158[9] 《基于遺傳算法的船舶電力系統(tǒng)網(wǎng)絡(luò)故障重構(gòu)》 華中科技大學(xué) 2009 322-323[10] 《城市交通路徑誘導(dǎo)算法研究》 長安 2009 492-492[11] 《基于混合遺傳算法的汽車企業(yè)營銷資源分配策略研究》 武漢 2012 67-68[12] 《移動計算設(shè)備電能消耗估計》 合肥 2007 32-34[13] 《基于 QoS 的 Web 服務(wù)發(fā)現(xiàn)與組合研究》 湖南 2010 68-70[14] 《遺傳算法的收斂性統(tǒng)一判據(jù)》 電子科技大學(xué) 2010 19-23[15] 《沖突探測與解脫技術(shù)在未來空中交通管理中的應(yīng)用》 《計算機(jī)應(yīng)用于軟件》 2004 年 2 期 69-73[16] 《三相異步電動機(jī)穩(wěn)態(tài)參數(shù)優(yōu)化研究》 《黑龍江科技信息》 2010 年 13 期 79-80[17] 《磁粉檢測系統(tǒng)中圖像恢復(fù)的方法研究》 《學(xué)院》 2011 年 11期 12-15[18] 《一種基于遺傳神經(jīng)網(wǎng)絡(luò)的股票決策的方法研究》 陜西 2010 34-39 [19] 《基于 MATLAB/Simulink/GUIDE 的 PID 工具箱的設(shè)計》 山東 2008[20] 《混合式步進(jìn)電動機(jī)無刷直流電機(jī)方式驅(qū)動方案及其仿真分析》長春 2010 100-103[21] 《基于 BP 神經(jīng)網(wǎng)絡(luò)的企業(yè)技術(shù)創(chuàng)新能力評價及應(yīng)用研究》 青島 2010 87-9012[22] 《基于 MATLAB 的大學(xué)物理仿真實驗研究》 湖南 2008 年 5期 67-74[23] 《IDL 與 MATLAB 的比較分析》 廣西 2011 95-97[24] 《轎車后橋混流裝配線規(guī)劃設(shè)計及平衡研究》 蘇州 2004 78-83[25] 胡志鵬,盧險鋒.提高沖裁件斷面剪切面的新方法[J] .機(jī)械工人(冷加工 ), 2007 .(4):33-37.[26] 秦小瓊 , 盛尚雄.沖裁間隙對產(chǎn)質(zhì)量及模具壽命的影響[J] .金屬成形工藝, 2004 .(3):67-69.[27] 肖作義 , 房曉東.對影響沖裁件質(zhì)量的幾個參數(shù)的討論[J] .鍛壓機(jī)械, 2001 .(1):13-15.[28] G.F.Pan, L.Lou. Finite element simulation of the effect of clearance on the forming quality in the blanking process[J].Journal of Material Processing Technology.2002.(122).[29] E.Taupin, J.Breitling, et al. Material fracture and burr formation in blanking results of FEM simulaition and comparison and experiments[J]. Materials Processing Technology , 1996.(59):68-78.[30] N.Hatanaka, K.Yamaguchi, N.Takakura, et al. Simulation of sheared edge fo rmation process in blanking of sheet metals[J]. Journal of Materials Processing Technology, 2003.(140):628-634.[31] 趙振鐸,邵明志,張召鐸等.金屬塑性成形中的摩擦與潤滑[ M].北京:化學(xué)工業(yè)出版社,2004[32] 袁清珂 . Logopress 3 沖壓模設(shè)計從入門到精通[M]. 北京:化學(xué)工業(yè)出版社,2009:1-2.[33] H.Q.Wang, G.cheng, et al. Standard of Edge Quality of Precise Part. Tool Engineering,2004,41:11-14.[34] P. F. Zheng. Finite element analysis of the combined fine-blanking and extrusion process. PhD. Dissertation of Hong Kong Polytechnic 13University,2000.[35] W.X.Liu. Simple Fine Blanking. Science and Technology Publishing House, Shanghai 1990, 281:111-112.桶紗配重過程的計算機(jī)軟件模擬摘要我國是紡織大國,2015年紡紗產(chǎn)量高達(dá)四千多萬噸,紡紗生產(chǎn)的最后環(huán)節(jié)是將生產(chǎn)好的桶紗進(jìn)行裝箱,裝箱前需要對裝箱的桶紗重量進(jìn)行測量。目前紡織行業(yè)的自動化技術(shù)水平仍然比較低,一方面由于用工成本不斷上漲,紡織行業(yè)也需要進(jìn)行轉(zhuǎn)型升級,通過智能化裝備來節(jié)省勞動力成本,提高生產(chǎn)效率已經(jīng)成為紡織企業(yè)的必由之路。另一方面,互聯(lián)網(wǎng)電子商務(wù)發(fā)展迅速,為了在激烈競爭的市場中增加企業(yè)的客戶,利用互聯(lián)網(wǎng)平臺來實現(xiàn)產(chǎn)品的推廣和銷售紡紗已經(jīng)越來越普遍,這種小批量個性化的需求,每箱桶紗的重量往往是不同的。采用計算機(jī)軟件對桶紗裝箱過程進(jìn)行優(yōu)化,不僅可以減輕裝箱人員的工作量,還可優(yōu)化裝箱質(zhì)量,降低裝箱成本,使裝箱過程快速高效,這些情況使得用計算機(jī)輔助桶紗裝箱更有必要。本文首先分析了遺傳算法和窮舉算法的特點,通過在裝箱前對桶紗的重量進(jìn)行測量和控制,收集到桶紗重量等信息,同時采用窮舉法和遺傳算法計算了不同數(shù)量桶紗的裝箱重量,分別利用正態(tài)分布和均勻分布兩種方法對桶紗重量進(jìn)行隨機(jī)確定,通過改變桶紗的重量分布,模擬比較了在不同數(shù)量時的計算結(jié)果。最后應(yīng)用Matlab 軟件編寫了遺傳算法進(jìn)行桶紗配重的計算機(jī)模擬,并通過動畫演示了計算結(jié)果。關(guān)鍵字:遺傳算法,桶紗,裝箱,動畫模擬The simulation process of the computer software barrel yarn weightabstractChina is a textile country. In 2015, spinning production up to about forty million tons. The last part of the spinning production is the production of good barrels of yarn packing. Before packing, the weight of the container is measured. At present, the level of automation technology in the textile industry is still relatively low. On the one hand, due to rising labor costs, the textile industry also need to upgrade, through automation, intelligent to save labor costs, improve production efficiency has become the only way for the textile enterprises. On the other hand, the rapid development of Internet e-commerce. In order to increase business customers in the fierce market competition, the use of the Internet platform to achieve product promotion and sales of spinning has become more and more common. This small batch of individual needs, the weight of each box of barrels of yarn is often different. Using the computer software to optimize the packing process of the drums, not only can reduce the workload of the staff, but also optimize the packing quality, reduce the packing cost, so that the packing process is efficient and fast.This paper first analyzes the characteristics of genetic algorithm and exhaustive algorithm. By measuring and controlling the weight of the container before packing, the weight of the bucket is collected. At the same time the exhaustive method and genetic algorithm to calculate the different number of barrels of yarn packing weight, respectively, using positive normal distribution and uniform distribution two methods of barrel yarn weight were randomly determined. By changing the weight distribution of the bucket, the results of the calculation are compared. Finally, using genetic algorithm written MATLAB software barrel yarn weight of computer simulation, and the animation demonstration of the calculation results.Key words: genetic algorithm, bucket yarn, packing, animation simulation目錄1 緒論 -------------------------------------------------------------------------------------------------------11.1 引言 ----------------------------------------------------------------------------------------------11.2課題研究的背景 --------------------------------------------------------------------------------11.3課題研究的意義 --------------------------------------------------------------------------------11.4課題研究的內(nèi)容 --------------------------------------------------------------------------------22 遺傳算法(GA)簡介 ---------------------------------------------------------------------------------32.1 遺傳算法的基本原理 -------------------------------------------------------------------------32.2 遺傳算法的特點 -------------------------------------------------------------------------------32.3 遺傳算法的組成 -------------------------------------------------------------------------------42.3.1 編碼 --------------------------------------------------------------------------------------42.3.2 適應(yīng)度函數(shù) -----------------------------------------------------------------------------42.3.3 遺傳算子 --------------------------------------------------------------------------------42.3.4 運(yùn)行參數(shù) --------------------------------------------------------------------------------52.4 遺傳算法的選擇機(jī)制 -------------------------------------------------------------------------52.5 遺傳算法的流程 -------------------------------------------------------------------------------52.6 遺傳算法的收斂性分析 -----------------------------------------------------------------------72.6.1 種群規(guī)模對收斂性的影響 -----------------------------------------------------------72.6.2 選擇操作對收斂性的影響 -----------------------------------------------------------72.6.3 交叉概率對收斂性的影響 -----------------------------------------------------------72.6.4 變異概率對收斂性的影響 -----------------------------------------------------------82.7 遺傳算法的本質(zhì) -------------------------------------------------------------------------------82.8 遺傳算法的發(fā)展 -------------------------------------------------------------------------------82.8.1 編碼方式 --------------------------------------------------------------------------------82.8.2 遺傳算子 -------------------------------------------------------------------------------92.8.3 控制參數(shù) -------------------------------------------------------------------------------92.8.4 執(zhí)行策略 -----------------------------------------------------------------------------103 桶紗配重過程的計算機(jī)模擬軟件的實現(xiàn) --------------------------------------------------------113.1 Matlab簡介 ------------------------------------------------------------------------------------113.2 Matlab的基本功能 ---------------------------------------------------------------------------113.3 Matlab的應(yīng)用領(lǐng)域 ---------------------------------------------------------------------------123.4總流程圖 ----------------------------------------------------------------------------------------133.5 算法設(shè)計 --------------------------------------------------------------------------------------133.5.1 編碼方法 -----------------------------------------------------------------------------133.5.2 變異 -----------------------------------------------------------------------------------143.5.3 交叉 兩點交叉 -----------------------------------------------------------------------143.5.4 解碼 ------------------------------------------------------------------------------------153.5.5 選擇 ------------------------------------------------------------------------------------153.6 程序編寫的要求 ------------------------------------------------------------------------------173.7程序運(yùn)行后的結(jié)果 ----------------------------------------------------------------------------184 結(jié)論與展望 --------------------------------------------------------------------------------------------21參考文獻(xiàn) --------------------------------------------------------------------------------------------------23致 謝 -------------------------------------------------------------------------------------------------------25附錄1 ------------------------------------------------------------------------------------------------------26附錄2 ------------------------------------------------------------------------------------------------------3411 緒論1.1 引言近幾十年來,隨著我國綜合國力和科技水平的不斷提升,紡織行業(yè)與國外先進(jìn)水平的差距日漸縮小,但也存在不少問題。例如勞動力較為密集,自動化程度不高,生產(chǎn)效率相對較低等。因此,提高企業(yè)生產(chǎn)自動化和管理水平,改進(jìn)產(chǎn)品質(zhì)量和生產(chǎn)效率將成為整個紡織企業(yè)的發(fā)展趨勢。1.2課題研究的背景隨著市場的多元化和用工成本的不斷上漲,紡織行業(yè)也需要轉(zhuǎn)型升級。除了紡織機(jī)械的主要設(shè)備外,紡織生產(chǎn)和流通的不同環(huán)節(jié)也逐步采用智能化裝置來代替人工。目前網(wǎng)絡(luò)交流以及網(wǎng)上購物的發(fā)展與流行,紡織企業(yè)為了在競爭日益激烈市場中吸引潛在的客戶,利用互聯(lián)網(wǎng)平臺來實現(xiàn)產(chǎn)品的推廣,網(wǎng)上銷售紡紗的店鋪越來越多?;ヂ?lián)網(wǎng)電子商務(wù)的迅速發(fā)展,也就出現(xiàn)了一些個性化的客戶市場,企業(yè)要根據(jù)客戶的需求生產(chǎn)桶紗并裝箱。但是每箱桶紗的重量都不是一定的,選擇哪幾箱桶紗進(jìn)行裝箱,如何才能讓客戶和商販都滿意,就需要計算機(jī)程序的幫助了 [1]。1.3課題研究的意義根據(jù)博思數(shù)據(jù)發(fā)布的《2016-2022年中國紗線產(chǎn)業(yè)調(diào)研現(xiàn)狀及投資咨詢戰(zhàn)略研究報告》,我國在2015年的紡紗市場生產(chǎn)的紗量將高達(dá)4047.5萬噸,同比2014年增長4.7%。因此采用計算機(jī)軟件對桶紗裝箱過程進(jìn)行優(yōu)化是十分重要的,這不僅可以減輕裝箱人員的工作量,還可以優(yōu)化選擇的過程,降低裝箱的成本,使裝箱過程高效、快速。21.4課題研究的內(nèi)容本課題針對中國紡紗企業(yè)多,產(chǎn)量巨大,生產(chǎn)智能化程度需要進(jìn)一步提升的現(xiàn)狀,以紡紗生產(chǎn)的最后環(huán)節(jié)的桶紗裝箱為研究對象,解決人工裝紗工作量太大并且誤差也很大的問題。通過采用計算機(jī)來管理桶紗裝紗,在裝箱前對桶紗的重量進(jìn)行測量和控制,收集桶紗信息,采用遺傳算法,利用Matlab軟件編寫程序來實現(xiàn)桶紗裝紗過程的優(yōu)化。32 遺傳算法(GA)簡介遺傳算法是基于自然界生物進(jìn)化基本法則而發(fā)展起來的一類新算法 Error! Reference source not found.。 1962年霍蘭德(Holland)首次提出了GA算法的思想,它借用了仿真生物遺傳學(xué)和自然選擇機(jī)理,通過自然選擇、遺傳、變異等作用機(jī)制,實現(xiàn)各個個體的適應(yīng)性的提高。1975年Holland出版專著《自然系統(tǒng)和人工系統(tǒng)的自適應(yīng)》,系統(tǒng)論述遺傳算法,有人把1975年作為遺傳算法的誕生年。2.1 遺傳算法的基本原理遺傳算法是一種優(yōu)化種群規(guī)模,使其走向某一優(yōu)勢的過程。遺傳算法運(yùn)用的原理跟達(dá)爾文在進(jìn)化論中提到的適者生存、優(yōu)勝劣汰的原理是一樣的。遺傳算法就是模擬生物遺傳、變異、繁衍、基因優(yōu)化的過程。通過某種需求確定所需的種群要求,然后進(jìn)行遺傳優(yōu)化,使得遺傳下來的基因中符合要求的基因越來越多,最終一步步達(dá)到所需的要求。它比枚舉法運(yùn)算更快速,是一種全局優(yōu)化方法 [2]。2.2 遺傳算法的特點(1) 簡捷、試用范圍廣,適應(yīng)性強(qiáng),應(yīng)用領(lǐng)域廣;(2) 是一種群體優(yōu)化過程,可以同時處理大量數(shù)據(jù); (3) 不是枚舉法,是一種優(yōu)化過程;(4) 適應(yīng)度函數(shù)受到的約束條件少,因此在很多領(lǐng)域都可以使用;(5) 為了達(dá)到所需要某種要求,對種群不斷地進(jìn)行篩選、優(yōu)化,在一定的迭代次數(shù)內(nèi)選出最優(yōu)解,運(yùn)算量小 Error! Reference source not found.。42.3 遺傳算法的組成2.3.1 編碼遺傳算法將所要研究的對象(桶紗)看成是生物遺傳進(jìn)化過程中的染色體,然后將染色體作為初始種群進(jìn)行優(yōu)化。由于染色體上存在基因,因此種群優(yōu)化的過程實際上就是染色體上的基因變異的過程 [4]。遺傳算法根據(jù)研究者的需要,用一定的方法將研究對象也就是染色體分成若干個部分,每個部分就叫做一個種群。每個種群中擁有的染色體的數(shù)量稱為種群規(guī)模 [6]。 2.3.2 適應(yīng)度函數(shù)在遺傳算法中,適應(yīng)度函數(shù)值是用來評價優(yōu)化結(jié)果符合要求的程度大小,適應(yīng)度函數(shù)值越大說明優(yōu)化效果越好,種群的質(zhì)量越高。適應(yīng)度函數(shù)值越小,說明優(yōu)化效果越差,種群的質(zhì)量越低。不同的研究對象所確定的適應(yīng)度值也是不一樣的。不同問題不同討論(適應(yīng)度值=1/重量偏離合格區(qū)間的距離)。 2.3.3 遺傳算子 (1) 選擇算子選擇算子是選擇優(yōu)勢個體的過程,通過對所研究的種群進(jìn)行優(yōu)勝劣汰的選擇,使得符合要求的個體有更多的機(jī)會生存下來,并且把他們的基因遺傳給下一代。而不符合要求的個體雖然也有機(jī)會生存下來,但是經(jīng)過很多次的迭代必然所占比例逐漸減少,最終慢慢會走向消亡。(2) 交叉算子我們所說的交叉算子,實際上是根據(jù)生物遺傳過程中相互配對的兩個染色體可能由于某種原因交換它們的一部分基因從而產(chǎn)生新的個體的原理,依據(jù)一定的變異概率Pc通過改變研究對象的部分基因以便產(chǎn)生新的個體,正是由于交叉算5子使得遺傳算法同其他算法區(qū)別開來。遺傳算法產(chǎn)生新個體的主要方式是通過交叉算子實現(xiàn)的 [8]。 (3) 變異算子通常所說的變異運(yùn)算是指依據(jù)生物染色體在遺傳的過程中有一定的概率Pm將自身的一部分基因轉(zhuǎn)換為其他的基因,進(jìn)而產(chǎn)生新的種群。變異算子是遺傳算法產(chǎn)生新個體的輔助方法。交叉算子和變異算子的互相交流與融合,共同完成了遺傳算法的種群更新,使得產(chǎn)生符合要求的種群的數(shù)量的概率大大提升。2.3.4 運(yùn)行參數(shù) (1) M: 所研究的種群的規(guī)模(2) T:遺傳算法終止的迭代次數(shù)(3) Pc:染色體交叉概率(4) Pm:染色體變異概率2.4 遺傳算法的選擇機(jī)制遺傳算法的基本原理是模仿了大自然中生物在生存繁衍過程中基因的變異現(xiàn)象,利用遺傳算子(選擇算子、交叉算子、變異算子)來改變所研究種群的基因,以便在每次的迭代過程中不斷優(yōu)化種群,選擇更符合要求的個體生存下來并將它們的基因遺傳給下一代。直到種群滿足所要達(dá)到的要求。達(dá)到這種要求的種群往往比其他種群更具有某一方面的優(yōu)勢 [9]。2.5 遺傳算法的流程遺傳算法基本原理框圖如圖2.1所示。6圖2-1 遺傳算法基本原理框圖遺傳算法的基本流程是:(1) 初始化群體;(2) 計算群體上每個個體的適應(yīng)度值;(3) 按由個體適應(yīng)度值所決定的某個規(guī)則選擇將進(jìn)入下一代的個體;(4) 按概率進(jìn)行交叉操作;(5) 按概率進(jìn)行突變操作;(6) 沒有滿足某種停止條件,則轉(zhuǎn)第(2) 步,否則進(jìn)入第(7)步;(7) 輸出種群中適應(yīng)度值最優(yōu)者作為最優(yōu)解。7遺傳算法通過不斷的遺傳并且積累下來,使所得到的后代種群越來越接近所需要的最優(yōu)解。2.6 遺傳算法的收斂性分析要進(jìn)行遺傳算法的收斂性分析,必須要保證初始的種群經(jīng)過一定次數(shù)的迭代循環(huán)都能達(dá)到所需要的最優(yōu)解。并且必須要保證最優(yōu)解包含的基因在遺傳的過程不會丟失。與算法收斂性有關(guān)的因素主要包括種群規(guī)模、選擇操作、交叉概率和變異概率 [11]。 2.6.1 種群規(guī)模對收斂性的影響 一般地,種群規(guī)模太小可能會導(dǎo)致遺傳算法經(jīng)過有限次的迭代進(jìn)化不出符合要求的種群,使得算法的優(yōu)勢無法體現(xiàn)出來。而種群的規(guī)模和數(shù)目如果太大,會使得運(yùn)算量十分巨大,加重勞動量降低效率,因此在實際應(yīng)用的時候要注意選擇合適的種群規(guī)模 [12]。2.6.2 選擇操作對收斂性的影響選擇操作通過選擇能達(dá)到所需要求的個體,讓他們的基因一代代地遺傳下來,不進(jìn)行任何的變異或者交叉。這樣就會使得每一代種群中含有該基因的個體越來越多,該基因所占的百分比也越來越大,使得遺傳算法以無限接近于1的概率得到所需的最優(yōu)解。2.6.3 交叉概率對收斂性的影響交叉概率主要是通過交換相互配對的染色體之間的部分基因產(chǎn)生新的個體。如果交叉的概率很大,那么產(chǎn)生新個體的速度就會太快,基因也更新很快,使得前代父本保留下來的優(yōu)良基因被淡化、降低了他們遺傳下去的概率。而交叉概率太小,基因更新的頻率就會太慢,可能父本中一直選不出好的基因來進(jìn)行遺傳。因此合理的選擇交叉概率是保障遺傳算法正常進(jìn)行、縮短迭代時間的必要條件。82.6.4 變異概率對收斂性的影響變異操作可以豐富種群的多樣性。變異概率如果太小,則種群的多樣性會一直得不到提高,而變異概率太大則會使種群的個體太多樣性,使得遺傳算法的迭代次數(shù)無限增大,使得遺傳算法的操作顯得十分的復(fù)雜。因此要選擇合適的變異頻率限制新模式產(chǎn)生的頻率,使得遺傳算法能夠更快的優(yōu)化 [13]。 2.7 遺傳算法的本質(zhì)遺傳算法的本質(zhì)就是利用生物界染色體的基因在遺傳過程中產(chǎn)生的交叉、變異的現(xiàn)象,通過改變所研究對象的基因從而產(chǎn)生新的個體,再從這些個體中選擇符合要求的個體將他們的基因遺傳下來,從而使包含這些優(yōu)良基因的個體在種群中所占的比例逐漸增加,使問題逐漸地得到解決 [14]。 2.8 遺傳算法的發(fā)展遺傳欺騙問題:在遺傳算法進(jìn)行迭代優(yōu)化的過程中,有時候可能會由于某個個體的十分突出,導(dǎo)致了其競爭力遠(yuǎn)遠(yuǎn)的超過了包含所需求基因的個體。從而使得遺傳算法沒能選擇出優(yōu)良基因而是選擇了錯誤的個體的基因。因此這時候就需要對遺傳算法進(jìn)行改進(jìn)以彌補(bǔ)這個不足。2.8.1 編碼方式二進(jìn)制編碼的優(yōu)點是只有0和1兩個數(shù)字,編寫起來方便。缺點是如果種群的規(guī)模太大,則二進(jìn)制編碼就會太長,顯得十分冗長。也會無形中加大遺傳算法的計算量。2.8.2 遺傳算子2.8.2.1 排序選擇 (1)按照種群的適應(yīng)度函數(shù)值由高(低)到低(高)對種群里面的個體進(jìn)行降(升)序排序;9(2) 根據(jù)具體的實際要解決的問題,確定種群中每個個體基因遺傳下來的概率。(3) 基于確定好的概率,產(chǎn)生新的種群 [15]。 2.8.2.2 均勻交叉 (1) 隨機(jī)產(chǎn)生一個與種群個體染色體所含基因長度相同的二進(jìn)制編碼A=W1W2.Wn(2)按照如下規(guī)則從父代種群中產(chǎn)生新的種群,如果Wi=0則將父代染色體的基因一一對應(yīng)的遺傳給子代;如果Wi=1,就將父代的染色體進(jìn)行交叉然后在分別傳給對應(yīng)的子代。 2.8.2.3 逆序變異變異前:2 |5 9 | 4 3 7 |9 7 |9變異前:3 |5 9 | 3 4 5 |6 7 |92.8.3 控制參數(shù)Schaffer建議的最優(yōu)參數(shù)范圍是: M = 20-100, T = 100-500, Pc = 0.4-0.9,Pm = 0.001-0.01。Srinvivas和它的同事提出了一種叫做自適應(yīng)的遺傳算法,這種遺傳算法的特點是它的交叉概率Pc和變異概率Pm會隨著適應(yīng)度函數(shù)值的變化而變化,這種10遺傳算法當(dāng)種群無限趨于最優(yōu)解的時候就會增大交叉概率Pc和變異概率Pm,以增大種群的豐富性以便繼續(xù)優(yōu)化。當(dāng)種群的優(yōu)化迭代次數(shù)比較少的時候就降低交叉概率Pc和變異概率Pm,以便先使種群中原有的符合要求的個體優(yōu)先遺傳進(jìn)而完成優(yōu)化過程 [16]。2.8.4 執(zhí)行策略(1)混合遺傳算法(2)免疫遺傳算法(3)小生境遺傳算法(4)單親遺傳算法(5)并行遺傳算法113 桶紗配重過程的計算機(jī)模擬軟件的實現(xiàn)3.1 Matlab簡介Matlab程序是由 Clever Moler和它的同事在 20世紀(jì) 70年代共同研究創(chuàng)立出來的。他們之所以給這個程序取名為Matlab ,是為了將矩陣和實驗室的兩個英文單詞組合在一起。以后幾年,Matlab作為免費(fèi)軟件在大學(xué)里被廣泛使用,深受大學(xué)生的喜愛。1984年,Mathworks公司成立了,該公司的創(chuàng)辦人正是Clever 和他的同事John Little。公司成立之后, Clever和他的同事馬上著手將Matlab推向大眾,并且在宣傳推廣的同時,他們?nèi)匀恢铝τ贛atlab軟件的改進(jìn)和完善。Matlab 軟件經(jīng)過幾個版本的升級進(jìn)化之后,功能越來越完善,操作也越來越便捷。逐漸成為最流行的辦公軟件。Matlab由于具有處理速度快,效率高的特點,使得軟具有很強(qiáng)的市場競爭力,因此很快就占據(jù)了絕大部分的軟件市場。Matlab 軟件的不斷完善不僅方便了人們的生活,也優(yōu)化了程序編寫的過程 [17]。3.2 Matlab的基本功能Matlab程序通過接收用戶發(fā)布的各種指示和命令,運(yùn)用一定的程序,輸出計算結(jié)構(gòu),完成計算過程并輸出計算結(jié)果 [18]。具體來說,Matlab具有以下功能:(1)運(yùn)算矩陣的功能(2)將數(shù)據(jù)可視化的功能(3)繪圖功能12(4)完善的工具箱(5)GUI設(shè)計(6)Simulink仿真通過運(yùn)用Matlab 這些強(qiáng)大的功能,世界各地從事不同工作的人員可以被聯(lián)系到一起,他們可以在同一個平臺下共同完成一向創(chuàng)作或者研究。Matlab軟件的功能非常強(qiáng)大,涉及到的領(lǐng)域包括諸如航天、交通、信息等。Mathworks公司剛剛推出了Matlab r2007版本產(chǎn)品,即Matlab r2007,增加了兩個新產(chǎn)品模塊,同時還升級和修正了82個產(chǎn)品模塊。3.3 Matlab的應(yīng)用領(lǐng)域(1)數(shù)據(jù)分析(2)數(shù)值和符號計算(3)建模、仿真和原型開發(fā)(4)控制系統(tǒng)設(shè)計(5)工程與科學(xué)繪圖(6)圖形用戶界面設(shè)計等(7)數(shù)據(jù)圖像信號處理(8)財務(wù)工作Matlab產(chǎn)品涉及領(lǐng)域的廣泛以及功能的不斷完善,使得Matlab 軟件在激烈的市場競爭中越來越具有競爭力,不斷的擺脫其他競爭對手,一枝獨(dú)秀。然而,盡管Matlab 軟件的研發(fā)已經(jīng)取得了如此重大的成就,但是作為軟件研發(fā)者的Clever和他的同事并沒有忘記對軟件的繼續(xù)開發(fā)和利用。如今的Matlab已經(jīng)和其他的軟件逐漸的融為一體,在互相汲取彼此優(yōu)點,彌補(bǔ)缺點的過程中共同發(fā)展 [19]。133.4總流程圖開 始設(shè) 定 仿 真 數(shù) 據(jù)設(shè) 置 遺 傳 算 法 參 數(shù)初 始 化 染 色 體遺 傳 算 法 迭 代染 色 體 變 異染 色 體 交 叉染 色 體 解 碼計 算 目 標(biāo) 函 數(shù)染 色 體 選 擇遺 傳 算 法 迭 代完 成 ?輸 出 結(jié) 果結(jié) 束NY取 前 n個 裝 箱 計 算 總 重 量計 算 是 否 滿 足 約 束圖3-1 遺傳算法模擬裝箱過程的總流程圖3.5 算法設(shè)計3.5.1 編碼方法每次稱取m個桶紗, 每箱裝n個桶紗, 則編碼長度為m,基因為1至m的整數(shù)的一個排序如m=5, n=4,則一個合法的染色體可表示為[1,3,2,5,4]143.5.2 變異 采用兩點互易進(jìn)行變異:(1) 產(chǎn)生2個隨機(jī)自然數(shù) r1,r2;(2) 交換第r1位和r2位的基因 。舉例:r1=2, 那么染色體的變異為[1,3,2,5,4]→[1, 5,2,3,4]3.5.3 交叉 兩點交叉(1) 隨機(jī)選擇兩個染色體作為父本;(2) 產(chǎn)生2個隨機(jī)自然數(shù) r1和r2 ;(3) 將兩個父本染色體r1至r2之間的基因片段進(jìn)行交換, 得到兩個子代染色體,并對得到的兩個染色體進(jìn)行修訂處理,使得不發(fā)生沖突。舉例:選擇的兩個父本染色體[1,3,2,5,4] [1,2,4,5,3]r1=2, r2=4那么交叉過程為[1,3,2,5,4] [1,2,4,5,3]交叉后[1, 2,4,5,4] [1, 3,2,5,3] 修補(bǔ) →[1, 2,4,5,4] [1, 3,2,5,3]修補(bǔ)方法: 交叉后, 取交叉片段的補(bǔ)集重新隨機(jī)排列到非交叉片段153.5.4 解碼對每個染色體, 取其1至n位的基因, 計算總重量, 再計算這個重量偏離目標(biāo)區(qū)間的距離作為目標(biāo)函數(shù)。(3-1)(3-2)其中 為基因 代表的桶紗的重量 ;w為n個桶紗的重量;n為每箱裝的桶紗的重量;Wmax為裝箱允許的最大重量;Wmin為裝箱允許的最小重量;式(3-2)為目標(biāo)函數(shù), 其意義為最小化裝箱重量w與允許區(qū)間的距離, 也就是越接近允許區(qū)間越好。3.5.5 選擇輪盤賭選擇也被叫做比例選擇算子基本思想:種群中每個個體被選中的概率與其適應(yīng)度函數(shù)值是有關(guān)系的,一般是正比的關(guān)系。設(shè)群體大小為popsize,個體i的適應(yīng)度為Fi,則個體i被選中遺傳到下一代群體的概率為:16(3-3)工作過程:設(shè)想群體全部個體的適應(yīng)性分?jǐn)?shù)由一張餅圖來代表 ,見圖3-2。圖3-2 群體全部個體的適應(yīng)性分?jǐn)?shù)餅圖中的每一個小塊都代表了一條染色體,塊的大小與染色體的適應(yīng)性分?jǐn)?shù)成正比。選取的過程就是轉(zhuǎn)動圓盤,等到圓盤停止的時候觀察指針停在哪個小塊上,然后就選取該小塊所對應(yīng)的那一條染色體。17表3-1 輪盤賭選擇法的選擇概率計算個體 1 2 3 4 5 6適應(yīng)度 2 1.8 1.6 1.4 1.2 1選擇概率 0.18 0.16 0.15 0.13 0.11 0.09累計概率 0.18 0.34 0.49 0.62 0.73 0.82續(xù)表3-1個體 7 8 9 10 11適應(yīng)度 0.8 0.6 0.4 0.2 0.1選擇概率 0.07 0.06 0.03 0.02 0累計概率 0.89 0.95 0.98 1 13.6 程序編寫的要求軟件的功能要求:每個桶紗的重量范圍為2.481-2.580公斤,一次稱取20個桶紗(20個傳感器),運(yùn)用遺傳算法從20個桶紗中選出重量范圍之和在45.1-45.5公斤之間的18個桶紗(只選1組)進(jìn)行裝箱,選出之后重新?lián)Q20個桶紗再次選擇,但在運(yùn)用遺傳算法選擇之前先用窮舉的方法選擇一遍,一是為了確定是否可以選出這樣的18個桶紗,二是為了和遺傳算法進(jìn)行對比,比較二者的區(qū)別和相似之處,桶紗重量分別運(yùn)用均勻分布和正態(tài)分布進(jìn)行隨機(jī)確定,程序要求重復(fù)運(yùn)行直到手動停止為止。程序最后要用動畫顯示出選取的過程并顯示出每種算法選擇所用的時間,以便比較。183.7程序運(yùn)行后的結(jié)果編寫程序后在Matlab 環(huán)境下運(yùn)行,首先可以看到界面有20個桶紗分成兩排,然后開始窮舉的方法,紅色的那兩個桶紗是不被選取的桶紗,桶紗的上面紅色的字會顯示出已選的那18個桶紗的總重量。當(dāng)所有的18個桶紗都被選取之后,界面會跳轉(zhuǎn)并顯示出通過窮舉算法選出18個符合要求的桶紗所需要的時間(有可選的裝箱方案),并且在下面顯示出是哪18個桶紗符合要求,之后程序界面會跳轉(zhuǎn)到遺傳算法選取的結(jié)果以及所需要的時間,最后會彈出對話框詢問是否繼續(xù)選取或者選擇退出。正態(tài)分布窮舉方法選取的過程截圖19正態(tài)分布遺傳算法的運(yùn)行結(jié)果圖正態(tài)分布選取的符合要求的桶紗圖前(選取前18個)均勻分布窮舉算法運(yùn)行過程截圖20均勻分布遺傳算法運(yùn)行結(jié)果圖均勻分布選取的符合要求的桶紗圖(選取前18個)從圖中可以看出來,正態(tài)分布中窮舉的方法所用的時間為0.0026726s ,遺傳算法所用的時間為0.39624s,選出的18個桶紗編號為 5、11、13、18、9、15、7、14、8、12、20、19、4、2、10、3、16、17(最后兩個編號為6、1的桶紗是不被選取的)。均勻分布中窮舉方法選取所用的時間為0.0041709s ,遺傳算法所用的時間為0.39614s,選出的18個桶紗的編號分別為 4、19、2、3、14、20、6、13、10、7、15、18、17、9、5、1、8、11(12和16兩個桶紗不被選?。?。經(jīng)過對比分析我們可以看出來不論桶紗的重量采用何種分布方法,遺傳算法的選取時間都要長于窮舉的方法。214 結(jié)論與展望運(yùn)用Matlab軟件,分別利用正態(tài)分布和均勻分布兩種方法對桶紗重量進(jìn)行隨機(jī)確定,每次供選擇的20個桶紗的重量也是隨機(jī)選取的。通過程序的運(yùn)行結(jié)果可以看到從20個桶紗中選取18個桶紗進(jìn)行裝箱,枚舉的方法每次都可以選出符合重量范圍在45.1-45.5公斤之間的18個桶紗進(jìn)行裝箱。之后進(jìn)行的均勻分布和正態(tài)分布的遺傳算法也可以選出,并且可以看出枚舉的方法比遺傳算法用到的時間要短。但這并不是說枚舉的方法就比遺傳算法的優(yōu)化效果好。眾所周知枚舉法的運(yùn)算量是很大的要大于遺傳算法,而遺傳算法又相對復(fù)雜,產(chǎn)生這種結(jié)果的主要原因是由于桶紗只有20個,從20個桶紗中選出18個桶紗進(jìn)行裝箱,顯示不出枚舉法運(yùn)算量大的劣勢,反而卻可以體現(xiàn)出遺傳算法的復(fù)雜性,因此會產(chǎn)生枚舉法優(yōu)于遺傳算法的結(jié)果。但如果我們把桶紗換成1000個,遺傳算法絕對是要大大優(yōu)于枚舉法的。本文基于遺傳算法的桶紗裝箱解決方案,可為企業(yè)提高競爭力,發(fā)展前景良好。在剛開始做這個桶紗配重的畢業(yè)設(shè)計的時候,當(dāng)時跟老師商量之后,由于要考慮成本,所以本打算用20個傳感器對桶紗進(jìn)行稱重,然后先用窮舉的方法選,如果能選出來就繼續(xù)用遺傳算法選,如果選不出來就換掉其中的10個,但換下來的這10個桶紗也可以參與選擇。但是實際操作的時候卻發(fā)現(xiàn)如果這樣做那么換下來的那10個桶紗的編號會非常麻煩,經(jīng)過和老師再次商討之后決定換下來的10個桶紗不參與選擇就從20個桶紗里面選。從這里我知道了有時候看上去理所當(dāng)然的事情其實等你實際操作的時候會遇到各種各樣的困難,任何事情都不像你想象中的那么簡單,只有自己親自動手去嘗試了,才能真正收獲其中的樂趣。22雖然我的畢業(yè)設(shè)計完成了,但是我感覺還是存在很多不足,比如由于成本和技術(shù)的約束,每次供選取的桶紗只有20個,選取的方法有190種,由于染色體少導(dǎo)致得出窮舉的方法要優(yōu)于遺傳算法的結(jié)果。但是我們知道,如果增加桶紗的數(shù)量到足夠大,那么遺傳算法應(yīng)該是大大優(yōu)于窮舉的方法。但是考慮到每增加一個桶紗,窮舉選取的方法就會成倍的增長,我們目前的技術(shù)條件還達(dá)不到能滿足這樣的要求。因此當(dāng)桶紗數(shù)據(jù)足夠大的時候,編寫程序以及實際操作會遇到什么樣的困難仍然是一個未知數(shù)。23參考文獻(xiàn)[1] 王勇. 物流配送區(qū)域劃分模型及優(yōu)化計算研究. 重慶交通大學(xué)碩士論文. 2009.[2] 朱學(xué)良. 基于庫存策略的生產(chǎn)計劃問題的研究. 吉林2008. 43-50.[3] 何偉兵. 遺傳算法和模擬退火算法求解TSP 的性能分析. 計算機(jī)技術(shù)與發(fā)展. 2009,11: 97-100.[4] 2006-5-18唐慧豐-遺傳算法原理與應(yīng)用-百度文庫 . 2012.[5] 李瑋. 基于Petri網(wǎng)和改進(jìn)遺傳算法的AS/RS調(diào)度系統(tǒng)的研究.河北. 2009. 301-306.[6] 徐波. MIMO 檢測算法研究與實現(xiàn). 西安. 2010. 119-123.[7] 張建平. 黃曉云. 遺傳算法的改進(jìn)與算法收斂性分析. 機(jī)械研究與應(yīng)用. 2008年4期. 90-92.[8] 周瑛. 陳基漓. MIMO檢測算法研究與實現(xiàn). 西安. 2010. 156-158.[9] 梁闊洋. 基于遺傳算法的船舶電力系統(tǒng)網(wǎng)絡(luò)故障重構(gòu). 華中科技大學(xué). 2009. 322-323.[10] 陳俊男. 城市交通路徑誘導(dǎo)算法研究. 長安. 2009. 492-492.[11] 顧凱. 基于混合遺傳算法的汽車企業(yè)營銷資源分配策略研究. 武漢. 2012. 67-68.[12] 于淑瑤. 移動計算設(shè)備電能消耗估計. 合肥. 2007. 32-34.[13] 鄧生. 基于QoS 的Web服務(wù)發(fā)現(xiàn)與組合研究. 湖南 . 2010 68-70.24[14] 朱寒晨. 遺傳算法的收斂性統(tǒng)一判據(jù). 電子科技大學(xué). 2010. 19-23.[15] 羅俊. 沖突探測與解脫技術(shù)在未來空中交通管理中的應(yīng)用. 計算機(jī)應(yīng)用于軟件. 2004年2期. 69-73.[16] 張雅榮 三相異步電動機(jī)穩(wěn)態(tài)參數(shù)優(yōu)化研究. 黑龍江科技信息. 2010年13期. 79-80.[17] 周佳穎. 磁粉檢測系統(tǒng)中圖像恢復(fù)的方法研究. 學(xué)院. 2011年11期. 12-15.[18] 鐘科艾. 一種基于遺傳神經(jīng)網(wǎng)絡(luò)的股票決策的方法研究. 陜西. 2010. 34-39. [19] 馬從國. 基于MATLAB/Simulink/GUIDE的PID工具箱的設(shè)計. 山東. 2008.[20] 玉潔. 曾宇. 混合式步進(jìn)電動機(jī)無刷直流電機(jī)方式驅(qū)動方案及其仿真分析. 長春. 2010. 100-103.[21] 高曼. 基于BP神經(jīng)網(wǎng)絡(luò)的企業(yè)技術(shù)創(chuàng)新能力評價及應(yīng)用研究. 青島. 2010. 87-90.[22] 吳永剛. 基于MATLAB的大學(xué)物理仿真實驗研究. 湖南. 2008年5期. 67-74.[23] 高大鵬. 王欣. 朱清新. IDL與MATLAB的比較分析. 廣西. 2011. 95-97.[24] 雙永強(qiáng). 轎車后橋混流裝配線規(guī)劃設(shè)計及平衡研究. 蘇州. 2004 .78-83.致 謝25當(dāng)我寫到的論文寫到這里的時候,意味著我的畢業(yè)設(shè)計就快要完結(jié),也意味著我大學(xué)四年的生活即將終結(jié)。在此我要感謝在大學(xué)這四年的學(xué)習(xí)生活中陪伴我并且在我遇到困難時幫助過我的老師和同學(xué),沒有你們的幫助,我是不可能在四年的大學(xué)生活中收獲這么多的知識、快樂和友誼。在此我要特別感謝我的畢業(yè)設(shè)計的指導(dǎo)老師—陳曉川老師。在我剛開始做畢業(yè)設(shè)計的時候,當(dāng)時由于找工作以及對畢業(yè)設(shè)計的態(tài)度不認(rèn)真等等各種原因沒有與老師及時的溝通,導(dǎo)致我的畢業(yè)設(shè)計進(jìn)度十分的緩慢。在中期答辯之后的時間里,陳老師在百忙之中專門抽出寶貴的時間指導(dǎo)我的畢業(yè)設(shè)計,給我分析編寫程序的要點以及注意的事項。每次去跟老師交流我都能很快的找到程序中存在的不足和缺陷,然后加以修改。本以為看上去十分簡單的問題,但是實際操作的時候卻顯得很麻煩。比如當(dāng)初編寫從20個桶紗選取18個桶紗的程序的時候,本以為選出來的概率很小,需要換掉其中的10個桶紗再換上去10個,然后從30個桶紗中選取。但是實際編寫的時候發(fā)現(xiàn),20個桶紗選取18個裝箱有190種選取方法,概率還是很大的,并且如果換掉10個再換上去10個那么每次換下去的桶紗要進(jìn)行編號,這會使得程序編寫極為復(fù)雜,編寫桶紗編號也有諸多不便。和老師研究討論之后,我們放棄了之前的選取想法,直接編寫程序從20個桶紗中選取18個。程序編寫完成之后,進(jìn)行了動畫分析,發(fā)現(xiàn)每次都可以選出符合重量范圍的18箱桶紗。由此可見,實踐比理論更加重要。這次的畢業(yè)設(shè)計我感觸頗深,從翻譯外文文獻(xiàn)到搜集桶紗的相關(guān)信息、以及最后的Matlab 編寫程序和制作動畫都使我懂得了很多,也很好的鍛煉了自己分析和運(yùn)算的能力。這次畢業(yè)設(shè)計的成功完成,是離不開老師和同學(xué)對我的幫助的支持的。這次畢業(yè)設(shè)計也使我懂得了分析認(rèn)真數(shù)據(jù)、自己動手操作的重要性。它告訴了我做任何事情都要一步步慢慢來,做事情是沒有捷徑可走的,只有自己親自去實踐了,才能知道哪一種方法更好、更適合。就像剛開始我們都以為遺傳算法要優(yōu)于窮舉的算法一樣,但是實際操作之后才發(fā)現(xiàn),當(dāng)問題維度很小的時候,遺傳算法并不優(yōu)化,相反窮舉的算法要優(yōu)于遺傳算法。只有當(dāng)問題的維度足夠大的時候,遺傳算法才會優(yōu)于窮舉的方法。所以在今后我要養(yǎng)成自己動手、認(rèn)真實踐的習(xí)慣,做事情不能想當(dāng)然,只有自己動手實踐才能發(fā)現(xiàn)問題所在,找到解決的辦法,從而開始通往成功的大門。26附錄1正態(tài)分布算法的matlab程序%% 遺傳算法 優(yōu)化函數(shù)clc;close all;clear all;%清除變量% rand('seed',100);% 每個桶紗的重量為2.5公斤左右% 每箱裝18個桶紗% 要求裝箱后的重量范圍:45.1-45.5公斤% 畫桶紗 矩形代替h1=10;%桶紗高w1=7;%桶紗寬h2=3;% 傳感器高w2=9;% 傳感器寬N1=20;% 一次性稱的個數(shù)N2=10;% 新增個數(shù)x1 = linspace(0,50*N1);x2 = linspace(-1,50*N1+1);x011 = x1(1:N1/2);y011 = h2*ones(1,N1/2);x012 = x011 ;y012 = y011+20;
收藏