999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Job—shop調度求解的廣義蟻群算法

2017-04-08 21:31:08張宏國宮雪
哈爾濱理工大學學報 2017年1期

張宏國 宮雪

摘要:針對蟻群算法求解Job-shop調度問題,該算法考慮到利用析取圖來描述工件加工關系給算法帶來的復雜度,提出了一種廣義蟻群算法。在綜合考慮設備和工序關系約束的前提下,將信息素更新機制運用到求解Job-shop調度問題中,從而提高解的質量。為了提高搜索效率,根據蟻群算法的狀態轉移規則,對算法中參數的選擇進行了詳細的研究,設計了信息素更新策略。仿真實驗結果表明,廣義蟻群算法得到的解更接近最優解,該算法的收斂速度明顯高于其他算法的收斂速度。

關鍵詞:Job-shop調度問題;廣義蟻群算法;信息素更新機制

中圖分類號:TP391 文獻標志碼:A 文章編號:1007-2683(2017)01-0091-05

0 引言

現代制造業的市場競爭日益激烈,生產調度是現代制造業面臨的重要問題,它的解決有利于提高企業的生產效率與經濟。Job-shop調度問題(Job-shop scheduling problem,JSP)是生產調度中最基本的組合優化問題,在滿足工藝路線、交貨期與資源利用等約束條件下,合理安排工藝加工時間、先后順序及使用資源,可以減小生產周期,減少庫存,獲得產品時間或成本的優化。因此Job-shop調度問題的優化求解具有重要的理論價值和實際意義,是學術界與工程界共同關注的熱點。

目前求解Job-shop調度問題的主要方法是建立智能優化算法,以禁忌搜索、模擬退火、遺傳算法為代表。蟻群算法具有正反饋、較強的魯棒性、全局性、普遍性、優良的分布式并行計算機機制,易于與其他方法相結合等諸多優點。近年來,很多學者將蟻群算法逐漸地應用于Job-shop調度求解中。文提出了一種自適應蟻群算法(AACA),自適應地初始化信息素并限定其大小范圍以得到優解。文提出了最大最小蟻群算法,對信息素進行限制防止算法陷入局部最優。文提出了混合算法,將蟻群算法和遺傳算法相結合的ACSGA算法,充分利用它們的特性。

但上述文獻都是采用傳統蟻群算法中析取圖的方式對工件加工關系進行描述的。雖然析取圖是用來描述路徑關系比較好的視圖形式,但是車間生產中各工件之間的加工關系不同于旅行商問題(TSP)中的路徑選擇。特別是對于加工規模較大的Job-shop調度問題,每增加一個機器,析取圖就會增加條邊,則形成的析取圖結構會十分復雜,使得算法的復雜度增加,收斂速度變慢,影響解的質量。

本文提出一種廣義蟻群算法,將其用于Job-shop調度求解中。該算法利用一次調度就是螞蟻的一次爬行的思想,擺脫傳統的析取圖方式,把信息素更新機制應用到Job-shop調度問題中,這樣能有效的簡化算法復雜度,提高算法的收斂速度,優化解的質量。將信息素機制合理的應用在每一道工序上,在滿足約束條件和解的合法性的前提下,越早完成加工的工序和同一工件優先進行加工的工序上殘留的信息素濃度越高。

1 Job-shop調度問題分析

1.1 問題描述

n個工件在m臺機器上加工,每個工件有m道工序,加工時間已知,要求總完工時間最小。針對Job-shop調度問題的具體約束條件如下:

1)同一時刻同一臺機器只能加工一個工序;

2)前一道工序加工完畢后才能加工下一道工序;

3)每個工序在可用機器上的加工時間不同且已經確定;

4)允許工件在工序間等待,也允許機器在工件未到達前閑置;

5)工序一旦開始,不允許中斷。

1.2 問題建模

關于Job-shop調度問題,作如下定義:1)n:工件數目;

2)m:機器數目;

3)工件集J={J1,J2,…,Jn},1≤i≤n;

4)機器集M={M1,M2,…,Mm},1≤k≤m;

5)工序集Oi={Oi,1,Oi,2,…,Oi,m},其中Oi,j表示工件i的第j道工序;

6)Mi,j表示Oi,j占用的機器,Mi,j∈M;

