資源簡介
遺傳算法求最小值 經本人調試 十分好用 用run命令調用mainmin1和mainmin2 就可以算出了
f='-(exp(-1))+(x-20).*(x-22)';可以改為其他計算其他函數的最小值

代碼片段和文件信息
%--------------------------------------------------------------------------
%Crossover%交叉操作
function?v=crossover(vtemppc)
[NL]=size(vtemp);
C(:1)=rand(N1)<=pc;%選擇被雜交的。<=pc就是1否則是0構成0-1向量
I=find(C(:1)==1);%找分量等于1的元素,其下標構成向量。
I‘;%變成行向量
j=1;
for?i=1:2:size(I)%兩兩配對所以以2為步長
????if?i>=size(I)%奇數個處理?如果是奇數個,則最后一行不處理
????????break;
????end
????site=fix(1+L*rand(1));%fix向零取整,L=22.%site屬于1-22.隨機確定交換點的位置
????temp=vtemp(I(i1):);%交換的暫存變量。T??記錄要交叉的第一行基因
????vtemp(I(i1)site:end)=vtemp(I(i+11)site:end);%交換后面的數值
????vtemp(I(i+11)site:end)=temp(:site:end);%交換??temp沒有被修改
end
v=vtemp;%復制返回
end????????
%%
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????751??2013-12-03?20:58??ga_main\crossover.m
?????文件????????513??2013-12-03?20:57??ga_main\decode.m
?????文件????????210??2013-12-03?20:58??ga_main\init_population.m
?????文件???????2984??2015-08-25?16:28??ga_main\mainmin1.m
?????文件???????2999??2015-08-25?16:42??ga_main\mainmin2.m
?????文件????????376??2013-12-05?00:54??ga_main\roulette.m
?????文件????????403??2013-12-03?21:00??ga_main\roulette2.m
?????目錄??????????0??2015-08-25?16:39??ga_main
-----------?---------??----------?-----??----
?????????????????8236????????????????????8
- 上一篇:flash計算器
- 下一篇:110kv變電站設計CAD圖
評論
共有 條評論