準(zhǔn)則確定哪些將被作為改進(jìn)的解添加到改進(jìn)的種群中。
[0088] Best準(zhǔn)則選擇局部搜索路徑上具有最小f(G,A)值的調(diào)度解作為最終改進(jìn)的解。 [0089] Pareto準(zhǔn)則是在每一代中,收集所有局部搜索路徑上的解,當(dāng)中的非支配解構(gòu)成 了改進(jìn)的種群。
[0090]上述各實(shí)施例僅用于說(shuō)明本發(fā)明,各個(gè)步驟都是可以有所變化的,在本發(fā)明技術(shù) 方案的基礎(chǔ)上,凡根據(jù)本發(fā)明原理對(duì)個(gè)別步驟進(jìn)行的改進(jìn)和等同變換,均不應(yīng)排除在本發(fā) 明的保護(hù)范圍之外。
【主權(quán)項(xiàng)】
1. 一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其特征在于,所述方法 步驟如下: 1) 隨機(jī)產(chǎn)生一個(gè)大小為N的初始種群P0; 2) 在算法每一代中,先由當(dāng)前種群Pt通過(guò)二元錦標(biāo)賽選擇,遺傳算子產(chǎn)生一個(gè)子代種群 Qt ; 3) 利用局部搜索策略對(duì)子代種群Qt進(jìn)行精細(xì)搜索以得到一個(gè)改善的種群Vt; 4) 將當(dāng)前種群Pt、子代種群Qt和改善的種群合并生成一個(gè)種群Rt,對(duì)種群Rt中目標(biāo)大 小完全相同的個(gè)體進(jìn)行變異操作; 5) 利用NSGA-II中的快速非支配排序與擁擠距離方法對(duì)種群Rt中的個(gè)體進(jìn)行排序,以選 擇最好的N個(gè)解作為下一代種群P t+1。2. 如權(quán)利要求1所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其 特征在于:所述步驟2)中,利用遺傳算子產(chǎn)生子代種群,即利用遺傳搜索產(chǎn)生子代種群,其 包括染色體編碼、染色體解碼和遺傳操作: (1) 染色體編碼: (a)給定每個(gè)操作一個(gè)固定的ID: j,其中j = l,2,. . .,d,d= Σγη;在編號(hào)之后,一個(gè)操作 也可以用固定ID號(hào)進(jìn)行指代; (13)機(jī)器分配向量表示為11=[111,112,'"11(]],且11」?jié)M足1<11」<1」,其中1」是供操作」執(zhí)行的 機(jī)器數(shù)目; (C)進(jìn)一步將操作j的可用機(jī)器按操作j在其上的處理時(shí)間進(jìn)行非遞減的排序:如果兩 臺(tái)機(jī)器在執(zhí)行操作j時(shí)需要相同的處理時(shí)間,那么具有較小ID號(hào)的機(jī)器排在前列; (d)操作序列向量表示為V = [VI,V2,···Vd],其中操作ID號(hào)在這個(gè)向量中的出現(xiàn)順序表 示該操作的調(diào)度優(yōu)先順序,操作有最高優(yōu)先權(quán)的被首先調(diào)度; (2) 染色體解碼:按向量V中的操作排列順序,逐個(gè)將每個(gè)操作分配到指定的機(jī)器上,并 且在該機(jī)器上為其分配一段處理時(shí)間:從機(jī)器分配向量u中獲取它所選擇的處理機(jī)器,然后 從〇時(shí)刻開始往后順序掃描該機(jī)器上已安排操作之間的空閑時(shí)隙直到一個(gè)可用的空閑時(shí)隙 被找到,以安排該操作; (3) 遺傳操作用來(lái)生成子代個(gè)體,它包括交叉和變異。3. 如權(quán)利要求2所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其 特征在于:所述步驟(2)中,可用的空閑時(shí)隙尋找方法如下:設(shè)表示一個(gè)操作在調(diào)度 中的開始執(zhí)行時(shí)刻,Ci, j表不它的完成時(shí)刻;如果在機(jī)器Mk上的一個(gè)空閑時(shí)隙[Sx,Ex ]對(duì)于操 作是可用的,那必須滿足如下約束條件:當(dāng)操作被分配到可用的空閑時(shí)隙后,它的開始時(shí)刻就被設(shè)置為maX{Sx,cm},j 2 2 或者Sx,j = I;如果在機(jī)器Mk上對(duì)于操作不存在這樣的時(shí)隙,那么操作將被安排到機(jī) 器Mk的時(shí)間末端上。4. 如權(quán)利要求2所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其 特征在于:所述步驟(3)中,交叉是對(duì)一對(duì)染色體進(jìn)行操作,對(duì)染色體中的兩個(gè)向量u和V,交 叉操作是分別獨(dú)立執(zhí)行的: 對(duì)于向量U上的交叉操作,首先在其中隨機(jī)選擇一些交叉位置,然后通過(guò)交換兩個(gè)父代 染色體相應(yīng)位置上的基因信息以得到兩個(gè)子代個(gè)體的向量U表示; 對(duì)于向量V上的交叉操作,采用一個(gè)改進(jìn)的序列交叉方式,具體方法為: 首先,在向量V中隨機(jī)選擇兩個(gè)交叉點(diǎn),將第一個(gè)父代個(gè)體中在這兩個(gè)交叉點(diǎn)之間的所 有操作復(fù)制到第一子代個(gè)體的相應(yīng)位置; 然后,對(duì)于余下的操作,按照第二個(gè)父代個(gè)體中這些操作出現(xiàn)的優(yōu)先順序逐個(gè)將它們 填補(bǔ)到第一個(gè)子代個(gè)體的向量¥中的空余部分;對(duì)于第二個(gè)子代個(gè)體,對(duì)稱地由在第二個(gè)父 代個(gè)體中選擇交叉點(diǎn)的方式得到; 最后,對(duì)交叉后得到的向量V進(jìn)一步做修補(bǔ)策略,以調(diào)整同一個(gè)作業(yè)內(nèi)的操作的相對(duì)順 序。5. 如權(quán)利要求2所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其 特征在于:所述步驟(3)中,變異只針對(duì)于單個(gè)個(gè)體,變異操作包含兩個(gè)獨(dú)立的部分:對(duì)于向 量u,任意選擇一個(gè)操作然后改變?cè)摬僮鞯臋C(jī)器分配;對(duì)于向量V,在不違反同一作業(yè)內(nèi)操作 優(yōu)先順序的前提下,將一個(gè)操作插入到向量V的另一個(gè)位置上,其中操作和位置都是隨機(jī)選 擇的。6. 如權(quán)利要求1至5任一項(xiàng)所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào) 度方法,其特征在于:所述步驟3)中,利用局部搜索策略對(duì)子代種群進(jìn)行局部搜索分為兩個(gè) 部分: (1) 子代種群中的個(gè)體選擇: 首先,定義聚合函數(shù):;^(1,人)=人1;^(1)+\2€2(1)+人3;^(1),其中\(zhòng)=|> 1,\2,人3]是一個(gè)權(quán) 向量,fi (X)、f2(X)和f 3(X)分別設(shè)置為MO-FJSP問(wèn)題的3個(gè)優(yōu)化目標(biāo),即完工時(shí)間,總負(fù)載和 關(guān)鍵負(fù)載; 然后,生成一組滿足約束條件且在目標(biāo)空間中均勻分布的權(quán)向量;約束條件為: λι+λ2+λ3 = ζ, λ?^{〇,1,...,z},1 = 1,2,3 權(quán)向量的個(gè)數(shù)為((z+2)(z+1) )/2;當(dāng)選擇一個(gè)個(gè)體進(jìn)行局部搜索時(shí),先從這些權(quán)向量 中隨機(jī)選擇一個(gè),然后以這個(gè)權(quán)值向量確定的聚合函數(shù)?·(χ,λ)為比較指標(biāo),通過(guò)無(wú)放回的 錦標(biāo)賽選擇方式選擇一個(gè)精英解,最后對(duì)該解進(jìn)行局部搜索以得到一個(gè)或一組改進(jìn)的解; 最后,引入一個(gè)局部搜索的概率Pis,在子代種群中將有個(gè)解被選擇以執(zhí)行進(jìn)一 步的局部搜索; (2) 選擇了某個(gè)個(gè)體,通過(guò)局部搜索對(duì)該個(gè)體進(jìn)行精煉以得到更高質(zhì)量的個(gè)體,即針對(duì) 個(gè)體的局部搜索: ① 在局部搜索中,一個(gè)調(diào)度解G的鄰域解是通過(guò)移動(dòng)某個(gè)操作來(lái)得到的:設(shè)定調(diào)度解G 的鄰域解G'是可接受的當(dāng)且僅當(dāng)UaXV H Cmax(G);假設(shè)調(diào)度解G中的關(guān)鍵操作coi將被移 動(dòng),將關(guān)鍵操作Coi從G中刪除得到Gi :首先,先移除以C0i為起點(diǎn)和以關(guān)鍵操作C0i為終點(diǎn) 的非連接弧;然后用一條指向SM(G,coi)的非連接弧連接PM(G,coi)和SM(G,coi);最后將節(jié) 點(diǎn)coi的權(quán)重設(shè)置為0; ② 刪除coi之后,在兔中重新選擇一個(gè)可行的位置,將關(guān)鍵操作coi重新插入,以得到可 行調(diào)度G7且)< Cmax(G); ③ 將coi插入到某臺(tái)機(jī)器Mk上,將插入位置僅限制在可行的位置上方法如下:當(dāng)在調(diào)度 稼中,為操作coi重新分配機(jī)器M k上的某個(gè)位置時(shí),只需順序檢測(cè)集合的位置,一旦某 個(gè)位置滿足約束條件,立即將coi插入到這個(gè)位置上,得到鄰域調(diào)度解V,它替換G成為新的 當(dāng)前調(diào)度解,也是下一輪局部迭代的初始解;其中,集合Yk示在?k\Wk中所有操作之前且 在ΨιΛ 中所有操作之后的位置的集合,Φk和Wk是操作集合Θ k的兩個(gè)子序列; ④ 將在調(diào)度GT中將操作COi插入位置γ的過(guò)程看作一個(gè)動(dòng)作,并表示為COi~Mk;設(shè)該集合包含了所有Σ Icoi個(gè)可能的動(dòng)作, 其中每個(gè)動(dòng)作都有希望生成當(dāng)前解G的一個(gè)可接受的鄰域解; (3)接受準(zhǔn)則:采用Best準(zhǔn)則和Pareto準(zhǔn)則兩種不同的接受準(zhǔn)則確定哪些將被作為改 進(jìn)的解添加到改進(jìn)的種群中。7. 如權(quán)利要求6所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其 特征在于:所述步驟(2)②中,如果該位置對(duì)于coi來(lái)說(shuō)是可以插入的,那么必須滿足下式:式中,PM(Gf5V))表示最早完成時(shí)間,即在調(diào)度G,中,操作PM(GpV)的最早完 成時(shí)間;LS(G, ,r,C_(G))表示最遲開始時(shí)間,即在以完工時(shí)間為Cmax(G)的前提下,調(diào)度 中,操作V的最遲開始時(shí)間;Pc^k表示操作coi在機(jī)器M k上的加工時(shí)間。8. 如權(quán)利要求6所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其 特征在于:所述步驟(3)中,Best準(zhǔn)則選擇局部搜索路徑上具有最小f(G,A)值的調(diào)度解作為 最終改進(jìn)的解。9. 如權(quán)利要求6所述的一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其 特征在于:所述步驟(3)中,Pareto準(zhǔn)則是在每一代中,收集所有局部搜索路徑上的解,當(dāng)中 的非支配解構(gòu)成了改進(jìn)的種群。
【專利摘要】本發(fā)明涉及一種基于目標(biāo)重要性分解的模因演化多目標(biāo)優(yōu)化調(diào)度方法,其步驟為:隨機(jī)產(chǎn)生一個(gè)大小為N的初始種群;在算法每一代中,先由當(dāng)前種群通過(guò)二元錦標(biāo)賽選擇,遺傳算子產(chǎn)生一個(gè)子代種群;利用局部搜索策略對(duì)子代種群進(jìn)行精細(xì)搜索以得到一個(gè)改善的種群;將當(dāng)前種群、子代種群和改善的種群合并生成一個(gè)種群,對(duì)種群中目標(biāo)大小完全相同的個(gè)體進(jìn)行變異操作;利用NSGA-II中的快速非支配排序與擁擠距離方法對(duì)種群中的個(gè)體進(jìn)行排序,以選擇最好的N個(gè)解作為下一代種群。本發(fā)明可以對(duì)多目標(biāo)柔性作業(yè)車間系統(tǒng)進(jìn)行有效的調(diào)度,且調(diào)度效果優(yōu)于目前已有的先進(jìn)算法,可以廣泛在計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域和生產(chǎn)調(diào)度領(lǐng)域中應(yīng)用。
【IPC分類】G06Q50/04, G06N3/12
【公開號(hào)】CN105488568
【申請(qǐng)?zhí)枴緾N201510856926
【發(fā)明人】徐華
【申請(qǐng)人】清華大學(xué)
【公開日】2016年4月13日
【申請(qǐng)日】2015年11月30日