7)Ti,j表示第i個工件第j道工序的加工時間;

8)Si,j表示第i個工件第j道工序的開始時間;

9)Ci,j表示第i個工件第j道工序的完工時間,Ci,j=Si,j+Ti,j。

因為工件完工要求所有工序加工完畢,并且每道工序開始加工時,它的緊前工序必須加工完畢,所以工件加工完畢的時間為各設備完工的最大時間值。因此在給定約束條件的前提下,調度的最短時間值是所求的結果,其數學描述為:

(1)

(2)

(3)

在上面式子中,式(1)表示目標函數,調度的整體完工時間最短。式(2)表示對于同一工件i來說,工序j+1的開始加工時間,一定會大于其緊前工序j的開始加工時間與連續加工時間之和。式(3)表示對于同一設備來說,同一設備在同一時刻只能加工一道工序。

2 Job-shop調度求解的廣義蟻群算法

2.1 廣義蟻群算法的總體思想

蟻群算法是一種基于反饋機制和并行機制的模擬進化算法,在大規模的調度問題中有其固有的優勢,但也容易出現搜索時間過長導致局部優解。傳統的蟻群算法用析取圖來求解JSP問題,析取圖被描述為一個有向圖,更直觀的展現便于分析。但對于規模大的JSP問題會加劇蟻群算法的缺陷,因需要優化的問題規模變大,那么得到相應的解就會增加迭代次數,增加了相應的計算時問,進而影響解的質量和算法的收斂速度。

廣義蟻群算法利用每一次的調度需要螞蟻爬行一次的思想,尋找的最優路徑就是螞蟻爬行所走的最短路徑。運用廣義蟻群算法求解時,一只螞蟻從一個工件的第一道工序開始爬行,根據轉移狀態規則對可調度的工序進行選擇。將選擇的工序標記為已操作工序,計算概率繼續選擇接下來要調度的工序,直到每臺機器未調度的工序集為空為止,即完成一次調度。

每次調度之后更新信息素,信息素的改變直接影響工序轉移概率的計算結果,因此信息素的更新要與工序的優先級緊密聯系。針對蟻群算法的特點,對信息素更新機制進行改進,以便更快找到工序在各機器上加工的一組優先序列。

2.2 信息素更新機制

1)狀態轉移規則

螞蟻根據信息素的濃度和工序問的啟發式信息,在其可選尚未調度的集合中選擇接下來的目標工序。選擇工序的時候需要判斷各工序在機器上的加工概率,狀態轉移概率公式如下:

(4)從式(4)可看出,狀態轉移概率主要根據t時刻工序i轉移到工序j上的信息素濃度τij(t)以及工序i到工序j的啟發式信息ηij(t)。其中,α和β是兩個參數,分別表示信息素的影響力和啟發式信息的相對重要性,AS表示可選尚未調度的集合。

2)信息素計算公式

在求解Job-shop調度問題時,螞蟻在遍歷過程中留下信息素,路徑上的信息素濃度隨著螞蟻每次遍歷進行更新。信息素濃度的強弱引導著后面的螞蟻對工序的選擇,某個路徑上螞蟻遍歷的次數越多,信息素濃度越大,后來者選擇該路徑遍歷的概率就越大。當螞蟻所走的路徑越短即調度結果越優時,該路徑的信息素濃度越大。

信息素更新機制是工件加工排序中的重中之重,因此本文對信息素的更新公式進行優化,會著重突出信息素的作用和影響,削弱啟發式信息的重要性。信息素濃度的變化受工序節點開始時間以及局部目標函數完成時間的影響,根據這一原則區分工序的優先級,優先安排信息素濃度大的工序。

在一次遍歷工序中,螞蟻遍歷工序的完成時間越早,信息素濃度越大。其次,開始時間越早的工序,信息素濃度越大,越優先安排。在傳統的信息素公式中,由于開始時間和完成時間都與信息素的大小有直接影響,所以在信息素濃度相同的情況下,確定不了工序的優先順序。因此對計算信息素濃度的公式加以完善,這樣會更快得到較優的加工序列。計算信息素的公式如下:

(5)

通過式(5)對信息素濃度的賦值,保證了越早完成加工的工件對應的工序上信息素濃度越大,并且同一工件的前道工序獲得的信息素濃度比后道工序獲得的信息素濃度大。

