本發明涉及作業車間調度領域,具體地涉及用算法求解作業車間調度問題。
背景技術:
:作業車間調度問題(Job-ShopSchedulingProblem,JSP)是制造執行系統研究的核心和重點之一,它的研究不僅具有重大的現實意義,而且具有深遠的理論意義。JSP就是根據產品制造需求合理分配資源,進而達到合理利用產品制造資源、提高企業經濟效益的目的。JSP是產品制造行業中共存的問題,它與計算機集成制造系統(ComputerIntegratedManufacturingSystems,CIMS)的工廠管理、產品制造層次緊密相關,是CIMS領域中研究的重要課題。JSP是一個典型的NP-hard問題,它的研究必然會對NP問題的研究起到有意義的影響。在過去的幾十年,各種算法被應用來解決作業車間調度問題。傳統的,一般都采用最優化方法和近似方法來解決作業車間調度方案的自動生成問題。最優化方法包括枚舉法和數學規劃技術。近似法通常使用分支定界法、優先規則、啟發式方法、迭代局部搜索算法和進化算法。粒子群算法(PSO)是一種智能算法,該算法最初是受到鳥群活動規律的啟發,利用群體對個體信息的共享使整個群體的運動在問題求解空間中產生從無序到有序的演化過程,從而獲得最優解。但是,粒子群算法對離散的優化問題處理不佳,且容易陷入局部最優。技術實現要素:針對現有技術中存在的上述不足,本發明要解決的技術問題是提供一種基于均值偏移算法和禁忌搜索算法的改進粒子群算法。本發明的目的則是克服現有技術中存在的:粒子群算法容易陷入局部最優;粒子群算法僅對當前粒子群信息進行處理,沒有處理一些粒子信息變動的異常情況;粒子群算法僅對當前最優解進行擾動,縮小了搜索范圍的問題。本發明為實現上述目的所采用的技術方案是:一種改進的粒子群算法求解作業車間調度問題,該算法的步驟如下:步驟1:初始化算法參數:包括PSO粒子的數目、位置和速度等信息。步驟2:獲得初始最優解:采用加權法平均法設置初始粒子的優先級,得到初始最優解。步驟2.1:給每個粒子編號;步驟2.2:統計所有粒子的速度的和,用每個粒子的速度除速度和,得到每個粒子的優先權值;步驟2.3:按照優先權大小決定粒子的先后順序,優先權值大的工件優先執行。步驟3:獲得傳統當前最優解:用粒子群算法更新粒子信息,得到當前傳統粒子群算法當前最優解。步驟4:預測當前最優解:加入一種改進的均值偏移算法,用均值偏移算法在初始最優解的基礎上對每個粒子的位置和整體位置進行預測。步驟4.1:初始化粒子位置信息。步驟4.2:確定當前粒子群中心。步驟4.3:計算粒子群權值矩陣。步驟4.4:計算粒子權值。步驟4.5:用高低點法預測下一步粒子的位置和速度。步驟4.6:計算相似函數。步驟4.7:計算均值偏移向量,由均值偏移向量確定粒子群最優預測位置和速度。步驟4.8:循環執行步驟4.2到步驟4.7,直到滿足退出條件。步驟5:初選當前最優解:用粒子群算法的評判標準,將預測的最優位置和速度與群體以往最好位置和速度做比較,將更好的位置信息作為當前最好的位置信息。步驟6:確定當前最優解:執行禁忌搜索算法,找到當前最優解。步驟6.1:給定一個當前解和一種領域結構,然后在當前領域結構內確定若干候選解。步驟6.2:若其最佳候選解對應的目標函數優于已保留的最好解,則忽視其禁忌特性,用其代表當前解和最好解,并將相應的特性加入到禁忌表中,同時對禁忌表進行修改;步驟6.3:若不存在上述候選解,則在候選解中選擇非禁忌的最好解作為新的當前解,而無視它與當前解的優劣,同時將解的響應特性加入禁忌表中,同時修改禁忌表;步驟6.4:循環步驟6.1到6.3,直到滿足停止準則;步驟7:循環執行步驟2到步驟6,直到達到停止條件。本發明的有益效果是:1.利用加權值的方式設置粒子優先級,避免了隨機產生初始解帶來的不確定性推理,減少盲目搜索時間。2.對均值偏移算法做一點改進,然后利用一種改進的均值偏移算法對粒子位置信息預測,降低了部分異常變動粒子對整個算法的干擾。3.增加禁忌搜索算法避免搜索陷入局部最優;附圖說明圖1為本發明的算法基本流程圖。圖2為改進的均值偏移算法流程圖。圖3為禁忌搜索算法流程圖。圖4為基本粒子群算法流程圖。具體實施方式由于傳統的粒子群算法搜索速度快,效率高,算法簡單,適合實時處理。但是對離散的優化問題處理不佳,容易陷入局部最優。所以本算法為了解決這些問題,首先,在傳統PSO隨機產生初始解的方法上進行了改進:引進加權平均法設置粒子的初始解;其次,對均值偏移算法做改進:運用改進的均值偏移算法對初始解進行下一步狀態的預測,將預測解與當前最優解做比較,將其中更好的解作為當前最優解,解決了粒子群算法中沒有考慮到的粒子信息異常變動的情況;再次,引入禁忌搜索算法對粒子信息進行進一步更新,正好解決了粒子群算法容易陷入局部最優的問題。為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖1到4對本發明進一步詳細說明。一、作業車間調度一個JSP可以描述如下:假設存在n個作業需要在m臺機器上調度。首先確定每個工件的具體操作和給出每個序列的數據。本發明預先建立了一些假設:(1)每個作業的處理序列已被確定;(2)各機器至多在同一時刻處理一個作業,并且一旦開始工作就不能被終止(3)作業相互獨立,即每個作業可以以任何順序進行處理;(4)所有作業都是在時刻0開始等待被處理。為了說明本發明提出的解決JSP問題的算法,設計了以下數學模型來展現其具體實現過程(表1為JSP模型符號定義):n作業數量m機器數量j作業索引p作業操作索引k機器索引l機器操作索引Mk第k臺機器Nj第j個作業Ojpkl第j個作業操作p/第k臺機器操作lSjpklOjpkl開始時間CjpklOjpkl完成時間PjpklOjpkl處理時間Boperation相鄰操作緩沖時間表1(1)建立0-1規劃模型:(2)約束函數:Sj(p+1)k(l+1)=Max(Cjpk'l',Cj'p'kl)(3)Pjpkl=Cjpkl-Sjpkl(4)Pjpkl≥0(5)Cjpkl≥Sjpkl(6)Sj(p+1)kl-Cjpk'l'=BjBj∈(0,∞)(7)Sjpk(l+1)-Cj'p'kl=BkBk∈(0,∞)(8)目標函數:MakeSpan=Min(Max(Cjpkl))(9)約束(1)和(2)總結了在所有情況下同一時刻機器數量以及處理作業滿足的限制。約束(3)意味著作業開始操作之前有可能存在等待時間。在這種情況下,機器Mk上Nj的開始時間不超過作業Nj的完成時間。約束(4)、(5)和(6)確保處理時間的準確度。約束(7)和(8)表明,同一臺機器上兩個操作之間的等待時間可以是任何長度。二、算法的關鍵步驟說明假設在一個D維搜索空間和N個粒子組成的粒子群中尋找空間最優解。每個粒子都有其獨特的速度和位置信息。在第t次迭代中,粒子的速度記為粒子的位置記為局部最佳位置和全局最佳位置分別記為和算法具體流程如圖1所示,結合圖1,以下是算法的具體實現過程和相應算法模型。1、所述步驟2獲得初始最優解:采用加權法平均法設置初始粒子的優先級,得到初始最優解,加權平均法模型如下:(1)給每個粒子隨機編號。(2)計算粒子初始解的優先級:(3)獲得初始最優解:按照優先級大小進行排序,然后按排好序的序列先后順序執行作業。2、所述步驟3獲得傳統當前最優解,結合圖4,描述如下:在每一步中粒子根據下述公式更新:t代表迭代數量,ω,c1,c2是常量,影響最優解的質量和速度。r1,r2是(0,1)之間均勻分布的隨機數。終止迭代的標準由是否到達最大迭代次數或設計的Pg適應度值決定。3、所述步驟4改進的均值偏移算法,結合圖2,其各步驟的具體計算方式如下:(1)粒子的速度記為粒子的位置記為預測局部最佳位置和預測全局最佳位置分別記為和(2)確定當前中心粒子:規定速度最密點為速度中心粒子,位置最密點為位置中心粒子,速度中心和位置中心分別記為和(3)計算權值矩陣:通過迭代的方式計算每個粒子到中心點的距離則權值函數wij=1-dij/h,其中,h=tmax,tmax為時間期限。歸一化系數(4)計算粒子權值:粒子權值直方圖是為了統計每個粒子點占的權重。具體計算過程如下:首先將車間生產調度空間抽象為RGB顏色空間,將RGB顏色空間量化為16×16×16的區間bins,然后通過式子T=256×r+16×g+b計算每個粒子紅色、綠色、藍色分量所占比重,再次由式子計算直方圖統計中粒子總的權重。最后將權重值歸一化既可以得到目標權值。(5)利用高低點法來預測粒子速度和位置的走向:計算公式為:其中,b代表上一次迭代得到的位置信息參數依一定比率位置信息參數變動的部分,即:(6)用上述(2)的方法確定預測粒子群中心點(7)計算相似函數值:本發明使用hattachyarya系數作為相似性函數,其定義為:它的值在0—1之間。兩個模型的相似度跟的值成正比,即的值越大,表示兩個模型越相似,在JSP中則表示預測值與實際值越相近。(8)均值偏移向量的計算:目標定位,就是尋找使得相似度函數值達到最大的點。從這前一幀的中心位置y0開始尋找最優匹配的目標。相似度函數為:其中,令由此,可以得到:Mh,G(v)是目標中心從起始點v0向v移動的向量。(9)比較由高低點法和均值偏移向量預測出來的值,將更好的那組值作為最優預測值。4、所述步驟5將預測的最優位置和速度與群體以往最好位置和速度做比較,將更好的位置信息作為當前最好的位置信息,具體表述為:如果預測的最優解比原來的最優解更好,則把預測的最優解當作最優解;否則,最優解不變。上述結合附圖只是對該算法的描述,并不因此限定本發明,本發明的保護范圍依據權利要求書的內容確定。當前第1頁1 2 3