蟻羣算法可以用於路徑規劃,在本例中,地形矩陣用0表示無障礙物、用1表示有障礙物,機器人從1x1處走到10x10處,使用蟻羣算法找最短路徑。
步驟如下:
初始化參數、地形矩陣、信息素矩陣和啓發式因子矩陣。啓發式因子矩陣中一點的值爲該點到終點距離的倒數,距離越短,啓發式因子越大,障礙物處的啓發式因子爲0。信息素矩陣被初始化爲一個統一的值。
在本例中,將一條路徑表示如下:[路徑長度點1點2……],例如[21200]表示該路徑長度爲2,路徑爲[12]。
對每次迭代中的每隻螞蟻,進行如下3步,直至到達終點或者陷入死衚衕:
創建一個禁忌矩陣,禁忌矩陣中已經訪問過的點爲0,其餘點與啓發式因子矩陣中相應點的值相同。
設置初始點,根據信息素、啓發式因子、禁忌表,通過輪盤賭方法,選擇下一個城市。
更新路徑和禁忌矩陣。
每次迭代後,更新信息素,只對最優路徑中的點進行增加信息素操作。
迭代,直至結束。