3)公式參數的分析

為了避免信息素過小而影響解的計算,故在式(5)的分母上加上系數γ以保證解的合理性公式,γ為信息素放大系數,取經驗值γ=∑Tij。同時為了保證工序的選擇不會因為開始時間而淹沒完工時間的影響,故在式(5)的分子中的完成時間上乘上一個常數z,適當擴大完工時間對信息素的影響,z為調整信息素濃度系數,z取經驗值。在算法的具體實行時通常取z=n,這樣通過對公式參數的設置更有效的保證了對調度周期的優化。

4)信息素更新方式

螞蟻完成一次調度后,更新當前路徑上的各工序信息素濃度,更新方式如下:

(6)

(7)式(6)中,△τkij(t,t+1)表示第k只螞蟻在(t,t+1)時刻從工序i移動到工序j這一過程的信息素增量。式(7)表示信息素的更新方式,其中ρ表示信息素揮發系數,信息素會隨著時間不斷揮發,ρ∈(0,1)。

2.3 算法步驟

符號表示:AS為可調度的工序集合,CS為完成調度的工序集合,GS為未調度的工序集合,IS為正在調度的工序集合。

步驟1:初始化AS={Oi1|i=1…n},CS=φ,GS={Oij|i=1…n,j=1…m},IS=φ。

步驟2:初始化螞蟻數目n,參數α,β,ρ,機器Mij的可用時刻為MTmij以及當前時刻STij。

步驟3:當調度解多次不再優化時,算法停止,輸出結果。否則重置并轉到步驟1。

步驟4:一共有k=1~n只螞蟻,當初始時刻t=0時,分別放在各工件的第一道工序O,1上,更新當前時刻STij=STk,1,各機器可用時刻MTmij=Tk,1,更新集合AS=AS-{Ok,1},GS=GS-{Ok,1},IS=IS+{Ok,1}。

步驟5:對于m個機器,如果機器可用時刻MTmij≤Tk,1,則機器空閑,進行下一個工序的選擇。如果AS中只有一個可調度工序,則直接將此工序放人IS;如果存在多個可調度工序,根據式(7)計算轉移概率,按輪盤賭的方式選擇接下來要加工的工序Oij;如果不存在直接跳過,轉步驟7。

步驟6:當螞蟻移動到所選工序Oij時,AS=AS-{Oij},GS=GS-{Oij},IS=IS+{Oij}。Oij完成調度之后,CS=CS+{Oij},當前時刻STij=STk,1+Tij,將接下來要調度的工序Oi,j+1放入AS中。

步驟7:判斷GS是否為空。如果GS=φ,說明螞蟻遍歷所有工序,完成了一次調度,執行步驟8;否則,轉步驟4。

步驟8:螞蟻完成一次調度后,記下調度序列,對該螞蟻當前路徑各工序信息素濃度進行更新。

步驟9:比較前后兩只螞蟻爬行所用的完成時間,選擇完成時間短的。每次調度后都選出較優的調度序列,對目標函數值進行更新并記錄調度序列。

步驟10:直到所有螞蟻都完成尋優,得到最優的完工時間及調度序列。

3 仿真實驗

3.1 實例驗證

根據上述理論,針對所描述的廣義蟻群算法進行模擬仿真實驗,并做出分析與評價,驗證算法的可行性。應用實例是6個待加工工件(J1,J2,…,J6)在6臺機器(M1,M2,…,M6)上加工的典型Job-shop調度問題。

1)參數確定:α=2,β=3,ρ=0.5;

2)實例中加工機器對應的加工工序如表1所示,加工時間如表2所示。

表2的加工時間與表1中的加工工序對應著,根據廣義蟻群算法得到最優調度序列,用6行6列的S矩陣表示。矩陣的每一行代表一個加工機器,矩陣的每一列表示工序的由開始到最后的加工順序。例如一行一列的(1,2)代表在M1上首先加工的是O12,第二行第二列的(4.1)代表在M2上第二個加工的是O41,依此類推。

為了更直觀的看出機器的加工狀態,根據S矩陣繪制甘特圖如圖1所示。圖中每個實線方塊代表一個加工工序Oij,方塊的長度代表此工序在此臺機器上的加工時間,方塊外的空白之處代表機器的空閑時間。從甘特圖可看出完成時間是55,也是已知的最優解,該算例證明了廣義蟻群算法的可行性和有效性。

