亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gaproblem1.m

?? 用遺傳算法求解函數(shù)極值
?? M
字號:
%使用遺傳算法求解
% f(x1,x2)=x1^2+x2^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7的極小值,并畫出每一代中個體適配函
% 數(shù)的平均值和最小值隨迭代次數(shù)的變化關(guān)系

%程序總體說明:
% 編碼方式說明: 由于期望所求的函數(shù)極小值包含了平方項,而正弦和余弦項的范圍只能是-1---1,因此優(yōu)化范圍的x1,x2只能在-1--1之間,編碼時
% 首先將x1,x2加1變到0--2之間,之后為了編碼需要,設(shè)采樣精度是0.01 ,將0--2之間的數(shù)乘以100,得到0--200之間的整數(shù),另外為了編碼的需要,
%設(shè)編碼為8位,編碼成0--255的二進(jìn)制碼。,每個個體用16位的二進(jìn)制串表示,的前8位是x1,后8位是x2
%適配制計算說明:%根據(jù)編碼方式,將每一個個體的編碼變化到-1--1之間,之后按照函數(shù)f計算
%可以選擇  1--直接利用函數(shù)的倒數(shù)作為適配值計算; 2--使用排序法計算, 3--使用1-J(i)/sum(J)方法計算
%復(fù)制操所機制:1--輪盤賭方法  ; 2--保留最優(yōu)淘汰法
%交叉機制: 使用掩碼法進(jìn)行交叉操作.

clear all;
%使用
disp '輸入初始化參數(shù)'
inum=input('請輸入種群大小(回車為缺省值30個個體):    ');
if isempty(inum)
    inum=50;   %種群中的個體數(shù)
end
count=input('請輸入迭代次數(shù)(回車為缺省值100代):     ');
if isempty(count)
    count=100;    %迭代次數(shù)
end
pcross=input('請輸入交叉概率(回車為缺省值0.6):      ');
if isempty(pcross)
    pcross=0.6;   %交叉概率 
end
pchange=input('請輸入變異概率(回車為缺省值0.001):      ');
if isempty(pchange)
    pchange=0.001;     %變異概率
end
disp '程序?qū)崿F(xiàn)機制選擇'
%程序?qū)崿F(xiàn)機制選擇
Fitflag=input('請輸入適配度的計算方法(1為1/f(x1,x2), 2為排序法,3為1-J(i)/sum(J),缺省為2 ):       '  );
if (isempty(Fitflag))||(Fitflag>3)
    Fitflag=2;
end
Copyflag=input('請輸入適配度的計算方法(1為輪盤賭法,2為最優(yōu)保存淘汰法,缺省為2):          ');
if (isempty(Copyflag))||(Copyflag>2)
    Copyflag=2;
end

%程序計算開始
constk=5; %用來控制適配制之間的常數(shù)
%初始種群
Individual=rand(inum,16);       % 表示的個體的矩陣
Individual=round(Individual);   %變成01 串
J=zeros(inum,1);                %存儲各個個體的函數(shù)值
Jorder=zeros(inum,1);        %函數(shù)值的大小順序 
Adap=zeros(inum,1);          %適配度
MeanAdap=zeros(count,1);        %存儲每一代的適配度均值
MinAdap=zeros(count,1);         %存儲每一代的適配度最小值
%初始化隨便找一個Xg;

