題目: 用遺傳算法求函數f(a,b)=2a x sin(8PI x b) + b x cos(13PI x a)最大值,a:[-3,7],b:[-4:10] 實現步驟: 初始化種群 計算種群中每個個體的適應值 淘汰部分個體(這里是求最大值,f值存在正值,所以淘汰所有負值 ...
參考: 知乎:https: www.zhihu.com question MATLAB的實現GitHub地址:https: github.com yanshengjia artificial intelligence tree master genetic algorithm for functional maximum problem 附錄:把個體單獨抽出來放到一個類中 ...
2018-02-08 17:33 0 1314 推薦指數:
題目: 用遺傳算法求函數f(a,b)=2a x sin(8PI x b) + b x cos(13PI x a)最大值,a:[-3,7],b:[-4:10] 實現步驟: 初始化種群 計算種群中每個個體的適應值 淘汰部分個體(這里是求最大值,f值存在正值,所以淘汰所有負值 ...
新手,有什么不足的或者不准確的,大家希望能熱心指出,一起討論交流 問題描述 求解函數f(x) = x * sin(10pi * x) + 2 在區間[-1,2]上的最大值,要求精度10^-6. 代碼部分 具體的理論部分不進行過多的解釋,網上有很多詳細的帖子。直接上代碼,一共 ...
遺傳算法基本原理 借鑒物種進化的思想,將欲求解問題編碼,把可行解轉化為字符串形式。初始化隨機產生一個種群,用合理的評價函數對種群進行評估,在此基礎上進行選擇、交叉、變異的操作。選擇算子根據父代中個體適值大小進行選擇或淘汰,保證了算法的最優搜索方向。 交叉算子模擬基因重組及隨機信息交換,產生更好 ...
要想使用遺傳算法,首要任務是定義DNA編碼。 傳統的 GA 中, DNA 我們能用一串二進制來表示, 比如: 這里,我們仍然使用二進制編碼,但是如何與我們的問題對應起來呢? 我們知道二進制很容易轉十進制,再區間壓縮以下,這樣一個DNA和一個解一一映射 ...
利用遺傳算法尋找函數f(x)=sin(10πx)/x x=[1,2] 轉載來源:https://blog.csdn.net/qq_33336017/article/details/79260688?tdsourcetag ...
之前用matlab寫過遺傳算法,但從沒用c實現過,今天老師布置了人工智能的課設,為了溫故下學過的遺傳算法,於是有了下面的代碼……下面的代碼是求y=x*sin(10*pi*x)+2 (-1<=x<=2)的(近似)最大值,但稍作修改即可求其他函數的最值。 View Code ...
問題:求y=10cos(5xx)+7sin(x-5)+10xx的最小值 要求:(1)用遺傳算法編程求解問題 (2)編程語言用MATLAB 或C (3)輸出問題的最優解及最大值,並繪圖顯示 方法一 function.m 1)運行結果 函數取(-1,0)定義域,能夠顯示出的X=-0.7733 ...
問題 讓你求解一個非線性規划問題的最優解 \[y=200\times \exp(-0.05x)\times \sin(x)\\ s.t. \ -2<x<2 \] GA 遺傳算法,(Genetic Algorithm,GA)是模擬生物進化論中自然選擇和遺傳學機理的生物進化 ...