蟻群算法解決TSP問題


代碼實現

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

運行結果及參數展示

 

 

alpha=1
beta=5

rho=0.1
 

 

 

 

 

alpha=1
beta=1
rho=0.1

 

 

 

 

 

 

alpha=0.5
beta=1
rho=0.1

 

 

 

 

 

 

 

概念
蟻群算法(AG)是一種模擬螞蟻覓食行為的模擬優化算法,它是由意大利學者Dorigo M等人於1991年首先提出,並首先使用在解決TSP(旅行商問題)上。之后,又系統研究了蟻群算法的基本原理和數學模型.
蟻群算法的基本原理:
1、螞蟻在路徑上釋放信息素。
2、碰到還沒走過的路口,就隨機挑選一條路走。同時,釋放與路徑長度有關的信息素。
3、信息素濃度與路徑長度成反比。后來的螞蟻再次碰到該路口時,就選擇信息素濃度較高路徑。
4、最優路徑上的信息素濃度越來越大。
5、最終蟻群找到最優尋食路徑。

 

 

 

公式一

從公式中可以看出信息素因子為信息素濃度的指數,啟發函數因子為啟發函數的指數,這樣便很好理解這兩個參數所起到的作用了,分別決定了信息素濃度以及轉移期望對於螞蟻k從城市i轉移到城市j的可能性的貢獻程度。
公式二:

這個公式反映了信息素濃度的迭代更新規律,可以看出,所有螞蟻遍歷完一次所有城市后,當前信息素濃度由兩部分組成,第一部分即上次所有螞蟻遍歷完所有城市后路徑上信息素的殘留,第二部分為本次所有螞蟻遍歷完所有城市后每條路徑上的信息素的新增量。
公式三:

公式三反映了每只螞蟻對於自己經過的城市之間路徑上信息素濃度的貢獻量,可以看出,其經歷的路程越長,則對於沿途上信息素濃度的貢獻量也就越低,如果盡力的路程越短,則對於沿途上信息素濃度的貢獻量也就越高

 

 


實驗總結
(1)蟻群算法是一種模擬生物界螞蟻覓食過程的智能搜索算法,首先應用於組合優化問題,並取得了較好的結果。實驗仿真結果表明:蟻群算法合理地利用了信息素,在搜索時間和解的質量之間取得了一個較好的平衡,該算法是一種有效的算法
(2)alpha值越大,螞蟻選擇之前走過的路徑可能性就越大,搜索路徑的隨機性就減弱,alpha越小,蟻群搜索范圍就會減少,容易陷入局部最優
(3)beta值越大,蟻群就越容易選擇局部較短路徑,這時算法的收斂速度是加快了,但是隨機性不高,容易得到局部的相對最優
(4)rho過小時,在各路徑上的殘留的信息素過多,導致無效的路徑繼續被搜索,影響到算法的收斂速率;
rho過大時,無效的路徑雖然可以被排除搜索,但是不能保證也會被放棄搜索,影響到最優值的搜索

                                    
                
                    
    
     
        
            

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM