⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adapting_ga.asv

📁 本算法为自适应遗传算法
💻 ASV
字号:
clear all;
close all;
global eeta n_distribution_m;
n_distribution_m=0.5+499.5*rand(1);
eeta=0.5+99.5*rand(1);
%global d;
%d=0;
%global processOutput;
%global u;
%global sampleSize;
%global N;
%global M;
%N=2;
%M=2;
%load processOutput;
%load u;
%nvar=N+M+1;
%sampleSize=size(processOutput,2);
nvar=2;
popsize=50;
max_gene=20;
limit_f=rep(-5.12,[1,nvar]);
limit_u=rep(5.12,[1,nvar]);
ObjV=[];
Xreal=rep([limit_u-limit_f],[popsize,1]).*rand(popsize,nvar)+rep([limit_f],[popsize,1]);
for i=1:popsize
    ObjV(i,:)=f(Xreal(i,:));
end
gen=1;
disp(gen);
while (gen<max_gene)
    FitnV=fit(ObjV(:,1));
    for i=1:0.9*popsize
        rnd=rand(1);
        if (rnd<FitnV(1))
            dd=1;
        elseif (rnd>1-FitnV(popsize))
            dd=popsize;
        else
            aa=0;
            dd=0;
            while (rnd>aa)
                dd=dd+1;
                aa=aa+FitnV(dd);
            end
        end
        SelCh(i,:)=Xreal(dd,:);
    end
    realcross(SelCh);
    realmutate(SelCh);
    for i=1:0.9*popsize
        ObjV(popsize+i,:)=f(SelCh(i,:));
    end
    Xreal=[Xreal;SelCh];
    for i=1:1.9*popsize-1
        for j=i+1:1.9*popsize
            if (ObjV(i,1)>ObjV(j,1))
                bb=ObjV(i,:);
                ObjV(i,:)=ObjV(j,:);
                ObjV(j,:)=bb;
                bb=Xreal(i,:);
                Xreal(i,:)=Xreal(j,:);
                Xreal(j,:)=bb; 
            end
        end
    end
    i=1.9*popsize;
    while (i>popsize)
        Xreal(i,:)=[];
        ObjV(i,:)=[];
        i=i-1;
    end
    gen=gen+1;
    if rem(gen,20)==0
        disp(gen);
    end
end
final=[Xreal ObjV]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -