• 沒有找到結果。

第三章 以 MOEA/D 結合適應性區域搜尋求解多目標定序流線型工廠排程問題

3.9 區域搜尋

雖然我們可以透過交配與突變過程找到品質不錯的解;然而,個體卻不容易

剛好落在區域最佳解的位置。因此我們加入區域搜尋,使得演算法能同時擁有全

域搜尋與局部搜尋的能力。區域搜尋除了能讓個體目標值更好之外,透過將這些

個體放入族群中,還能夠作為精英推動族群的演化。為了兼顧演化的收斂性與族

群多樣性,有許多影響因素需要被決定。區域搜尋流程如圖3-13,圖中的相關細

節將於接下來的章節說明,3.9.1 節說明不同區域搜尋對象 (target_selection);3.9.2

節說明不同搜尋方向策略 (searching_direction);3.9.3 節則敘述區域搜尋中的運算

操作流程 (segment、reorder 與 reinsertion)。

Input P, o

i

D←perpendicular_distance (P,oi) P←sort(P, D)

j←0

repeat

if fitness(o

i, j)≤fitness(Pj, j) then Pj←oi

break

end if

j←j+1

until j=T

n

28

圖3-13 區域搜尋流程

3.9.1 搜尋對象

在搜尋對象方面,Ishibuchi 等人 [27] 建議針對適應值較好的個體進行區域搜

尋會比較節省運算時間。顯然地,非凌越解集合為演化過程中最好的個體,因此,

針對非凌越解集合進行區域搜尋是個不錯的選擇;然而這個做法有可能受到非凌

越解集合個體分布不均勻的影響。因此,另一種做法則是將子問題分組,並從每

一組隨機挑選一個個體為搜尋對象。我們將針對上述兩種不同對象進行實驗並分

析探討其結果。兩種搜尋對象如圖3-14,圖中黑色的點為區域搜尋之對象。

圖3-14 搜尋對象示意圖

input P, A, n

NEH, nF

E: archive

S

←target_selection(P, A)

S

←contribution_selection(

S, n

F) D←searching_direction(

S

)

for xS

x

J, ←segment(x, nNEH) J  ←reorder(J)

 

x

reinsertion(x, J ,D) archive_update(E,x)

end for

archive_update(A, E) population_update(P, E, Tn)

29

3.9.2 搜尋方向

在搜尋方向方面,我們將實驗五種不同的策略如圖3-15,說明如下:

隨機目標法 適應目標法

隨機權重法 適應權重法

柏拉圖凌越法

圖3-15 搜尋方向策略

 隨機目標(random objective, RO):隨機選擇一個目標作為搜尋方向。

 適應目標(adaptive objective, AO):根據搜尋對象目標值選擇搜尋方向,

若該個體在某個目標值表現較好,則朝向該方向進行搜尋。

 隨機權重(random weights, RW):隨機選擇一個搜尋方向。

f1

f2

f1

f2

f1

f2

f1

f2

f1

f2

30

本論文也採用NEH_LS 方法。NEH_LS 方法可由分段 (segment)、重排 (reorder)、

接受策略(acceptance)組成,描述如下:在分段階段,從染色體上隨機選擇一段

31

取出的連續基因,其長度影響區域搜尋的鄰域大小;在 [9] 中透過世代數動

態控制取出的長度nNEH,如公式 (18),其中 NNEH為取出之最大長度。

)}

/ 1 ( ,

1

max{ N e e

max

n

NEH

NEH

 

(18)

在NEH_LS 方法中,將取出的基因放回有不同的派工法則;在本論文中,我

們將實驗六種派工法則對效能造成的影響,分別為Evolution, SPT, LPT, Random,

(SPT, LPT), (LPT, SPT),說明如下:

 Evolution:不改變順序,以演化過程中原來的順序插入。

 SPT:將取出的零件根據加工時間由小到大排序。

 LPT:將取出的零件根據加工時間由大到小排序。

 Random:將取出的零件隨機排序。

 (SPT, LPT):由個體目標值決定採用何種策略,最大完工時間表現較好

的個體使用SPT 策略,總流程時間表現較好的個體則使用 LPT 策略。

 (LPT, SPT):與(SPT, LPT)策略相反。

前四種皆為 [9] 提出的順序策略,最後兩種則根據不同目標採用不同的插入

順序策略;在 NEH 策略 [11] 中使用 LPT 派工法則產生最大完工時間表現較好

的解,而Framinan 等人 [19] 提出的策略則使用 SPT 策略產生總流程時間表現較

好的解;因此我們想實驗分析針對不同目標採用不同派工法則對效能的影響。

NEH_LS 方法最後可以得到多個解,我們將搜尋過程中得到的非凌越解以 3.8 節

的取代機制放回族群中。

32

33

作業系統,CPU 為 3.4GHz 的 Intel®Core™i7-4770,記憶體大小為 12GB,編譯器

環境為GNU GCC。

相關文件