亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        協同進化遺傳算法及在車間調度中的應用①

        2022-01-06 06:05:40周艷平王功明
        計算機系統(tǒng)應用 2021年10期
        關鍵詞:災變適應度交叉

        周艷平,王功明

        (青島科技大學 信息科學技術學院,青島 266061)

        遺傳算法(Genetic Algorithm,GA)是進化算法中產生最早、影響最大、應用最為廣泛的一種群智能優(yōu)化算法[1].但遺傳算法在理論和應用方面還有很多不足,如收斂速度慢,容易陷入局部最優(yōu)等問題.

        Ehrlich和Rave在研究植物和植食性動物的關系時提出了協同進化這一概念,近年來這一概念已經成為計算智能領域的一個研究熱點[2].由于協同進化的搜索能力強,越來越多的優(yōu)化算法采取了協同進化方式[3-5].協同進化研究的應用領域也在不斷擴展,在車間調度[6]、電力調度[7]、機器人路徑規(guī)劃[8]、交通規(guī)劃[9]等領域都得到了成功應用.

        生產調度通過對生產資源的合理安排,以縮短生產時間和成本,使資源能夠得到更有效的利用,在生產系統(tǒng)中扮演重要的角色.其應用領域十分廣泛,涵蓋工業(yè)、商業(yè)等方方面面.按主流的分類方法,生產調度可分為單機調度、并行機調度、流水車間調度、作業(yè)車間調度等.其中流水車間調度模型作為典型生產調度模型之一,是一個NP-hard問題[10].該問題主要是安排待加工工件在加工機器上的加工順序,最終求解得到的是一個最符合要求的工件加工順序.流水車間調度問題有很多的求解方法,其中包括精確方法、構造型方法、改進型方法等.精確方法計算量較大,一般適用于小規(guī)模問題.構造型方法通過一定的規(guī)則來構造問題的解,能夠快速構造解,但是解的質量較差.改進型算法從若干解出發(fā),通過對其鄰域不斷搜索和當前解的替換來改進解的質量,是解決流水車間調度問題的主要研究方向,如遺傳算法、協同進化算法等.作為車間調度的典型問題,流水車間調度問題得到了廣泛研究和應用[11].

        本文在遺傳算法和協同進化框架的基礎上,提出了一種自適應協同進化遺傳算法(Adaptive Co-evolutionary Genetic Algorithm,ACGA).與傳統(tǒng)算法相比,該算法通過兩個中間組的進化實現了優(yōu)質解組和劣質解組個體信息的交互,兼顧了種群內的自我進化和種群間的共同優(yōu)化; 同時引入了自適應策略,根據個體的進化情況采用了自適應變異因子及自適應災變幾率策略.通過函數優(yōu)化實驗驗證了ACGA算法在求解簡單問題方面的有效性.接著描述了流水車間調度模型,并且使用ACGA算法求解流水車間調度問題,通過與其他相關算法對該問題求解的對比實驗,驗證了ACGA算法求解流水車間調度問題的有效性.

        1 協同進化遺傳算法及函數優(yōu)化測試

        1.1 自適應協同進化遺傳算法

        協同進化遺傳算法的實質是對遺傳算法采用協同進化的方式進行優(yōu)化.遺傳算法的操作算子包括選擇、交叉和變異3種基本形式,構成了遺傳算法強大搜索能力的核心,是模擬自然選擇和遺傳過程中發(fā)生的繁殖、雜交和突變現象的主要載體[12].選擇因子是按照一定的規(guī)則選擇出更加符合要求的多個個體組成一個新的種群,常見的方法包括輪盤賭算法、最佳保留策略等.交叉因子是兩個個體互相交換部分染色體,最終得到兩個新個體,常見的方法有單點交叉和多點交叉等.變異是對單個個體的染色體按照一定的規(guī)則進行變更,最終得到一個新個體,常見方法有單點變異和多點變異等.其中交叉和變異操作會導致原個體部分染色體發(fā)生改變,可能產生沖突,需要進行沖突檢測.協同進化遺傳算法相比遺傳算法在一定程度上增強了優(yōu)化的效果,但仍存在搜索速度慢、經常找不到全局最優(yōu)解的問題.

        ACGA算法結合了遺傳算法和協同進化算法,在此基礎上引入自適應變異因子以及災變機制達到自適應的目的,算法流程圖如圖1所示.

        圖1 ACGA算法流程圖

        首先針對收斂速度過慢的問題,ACGA算法采取操作協同.對原始種群根據適應度值進行分組,考慮不同組內各個個體的優(yōu)良情況以及個體差異情況,優(yōu)質解組采用多點交叉和單點變異,盡可能的保持更多優(yōu)良個體; 劣質解組采用多點交叉搭配多點變異,產生更多新個體; 中間組采用單點交叉配合多點變異,完成組與組之間的交叉和變異操作.

        針對容易陷入局部最優(yōu)的問題.在傳統(tǒng)算法中,變異率通常采取固定數值.但變異率對于種群優(yōu)化起著重要作用,不同階段甚至于不同種群都需要合適的變異率,變異率較大時,容易產生新個體,跳出局部最優(yōu);變異率較小時容易保留較優(yōu)個體.局部最優(yōu)問題正是由于進化到后期時,變異率較低,無法產生新個體,使得種群內個體的多樣性不足.為解決這個問題,考慮采用自適應變異率來動態(tài)確定[13],隨著迭代次數的增加,變異率也在動態(tài)改變,來適應種群的進化.本文根據種群的要求提出了一種自適應變異因子:

        其中,F0為變異因子,Gm為最大進化代數,為當前進化代數.

        在進化初期時,λ趨于0,此時變異因子趨近F0,種群按照正常的變異率進行種群的進化.當進化到后期時,當前迭代次數無限接近于最大迭代次數,此時λ趨于1,變異因子趨近于2F0,變異率增大到原來的2倍.變異率的增加也意味著可以產生更多的新個體以此來增強種群的多樣性,而陷入局部最優(yōu)正是由于種群內個體的多樣性不足造成的.由此可見,該變異因子對于緩解局部最優(yōu)問題起到了一定的效果.

        但僅僅通過調整變異率來增強種群多樣性的效果是十分有限的.當初始變異率F0較低時,2F0雖然一定程度上有了提高,但程度還不夠;初始變異率F0較高時,2F0可能會過大,導致搜索變?yōu)殡S機搜索,這樣就不能起到逐代進化的作用.為應對以上情況,本文在引入自適應變異因子的同時引入了災變機制來進行改善.災變是生物進化中十分重要的現象,每一次災變的過程都是生物進化過程中的一個巨大的飛躍,不僅打破了舊基因的壟斷,增加了生物的多樣性,同時破壞性的改變并沒有消滅之前進化的成果,反而是在已有的基礎上大大提高了進化程度[14].傳統(tǒng)災變只再次生產新的個體,并未考慮迭代的次數、個體的優(yōu)良情況.在進化的前期,迭代次數較小,此時需要較大的災變幾率來增強種群多樣性;當進化到后期,種群中的個體較優(yōu),如果災變幾率過大容易喪失種群進化的成果.因此災變幾率最好動態(tài)適應進化的過程.同時,傳統(tǒng)災變并未考慮個體的優(yōu)良情況,導致優(yōu)秀個體和較差個體同樣進行災變,破壞了種群的優(yōu)良基因.因此需要對兩種個體分別處理,優(yōu)秀個體應保持較小的災變幾率,保留優(yōu)良信息,較差個體保持較大災變幾率,產生新個體增加多樣性.為實現上面兩種情況,本文采用了葉彥斐等人[15]提出的一種動態(tài)自適應概率來替換種群中的個體,公式如下:

        其中,i為當前進化代數;N為最大進化代數;Pz為災變概率;kz為常數;tmax為當前種群最大適應度值;ta為當前種群平均適應度值;tz為災變個體適應度值.

        如式(2)、式(3)所示,首先該自適應概率考慮到了迭代次數的影響,隨著迭代次數的增大,u逐漸由0增大到π/2,相應的余弦函數從1到0,使得概率隨迭代次數的增大而逐漸減小,防止后期災變幾率過大,破壞優(yōu)良個體.其次,式(3)考慮到個體的優(yōu)良情況,當個體適應度低于平均值,說明個體較差,此時采取固定的較高災變幾率產生新個體,反之,優(yōu)良個體采取了較小的動態(tài)災變幾率,防止優(yōu)良基因被破壞.同時加入精英保留策略,保證種群中的最優(yōu)個體不會被消滅,指引種群向正確的方向進化.

        災變機制的觸發(fā)條件也格外重要,本文的災變觸發(fā)條件設置為全局最優(yōu)值連續(xù)3次相同,只有在這種情況下才觸發(fā)災變機制,否則只采用自適應變異因子.

        ACGA算法的步驟如下:

        1)初始化進化參數,包括最大迭代次數,種群規(guī)模以及3種因子的具體實現形式;

        2)隨機生成一個初始種群,計算種群中個體的適應度值;

        3)對種群內的個體根據適應度值由小到大進行排序,取適應度值較小那部分的前2/3個體組成優(yōu)質解組,取適應度值較大部分的前2/3個體組成劣質解組,將兩部分剩下的1/3部分合并成一個組,命名為中間組;

        4)對優(yōu)質解組采用單點交叉以及單點變異,交叉概率設為0.8,變異概率設為0.03,盡可能的保留優(yōu)質個體; 對劣質解組采用單點交叉以及多點變異,交叉概率設為0.95,變異概率設為0.1,盡可能的產生更多新的個體; 對中間組采用多點交叉以及單點變異,交叉概率設為0.9,變異概率設為0.07;

        5)交叉變異之后得到一個臨時種群,計算臨時種群中各個個體的適應度值,當臨時種群中相對應個體的適應度值小于當前種群中的個體時,就使用臨時種群中的這個個體更新當前種群,否則將保持當前種群中的個體;

        6)計算最優(yōu)解連續(xù)相同的次數,若次數小于3,則根據式(1)計算當前的變異因子; 若次數大于等于3次時,根據災變機制進行災變;

        7)判斷是否滿足終止迭代條件,若是,輸出全局最優(yōu)解以及最優(yōu)個體; 若否,返回步驟3)繼續(xù)進行迭代進化.

        1.2 函數優(yōu)化測試

        為了檢驗ACGA算法在優(yōu)化求解方面的性能,將該算法與GA算法進行了對比,分別采用ACGA算法和GA算法對以下函數進行求解.

        該目標函數是傳統(tǒng)的多峰函數,在N維可行域中有2N?1局部最優(yōu)解,其中極小值為0.為了保證實驗結果的準確性,2種算法相同參數的數值必須保證一致,包括初始化方法為隨機初始化,迭代次數為100,種群規(guī)模為90,維度為30等.2種算法的性能對比圖如圖2所示.

        圖2 ACGA算法和GA算法的性能比較

        從圖2可以看出,在迭代次數相同的情況下ACGA算法的求解結果優(yōu)于GA算法,更加接近全局最優(yōu)解;在求解結果相同的情況下,ACGA算法的迭代次數也明顯小于GA算法的迭代次數.ACGA算法無論在收斂速度還是在求解精度上的表現都要優(yōu)于GA算法,展現了ACGA算法的優(yōu)良性能.

        2 ACGA算法求解流水車間調度問題

        2.1 流水車間調度問題模型

        流水車間調度問題主要是研究n個工件在m臺機器上進行流水加工,作為最簡單的車間調度模型,該模型要求每個工件都有m道工序,同時每臺機器只能加工一道工序,這就意味著每個工件都要經過m臺機器的加工; 每個工件在各個機器上的加工順序相同,各個工件在各機器上的加工時間和準備時間已知,優(yōu)化目標為最小化最大完工時間.

        令Tik表示工件i在機器k上的完工時間,tik表示工件i在機器k上的加工時間,且tik>0,i,j=1,2,…,n,k=1,2,…,m.該流水車間調度問題的目標函數[16]為:

        2.2 求解步驟

        1)初始化算法求解參數,如種群規(guī)模、迭代次數、3種因子的具體實現形式;

        2)根據流水車間調度問題,采用特定的編碼以及解碼方式隨機生成一個可以進化的初始種群,根據問題模型計算種群內各個個體的適應度值;

        3)根據適應度值由低到高對種群內的個體進行排序,將種群平均分成兩部分,并且從兩部分中各取該部分適應度值較高的1/3個體組成一個中間組,用來進行種群間的交叉變異,同時將剩下的兩部分中適應度值較低種群的取為優(yōu)質解組,適應度值較高的種群取為劣質解組;

        4)根據不同組的個體特點采取不同的操作,優(yōu)質解組采用多點交叉以及單點變異; 劣質解組采用多點交叉和多點變異; 中間組采用單點交叉和多點變異; 變異因子選取自適應變異因子;

        5)操作后得到臨時一個種群,計算該種群中各個個體的適應度值,并根據適應度值使用臨時種群對原種群進行更新操作;

        6)計算全局最優(yōu)解連續(xù)相同的次數,若次數少于3次,根據式(1)計算自適應變異率,并更新之前的變異率; 若次數不少于3次,計算種群的平均適應度,根據式(2)和式(3)分情況計算除最優(yōu)個體之外的每個個體的災變幾率,將需要災變的個體根據編碼方式隨機初始化,使用災變最新產生的個體貪婪替換原個體;

        7)判斷是否滿足終止條件,若是,則將得到的全局最優(yōu)解進行解碼,生成最優(yōu)的調度方案; 若否,則返回步驟3,繼續(xù)進行.

        2.3 仿真實驗

        2.3.1 實驗準備

        程序運行平臺為Windows 10操作系統(tǒng)下的Matlab軟件.輸入的種群規(guī)模為90,最大迭代次數為800,初始災變概率kz為0.2.優(yōu)質解組的交叉概率為0.8初始變異概率為0.03; 劣質解組的交叉概率為0.95,初始變異概率為0.1; 中間組的交叉概率為0.9,初始變異概率為0.07.編碼采取隨機初始化方法.數據集選擇TA類[17]車間調度問題,該數據集是由Taillard等給出,包括了12個不同規(guī)模的120個典型問題,本次實驗選取3種規(guī)模的數據集,分別為20×5、50×5以及100×5,在每種規(guī)模的數據集下選取一個典型問題,通過這3個規(guī)模數據集下的3個典型問題來驗證算法.

        2.3.2 實驗結果與分析

        分別采用ACGA算法、MDE算法[13]以及GA算法對上述3種規(guī)模的數據集進行流水車間調度問題的求解,以最小化最大完工時間為優(yōu)化目標.在實驗過程中,為使結果更加精準,避免實驗偶然性,每種算法在每個數據集分別運行10次.實驗結果的參考指標主要為10次結果的平均值以及10次結果的方差,均值和方差越小越好.均值越小,說明算法優(yōu)化的精度越高;方差越小說明算法的穩(wěn)定性越高.

        仿真結果如表1所示.首先看10次結果的平均值,在同等規(guī)模、相同問題的情況下,ACGA算法在每一種問題上都可以得到比MDE算法和GA算法更小的完工時間,而GA算法和MDE算法相比,GA算法更適合較小規(guī)模,MDE算法更適合較大規(guī)模; 從10次結果的最優(yōu)值來看,ACGA算法在每種問題下的最優(yōu)值也小于MDE算法GA算法,而MDE算法與GA算法的對比情況與均值類似; 從10次結果的方差來看,ACGA算法的方差明顯要小于GA算法和MDE算法,MDE算法在小規(guī)模情況下比GA算法穩(wěn)定,較大規(guī)模下的穩(wěn)定性不如GA算法,從這3個指標可以看出ACGA算法的求解效果更加穩(wěn)定.由此可以得出結論,ACGA算法在求解流水車間調度問題方面與GA算法和MDE算法相比,求解結果更加精準,求解效果更加穩(wěn)定,精確性和穩(wěn)定性都是最佳的.

        表1 3種算法對不同規(guī)模調度集的仿真結果

        圖3給出了使用ACGA算法對數據規(guī)模為20×5進行流水車間調度得到的甘特圖.

        圖3 ACGA算法對規(guī)模為20×5調度及優(yōu)化的甘特圖

        3 結論與展望

        本文提出了自適應協同進化遺傳算法,該算法通過引入自適應策略、災變機制以及協同進化思想,適當加快收斂速度,提高優(yōu)化效果.通過函數優(yōu)化實驗,驗證了ACGA算法的可行性和有效性.用ACGA算法求解以最小化最大完工時間為指標的流水車間調度問題,通過與GA算法和MDE算法對比,取得了滿意的調度效果,具有一定的應用價值.接下來的研究工作將著重于研究ACGA算法使用不同變異因子及災變因子的優(yōu)化效果,以及ACGA算法在其它車間調度問題中的應用.

        猜你喜歡
        災變適應度交叉
        改進的自適應復制、交叉和突變遺傳算法
        計算機仿真(2022年8期)2022-09-28 09:53:02
        智慧、魅力,未有的補充以及“災變”
        雨花(2019年9期)2019-11-20 09:26:59
        “六法”巧解分式方程
        灰災變多項式模型的小麥產量預測*
        連一連
        基于空調導風板成型工藝的Kriging模型適應度研究
        中國塑料(2016年11期)2016-04-16 05:26:02
        基于Fast-ICA的Wigner-Ville分布交叉項消除方法
        計算機工程(2015年8期)2015-07-03 12:19:54
        南充市主要糧油作物重大病蟲害發(fā)生流行及災變規(guī)律研究
        雙線性時頻分布交叉項提取及損傷識別應用
        少數民族大學生文化適應度調查
        三上悠亚av影院在线看| 中文字幕隔壁人妻欲求不满| 精品人妻大屁股白浆无码| 99精品国产99久久久久久97 | 亚洲精品熟女av影院| 国产av无码专区亚洲av果冻传媒| 少妇下蹲露大唇无遮挡| 国产精品99久久久久久98AV| 午夜av福利亚洲写真集| 日本在线观看一区二区三| 男女啪啪无遮挡免费网站| 亚洲AV永久天堂在线观看 | 91久久国产香蕉视频| 少妇仑乱a毛片| 在线不卡av天堂| 99久久精品国产一区色| 多毛小伙内射老太婆| 欧美成人片一区二区三区 | 国产一区二区三区资源在线观看 | 亚洲美女自拍偷拍视频| 精品丰满人妻无套内射| 国产在线网址| 风流少妇一区二区三区91| 蜜桃视频一区二区在线观看| 黑人巨大白妞出浆| 亚洲成AV人久久| 手机在线观看av资源| 米奇7777狠狠狠狠视频影院| 99福利网| 国产风骚主播视频一区二区| 国产猛烈高潮尖叫视频免费| 97无码人妻福利免费公开在线视频| AV中文码一区二区三区| 日本黑人亚洲一区二区| 亚洲v欧美v国产v在线观看| 免费精品美女久久久久久久久久| 国产中文字幕亚洲国产| 精品国产性色无码av网站| h在线国产| 精品国产日产av在线| 99热在线观看|