(四)智能搜索算法

應用於調度問題的智能搜索方法包括模擬退火、禁忌搜索和遺傳算法等。目前,在動態調度中使用最多的是遺傳算法。遺傳算法解決調度問題的優勢在於它可以隨機地從一個調度跳到另一個調度,從而可以解決其他方法易於使解陷入局部最優的問題。此外,它還具有計算速度快且易與其他算法相結合的優點,非常適合於解決動態調度問題。應用遺傳算法解決動態調度的文獻較多,其中大多將遺傳算法與其他方法結合使用。Lee等[86]用遺傳算法和機器學習來解決單件車間的調度問題,用機器學習來產生將工件下發到車間作業層的知識庫,而用遺傳算法在各台機器上分配工件。Jian等[88]提出一種FMS的調度和重調度算法,該算法考慮了4種動態事件,即機器損壞、訂單優先級提高、緊急訂單下達和訂單取消,用穩態遺傳算法產生一個初始調度,當意外事件發生時,根據具體情況僅重新調度那些直接受影響的工序。Jones等[86]提出一種實時排序和調度算法,它集成了神經網絡、實時仿真和遺傳算法等方法,其中遺傳算法主要用於對幾個備選的調度規則進行優選。

(五)基於多代理的方法

多代理(multi.agent)通過在一係列分散的智能單元(agent)間進行協調來解決問題。這些單元有各自的目標和自治的行為,並且可以有子單元。但是沒有一個單元能夠解決全局問題,因而它們之間必須進行協調。關於multi.agent係統的結構,不同的人有不同的觀點。例如,Kouiss等[89]根據車間的物理布局來確定係統的結構,為每一個加工中心配備了一個agent,用於解決對應加工中心內的調度。另外,還設計了一個全局agent,用於監視整個製造係統的狀態,必要時為滿足全局的需要可在各agent間進行協調。Nof等[90]提出了自適應/預測調度係統框架,將調度係統按功能劃分成5個模塊:調度器/重調度器、監視器、比較器、分辨器和調度恢複適應器。但共同點是每個agent至少應有以下3個組成部分:①知識庫,包含agent執行其功能所必需的知識和數據;②控製功能,根據環境狀態及與其他agent間的相互作用,從知識庫中提取知識來完成調度功能;③通訊功能,用來與其他agent和環境之間進行信息傳遞。multi.agent方法著重強調agent之間的交互和響應,而較少涉及agent內部的優化。北京航空航天大學楊建軍教授等[91,92]也采用多代理方法研究了作業計劃問題。