• 沒有找到結果。

第四章、 模式建構

4.3 求解演算法設計

圖 4.2 雙層數學規劃架構圖

如圖 4.2 所示,上下層各有不同的使用者,分別有不同的目標式與限制式,

在考慮限制式的情況下,找到最大化(或最小化)目標式的決策變數,來進行最佳 化的求解,求解演算法則使用基因演算法做為雙層數學規劃法的求解方法。

上層使用 EVOLVER 求解基因演算法,編碼為收費周界與費率水準,下層的 羅吉特模式則使用 EXCEL 計算出運具選擇機率後,將私人運具的旅次做為彈性 需求路網均衡模式的需求量。之後將需求量帶入下層的使用者均衡模式,下層的 使用者均衡模式則使用 EXCEL VBA 的規劃求解後,即可得到最小化旅行成本後 的路線流量。

基因演算法的染色體為線段的收費費率水準,基因為路線的收費費率,經過 交配、複製、突變後可求得適應值較高的染色體,適應值設定為社會福利,也就 是運具的總效用。由於收費的方案的不同,所採用的基因演算法之編碼也會不 同。此研究實例的收費方案有兩種,包含以線段為基礎以及以周界為基礎的收費 方案,故採用兩種編碼方式如下表所示:

表 4.1 以線段為基礎(Link-based)的收費方案的編碼(收費水準) (integer) Link1

(toll level)

(car)

… Link 164

(toll level)

(car)

Link1

(toll level)

(motor)

… Link 164

(toll level)

(motor)

chromosome 0 0 … 0 0 0 0 … 0 0

表 4.2 以周界為基礎(Cordon-based)的收費方案的編碼(收費水準與周界) (integer) x(toll

toll level

(car)

toll level

(motor)

基因演算法之求解演算法各步驟方法設定說明如下:

1. 初始族群

起始族群通常根據問題的大小設定,此研究根據文獻中較常設定的值,設定 為 100 個起始族群。

2. 基因編碼

本研究同時考慮以線段為基礎的收費方案以及以周界為基礎的收費方案,故 有兩種不同的編碼方式,將其分別進行求解,再進行比較。

(1) 以線段為基礎的收費方案 (Link-based)

每條路線(link)皆可以進行收費,而收費的範圍本研究設定為 0-99 元,故每 條路線的收費費率設定為兩個基因值,分別為十位數與個位數,其求解範圍為 0-9,使用整數編碼的型式。

(2) 以周界為基礎的收費方案 (Cordon-based)

先決定收費周界的中心以及收費周界的半徑,再決定其收費的費率水準。收 費周界的中心點,包含 X 座標值以及 Y 座標值。收費周界的中心點決定後要決 定收費周界的半徑 R,最後再決定收費水準,包含汽車與機車兩種不同的收費費 率。

由於收費周界的中心點、收費周界的半徑、以及收費費率的範圍不同,在交 配的時候,可能會產生不可行解的發生,故將所有的範圍進行標準化後進行求 解。故經過標準化後,將基因求解的編碼皆設定為 0-9,每個數值皆有兩個基因 來表式,每個決策變數的求解範圍皆為 0-99。之後,再經由標準化準化為原本設 定各個決策變數的求解範圍。

3. 適應函數

上層求解的目標函數為社會福利的最大化,故適應值即為社會福利,當適應 值越大代表其染色體在族群中的適應能力越強,則代表為越好的解,越容易被挑 選出來進行交配。

4. 複製

複製選用輪盤式選擇法,其適應值的大小代表輪盤所站的面積,面積越大被

選擇的機率越大,故適應值越大的越容易被選取到進行交配。

5. 交配

交配選擇均勻交配法,每個基因值皆會隨機產生一個亂數,當此亂數值大於 交配率則進行交配,交配率設定為 0.5。

6. 突變

隨機選取一個染色體,隨機產生一個亂數值,當亂數值大於突變率,則進行 突變,突變率設定為 0.1,突變的方式採用 Swap Mutation,任選兩個基因進行互 換。

7. 取代

採用保留菁英法,經過複製、交配、突變後,會產生新的個體,放入族群槽 進行排名,淘汰適應值較低的個體,永遠都留下適應值較高的 100 個染色體,將 其他適應值較低染色體進行淘汰。

8. 終止條件

本研究設定為當搜尋到指定代數時,即會停止搜尋,停止條件為 400 個世 代,即停止。