3.2 算法評價

用廣義蟻群算法求解Job-shop調度問題的5個經典算例,采用Matlab軟件進行編程仿真。仿真結果與其他算法得到的結果進行對比,其他算法的結果由文獻給出,如表3所示。由表可知,與遺傳算法、傳統蟻群算法相比,廣義蟻群算法的結果更接近最優解,可見達到了優化的目的。

收斂曲線對比:圖2中縱坐標表示目標函數值,橫坐標表示循環次數,黑色曲線是本文提出的廣義蟻群算法的收斂曲線,紅色曲線是基本蟻群算法的收斂曲線,藍色曲線是遺傳算法的收斂曲線。從圖中可以看出本文的算法更優,不僅收斂的速度快而且得到的目標函數值更貼近最優解。

4 結論

根據蟻群算法求解Job-shop調度問題,考慮到用析取圖求解規模較大的調度問題時會非常復雜,而且缺少對蟻群算法并行特性的體現。本文從算法的調度方式、信息素的更新機制方面進行改進,提出了廣義蟻群算法。通過應用實例進行試驗,檢驗了該算法對實際問題的有效性,與傳統蟻群算法,遺傳算法進行對比,結果表明本文提出的廣義蟻群算法獲得的解更接近最優解,而且算法的收斂速度更快,這說明本文求解Job-shop調度問題的方法更有效。

(編輯:關毅)

主站蜘蛛池模板: 国产欧美专区在线观看| 婷婷六月天激情| 高清色本在线www| 国产1区2区在线观看| 四虎成人免费毛片| 久久99国产精品成人欧美| 成人福利免费在线观看| 日本AⅤ精品一区二区三区日| aa级毛片毛片免费观看久| 永久免费无码成人网站| 国产在线无码av完整版在线观看| 亚洲丝袜中文字幕| 青草免费在线观看| 亚洲av无码片一区二区三区| 在线免费亚洲无码视频| 国产在线精彩视频论坛| 91九色国产porny| 国产成人综合日韩精品无码首页| 色综合婷婷| 国精品91人妻无码一区二区三区| 71pao成人国产永久免费视频| 亚洲乱码视频| 亚洲欧洲日韩综合色天使| 影音先锋丝袜制服| 久久熟女AV| www.精品国产| 国产凹凸视频在线观看| 亚洲IV视频免费在线光看| 国产精品刺激对白在线| 婷婷色一二三区波多野衣| 特级aaaaaaaaa毛片免费视频| 久久96热在精品国产高清| 人妻无码一区二区视频| 欧美一级专区免费大片| 亚洲欧美另类久久久精品播放的| 999国产精品| 久久久久久尹人网香蕉| 亚洲中文制服丝袜欧美精品| 欧美第二区| h视频在线观看网站| 毛片手机在线看| 国产亚洲视频免费播放| 亚洲六月丁香六月婷婷蜜芽| 日韩东京热无码人妻| 欧洲熟妇精品视频| 国产青榴视频| 国产成人精品一区二区秒拍1o| 欧美国产日本高清不卡| 18禁高潮出水呻吟娇喘蜜芽 | 一本大道东京热无码av| 最新痴汉在线无码AV| 国模沟沟一区二区三区| 2020久久国产综合精品swag| 热99精品视频| 91精品福利自产拍在线观看| 亚洲综合久久成人AV| 日韩国产黄色网站| 最新精品国偷自产在线| 国产精品久久久久鬼色| 激情六月丁香婷婷四房播| 久久99热这里只有精品免费看| 国产99精品视频| 久久精品免费国产大片| 亚洲IV视频免费在线光看| 国产视频大全| 国产97公开成人免费视频| 国产视频a| 国产草草影院18成年视频| 亚洲天堂视频在线播放| 波多野结衣视频一区二区| 国产高清色视频免费看的网址| 亚洲综合18p| 日韩精品无码不卡无码| 午夜不卡福利| 欧美成人看片一区二区三区| 国产微拍一区二区三区四区| 国产aⅴ无码专区亚洲av综合网| 亚洲男人的天堂网| 成色7777精品在线| 亚洲伦理一区二区| 在线观看亚洲人成网站| 国产喷水视频|