1. 程式人生 > >基於時間窗的AGV排程演算法優化

基於時間窗的AGV排程演算法優化

--------------------------------------------------------重要更新----------------------------------------------------------

目前已實現了一種創新優化的時間窗排程方法,創新表現如下:

①不需要鋪設二維碼、磁釘、磁帶等固定導軌,屬於無軌排程。

②不需要提前指定路網,路網不固定,路網隨作業環境以及任務數量靈活變動,路網保證整個排程系統效率最優。

這是7輛AGV執行的效果,不會上傳視訊,只能截個圖了,有會上傳視訊的可以教教我哈。

--------------------------------------------------------重要更新----------------------------------------------------------

下面是傳統的基於時間窗的排程演算法:

首先我解釋一下靜態排程演算法和動態排程演算法的區別:

靜態排程演算法:靜態排程演算法是一種離線演算法,是AGV執行任務前的路徑規劃演算法。“靜態”體現在忽略外界干擾以及AGV效能波動等不可預測的因素對整個系統的不良影響。

動態排程演算法:動態排程演算法建立在靜態排程演算法之上,是一種線上演算法,會對系統時間窗按一定的時間間隔進行更新和檢測。由於外界干擾以及AGV效能波動等不可預測的因素會產生衝突,動態排程演算法主要解決路口衝突和相向衝突。由於假定AGV速度相同,所以趕超衝突幾乎不存在。

基於以上理解,可設定基於時間窗的靜態排程演算法和基於時間窗的動態排程演算法的實現目標:

基於時間窗的靜態排程演算法實現目標:①解決相向衝突②同一路段可同時通過多輛同向AGV,多輛AGV之間保持車距。

基於時間窗的動態排程演算法實現目標:①解決由於不確定因素導致的相向衝突②解決路口衝突。

計算時間窗

假設已存在某一任務(路徑為1-2-3-4),在圖中由綠色線條表示。當分配新任務(路徑為5-2-3-4),在圖中表示為紅色線。如下圖所示:

         由圖1可知,新任務在路段2-3時有同向衝突,解決方案如圖2所示。

         若2-3路段是相向衝突,則按照圖3平移時間窗。