91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: 其他
  • 標簽: 遺傳??

資源簡介

Max f (x1, x2) = 21.5 + x1·sin(4πx1) + x2·sin(20πx2) s. t. -3.0 ≤ x1 ≤ 12.1 4.1 ≤ x2 ≤ 5.8

資源截圖

代碼片段和文件信息

%%%*****用遺傳算法求函數最大值(雙輸入單輸出)****%%%%%
clc;
clear;
x1min=-3.0;?%輸入變量1的變化范圍
x1max=12.1;???????
x2min=4.1;??%輸入變量2的變化范圍
x2max=5.8;??????????????????????????????????????
pb=0.001;??%變異概率

N=20;????%初始種群數目=20
s1=ceil(log2(1000*(x1max-x1min)));?%計算二進制串的長度
s2=ceil(log2(1000*(x2max-x2min)));?
s=s1+s2;????%%種群的位數

zq=randint(Ns);?%產生初始種群,庫函數和for循環均可
%?for?i=1:N
%?????for?j=1:s
%?????????r=rand(1);
%?????????if?r>0.5
%?????????zq(ij)=1;
%?????????else?zq(ij)=0;
%?????????end
%?????end
%?end

%%*****用于二進制轉化為十進制****
for?i=1:s1
????zhuanhuan(i1)?=?2^(s1-i);
end
for?i=s1+1:s
????zhuanhuan(i1)?=?2^(s-i);
end

for?k=1:500?%遺傳算法的次數
????%%********將二進制轉換成十進制
????for??i=1:N
????????j1(i)=zq(i1:s1)*zhuanhuan(1:s1);
????????j2(i)=zq(is1+1:s)*zhuanhuan(s1+1:s);
????end?
????%%****轉化為目標函數值
????x1=x1min+j1*(x1max-x1min)/(2^s1-1);
????x2=x2min+j2*(x2max-x2min)/(2^s2-1);
????%%****計算適配值?
????f=21.5+x1.*sin(4*pi*x1)+x2.*sin(20*pi*x2);
????%%%******依次得到最大值,平均值
????f_max(k)=max(f);
????f_sum=sum(f);
????f_avr(k)=sum(f)/N;
????%%******復制********?
????g=f/f_sum;??%計算選擇概率
????q(1)=g(1);??%計算累計概率
????for?i=2:N
????????q(i)=q(i-1)+g(i);
????end
????
????for?i=1:N????%輪盤賭法
???????r=rand(1);
???????for?j=1:N
???????????if?r<=q(j)
???????????????zq1(i:)=zq(j:);
????????????????break;
???????????end
???????end
????end
????zq?=?zq1;
????%%*****交叉操作*****
????zq2?=?zq;??
????zz?=?randperm(N);%產生交叉順序
????for?i=1:N/2
???????v1?=?randperm(s1-1);%產生交叉位
???????v2?=?randperm(s2-1);
???????for?j=v1(1)+1:s1?????%交叉
???????????t?=?zq2(zz(i*2-1)j);
???????????zq2(zz(i*2-1)j)?=?zq2(zz(i*2)j);
???????????zq2(zz(i*2)j)?=?t;
???????end
???????for?j=v2(1)+1:s2
???????????t?=?zq2(zz(i*2-1)j+s1);
???????????zq2(zz(i*2-1)j+s1)?=?zq2(zz(i*2)j+s1);
???????????zq2(zz(i*2)j+s1)?=?t;
???????end
????end
????zq?=?zq2;
????%%*********變異操作****????
????for?i=1:N?
???????for?j=1:s
???????????if?rand(1)???????????????if?zq(ij)==1
???????????????????zq(ij)=0;
???????????????else?zq(ij)=1;
???????????????end
???????????end
???????end
???end
end
figure()%繪圖
subplot(211)plot(f_max)title(‘適配值最大值‘);
subplot(212)plot(f_avr)title(‘適配值平均值‘);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2408??2010-05-12?23:44??yichuansuanfa.m

-----------?---------??----------?-----??----

?????????????????2408????????????????????1


評論

共有 條評論