• 沒有找到結果。

模擬實驗

在文檔中 中 華 大 學 (頁 31-36)

第三章 研究方法

第四節 模擬實驗

一、基因演算法相關參數

在考量回收量多寡與路徑運輸成本之下,採用基因演算法在不同權重之下客觀求 解,來求得一組最適路徑。基因演算法應用於路徑的概念為,將計算求得的路徑編碼 (Coding)成染色體(Chromosome) ,隨機地重複產生 N 種初始解(染色體)與族群,然後 依據求解之條件來設計適應函數(Fitness Function) ,適應函數高的物種將被挑選制交 配池(Mating Pool)中,挑選的過程為複製,再依照生物概念中的基因演化運作過程,

交配及突變過程來運算,即完成一個世代(Generation)的基因演算法,一個世代完成後 將這一代的最優的數個染色體解輸出至菁英解集合,如此重複下去來產生適應性最強 的物種。其運作流程圖如圖 14 所示。

編碼(Encoding)

隨機產生 初始解(Initialization)

開始

交配(Crossover)

突變(Mutation) 選擇(Selection)

是否符合 終止條件

結束 是

評估(Evaluation)

清除

更新

菁英解 集合 暫存

菁英解 集合 清除

圖 14 多目標基因演算法流程

(一)染色體編碼(Coding)方式:

本研究編碼方式採用整數字串編碼,根據回收中心與各個回收據點排列順序,以 數字代碼表示。假設現有已知之回收中心與需求點分佈如圖15(a),”0”表示回收中心,

編號1~9代表回收需求點。染色體長度為可變動長度如圖15(b)所示。每個染色體表示 一個完整的解,包括車輛途程與車輛服務的顧客數。產生的染色體為回收排程的路線,

同一點出發在回收原點所以起點終點皆為回收中心。

4

6 3

8

1 5

2

7 9

0

染色體

0 2 5 7 0

0 1 3 4 8 9 0

0 6 10 6 4 0

0 4 5 0

(a) 回收中心與需求點示意圖

(b) 染色體

圖 15 染色體編碼方式

(二)初始解產生方法

初始解產生方法採用隨機方式產生,重複產生N個符合限制條件之可行解,並且 從中挑出適應度函數較高的值,做為起始解,以期能發揮同時進行多點搜尋之特性。

(三)族群數目

本研究採用兩個族群,透過兩個族群不斷的演化,期望能找出最優良解,如圖16 所示。兩個族群用途分別為:

1. 族群A:用來保留優良後代,並且透過基因演算法之演化特性(選擇、交配與突變

等)來尋找最佳解。

2. 族群B:不斷使用初始解之方法更新,選取部分優良的染色體複製到族群A,

族群A 交換資訊 族群B

圖 16 族群數目示意圖

(四)適應函數(Fitness Function)

基因演算過程是以適應函數值決定一組染色體之優劣,計算產生的與交配、突變 等作業後的染色體所換算出來的目標值,可以用來評斷所產生的路徑優劣,適應函數 值越高代表解的品質越佳。本研究中主要有三個目標分別為路徑成本、需求吻合度、

回收量等三個目標,化為單一目標-回收效益最大化,如第三節所敘述之目標式為 𝛚i

(五)交配(Crossover)

基因演算法運作中的交配方式將大大影響求解效率,為了讓產生出來的染色體更 多樣性,交配方式採用部分配對交配PMX(Partially Matched Crossover),兩個染色體 交配之後,子帶長度等於母帶長度,交配時隨機決定欲交配的染色體片段長度,如果 交配後重複產生不合法路徑,則往前搜尋尚未使過的數字並且取代之,但不會取代到 交配的染色體。如圖17所示,圖17(a)為交配的母帶,圖17(b)是交配的子帶,圈選的 範圍為交配區域,交配後染色體有所重複,所以將第子帶的染色體更正為最小並且沒 出現過的數字,結果為圖17(c)所示。

01438560 0439620

01396560 0443820

01396520 0143820

圖 17 PMX 交配示意圖

(六)突變(Mutation)

基因演算法運作中突變將有助於求解時,避免陷入局部最佳解,所以適時的突變,

將有助於增加求解效率。突變方式為互換突變法(Swap Mutation),方法為在任一突變 後的子代染色體中,隨機增一點節點或減少一點節點,如圖18所示,圖18(a)為欲突變

(a) (b) (c)

的子代染色體,圖18(b)為突變後的染色體。

09675430 01678620

09375460 01278660

圖 18 SM 突變示意圖

(七)停止規則(Stop Rule)

本研究所採用的停止規則包括下列兩項:

1. 最大運算世代數。

2. 經過 N 世代數最佳解尚未更新。

3. 以上兩項規則其中一項滿足則停止。

(八)程式的輸出與輸入資料(Input and Output)

本研究之程式主要以多目標基因演算法求解逆物流途程規劃問題,程式主要輸入 的資料包括:

1. 回收中心與據點之間路徑成本矩陣

2. 據點之回收量 3. 庫存需求量

4. 設定基因演算法之交配機率、突變機率和停止條件等。

程式輸出的結果包含:

1. 適應度函數值 2. 回收途程

3. 執行世代數與運算時間等

(a) (b)

在文檔中 中 華 大 學 (頁 31-36)

相關文件