%這是乙個用ga演算法來求函式極值的例子;
clcclear all
t=100;
optionsorigin=gaoptimset('generation',t/2);
[x,fval,reason,output,finnal_pop]=ga(@ch14_2f,2,optionsorigin);
%options1=gaoptimset('generations',t/2,'initialpopulation',finnal_pop,'plotfcns',@gaplotbestf);
[x,fval,reason,output,finnal_pop]=ga(@ch14_2f,2,options1);
bestx=x
bestfval=fval
%子函式:求函式極值適應度函式同時也是目標函式,函式儲存名稱為ch14_2f.m
function f=ch14_2f(x)
g1=1.5+x(2)*x(1)-x(1)-x(2);
g2=-x(1)*x(2);
if(g1>0|g2>10)
f=100;
else
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(2)*x(1)+2*x(2)+1);
end%請大家關於遺傳演算法的引數調整給點經驗吧,不要光看不說啊!
簡單遺傳演算法求函式極值
引言 遺傳演算法求函式極值算是遺傳演算法的一種最簡單的應用,這裡就介紹一種簡單的,全文基本翻譯自codeproject的一篇文章,作者為luay al wesi,軟體工程師。例子中的函式為y x2 5 大家可以將其改為其他複雜一些的函式,比如說f x 10sin 5x 7cos 4x 等。本篇文章適...
MATLAB遺傳演算法之 工具箱實現
標準演算法 遺傳演算法 每次選代產生乙個單點,點的序列逼近乙個優化解 每次迭代產生乙個種群,種群通近乙個優化解 通過確定性的計算在該序列中選擇下乙個點 通過隨機進化選擇計算來選擇下一代種群 遺傳演算法工具有兩種使用方式 以命令列方式呼叫遺傳演算法函式ga。通過使用者圖形介面使用遺傳演算法工具。在命令...
初遇Sheffield遺傳演算法工具箱
安裝參考 安裝 1 解壓gatbx origin.zip,得到doc和src資料夾 2 拷貝src到matlab安裝目錄下的toolbox資料夾中,並將src更名為gatbx 3 開啟toolbox local 目錄下的pathdef.m檔案,在適當位置新增以下兩行 也可addpath code i...