亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

針對(duì)多目標(biāo)流水車間調(diào)度的加權(quán)式遺傳局部搜索算法的制作方法

文檔序號(hào):11063739閱讀:758來(lái)源:國(guó)知局
針對(duì)多目標(biāo)流水車間調(diào)度的加權(quán)式遺傳局部搜索算法的制造方法與工藝

本發(fā)明型專利用于制訂多目標(biāo)流水車間調(diào)度的生產(chǎn)調(diào)度計(jì)劃。



背景技術(shù):

遺傳算法是一種高效的全局搜索算法,其與局部搜索算法的結(jié)合,即遺傳局部搜索算法,使得算法對(duì)于非支配解的搜索能力大大提高。目前,這種全局搜索與局部搜索相結(jié)合的算法已經(jīng)被廣泛地運(yùn)用于生產(chǎn)優(yōu)化之中,并取得了很好的效果。然而,現(xiàn)有的局部搜索算法往往難以簡(jiǎn)單高效地找到多目標(biāo)問(wèn)題的全部非支配解。



技術(shù)實(shí)現(xiàn)要素:

本算法針對(duì)傳統(tǒng)的遺傳局部搜索算法作出改進(jìn),以簡(jiǎn)單高效地找到多目標(biāo)流水車間調(diào)度問(wèn)題的全部非支配解。本算法對(duì)傳統(tǒng)遺傳局部搜索在以下三個(gè)方面進(jìn)行改進(jìn):第一,每個(gè)目標(biāo)函數(shù)的加權(quán)值不易確定;第二,對(duì)局部搜索過(guò)程中產(chǎn)生的大量鄰域解的比較往往占據(jù)大量的計(jì)算時(shí)間;第三,局部搜索方向不夠全面;第四,搜索過(guò)程中得到的優(yōu)良解可能在之后的算法迭代過(guò)程中被遺失。

本發(fā)明型解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:第一,通過(guò)隨機(jī)加權(quán)法為每個(gè)目標(biāo)函數(shù)賦予加權(quán)值;第二,限制局部搜索過(guò)程中對(duì)每個(gè)當(dāng)前解搜索的鄰域解的個(gè)數(shù);第三,以產(chǎn)生子代解的父代解所使用的加權(quán)值作為子代解在局部搜索中的目標(biāo)函數(shù)加權(quán)值;第四,采用精英策略,將每一代中的非支配解存入暫時(shí)組并逐代更新。

本發(fā)明型的有益效果:第一,使確定目標(biāo)函數(shù)加權(quán)值的過(guò)程不再困難;第二,平衡了全局搜索與局部搜索;第三,局部搜索中的每個(gè)解都有自己獨(dú)特的搜索方向,使得局部搜索的方向多樣化;第四,避免了產(chǎn)生的優(yōu)良解在之后算法的迭代過(guò)程中被遺失。

附圖說(shuō)明

下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明型進(jìn)一步說(shuō)明。

圖1是流水車間調(diào)度的示意圖。

圖2是局部搜索方向的示意圖。

圖3是非支配解的示意圖。

圖4是精英策略的示意圖。

圖5是加權(quán)式遺傳局部搜索流程的示意圖。

圖6是兩點(diǎn)交叉算子示意圖。

圖7是移動(dòng)突變示意圖。

圖8是算法詳細(xì)流程的示意圖

具體實(shí)施方式

一、生產(chǎn)信息的表示

如圖1,設(shè)在流水車間中,有n個(gè)待生產(chǎn)的工件J1,J2,…,Jn,有m臺(tái)機(jī)器M1,M2,…,Mm,工件Ji的釋放時(shí)間為ri,工件Ji的在機(jī)器Mj前的等待時(shí)間為wij,工件Ji的交貨時(shí)間:di

二、調(diào)度方案的表示方法:

機(jī)器i上的調(diào)度方案表示為Xi=(s1,s2,…,sn),1≤i≤m(si表示工件編號(hào),1≤i≤n),則總調(diào)度方案表示為X=(X1,X2,…,Xm)

三、隨機(jī)加權(quán)法

對(duì)n個(gè)目標(biāo)的加權(quán)值的賦值方法:

1.隨機(jī)產(chǎn)生n個(gè)和為1的加權(quán)值random1,random2,…,randomn;

2.第i個(gè)目標(biāo)函數(shù)的加權(quán)值wi

wi=randomi/(random1+…randomn),i=1,2,…,n.

四、只檢測(cè)部分鄰域解的局部搜索算法

指定鄰域解檢測(cè)個(gè)數(shù)k,將產(chǎn)生當(dāng)前解X的父代解的目標(biāo)函數(shù)加權(quán)值作為當(dāng)前解X的目標(biāo)函數(shù)加權(quán)值(這將使每個(gè)當(dāng)前解都有自己獨(dú)特的局部搜索方向,從而使局部搜索方向多樣化,其特點(diǎn)被圖2形象地描述出來(lái)),局部搜索采用移動(dòng)突變的方式產(chǎn)生鄰域解。

那么,對(duì)于解X的局部搜索過(guò)程如下:

1.檢測(cè)當(dāng)前解X的一個(gè)鄰域解X’;

2.如果X’是比X更優(yōu)的解,則用X’替代當(dāng)前解X并返回1;否則執(zhí)行下一步;

3.如果當(dāng)前解X的隨機(jī)選擇的k個(gè)鄰域解已經(jīng)被檢測(cè),即X的被檢測(cè)的k個(gè)鄰域解中沒(méi)有更優(yōu)的解,則程序結(jié)束;否則返回1。

五、非支配解

