• 沒有找到結果。

貪婪演算法

在文檔中 中 華 大 學 (頁 37-41)

第二章 文獻探討

2.4 貪婪演算法

min:將費洛蒙 素設在某 一下限範圍,若費洛 蒙素在時間t 與t 1的 間 距 裡 小 於 或 等 於 所 設 的 下 限 值 , 則 ij的 量 等 於

min下 限 值 。

max: 將 費 洛 蒙 素 的 值 設 在 某 一 上 限 範 圍 , 若 費 洛 蒙 素 在 時 間t 與t 1的間距裡大於 或等於所設的 上限值,則 ij的 量 等 於 max的 上 限 值 。

依 文 獻 資 料 顯 示 , 以 全 域 更 新 方 法 為 搜 尋 範 圍 的 螞 蟻 週 期 (ant cycle)更新方法較能參考到全域性的資訊,讓費洛蒙素遍佈了不錯的 參 考 值 與 探 索 其 它 路 徑 的 機 會 , 但 是 全 域 性 的 更 新 過 程 , 仍 有 可 能 參 考到搜尋較長 路徑之 螞蟻,將其更新 到費 洛蒙路徑的資 訊裏, 而影響 到 後 代 的 更 新 結 果 , 使 求 解 增 加 了 路 徑 成 本 及 過 早 停 滯 現 象

(stagnation),為減少發生此情形,1997 年由 Stϋtzle 和 Hoos 發表,

針對費洛蒙素 的更新 值作變化,將費洛蒙 素的更新方式 設置上 下限值

(Max-Min update role)【46】,以避免蒸發的問題使得費洛蒙素的值 過 度 縮 小 , 亦 可 避 免 因 過 度 擴 大 費 洛 蒙 值 而 產 生 停 滯 現 象 , 使 探 索

(exploration) 其 它路 徑 的 功 能 更 為顯 著, 此 方 法 通 稱 為設 置上 下 限 值 的 螞 蟻 演 算 模 型 (Max-Min Ant System,簡稱 MMAS),它與一般 ACO 更新方法的區別,主要在於 MMAS 對沿途所留下的軌跡密度值 設 置 了 極 大 值( max)與 極 小 值( min)的 限 制,ACO 則針對蟻群探索 的 優 劣 作 更 新 。 MMAS 引 進 了 特 殊 的 軌 跡 平 滑 機 制 ( trail-smoothing mechanism),即螞蟻行經較長時間而產生停滯現象時,可根據線性比 例來調整當前 路網中 的軌跡強度,對 於城 市間距離d 的軌跡強度可按ijmaxij(t)的 差 值 按 比 例 增 大 。

法 【42】即是一個很典型的貪婪演算法,同時亦被廣泛應用在求解最 短 路 徑 問 題(shortest problem)、背包問題(knapsack problem)、排程 問 題 (scheduling)…等。

在 螞 蟻 搜 尋 路 徑 的 過 程 當 中 , 我 們 便 可 利 用 貪 婪 法 則 的 精 神 , 使 蟻群選擇下一 站城市 時,依據前面 螞蟻走 過所陸續累積 的費洛 蒙素強 弱 來 決 定 行 走 , 在 此 必 須 注 意 的 是 , 貪 婪 演 算 法 並 不 能 保 證 所 得 到 最 終效果會是最 優的, 它的目的是在 有限的 時間或其它的 成本限 制下求 得 局 部 最 佳 解 。 貪 婪 搜 尋 的 原 則 是 :

一 、 選 出 目 前 所 有 路 徑 活 動 中 最 早 完 成 的 , 即 行 走 距 離 較 短 , 可 快 速 求 得 解 的 活 動 。

二、盡可能地 挑出行 走據點之最短 距離。

三 、 選 擇 所 耗 時 間 最 短 、 成 本 最 低 的 。

貪 婪 演 算 法 較 常 應 用 的 領 域 之 一 是 求 解 最 短 路 徑 (shortest paths), 此 與本 論文 以蟻 拓 尋優 法求 解 旅 行者 推 銷員 問題 的 目 的頗 為 相似,故以下 以求解 最短路徑之簡 單例子 ,闡述貪婪演 算法的 運作過 程 , 首 先 定 義 假 設 條 件 ;

一 、設 有 一 有 向 圖 形 G(N,A),N 為所有城市的集合,A 為所有城市 間 路 徑 的 集 合 , 此 設 共 有 6 個城市站。

二、圖形中任 意兩城 市各自有距離 成本( 如 圖 2.6)。

三 、 設 起 始 城 市 為 1。

四 、 目 的 求 起 始 城 市 至 城 市 站 3 的最短總路徑成本。

若 以 一 般 求 解 最 短 路 徑 (shortest path)法,由圖 2.4 逐一演練所 有 可 行 路 徑,可 計 算 出 共 有 A、B、C、D 四種繞行方式,各自行走的 路 徑 成 本 為 ;

A. 1 3 = 總路徑成本 45

B. 1 2 3 = 總路徑成本 50+10=60

C. 1 4 5 2 3 =總路徑成本 20+15+20+10=55 D. 1 4 5 3 =總路徑成本 20+15+35=70

由 上 列 可 知 繞 行 最 短 路 徑 為 A,其總路徑成本為 45。貪婪法則的 作法則是以當 前與下 一站的最短距 離來選 擇作為到達下 一站的 依據。

根 據 貪 婪 法 則 的 原 理 , 最 終 所 得 到 的 解 為 ; 1 4 = 總路徑成本 10

1 4 5 = 總路徑成本 20+15=25 1 4 5 2 =總路徑成本 20+15+20=45

1 4 5 2 3 =總路徑成本 20+15+20+10=55

由 上 列 可 看 出,利 用 貪 婪 法 則 所 求 算 出 最 短 路 程 為 55,與一般求 解最短路徑方 法所求 出的總路徑成 本為 45,兩者的最終結果的差異性 並不是很大。 一般求 解較短路徑方 式,是 至少必須將每 個城市 站的距

圖 2.4 有向圖形

離都一一求算 過後,才知道最短路 徑為何,以圖 2.4 的城市數目而言,

或許尚能求算 得出每 種路徑組合, 一旦城 市數目增加, 則可能 相對地 增加求算的時 間。貪 婪法則在此提 供一套 可快速求得近 似解的 方式,

在 求 解 過 程 中 , 如 例 子 所 示 , 均 以 當 前 與 下 一 站 之 最 短 距 離 來 作 為 選 擇 到 達 的 依 據 , 求 解 相 對 可 減 少 許 多 。

在文檔中 中 華 大 學 (頁 37-41)

相關文件