雙層規(guī)劃模型的遺傳算法求解的Matlab源碼(共6頁)_第1頁
雙層規(guī)劃模型的遺傳算法求解的Matlab源碼(共6頁)_第2頁
雙層規(guī)劃模型的遺傳算法求解的Matlab源碼(共6頁)_第3頁
雙層規(guī)劃模型的遺傳算法求解的Matlab源碼(共6頁)_第4頁
雙層規(guī)劃模型的遺傳算法求解的Matlab源碼(共6頁)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、雙層規(guī)劃模型的遺傳算法求解的Matlab源碼雙層規(guī)劃模型的遺傳算法求解的Matlab源碼function BESTX,BESTY,ALLX,ALLY=GAU(KU,KD,NU,ND,PmU,PmD,V,Q,R,m,t,p0,CF,Alpha,Beta,C0,Q0,h,a,b,d,Cr)% GreenSim團隊原創(chuàng)作品,轉(zhuǎn)載請注明% Email:greensim% GreenSim團隊主頁:% color=red歡迎訪問GreenSim算法仿真團隊url=% 輸入?yún)?shù)列表% KU       上層迭代次數(shù)% KD  

2、     下層迭代次數(shù)% NU       上層種群規(guī)模,要求是偶數(shù)% ND       下層種群規(guī)模,要求是偶數(shù)% PmU      上層變異概率% PmD      下層變異概率% 其余參數(shù)均為模型參數(shù)% 輸出參數(shù)列表% xbest    下層模型的最優(yōu)決策變量% BESTX  

3、60; K×1細胞結(jié)構(gòu),每一個元素是M×1向量,記錄每一代的最優(yōu)個體% BESTY    K×1矩陣,記錄每一代的最優(yōu)個體的評價函數(shù)值% ALLX     K×1細胞結(jié)構(gòu),每一個元素是M×N矩陣,記錄全部個體% ALLY     K×N矩陣,記錄全部個體的評價函數(shù)值% 第一步:種群初始化,確保滿足約束的初始化n=length(C0);%決策變量的個數(shù)%種群初始化,每一行是一個樣本farm=zeros(NU,n);for i=1

4、:NU    Ta=randperm(n);    Tb=unidrnd(n-1)+1;    farm(i,sort(Ta(1:Tb)=1;    GT=farm(i,:);    GT=JZU(GT,V,Q);    farm(i,:)=GT;end%輸出變量初始化ALLX=cell(KU,1);%細胞結(jié)構(gòu),每一個元素是N×n矩陣,記錄每一代的個體ALLY=zeros(KU,NU);%K×N矩

5、陣,記錄每一代評價函數(shù)值BESTX=cell(KU,1);%細胞結(jié)構(gòu),每一個元素是1×n向量,記錄每一代的最優(yōu)個體BESTY=zeros(KU,1);%K×1矩陣,記錄每一代的最優(yōu)個體的評價函數(shù)值k=1;%迭代計數(shù)器初始化% 第二步:迭代過程while k<=KU% 以下是交叉過程    newfarm=zeros(2*NU,n);    Ser=randperm(NU);%兩兩隨機配對的配對表    AA=farm(Ser(1),:);    BB

6、=farm(Ser(2),:);    P0=unidrnd(n-1);    aa=AA(1:P0),BB(P0+1):end);%產(chǎn)生子代a    bb=BB(1:P0),AA(P0+1):end);%產(chǎn)生子代b    if sum(aa)<2        Ta=randperm(n);        Tb=unidrnd(n

7、-1)+1;        aa=zeros(1,n);        aa(1,sort(Ta(1:Tb)=1;    end    if sum(bb)<2        Ta=randperm(n);        Tb=unidrnd(n-1)+

8、1;        bb=zeros(1,n);        bb(1,sort(Ta(1:Tb)=1;    end    aa=JZU(aa,V,Q);    bb=JZU(bb,V,Q);    newfarm(2*NU-1,:)=aa;%加入子代種群    newfarm(2*NU,:)=bb;&#

9、160;      for i=1:(NU-1)        AA=farm(Ser(i),:);        BB=farm(Ser(i+1),:);        P0=unidrnd(n-1);        aa=AA(1:P0),BB(P0+1):end)

10、;        bb=BB(1:P0),AA(P0+1):end);        if sum(aa)<2            Ta=randperm(n);            Tb=unidrnd(n-1)+1; 

11、;           aa=zeros(1,n);            aa(1,sort(Ta(1:Tb)=1;        end        if sum(bb)<2     &#

12、160;      Ta=randperm(n);            Tb=unidrnd(n-1)+1;            bb=zeros(1,n);            bb(1,sort(Ta(1:Tb

13、)=1;        end        aa=JZU(aa,V,Q);        bb=JZU(bb,V,Q);        newfarm(2*i-1,:)=aa;        newfarm(2*i,:)=bb; 

14、0;  end       FARM=farm;newfarm;   % 選擇復制    SER=randperm(3*NU);    FITNESS=zeros(1,3*NU);    fitness=zeros(1,NU);    for i=1:(3*NU)        u=FARM(i,:);

15、60;       xbest,BESTXx,BESTYy,ALLXx,ALLYy=GAD(u,KD,ND,PmD,V,Q,R,m,t,p0,CF);%調(diào)用下層遺傳算法得到x        x=xbest;        FITNESS(i)=OBJU(x,u,Alpha,Beta,C0,Q0,h,a,b,d,Q,Cr,m,t);    end  

16、     for i=1:NU        f1=FITNESS(SER(3*i-2);        f2=FITNESS(SER(3*i-1);        f3=FITNESS(SER(3*i);        if f1<=f2&&f1<=

17、f3            farm(i,:)=FARM(SER(3*i-2),:);            fitness(i)=FITNESS(SER(3*i-2);        elseif f2<=f1&&f2<=f3    

18、60;       farm(i,:)=FARM(SER(3*i-1),:);            fitness(i)=FITNESS(SER(3*i-1);        else            farm(i,:)=FARM(SER(3

19、*i),:);            fitness(i)=FITNESS(SER(3*i);        end    end       % 記錄最佳個體和收斂曲線    X=farm;    Y=fitness;    ALLXk=

20、X;    ALLY(k,:)=Y;    minY=min(Y);    pos=find(Y=minY);    BESTXk=X(pos(1),:);    BESTY(k)=minY;       % 變異    for i=1:NU        if PmU>rand&a

21、mp;&pos(1)=i            Ta=randperm(n);            Tb=unidrnd(n-1)+1;            BB=zeros(1,n);            BB(1,sort(Ta(1:Tb)=1;   &

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論