對(duì)于最大化n個(gè)目標(biāo)函數(shù)f1(x),f2(x),…,fn(x),當(dāng)兩個(gè)解x、y滿

fj(x)<fj(y)時(shí),則稱解y支配解x。如果一個(gè)解不被多目標(biāo)優(yōu)化問(wèn)題的任何其他解支配,那個(gè)解被稱為一個(gè)非支配解。對(duì)于兩目標(biāo)優(yōu)化問(wèn)題(最大化目標(biāo)函數(shù))的非支配解可以被圖3形象地描述出來(lái)。

六、精英策略

如圖4,本算法的執(zhí)行過(guò)程中含有兩組解,分別為當(dāng)前種群和存儲(chǔ)非支配解的暫時(shí)組。

每一代種群首先用本種群中的非支配解更新暫時(shí)組,并隨機(jī)選擇指定個(gè)數(shù)的解;然后,該種群經(jīng)遺傳算子處理后,將之前隨機(jī)選擇的非支配解加入當(dāng)前種群,共同進(jìn)行局部搜索;局部搜索結(jié)束后產(chǎn)生的種群作為下一代繼續(xù)執(zhí)行上述過(guò)程。七、加權(quán)式遺傳局部搜索

如圖5,本算法在初始化種群后,首先確定目標(biāo)函數(shù)加權(quán)值,接著通過(guò)遺傳算子對(duì)種群進(jìn)行全局搜索,然后進(jìn)行局部搜索,而后采用精英策略保護(hù)非支配解,最后通過(guò)對(duì)上述過(guò)程的反復(fù)迭代來(lái)尋找全部的非支配解。

八、兩點(diǎn)交叉算子

如圖6

九、移動(dòng)突變

如圖7

十、算法詳細(xì)流程如下

如圖8

步驟一——初始化(產(chǎn)生初始解)

1.產(chǎn)生m個(gè)序列(m為機(jī)器數(shù)),每個(gè)序列為數(shù)1-n的一個(gè)隨機(jī)排序序列(n為待生產(chǎn)工件數(shù))。

2.根據(jù)種群規(guī)模Npop,產(chǎn)生對(duì)應(yīng)數(shù)目的初始解。

步驟二——計(jì)算目標(biāo)函數(shù)值

1.計(jì)算目標(biāo)函數(shù)f1(x),f2(x),…,fn(x)的值。

步驟三——更新暫時(shí)組的非支配解

1.尋找初始種群中的非支配解。

2.將初始解中的非支配解復(fù)制入暫時(shí)組。

步驟四——計(jì)算適應(yīng)度函數(shù)值

對(duì)每個(gè)解——

1.確定加權(quán)值

wi=randomi/(random1+…randomn),i=1,2,…,n.

2.計(jì)算適應(yīng)度函數(shù)值:

f(x)=w1f1(x)+w2f2(x)+…+wnfn(x).

步驟五——選擇優(yōu)良個(gè)體

1.計(jì)算每個(gè)個(gè)體(解)的選擇概率

其中Ψ表示當(dāng)前種群,f(x)為解x的適應(yīng)度值,fmin(Ψ)=min{f(x)|x∈Ψ}。

2.根據(jù)選擇概率,選擇選擇概率大的(Npop-Nelite)個(gè)個(gè)體(解)。

步驟六——交叉

1.根據(jù)交叉概率計(jì)算進(jìn)行交叉的解的數(shù)目,隨即選出相應(yīng)個(gè)數(shù)的解。

2.隨機(jī)將被選擇的個(gè)體兩兩一組作為一對(duì)父代解,運(yùn)用兩點(diǎn)交叉算子進(jìn)行交叉。對(duì)每對(duì)父代解交叉時(shí),分別對(duì)兩個(gè)解的每行進(jìn)行交叉,再把結(jié)果重新組合成子代解。

步驟七——突變

1.根據(jù)突變概率計(jì)算進(jìn)行交叉的解的數(shù)目,隨即選出相應(yīng)個(gè)數(shù)的解。

2.對(duì)被選擇的個(gè)體進(jìn)行移動(dòng)突變。對(duì)每對(duì)父代解進(jìn)行突變時(shí),分別對(duì)每行突變,再把結(jié)果重新組合成子代解。

步驟八——局部搜索

1.從暫時(shí)組(步驟三產(chǎn)生)中隨機(jī)選擇Nelite個(gè)解,加入有(Npop-Nelite)個(gè)解的當(dāng)前種群,構(gòu)造一個(gè)有Npop個(gè)解的種群。

2.(對(duì)每個(gè)解)通過(guò)移動(dòng)突變隨機(jī)產(chǎn)生k個(gè)鄰域解。

3.(對(duì)每個(gè)解)通過(guò)選擇該解的父代解的適應(yīng)度函數(shù)加權(quán)值來(lái)構(gòu)造該解的適應(yīng)度函數(shù),然后計(jì)算這k個(gè)鄰域解的適應(yīng)度函數(shù)值。

4.(對(duì)每個(gè)解)如果這k個(gè)鄰域解中有比該解更優(yōu)的解,則以之替換該解;否則,該解不做變化。

步驟九——迭代

1.如果算法已經(jīng)搜索指定個(gè)數(shù)的解,則算法結(jié)束;否則返回步驟二。

步驟十——產(chǎn)生調(diào)度方案

1.迭代結(jié)束后,當(dāng)前種群中的最優(yōu)解和暫時(shí)組中的解即為算法所求得的優(yōu)良解,根據(jù)調(diào)度方案的表示方式,即可將這些解轉(zhuǎn)換為對(duì)應(yīng)的調(diào)度方案。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1