蟻羣算法如何設置起始點和終點

蟻羣算法如何設置起始點和終點

蟻羣算法可以用於路徑規劃,在本例中,地形矩陣用0表示無障礙物、用1表示有障礙物,機器人從1x1處走到10x10處,使用蟻羣算法找最短路徑。

步驟如下:

初始化參數、地形矩陣、信息素矩陣和啓發式因子矩陣。啓發式因子矩陣中一點的值爲該點到終點距離的倒數,距離越短,啓發式因子越大,障礙物處的啓發式因子爲0。信息素矩陣被初始化爲一個統一的值。

在本例中,將一條路徑表示如下:[路徑長度點1點2……],例如[21200]表示該路徑長度爲2,路徑爲[12]。

對每次迭代中的每隻螞蟻,進行如下3步,直至到達終點或者陷入死衚衕:

創建一個禁忌矩陣,禁忌矩陣中已經訪問過的點爲0,其餘點與啓發式因子矩陣中相應點的值相同。

設置初始點,根據信息素、啓發式因子、禁忌表,通過輪盤賭方法,選擇下一個城市。

更新路徑和禁忌矩陣。

每次迭代後,更新信息素,只對最優路徑中的點進行增加信息素操作。

迭代,直至結束。