%迭代
for k=1:count
    [inum1 col]=size(Individual);
    for i=1:inum1   %每一個個體計算         
    %適配度計算
        %轉(zhuǎn)化成十進(jìn)制數(shù)
        x1=0;
        x2=0;
        for j=1:8
            ex=8-j;
            x1=x1+Individual(i,j)*2^ex;   % 計算x1  0--256
            x2=x2+Individual(i,j+8)*2^ex; % 計算x2  0--256           
        end  %end of j
        x1=x1/100-1.28;   % 變換 x1到 -1.28:1.28
        x2=x2/100-1.28;   % 變換 x2到 -1.28:1.28
        %適配度計算
        J(i,k)=(x1^2+x2^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7);
    end   %end of i
    switch Fitflag
        case 1        %1為1/f(x1,x2), 2為排序法,3為1-J(i)/sum(J)
            Adap=1/J(:,k);            
        case 2
            %排序,按照順序計算適配值
            [B,Jorder] = sort(J(:,k));  %次序是從小到大排列
            for i=1:inum1
                tempi=Jorder(i);
                Adap(tempi)=constk*(inum1-i)/inum1;
            end            
        case 3
            tempj=ones(inum1,1);
            Adap=tempj-J(:,k)/sum(J(:,k));       
    end       %end of switch            
    MeanAdap(k)=mean(Adap);
    MinAdap(k)=min(Adap);
    MeanJ(k)=mean(J(:,k));
    [MinJ(k),Indexmin]=min(J(:,k));
    %得到最優(yōu)解,保存在Xg中
    if (k==1)
        Xg(1)=MinJ(k);
        MinIndividual=Individual(Indexmin,:);
    else
        if (MinJ(k)<Xg(k-1))   
            Xg(k)=MinJ(k);
            MinIndividual=Individual(Indexmin,:);
        else
            Xg(k)=Xg(k-1);
        end
    end     % end of if
    Adap1=Adap/sum(Adap);   %適配度的比例
    TempIndividual=Individual;
    Individual=zeros(inum,16);    
    %復(fù)制
    switch Copyflag
        case 1     %1為輪盤賭法,2為最優(yōu)保存淘汰法
            %隨機產(chǎn)生一個數(shù)
            for i=1:inum1
                if (i==1)
                    route(i)=Adap1(i);        %產(chǎn)生輪盤
                else
                    route(i)=route(i-1)+Adap1(i);
                end        
            end
            for i=1:inum         %復(fù)制產(chǎn)生inum個個體 
                prob=rand;
                for j=1:inum1    % 根據(jù)輪盤賭概率決定哪個個體被復(fù)制
                    if (j==1)            %第一個個體的概率
                        if (prob<route(j))
                            Individual(i,:)=TempIndividual(j,:);
                            break;
                        else
                            continue;
                        end    %第一個節(jié)點判斷完成
                    else          %不是第一個
                        if (route(j-1)<prob)&&(prob<route(j))
                            Individual(i,:)=TempIndividual(j,:);
                            break;
                        else 
                            continue;
                        end                   
                    end      % end of  j==1
                end      %end of j
            end         %end of i   
            % end of case 1  輪盤賭法復(fù)制結(jié)束          
        case 2
             [B,Jorder] = sort(J(:,k));  %次序是從小到大排列
              for i=1:inum
                  Individual(i,:)=TempIndividual(Jorder(i),:);        
              end         %end of i    
              % end of case 2 最優(yōu)個體保存法復(fù)制 結(jié)束
    end   % end of switch  復(fù)制結(jié)束 
    %交叉
    ptemp=rand;
    if (ptemp<pcross)            %產(chǎn)生交叉
        %掩碼交叉
        rand1=randperm(inum);   %產(chǎn)生隨機數(shù),然后每兩個兩兩交叉.
        for i=1:inum/2
            p1=rand1(2*(i-1)+1);
            p2=rand1(2*(i-1)+2);
            %產(chǎn)生父母
            parent1=Individual(p1,:);
            parent2=Individual(p2,:);
            %產(chǎn)生個體
              %產(chǎn)生掩碼
            maskcode=rand(inum,16);    %產(chǎn)生掩碼
            maskcode=round(maskcode);   %變成01 串        
            for j=1:col
                if (maskcode(j)==1)   %是1則父母的位交換
                    Child1(j)=parent2(j);     %子1
                    Child2(j)=parent1(j);         %子2
                else   %是0不交換
                    Child1(j)=parent1(j);     %子1
                    Child2(j)=parent2(j);         %子2
                end    % end if
            end   % 按位交叉變異   end of j       
        end  %end of i        
        Individual(inum+1,:)=Child1; 
        Individual(inum+2,:)=Child2;
    else         %不產(chǎn)生交叉,就隨機生成2個子代供選擇
        Temp=rand(1,16);       % 表示的個體
        Individual(inum+1,:)=round(Temp);   %變成01 串
        Temp1=rand(1,16);       % 表示的個體
        Individual(inum+2,:)=round(Temp1);   %變成01 串
    end   %end of if 交叉
    %變異
    ptempchange=rand;
    if (ptempchange<pchange)    %發(fā)生變異
       rand2=randperm(inum);
       p1=rand2(1);         %取出隨機產(chǎn)生的一個個體變異
       randbyte=randperm(16);
       Individual(p1,randbyte)=abs(Individual(p1,randbyte)-1);    % 減一取絕對值,變化0,1
    end  % end of if 變異
