本發(fā)明屬于機(jī)械再制造技術(shù)領(lǐng)域,涉及再制造系統(tǒng)緩沖區(qū)分配方法,尤其涉及一種再制造系統(tǒng)多目標(biāo)緩沖區(qū)分配方法。
背景技術(shù):
制造業(yè)是國民經(jīng)濟(jì)的主體,是立國之本、興國之器、強(qiáng)國之基。在過去的一個(gè)世紀(jì),制造業(yè)在為人類帶來了前所未有的財(cái)富的同時(shí),也消耗了大量的能源、資源并且成為污染環(huán)境的重要源頭。因此,再制造應(yīng)運(yùn)而生。再制造是把到達(dá)使用壽命或即將被拋棄的產(chǎn)品通過修復(fù)和技術(shù)改造使其達(dá)到甚至超過原型產(chǎn)品性能的加工過程。再制造是物質(zhì)循環(huán)利用的有效途徑,是循環(huán)經(jīng)濟(jì)中再利用原則的具體體現(xiàn),充分體現(xiàn)出了節(jié)能減排和環(huán)境友好的理念。
與傳統(tǒng)制造系統(tǒng)不同的是,由于回收產(chǎn)品質(zhì)量的不確定性,再制造系統(tǒng)的生產(chǎn)過程存在一系列的不確定性,導(dǎo)致再制造系統(tǒng)的生產(chǎn)運(yùn)營管理更加復(fù)雜,對(duì)系統(tǒng)的性能優(yōu)化提出了更高要求。生產(chǎn)過程具有以下類型的不確定性:回收產(chǎn)品到達(dá)時(shí)間和數(shù)量不確定、回收產(chǎn)品可再制造率的不確定、回收產(chǎn)品再制造時(shí)間加工時(shí)間的不確定、回收產(chǎn)品再制造加工工序的不確定、回收產(chǎn)品再制造數(shù)量和市場(chǎng)需求的不確定。
為實(shí)現(xiàn)生產(chǎn)利潤的最大化,需要考慮回收產(chǎn)品的數(shù)量與再制造產(chǎn)品需求數(shù)量的平衡。因此,在生產(chǎn)管理上需要對(duì)回收產(chǎn)品的庫存量和市場(chǎng)需求進(jìn)行平衡。
在制造系統(tǒng)中,緩沖區(qū)是為保證生產(chǎn)線盡可能地處于流動(dòng)狀態(tài)而設(shè)置的,用來放置工件的存儲(chǔ)區(qū)域。盡管緩沖區(qū)可以有效緩解不確定性對(duì)系統(tǒng)的沖擊,但設(shè)定緩沖區(qū)需要額外的資金和空間投入、成本較高。因此,緩沖區(qū)看作整體時(shí),如何使一定數(shù)量的緩沖區(qū)容量發(fā)揮最大效用,該問題被稱為緩沖區(qū)分配問題。
目前,對(duì)再制造系統(tǒng)的緩沖區(qū)分配研究的文獻(xiàn)并不多。Aksoy和Gupta首次以再制造系統(tǒng)為對(duì)象,選取再制造成本為目標(biāo),研究緩沖區(qū)分配問題。假設(shè)緩沖區(qū)有限且機(jī)器不可靠,利用排隊(duì)論-分解-擴(kuò)展方法求解系統(tǒng)性能,并提出一種近似緩沖區(qū)分配優(yōu)化方法(Near Optimal Buffer Allocation Plan,NOBAP)。實(shí)驗(yàn)結(jié)果證明:NOBAP方法的性能具有很好的一貫性、魯棒性和尋優(yōu)性。Su在Aksoy和Gupta研究的基礎(chǔ)上,采用質(zhì)量分級(jí)將回收件分為高、低兩個(gè)等級(jí)并規(guī)定高等級(jí)的回收件可以優(yōu)先加工,實(shí)驗(yàn)證明:質(zhì)量分級(jí)和設(shè)立優(yōu)先級(jí)可以顯著提高系統(tǒng)性能。但以上研究中未考慮進(jìn)“返工”、“舍棄”、故障對(duì)緩沖區(qū)分配的影響,并且選擇成本作為單個(gè)目標(biāo),無法直觀觀察到緩沖區(qū)配置對(duì)系統(tǒng)性能的影響。此外,NOBAP方法在優(yōu)化緩沖區(qū)配置時(shí),需要利用系統(tǒng)狀態(tài)數(shù)據(jù),盡管尋優(yōu)效果良好但耗時(shí)較長。
當(dāng)前緩沖區(qū)分配問題的研究有三大研究方向:(1)多目標(biāo)緩沖區(qū)分配;(2)混合求解算法;(3)決策支持系統(tǒng)。這三大方向分別對(duì)應(yīng)于緩沖區(qū)分配問題的三大解決要點(diǎn):(1)更加全面直觀地表現(xiàn)出系統(tǒng)性能;(2)更加快速、有效、魯棒、適應(yīng)性強(qiáng)地求解緩沖區(qū)容量分配這一NP-hard問題;(3)更加有力地推進(jìn)緩沖區(qū)分配方法的實(shí)際應(yīng)用。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:本發(fā)明提供一種再制造系統(tǒng)多目標(biāo)緩沖區(qū)分配方法,可以解決再制造系統(tǒng)多目標(biāo)緩沖區(qū)分配的問題,在收斂性、多樣性以及運(yùn)行時(shí)間方面效果良好。
技術(shù)方案:(1)建立再制造系統(tǒng)模型,所述再制造系統(tǒng)模型包括再制造生產(chǎn)線、庫存及緩沖區(qū),設(shè)再制造生產(chǎn)線包括M個(gè)工位,一個(gè)工位包括一臺(tái)機(jī)器,所述緩沖區(qū)分為M個(gè),緩沖區(qū)與所述工位相對(duì)應(yīng)分配,設(shè)相應(yīng)工位的緩沖區(qū)容量配置為Ki≥0,所述庫存包括回收件庫存、再制造件庫存及廢棄站庫存,設(shè)回收件庫存為W0,再制造件庫存為WM+1,廢棄站庫存為WM+2,建立回收件在系統(tǒng)中的隨機(jī)路線,并用矩陣R表示:
式中,rij表示從Wi到Wj路徑的概率;其中,rii表示工位i的返工概率;ri(M+2)表示工位i的舍棄概率;
(2)將再制造生產(chǎn)線分解為M個(gè)獨(dú)立節(jié)點(diǎn),所述獨(dú)立節(jié)點(diǎn)包括工位和對(duì)應(yīng)緩沖區(qū),在節(jié)點(diǎn)前添加一個(gè)虛擬節(jié)點(diǎn)構(gòu)成擴(kuò)展節(jié)點(diǎn),設(shè)節(jié)點(diǎn)的容量為Ki+1,當(dāng)回收件到達(dá)擴(kuò)展節(jié)點(diǎn)時(shí),檢測(cè)節(jié)點(diǎn)此時(shí)包含的回收件數(shù)量,若回收件數(shù)量小于Ki+1,則回收件進(jìn)入緩沖區(qū);若回收件數(shù)量不小于Ki+1,則回收件無法進(jìn)入緩沖區(qū)轉(zhuǎn)而進(jìn)入虛擬節(jié)點(diǎn)等待,連續(xù)檢測(cè)節(jié)點(diǎn),緩沖區(qū)出現(xiàn)空位時(shí),虛擬節(jié)點(diǎn)中的回收件就進(jìn)入緩沖區(qū);
(3)由步驟(2)得緩沖區(qū)的狀態(tài)共有Ki+2種,機(jī)器狀態(tài)有正常和故障兩種,但不存在機(jī)器故障且緩沖區(qū)有0個(gè)回收件的狀態(tài),則計(jì)算節(jié)點(diǎn)狀態(tài)共有2Ki+3個(gè),利用二分法求各節(jié)點(diǎn)狀態(tài)的概率;
(4)根據(jù)回收件達(dá)到節(jié)點(diǎn)的概率,利用牛頓法求解節(jié)點(diǎn)到達(dá)率和產(chǎn)出率,如果牛頓法在迭代到達(dá)一定次數(shù)后,仍沒有收斂,則選擇利用二分法繼續(xù)求解,在牛頓法中出現(xiàn)的最小區(qū)間端點(diǎn)作為初始端點(diǎn);
(5)根據(jù)系統(tǒng)產(chǎn)出率、在制品庫存以及舍棄率,求解系統(tǒng)最大化產(chǎn)出率和最小化再制造件庫存;
(6)將禁忌搜索與多目標(biāo)遺傳算法-NSGAII相結(jié)合,形成多目標(biāo)算法TS-NSGA II混合算法得到緩沖區(qū)的性能指標(biāo)。
進(jìn)一步的,步驟(1)中的回收件到達(dá)率、機(jī)器故障率、維修率及服務(wù)率均服從指數(shù)分布。
進(jìn)一步的,在步驟(4)中,設(shè)節(jié)點(diǎn)i到達(dá)率為λi,產(chǎn)出率為TRi,采用牛頓法計(jì)算:
式中:為虛擬節(jié)點(diǎn)堵塞概率;表示上游回收件到達(dá)率,αi+βi表示由于故障維修導(dǎo)致的回收件累積,riiTRi表示返工回收件到達(dá)率;
根據(jù)上式構(gòu)成關(guān)于λi的函數(shù)f(λi),采用牛頓-二分法求解。
進(jìn)一步的,在步驟(5)中,設(shè)最大化產(chǎn)出率為TR,設(shè)最小化在制品庫存為WIP,根據(jù)步驟(4)得到的節(jié)點(diǎn)到達(dá)率和產(chǎn)出率計(jì)算系統(tǒng)最大化產(chǎn)出率和最小化再制造件庫存計(jì)算公式為:
最大化產(chǎn)出率:
最小化在制品庫存:
步驟(6)中得到緩沖區(qū)的性能指標(biāo)的方法包括以下步驟:
定義n為當(dāng)前計(jì)算的解序號(hào),n=1,2,3…NA;nGA為NSGA II算法當(dāng)前迭代次數(shù),nGA=1,2,3…IGA;IGA為NSGA II算法的最大迭代次數(shù),即NSGA II算法的終止條件;nTS為禁忌搜索當(dāng)前迭代次數(shù),nTS=1,2,3…ITS;ITS為禁忌搜索的最大迭代次數(shù),即禁忌搜索的終止條件;V=(V0,V1,V2,…VM)為插板位置向量,與緩沖區(qū)配置向量一一對(duì)應(yīng),作為解的編碼形式,每一個(gè)解對(duì)應(yīng)于算法中一個(gè)個(gè)體,Vn表示第n個(gè)解;C0為初始種群;Πn為局部最優(yōu)解;A(V)為領(lǐng)域解集;∏為全局最優(yōu)解集;F1為不存在更優(yōu)個(gè)體的個(gè)體層級(jí)秩,該個(gè)體層級(jí)秩為1,個(gè)體的層級(jí)秩為一組個(gè)體中,所有更優(yōu)個(gè)體的最低層級(jí)秩的下一級(jí);
(61)初始化算法參數(shù),隨機(jī)產(chǎn)生包含NA個(gè)不同個(gè)體的初始種群C0,令nGA=1;
(62)令n=1;
(63)令nTS=1,Vn,nTS=Vn,初始化局部最優(yōu)解集∏n={Vn,nTS};
(64)生成領(lǐng)域解集A(Vn,nTS),評(píng)價(jià)其每一個(gè)解,給出層級(jí)秩和擁擠距離;再更新局部最優(yōu)解集;選擇符合禁忌表和特赦準(zhǔn)則的A(Vn,nTS)中最優(yōu)解賦給Vn,nTS+1,更新禁忌表;
(65)若nTS<ITS,則nTS=nTS+1并轉(zhuǎn)到(4);否則繼續(xù)(6);
(66)若n<NA,則n=n+1并轉(zhuǎn)到(3);否則評(píng)價(jià)∏n中所有個(gè)體,將F1中解賦給全局最優(yōu)解集∏;
(67)若nGA<IGA,則繼續(xù)進(jìn)行(8);否則跳過步驟(8)直接進(jìn)行(9);
(68)nGA=nGA+1,輸出每個(gè)個(gè)體禁忌算法結(jié)束時(shí)生成的解構(gòu)成解集CnGA,經(jīng)過交叉操作和變異操作后生成解集Cm。評(píng)價(jià)所有領(lǐng)域解集的每個(gè)解,給出層級(jí)秩和擁擠距離,并選擇最優(yōu)的NA個(gè)個(gè)體賦給CnGA。若CnGA中不足NA個(gè)個(gè)體,通過隨機(jī)生成補(bǔ)齊,并轉(zhuǎn)到(2);
(69)輸出全局最優(yōu)解集∏。
進(jìn)一步的,其特征在于,在步驟(6)中,建立禁忌表,所述禁忌表記錄局部最優(yōu)解的屬性。
進(jìn)一步的,其特征在于,在步驟(6)中,禁忌表的禁忌長度設(shè)為領(lǐng)域搜索解空間最大規(guī)模的10%。
有益效果:相比較現(xiàn)有技術(shù),本發(fā)明提供一種再制造系統(tǒng)多目標(biāo)緩沖區(qū)分配方法,該方法在收斂性、多樣性以及運(yùn)行時(shí)間方面均效果良好,能夠有效解決多目標(biāo)緩沖區(qū)分配問題。
附圖說明
圖1是一種再制造系統(tǒng)多目標(biāo)緩沖區(qū)分配方法操作流程圖;
圖2是擴(kuò)展節(jié)點(diǎn)示意圖;
圖3是TS-NSGA II算法流程圖;
圖4是交叉操作流程圖;
圖5是變異操作流程圖;
圖6是5工位、中等規(guī)模緩沖區(qū)算法效果;
圖7是5工位、大規(guī)模緩沖區(qū)算法效果。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式,對(duì)本發(fā)明做進(jìn)一步說明。
如圖1所示,再制造系統(tǒng)多目標(biāo)緩沖區(qū)分配方法操作流程包括以下步驟:
(1)建立再制造系統(tǒng)模型,所述再制造系統(tǒng)模型包括再制造生產(chǎn)線、庫存及緩沖區(qū),設(shè)再制造生產(chǎn)線包括M個(gè)工位,一個(gè)工位包括一臺(tái)機(jī)器,所述緩沖區(qū)分為M個(gè),緩沖區(qū)與所述工位相對(duì)應(yīng)分配,設(shè)相應(yīng)工位的緩沖區(qū)容量配置為Ki≥0,所述庫存包括回收件庫存、再制造件庫存及廢棄站庫存,設(shè)回收件庫存為W0,再制造件庫存為WM+1,廢棄站庫存為WM+2,假設(shè)工件到達(dá)服從指數(shù)分布e(λa)。此外,假定只有當(dāng)工位處于工作狀態(tài)時(shí),機(jī)器才會(huì)發(fā)生故障。每臺(tái)機(jī)器的故障率、維修率以及服務(wù)率均服從指數(shù)分布,參數(shù)分別為ai、bi和ui,i=1,2,…,M。回收件在系統(tǒng)中的隨機(jī)路線用矩陣R表示。建立回收件在系統(tǒng)中的隨機(jī)路線,并用矩陣R表示:
式中,rij表示從Wi到Wj路徑的概率;其中,rii表示工位i的返工概率;ri(M+2)表示工位i的舍棄概率;假設(shè)回收件庫存中回收件已經(jīng)過初步檢測(cè),不存在直接報(bào)廢的可能且只考慮同工位返工,因此,rij=0,{(i,j)|i>j,i,j=1,2,…,M||i=0,j=M+1,M+2}。rii表示工位i的返工概率;ri(M+2)表示工位i的舍棄概率。
另外,假設(shè)回收件庫存中回收件無限提供,再制造件庫存、廢棄站容量無存儲(chǔ)上限。每臺(tái)機(jī)器一次只加工一個(gè)回收件。機(jī)器加工完工件,若工件對(duì)應(yīng)緩沖區(qū)無空間,則工件堵塞在機(jī)器上。
(2)將再制造生產(chǎn)線分解為M個(gè)獨(dú)立節(jié)點(diǎn),所述獨(dú)立節(jié)點(diǎn)包括工位和對(duì)應(yīng)緩沖區(qū),如圖2所示,在節(jié)點(diǎn)前添加一個(gè)虛擬節(jié)點(diǎn)構(gòu)成擴(kuò)展節(jié)點(diǎn),設(shè)節(jié)點(diǎn)的容量為Ki+1,當(dāng)回收件到達(dá)擴(kuò)展節(jié)點(diǎn)時(shí),檢測(cè)節(jié)點(diǎn)此時(shí)包含的回收件數(shù)量,若回收件數(shù)量小于Ki+1,則回收件進(jìn)入緩沖區(qū);若回收件數(shù)量不小于Ki+1,則回收件無法進(jìn)入緩沖區(qū)轉(zhuǎn)而進(jìn)入虛擬節(jié)點(diǎn)等待,連續(xù)檢測(cè)節(jié)點(diǎn),緩沖區(qū)出現(xiàn)空位時(shí),虛擬節(jié)點(diǎn)中的回收件就進(jìn)入緩沖區(qū);
設(shè)節(jié)點(diǎn)包含的回收件數(shù)量為si,設(shè)節(jié)點(diǎn)包含si件回收件的概率為則回收件到達(dá)擴(kuò)展節(jié)點(diǎn)時(shí)進(jìn)入緩沖區(qū)的概率為因此,回收件無法進(jìn)入緩沖區(qū)轉(zhuǎn)而進(jìn)入虛擬節(jié)點(diǎn)的概率為回收件進(jìn)入虛擬節(jié)點(diǎn)后等到緩沖區(qū)出現(xiàn)空位后進(jìn)入緩沖區(qū)的概率為反之,被堵塞的概率為
(3)由步驟(2)得緩沖區(qū)的狀態(tài)共有Ki+2種,機(jī)器狀態(tài)有正常和故障兩種,但不存在機(jī)器故障且緩沖區(qū)有0個(gè)回收件的狀態(tài),則可計(jì)算出節(jié)點(diǎn)狀態(tài)共有2Ki+3個(gè),利用二分法求各節(jié)點(diǎn)狀態(tài)的概率;
(4)根據(jù)回收件達(dá)到節(jié)點(diǎn)的概率,利用牛頓法求解節(jié)點(diǎn)到達(dá)率和產(chǎn)出率,如果牛頓法在迭代到達(dá)一定次數(shù)后,仍沒有收斂,則選擇利用二分法繼續(xù)求解,在牛頓法中出現(xiàn)的最小區(qū)間端點(diǎn)作為初始端點(diǎn);
設(shè)節(jié)點(diǎn)i到達(dá)率為λi,產(chǎn)出率為TRi,為虛擬節(jié)點(diǎn)堵塞概率,表示上游回收件到達(dá)率,αi+βi表示由于故障維修導(dǎo)致的回收件累積,riiTRi表示返工回收件到達(dá)率。
式中:
zi=(λi+2μi)2-4λiμi
由于系統(tǒng)中存在返工,節(jié)點(diǎn)i的累積到達(dá)率與其產(chǎn)出率有關(guān),根據(jù)上式構(gòu)成關(guān)于λi的函數(shù)f(λi)。f(λi)是關(guān)于λi的一元多次方程,選擇牛頓–二分法求解。首先利用牛頓法求解,取初值迭代格式為如果牛頓法在迭代到達(dá)一定次數(shù)后,仍沒有收斂,則選擇利用二分法繼續(xù)求解,在牛頓法中出現(xiàn)的最小區(qū)間端點(diǎn)作為初始端點(diǎn)。
(5)根據(jù)系統(tǒng)產(chǎn)出率、在制品庫存以及舍棄率,求解系統(tǒng)最大化產(chǎn)出率和最小化再制造件庫存;
設(shè)最大化產(chǎn)出率為TR,設(shè)最小化在制品庫存為WIP,根據(jù)步驟(4)得到的節(jié)點(diǎn)到達(dá)率和產(chǎn)出率計(jì)算系統(tǒng)最大化產(chǎn)出率和最小化再制造件庫存計(jì)算公式為:
最大化產(chǎn)出率:
最小化在制品庫存:
(6)將禁忌搜索與多目標(biāo)遺傳算法-NSGA II相結(jié)合,形成多目標(biāo)算法TS-NSGA II混合算法得到緩沖區(qū)的性能指標(biāo),定義n為當(dāng)前計(jì)算的解序號(hào),n=1,2,3…NA;nGA為NSGA II算法當(dāng)前迭代次數(shù),nGA=1,2,3…IGA;IGA為NSGA II算法的最大迭代次數(shù),即NSGA II算法的終止條件;nTS為禁忌搜索當(dāng)前迭代次數(shù),nTS=1,2,3…ITS;ITS為禁忌搜索的最大迭代次數(shù),即禁忌搜索的終止條件;V=(V0,V1,V2,…VM)為插板位置向量,與緩沖區(qū)配置向量一一對(duì)應(yīng),作為解的編碼形式,每一個(gè)解對(duì)應(yīng)于算法中一個(gè)個(gè)體,Vn表示第n個(gè)解;C0為初始種群;Πn為局部最優(yōu)解;A(V)為領(lǐng)域解集;∏為全局最優(yōu)解集;F1為不存在更優(yōu)個(gè)體的個(gè)體層級(jí)秩,該個(gè)體層級(jí)秩為1,個(gè)體的層級(jí)秩為一組個(gè)體中,所有更優(yōu)個(gè)體的最低層級(jí)秩的下一級(jí);
具體步驟如圖3所示,即:
(61)初始化算法參數(shù),隨機(jī)產(chǎn)生包含NA個(gè)不同個(gè)體的初始種群C0,令nGA=1;
(62)令n=1;
(63)令nTS=1,Vn,nTS=Vn,初始化局部最優(yōu)解集∏n={Vn,nTS};
(64)生成領(lǐng)域解集A(Vn,nTS),評(píng)價(jià)其每一個(gè)解,給出層級(jí)秩和擁擠距離;再更新局部最優(yōu)解集;選擇符合禁忌表和特赦準(zhǔn)則的A(Vn,nTS)中最優(yōu)解賦給Vn,nTS+1,更新禁忌表;
(65)若nTS<ITS,則nTS=nTS+1并轉(zhuǎn)到(4);否則繼續(xù)(6);
(66)若n<NA,則n=n+1并轉(zhuǎn)到(3);否則評(píng)價(jià)∏n中所有個(gè)體,將F1中解賦給全局最優(yōu)解集∏;
(67)若nGA<IGA,則繼續(xù)進(jìn)行(8);否則跳過步驟(8)直接進(jìn)行(9);
(68)nGA=nGA+1,輸出每個(gè)個(gè)體禁忌算法結(jié)束時(shí)生成的解構(gòu)成解集CnGA,經(jīng)過交叉操作和變異操作后生成解集Cm。評(píng)價(jià)所有領(lǐng)域解集的每個(gè)解,給出層級(jí)秩和擁擠距離,并選擇最優(yōu)的NA個(gè)個(gè)體賦給CnGA。若CnGA中不足NA個(gè)個(gè)體,通過隨機(jī)生成補(bǔ)齊,并轉(zhuǎn)到(2);
(69)輸出全局最優(yōu)解集∏。
對(duì)算法中一些重要部分解釋如下:
(a)編碼與初始化種群
編碼就是解的遺傳基因表示,是算法在實(shí)施優(yōu)化過程的首要問題,也是該算法是否能夠成功應(yīng)用的關(guān)鍵之一。本發(fā)明研究緩沖區(qū)分配問題,因此緩沖區(qū)配置向量為問題的解。為了更好地獲得每個(gè)解的領(lǐng)域解集以及便于算法操作,本發(fā)明選擇與緩沖區(qū)配置向量一一對(duì)應(yīng)的插板位置向量V=(V0,V1,V2,…VM)作為解的編碼形式,每一個(gè)解對(duì)應(yīng)于算法中一個(gè)個(gè)體。編碼完成后,隨機(jī)生成具有NA個(gè)不同個(gè)體組成的初始種群C0。
(b)評(píng)價(jià)函數(shù)
本發(fā)明選用兩個(gè)評(píng)價(jià)指標(biāo):最大化產(chǎn)出率和最小化在制品庫存表征解的性能。已知的評(píng)價(jià)函數(shù)為但是根據(jù)該評(píng)價(jià)函數(shù)無法直觀地看出解之間的優(yōu)劣關(guān)系,因此選用NSGA II算法的層級(jí)秩和擁擠距離來評(píng)價(jià)一個(gè)解的好壞。
(c)領(lǐng)域搜索-禁忌算法
禁忌算法的特點(diǎn)在于其記憶功能,可以用禁忌表記錄局部最優(yōu)解的某些特征,并在下一次搜索中,根據(jù)禁忌表中的信息,避免選擇或有選擇地選擇具有這類特征的解,以此保證搜索不同的有效路徑,跳出局部最優(yōu)。
a)領(lǐng)域結(jié)構(gòu)
領(lǐng)域結(jié)構(gòu)的設(shè)計(jì)直接關(guān)系到禁忌算法搜索結(jié)果的優(yōu)劣,其設(shè)計(jì)原則有:一是領(lǐng)域解集應(yīng)盡可能多地融入領(lǐng)域知識(shí),保證尋優(yōu)過程中優(yōu)解的特征得以傳遞;二是使得領(lǐng)域規(guī)模盡可能小,減少算法單次循環(huán)花費(fèi)的時(shí)間,提高算法效率;三是保證領(lǐng)域的連通能力,增強(qiáng)找到局部最優(yōu)解的可能性。緩沖區(qū)分配問題中解為緩沖區(qū)配置向量本發(fā)明選用插板位置向量V=(V0,V1,V2,…VM)進(jìn)行編碼。
根據(jù)兩者之間的對(duì)應(yīng)關(guān)系可知,如果任意一個(gè)插板i在滿足其位置限制條件的情況下,將其進(jìn)行前移或者后移僅會(huì)改變相鄰兩個(gè)緩沖區(qū)i和i+1的容量大小,移動(dòng)后新的緩沖區(qū)配置與現(xiàn)有的緩沖區(qū)配置具有很高的相似性,正是領(lǐng)域解集應(yīng)該具備的特征。假設(shè)第n個(gè)解Vn=(V0,V1,V2,…VM)n的領(lǐng)域解集為A(Vn),令Vi(i=1,2,…,M-1)前移一位或者后移一位構(gòu)成新解,除去重復(fù)出現(xiàn)的解,所有新解構(gòu)成A(V)。由此可知,領(lǐng)域解集的規(guī)模取值為[1,2M-2],規(guī)模恰當(dāng)。生成A(Vn)后,計(jì)算每個(gè)解的層級(jí)秩和擁擠距離,從而更新局部最優(yōu)解Πn。在禁忌搜索條件未滿足時(shí),根據(jù)禁忌表信息,選擇最優(yōu)解最為下一次禁忌算法迭代的初始解,更新禁忌表。
b)禁忌表與特赦準(zhǔn)則
禁忌表的目的是避免迂回搜索并更好地探索領(lǐng)域解的其它區(qū)域。禁忌表由若干個(gè)禁忌對(duì)象構(gòu)成。將解本身作為禁忌對(duì)象盡管比較容易理解,但在實(shí)際操作中往往很難實(shí)現(xiàn)。在緩沖區(qū)分配問題中,解的存儲(chǔ)需要占據(jù)大量空間,并且需要頻繁地檢查候選解是否存在與禁忌表中,十分耗時(shí)。因此通常選用解的其它屬性作為禁忌對(duì)象,其中,移動(dòng)屬性的應(yīng)用最為廣泛。本發(fā)明同樣選擇解的移動(dòng)屬性作為禁忌對(duì)象,設(shè)計(jì)為(Vi,Di),Di=-1表示位置Vi上的插板向前移動(dòng)一位,Di=1表示位置Vi上的插板向后移動(dòng)一位。
由于解的移動(dòng)屬性只能在一定程度上表征解本身的特征,因此會(huì)帶來兩個(gè)方面的問題,一是使得未訪問過的解被誤禁,二是應(yīng)該禁的解沒有添加進(jìn)禁忌表。因此引入特赦準(zhǔn)則,通過在必要時(shí)取消某一移動(dòng)屬性的禁忌狀態(tài)來避免其被禁。本發(fā)明選擇的特赦準(zhǔn)則為:當(dāng)某個(gè)禁忌對(duì)象優(yōu)于領(lǐng)域最優(yōu)解集時(shí),對(duì)該禁忌對(duì)象解禁。
禁忌長度是指不考慮特赦準(zhǔn)則的情況下禁忌對(duì)象在禁忌表中的任期,記為L。當(dāng)新禁忌元素加入禁忌表時(shí),最先加入的元素會(huì)被這個(gè)新元素替換。由于禁忌長度的大小會(huì)影響到算法的搜索進(jìn)程,過小容易造成搜索迂回,過大會(huì)降低解的質(zhì)量。因此需要根據(jù)問題特性和算法要求確定。本發(fā)明選擇禁忌長度大小為領(lǐng)域搜索解空間最大規(guī)模的10%。
c)禁忌搜索終止條件
本發(fā)明選擇常見的最大迭代次數(shù)作為禁忌搜索的終止條件,記為ITS。
(d)交叉操作
如圖4所示,從全局最優(yōu)解中按交叉比例Pc隨機(jī)選出nc個(gè)體與其隨后最優(yōu)的個(gè)體進(jìn)行交叉,共活動(dòng)nc個(gè)交叉后的個(gè)體,構(gòu)成解集Cc。交叉操作的流程見圖4。
(e)變異操作
如圖5所示,從全局最優(yōu)解中按比例Pm隨機(jī)選出nm個(gè)體。對(duì)每個(gè)個(gè)體,選取個(gè)體中某一插板,插入其它可插位置,獲得新的個(gè)體。最終產(chǎn)生nm個(gè)變異后的個(gè)體,構(gòu)成解集Cm。變異操作的流程見圖5。
(f)NSGA II算法的選擇策略和終止條件
第nGA+1次NSGA II算法迭代初始解從三個(gè)解集中抽取最優(yōu)的NA個(gè)解構(gòu)成,這三個(gè)解集分別是nGA次NSGA II算法迭代禁忌算法得到的最終解集CnGA、交叉操作獲得的解集Cc、變異操作獲得的解集Cm。NSGA II算法的終止條件同樣選擇最大迭代次數(shù),記為IGA。
以5工位生產(chǎn)線(M=5)為例,假設(shè)緩沖區(qū)總?cè)萘烤哂袃蓚€(gè)水平:具有中等規(guī)模的緩沖區(qū)和具有較大規(guī)模的緩沖區(qū),分別取N={10,15}。此外,假設(shè)到達(dá)率λa為0.5,故障率αi為0.005,維修率βi為0.05,i=1,2,…,M。路徑向量R如下
最終選取的算法參數(shù)如下表:
每種緩沖區(qū)容量下,選用精確算法緩沖區(qū)分配的Pareto解集,根據(jù)圖3所示的算法流程,NSGA II算法和TS-NSGA II算法重復(fù)運(yùn)行4次,得到運(yùn)行結(jié)果。
多目標(biāo)優(yōu)化算法的效果需要從最優(yōu)解集的收斂性、分布性,以及算法的運(yùn)行時(shí)間三個(gè)方面進(jìn)行評(píng)價(jià),評(píng)價(jià)過程如下:
(1)最優(yōu)解集的收斂性
統(tǒng)計(jì)每種緩沖區(qū)容量下各算法的平均收斂性指標(biāo),見下表。
不同緩沖區(qū)容量下算法的收斂性指標(biāo)
隨著緩沖區(qū)總?cè)萘康脑黾?,解空間規(guī)模變大,NSGA II算法以及TS-NSGA II算法找到的最優(yōu)解數(shù)量都隨之增加,但兩者的遞增速率趨勢(shì)有所不同。可以看出TS-NSGA II算法比NSGAII算法更集中于局部搜索,但搜索廣度不如NSGA II算法。然而,兩種緩沖區(qū)容量條件下TS-NSGA II算法找到的Pareto解的數(shù)目比NSGA II算法多,并且其收斂指標(biāo)均在0.1以下,說明盡管TS-NSGA II算法犧牲了一定程度的搜索范圍,但是很好地平衡了TS算法的集中搜索能力和NSGA II算法的分布搜索能力,具有很好的收斂性,比NSGA II算法的尋優(yōu)效果更好。
(2)最優(yōu)解集的分布性
為描述兩種多目標(biāo)算法的分布性,繪制每種緩沖區(qū)總?cè)萘肯赂魉惴ǐ@得的最優(yōu)解集的散點(diǎn)圖,如圖6和圖7。圖中,虛線是精確算法求得的Pareto最優(yōu)邊界的擬合曲線。
圖6中最優(yōu)解遍布Pareto最優(yōu)邊界,圖7中除了異常點(diǎn)外,最優(yōu)解同樣遍布Pareto最優(yōu)邊界,說明NSGA II算法和TS-NSGA II算法獲得的最優(yōu)解集在足夠靠近Pareto最優(yōu)邊界的同時(shí),能夠保證解的多樣性并且不縮小邊界范圍。結(jié)果說明:NSGA II算法和TS-NSGA II算法所求最優(yōu)解集分布性良好。
(3)算法運(yùn)行時(shí)間
精確算法在計(jì)算小規(guī)模問題時(shí),運(yùn)行時(shí)間幾乎可以忽略不計(jì),具有明顯優(yōu)勢(shì)。但對(duì)于中大規(guī)模問題,運(yùn)行時(shí)間長,應(yīng)當(dāng)選用進(jìn)化算法進(jìn)行求解。盡管TS-NSGA II算法運(yùn)行時(shí)間是NSGA II算法的2-4倍,但是每次運(yùn)行時(shí)間都在30s以內(nèi)。因此TS-NSGA II算法在運(yùn)行時(shí)間不存在絕對(duì)劣勢(shì),可以接受。
本領(lǐng)域的普通技術(shù)人員將會(huì)意識(shí)到,這里所述的實(shí)施例是為了幫助讀者理解本發(fā)明的原理,應(yīng)被理解為發(fā)明的保護(hù)范圍并不局限于這樣的特別陳述和實(shí)施例。凡是根據(jù)上述描述做出各種可能的等同替換或改變,均被認(rèn)為屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。