第三章 文獻回顧
3.2 人工智慧演算法於資源規劃之應用
在人工智慧的範疇中,解題式人工智慧旨在所有可能解的集合之中找到最 符合需求者。根據Stuart Russell & Peter Norvig 合著之 Artificial Intelligence: A Modern Approach 的分類,人工智慧可分為以下六大類[Stuart Russel et al., 2003]:
1. 解題(搜尋最佳解)
2. 知識理解(專家、知識庫) 3. 邏輯應對(規劃)
4. 不確定之知識與推理(機率與決策) 5. 學習型(監督、非監督)
6. 溝通、感知、反應(知覺機器人)
資源分派問題(Resource Allocation Problem)在1960年代起便受到重視
[Wiest, 1964],其後有許多學者進行資源分派模式的探討,並發展出Integer
Programming、Branch-and-bound、Dynamic Programming等模式,但運用到真實 的分派問題求解時,則受制於計算不易而顯得不切實際[Tarek, 1999]。自1990年代 起,電腦模擬方法與啟發式(Heuristic)人工智慧實用性大幅提昇,學者運用諸如:
模擬退火法(Simulated Annealing)、線性規劃(Linear Programming)、基因演算法 (Genetic Algorithm)、禁忌搜尋法(Tabu Search)、蟻群最佳化演算法(Ant Colony Optimization)等進行求解,其中以資源撫平(Resource Leveling)、資源限制之工期 排程(Resource Constrained Scheduling)為最大宗研究[本研究整理]。
資源撫平的目標是在不影響工期的情況下緩和資源變動性[Tarek, 1999]。資 源限制下的工期排程則是在考慮資源有限的情形下進行排程[Merkle, 1999]。這兩個
回到高科技廠房之興建,資源配置數量需求受限於排程,必要時得擴充資 源,也就是進行所謂的趕工,此時資源分派的問題從資源數量變動最小化轉變 為:工期最小化、資源可得性最大化。此外,台灣地狹人稠,基地面積往往相當 狹隘,物料暫存區不足的問題對施工影響相當大,亦時常有工地過度擁擠的情 形,在竹科尤其明顯。歸納高科技廠房專案之營建資源規劃問題,資源最佳化之 研究方向應為:在工期限縮的情況下進行資源配置的最佳化,使作業資源充足不 間斷,同時避免資源閒置造成的浪費。
儘管高科技廠房的資源分派問題與一般建築截然不同,該問題仍可建置為 數學式進行求解,因此本研究將透過解題式人工智慧進行此類型問題的探討。資 源配置比例問題屬於組合最佳化問題(Combinational Optimization Problems),而蟻 群最佳化演算法對該類型問題特別拿手[章允建, 2005],因此本論文選擇蟻群最佳化 演算法進行研究。
3.2.1 蟻群最佳化演算法概述
蟻群最佳化演算法是採取隨機、全局式的搜尋演算法,由Dorigo等學者在 1991年所提出的一種最佳化演算法,經過數年的發展,該演算法在處理旅行推銷 員(Traveling Salesman Problem)、二次分配(Quadratic Assignment)、車間排程(Job Shop Scheduling)等組合最佳化問題取得相當良好的成效[Marco Dorigo et al.,1996]。其 演算法精隨為,利用過往的經驗在可能的解空間中不斷探索、開發,提出更好的 解答,以逼近最佳解[章允建, 2005]。蟻群最佳化演算法被歸類為群集智能(Swarm Intelligence),所謂的群集智能是透過群體的智慧與經驗,處理單一個體難以解決 的問題。這類型的演算法可以避免演算法常見之弊病,如題目難度提高會導致過 度複雜、容易落入區域解等[馬良, 2000]。
蟻群最佳化演算法(Ant Colony Optimization, ACO)是經由觀察自然界中蟻群 尋找最短覓食的方法而得到的。當螞蟻發現食物,會前往食物所在的地點進行搬 運,在螞蟻移動的路徑上會留下費洛蒙以供後面的螞蟻跟隨其路徑。然而,螞蟻 與食物之間不一定是直線、單一的路徑,而是存在各種可能的路線,較晚出發的 螞蟻會根據各路徑上費洛蒙強弱程度為路徑選擇依據,即費洛蒙殘存多的路線較 容易被選擇。自然界中的費洛蒙會隨著時間蒸發(Evaporation)而減少,由於各路 線所花費的搬運時間不同,較長的搬運路線費洛蒙消散較快,螞蟻選擇路徑之天 性便能讓螞蟻傾向採取較短的路徑,但仍有機會搜尋未知的路徑。其概念可用下 頁組圖作簡單的演示(順序a>b>c>d):
(a) 蟻群發現食物 (b) 蟻群留下費洛蒙
(c) 費洛蒙蒸發、再累積 (d) 蟻群根據費洛蒙選擇最短路徑
圖3.2.1.1a~d 自然界中螞蟻搜尋最短覓食路徑之原則
3.2.2 蟻群最佳化演算法計算流程
在使用蟻群演算法時,必須進行以下準則設置[章允建, 2005], [Merkle, 2002]:
1. 定義節點(Node):解空間由眾多節點的合法解答(Eligible Activity)構成,每 個節點皆有一定解答範圍(圖3.2.2.1),各節點之關係可關聯或獨立、選擇順 序可依序(Sequenced)或同步(Synchronized),舉螞蟻覓食的例子來說,即為 各個叉路之方向選擇;對於交通號誌管控來說,即為各號誌的時間長度。
螞蟻的例子中前一個節點之選擇對會影響下一個節點能選擇的方向,但交 通號誌則不受影響。
圖3.2.2.1 節點與合法解答示意圖
2. 定義成本(Cost):成本為最佳化成本的指標,影響到費洛蒙消散的程度。例 如在交通號誌管控上,成本為車輛通行的總時間。在多重成本目標的求解 上,亦可設定不同權重。圖3.2.2.2為合法解答組合與成本之關係範例,以 球體半徑表示成本高低。
! " # $ % &
' '' ''' ('
) * + ,
-!"#
!"$
!"%
圖3.2.2.2 解空間與對應成本
3. 建立限制式(Constrain):針對不同的問題,選擇合法解答時必須遵循之限 制,例如旅行推銷員不能選擇曾走過的城市。
4. 費洛蒙更新(Pheromone):費洛蒙為螞蟻經過節點時選擇合法解答的依據,
在真實世界中費洛蒙會自然蒸發,較短的路徑由於花費時間較短,費洛蒙 蒸發較少,而螞蟻亦傾向找尋費洛蒙氣味較強烈的路徑,蟻群演算法便是 運用這種特性使演算結果收斂。
3.2.3 蟻群最佳化演算法於組合問題之求解
本節以著名的旅行推銷員問題為例,每隻螞蟻可視為一個代理人(Agent),
自由進行搜尋後,依照費洛蒙蒸發的結果改變各路徑的選擇機率,即得到逼近最 短路徑的結果。下頁組圖是旅行推銷員問題的範例,代理人必須從起點經過四個 城市抵達終點,然而各路徑之旅行成本不盡相同,如何挑選最經濟的一條路徑為 其課題。對於簡單的覓食路徑問題,成本僅有時間,但真實問題之求解,則需針 對問題定義成本函數,進行費洛蒙蒸發程度的計算,透過多次迭代(Iteration)的演 算,即可去蕪存菁留下最理想的路徑(圖中箭頭粗細代表費洛蒙多寡)。
!""#""$""%""&
'(""(((""((""(
)
* + , -. /((0#0+1
/(((0!0-1
/(0#0)1
/((0&0+1
/(0$0-1
!"
圖3.2.1.2a~d 用蟻群最佳化演算法解旅行推銷員問題
除了旅行推銷員問題之外,Dorigo等學者亦嘗試過如Job Shop Problem等等 問題之求解。其研究指出此演算法的特性有三:(1)分散(Distributed)、(2)自動催化 (Autocatalytic)、(3)貪婪式啟發(Greedy Heuristic)。特性一能避免落入局部解(Local Optimal),特性二是較優解會具有吸引較多螞蟻進行嘗試,特性三則是可以事先 給予較佳解的範圍,減少無用搜尋[Dorigo, 1996]。