end  %迭代結(jié)束
%顯示結(jié)果
figure('color','white');
k=1:count;
plot(k,MeanJ);
title('函數(shù)值均值隨迭代次數(shù)的變化');
figure('color','white');
plot(k,MinJ);
title('函數(shù)值最小值隨迭代次數(shù)的變化');
disp '最小的函數(shù)值'
min(Xg)
x1=0;
x2=0;
for j=1:8
    ex=8-j;
    x1=x1+MinIndividual(j)*2^ex;   % 計算x1  0--256
    x2=x2+MinIndividual(j+8)*2^ex; % 計算x2  0--256           
end  %end of j
disp '取得最小值時的變量x1,x2的值'
 x1=x1/100-1.28   % 變換 x1到 -1.28:1.28
 x2=x2/100-1.28   % 變換 x2到 -1.28:1.28
 %適配度計算
Result=(x1^2+x2^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7)
figure('color','white');
plot(k,Xg);
t=strcat('最優(yōu)解隨迭代次數(shù)的變化,最優(yōu)解= ',num2str(Xg(count)));
title(t);

figure('color','white');
plot(k,MeanAdap);
title('適配值的均值');

figure('color','white');
plot(k,MinAdap);
title('適配值的最小值');

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品亚洲精品| 欧美亚洲国产一区二区三区| 91麻豆国产自产在线观看| 欧美亚洲动漫制服丝袜| 久久久久久亚洲综合| 午夜视频一区二区| 成人在线视频一区二区| 日韩一级二级三级精品视频| 一区二区三区高清在线| 国产高清不卡一区二区| 91精品国产丝袜白色高跟鞋| 亚洲高清久久久| 91老师国产黑色丝袜在线| 337p粉嫩大胆噜噜噜噜噜91av | 欧美日韩高清不卡| 国产精品入口麻豆原神| 久久99国产精品麻豆| 欧美久久一二区| 夜夜夜精品看看| 色综合欧美在线| 中文字幕在线观看不卡视频| 国产精品性做久久久久久| 精品欧美一区二区久久| 日韩国产欧美一区二区三区| 8x福利精品第一导航| 午夜亚洲福利老司机| 欧美色图片你懂的| 亚洲第一主播视频| 欧美日韩免费一区二区三区| 香蕉av福利精品导航| 欧美高清视频一二三区| 日韩国产精品91| 91麻豆精品国产91久久久使用方法| 亚洲综合男人的天堂| 欧美日韩一区二区不卡| 丝袜亚洲另类欧美综合| 欧美一区二区精品| 精一区二区三区| 久久精品在线免费观看| 成人午夜av电影| 亚洲人成亚洲人成在线观看图片| 色婷婷亚洲一区二区三区| 一区二区激情小说| 777欧美精品| 国产又黄又大久久| 亚洲国产精品激情在线观看| 99久久久久久| 亚洲高清视频的网址| 欧美tk丨vk视频| 不卡的av在线| 午夜av一区二区三区| 精品久久久久久久久久久久久久久| 国产成人三级在线观看| 亚洲欧美偷拍另类a∨色屁股| 在线观看91精品国产入口| 日韩成人av影视| 国产日韩精品视频一区| 色婷婷综合久久久中文字幕| 日韩精品乱码免费| 久久先锋资源网| 91在线视频官网| 美女国产一区二区三区| 国产亚洲精品aa| 欧美日免费三级在线| 国产主播一区二区三区| 亚洲男人的天堂在线观看| 欧美肥妇毛茸茸| 成人av资源下载| 青青草原综合久久大伊人精品优势| 久久久久久久av麻豆果冻| 色爱区综合激月婷婷| 久久精品国产99久久6| 亚洲欧洲在线观看av| 91精品国产免费| 91色乱码一区二区三区| 麻豆精品国产91久久久久久| 亚洲免费伊人电影| 久久精品视频在线看| 欧美一区二区在线视频| 成人97人人超碰人人99| 九色综合狠狠综合久久| 亚洲一区二区偷拍精品| 国产免费久久精品| 精品久久久久久久久久久久久久久久久| 99久久精品国产麻豆演员表| 久88久久88久久久| 丝袜国产日韩另类美女| 亚洲精品日产精品乱码不卡| 久久亚洲精品小早川怜子| 日韩一二三区视频| 欧美性大战久久| 在线免费亚洲电影| 99久久精品情趣| 岛国av在线一区| 国产一区二区三区综合| 石原莉奈在线亚洲三区| 亚洲激情网站免费观看| 国产精品白丝在线| 欧美国产一区二区| 国产亚洲精品bt天堂精选| 2014亚洲片线观看视频免费| 日韩你懂的在线观看| 欧美一区二区三区爱爱| 日韩一区二区影院| 9191精品国产综合久久久久久| 欧美视频在线一区二区三区 | 中文字幕中文字幕一区| 国产亚洲精品免费| 国产日韩欧美激情| 国产精品无码永久免费888| 久久久精品中文字幕麻豆发布| 欧美精品一区二区三区蜜臀| 久久午夜国产精品| 久久九九久久九九| 国产欧美一二三区| 国产精品拍天天在线| 中文字幕一区二区三区色视频| 18涩涩午夜精品.www| 中文字幕一区二区三中文字幕| 亚洲人成影院在线观看| 伊人色综合久久天天人手人婷| 亚洲最新视频在线观看| 亚洲一本大道在线| 蜜臀99久久精品久久久久久软件| 国产成人免费视频网站| 国产精品1区二区.| a美女胸又www黄视频久久| 91偷拍与自偷拍精品| 欧美亚洲国产一区二区三区va | 国产精品传媒入口麻豆| 综合在线观看色| 一区二区视频在线| 天堂精品中文字幕在线| 久久福利视频一区二区| 国产一区免费电影| 91视频.com| 日韩欧美卡一卡二| 国产欧美日韩久久| 亚洲小少妇裸体bbw| 久久精品国产网站| k8久久久一区二区三区| 在线观看日韩av先锋影音电影院| 欧美美女直播网站| 久久久一区二区| 亚洲已满18点击进入久久| 久久99精品国产.久久久久久| 成熟亚洲日本毛茸茸凸凹| 91美女片黄在线| 欧美成人激情免费网| 成人免费在线观看入口| 久久激情五月婷婷| 91麻豆国产精品久久| 欧美成人video| 亚洲精品一卡二卡| 精品中文字幕一区二区小辣椒| 99精品在线观看视频| 日韩西西人体444www| 亚洲色图20p| 国产精品1024| 欧美日韩国产首页在线观看| 国产精品乱码人人做人人爱| 美国十次综合导航| 日本久久电影网| 国产日韩v精品一区二区| 亚洲1区2区3区视频| 99精品视频在线播放观看| 精品久久久久久无| 日韩av高清在线观看| 色欧美片视频在线观看在线视频| 国产亚洲精品bt天堂精选| 青青草精品视频| 欧美日韩精品电影| 亚洲理论在线观看| 粉嫩嫩av羞羞动漫久久久| 欧美视频完全免费看| 国产精品丝袜一区| 国产精品一级黄| 日韩精品一区二区三区视频 | 国产欧美一区二区三区网站| 日韩电影免费一区| 日本福利一区二区| 欧美高清在线一区| 国产成人综合视频| 久久精品视频在线看| 国内精品国产三级国产a久久| 91精品婷婷国产综合久久性色| 亚洲免费在线视频一区 二区| 国产成人在线免费| 久久精品视频免费观看| 韩国欧美国产一区| 精品处破学生在线二十三| 日韩精品欧美成人高清一区二区| 欧美日韩你懂得| 日韩二区三区四区| 欧美精品777| 日韩精品91亚洲二区在线观看| 欧美日韩亚洲国产综合| 亚洲一区自拍偷拍| 欧美人妇做爰xxxⅹ性高电影| 亚洲美女少妇撒尿|