遺傳演算法(GA)的matlab實現

2021-06-13 20:17:15 字數 548 閱讀 5372

一、task

二、實現過程

1.     編碼與解碼

編碼:在編碼之前需要確定求解的精度,設定求解的精度為小數點後六位,即10^6。這樣可以將每個自變數x的解空間劃分為(1-0)*10^6=1000000個等分。使n滿足 (1-0)*10^6<2^n-1,這裡n表示使上式成立的最小整數,即表示自變數x的基因串的長度。因為2^19<40000<2^20 ,所以n取20。解碼:

二進位制基因串轉變成十進位制:例如基因串 可以翻譯為:

x=0+decimal( ) 。

2.      初始化種群

設種群大小為pop_size,每個染色體或個體的長度為chromo_size,假設生成的初始種群為(v1, v2, …, vpop_size)。

遺傳演算法(GA)

a,問題描述 已知100個城市的經緯度座標如下 儲存為city.txt 53.7121 15.3046 51.1758 0.032246.3253 28.2753 30.3313 6.9348 56.5432 21.4188 10.8198 16.252922.7891 23.1045 10.158...

遺傳演算法的matlab實現

遺傳演算法是一種全域性最優化演算法,是運用了演化論優勝劣汰原理的隨機化搜尋方法。前些日子,在進行畢業設計的相關研究中,我接觸到了遺傳演算法,用其對乙個五元非線性函式進行最優化搜尋。平台使用的是matlab,主要使用的是謝菲爾德大學的matlab遺傳演算法工具箱。具體程式如下 clc clear al...

優化演算法(二) 遺傳演算法 GA演算法

遺傳演算法,genetic algorithm ga 遺傳演算法也稱進化演算法 進化理論 是受達爾文的演化論的啟發,借鑑生物進化過程而提出的一種啟發式搜尋演算法。用遺傳演算法實現的幾個例子 馬里奧 自動駕駛 微生物進化 我們都學過自然選擇理論,生物的繁殖進化過程,會發生基因交叉 crossover ...