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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nnia.m

?? NNIAToolbox源碼包 這是進化算法中的一類
?? M
字號:
function NNIA()
% NNIA.m
% NNIA performs experiment presented in our paper:
% Maoguo Gong, Licheng Jiao,Haifeng Du, Liefeng Bo. Multiobjective Immune Algorithm with Nondominated Neighbor-based Selection.
% Evolutionary Computation Journal, MIT Press, 2007, in press.
% avialable from http://see.xidian.edu.cn/iiip/mggong/publication.htm
%
% Authors: Maoguo Gong and Licheng Jiao
% April 7, 2006
% Copyright (C) 2005-2006 by Maoguo Gong (e-mail: gong@ieee.org)
%
% REFERENCE
% Please refer to the following paper if you use the toolbox NNIA
% Maoguo Gong, Licheng Jiao,Haifeng Du, Liefeng Bo. Multiobjective Immune Algorithm with Nondominated Neighbor-based Selection.
% Evolutionary Computation Journal, MIT Press, 2007, in press.
% NNIA is Copyrighted by the Authors.
%
% RELEASE
% version 1.0, 2006/04/10, tested on Matlab 7.0
% license granted for research use ONLY
% Copyright (C) 2005-2007 by Maoguo Gong (e-mail: gong@ieee.org)
% Please refer to the Readme.txt for a detailed description.
%--------------------------------------------------------------------------
clear all;
%--------------------------------------------------------------------------
disp(sprintf('Nondominated Neighbor Immune Algorithm (NNIA) min'));
disp(sprintf('Authour: Maoguo Gong and Licheng Jiao'));
disp(sprintf('Last Modified: Oct. 10, 2007'));
EMOinstruction;%% display the instruction for running the programming.
%--------------------------------------------------------------------------
TestNO=input('press the enter key after inputting the serial number of test problem:');
Trial=input('input the number of independent runs:');
NA=20;                                                      % size of active population
CS=100;                                                     % clonal scale
NM=100;                                                     % size of dominant population
gmax=500;                                                   % maximum number of iterations 
[bu,bd,testfunction]=getbud(TestNO);                        % bu denotes the upper boundary of variable;bd denotes the nether boundary of variable
c=size(bu,2);
pm=1/c;
if bu==bd return;end
%--------------------------------------------------------------------------
Datime=date;
Datime(size(Datime,2)-4:size(Datime,2))=[];%%test date
TestTime=clock;%%test time
TestTime=[num2str(TestTime(4)),'-',num2str(TestTime(5))];
Method='NNIA';
paretof=[];

runtime=[];
for trial=1:Trial
    timerbegin=clock;
%--------------------------------------------------------------------------
POP=rand(NM,c).*(ones(NM,1)*bu-ones(NM,1)*bd)+ones(NM,1)*bd;
ME=[];%Initialization
%--------------------------------------------------------------------------
pa=OVcom(POP,TestNO);
[DON,DONt]=IDAf(pa);
nodom=find(DON==1);
MEpa=pa(nodom,:);MEPOP=POP(nodom,:);
numnod=size(MEPOP,1);
[ClonePOP,Clonepa,RNDCDt]=UDPf(MEPOP,MEpa,NA);

it=0;Cloneti=0;DASti=0;PNmti=0;DONjudti=0;RNDCDti=0;AbAbfitcomti=0;
while it<gmax   
%--------------------------------------------------------------------------
cloneover=[];
[cloneover,Clonet]=Clonef(ClonePOP,Clonepa,CS);
[cloneover,DASt]=Recombinationf(cloneover,bu,bd,ClonePOP);
[cloneover,PNmt]=Mutationf(cloneover,bu,bd,pm);
%--------------------------------------------------------------------------
clonepa=OVcom(cloneover,TestNO);
NPOP=[MEPOP;cloneover];
Npa=[MEpa;clonepa];
[NDON,DONjudt]=IDAf(Npa);
Nnodom=find(NDON==1);
NEpa=Npa(Nnodom,:);NEPOP=NPOP(Nnodom,:);
Nnumnod=size(NEPOP,1);
[MEPOP MEpa,RNDCDt]=UDPf(NEPOP,NEpa,NM);
numnod=size(MEPOP,1);
[ClonePOP,Clonepa,RNDCDt]=UDPf(MEPOP,MEpa,NA);
%Update Dominant Population
%--------------------------------------------------------------------------
it=it+1;
Cloneti=Cloneti+Clonet;DASti=DASti+DASt;PNmti=PNmti+PNmt;
DONjudti=DONjudti+DONjudt;RNDCDti=RNDCDti+RNDCDt;
disp(sprintf('time: %d   generation: %d    number of nodominate:  %d',trial,it,numnod));
end  %the end of iterations
%--------------------------------------------------------------------------
%Save the output solutions
[NS(trial),NF]=size(MEpa);Trials=trial;
paretof=[paretof;MEpa];
runtime(trial)=etime(clock,timerbegin);
Clonetime(trial)=Cloneti;DAStime(trial)=DASti;PNmtime(trial)=PNmti;
DONjudtime(trial)=DONjudti;RNDCDtime(trial)=RNDCDti;
eval(['save ', testfunction Method Datime TestTime ,' Method gmax NA CS paretof runtime Trials NS NF TestTime Datime testfunction ']) ;
end  %the end of runs
%--------------------------------------------------------------------------
Frontshow(MEpa);% plot the Pareto fronts solved by the last run

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [DA,time]=IDAf(pa)
%--------------------------------------------------------------------------
tic;
[N,C]=size(pa);
DA=ones(N,1);
for i=1:N
    temppa=pa;
    temppa(i,:)=[];
    LEsign=ones(N-1,1);
    for j=1:C
        LessEqual=find(temppa(:,j)<=pa(i,j));
        tepa=[];tepa=temppa(LessEqual,:);
        temppa=[];temppa=tepa;
    end
    if size(temppa,1)~=0
        k=1;
        while k<=C
            Lessthan=[];
            Lessthan=find(temppa(:,k)<pa(i,k));
            if size(Lessthan,1)~=0
                DA(i)=0;k=C+1;
            else
                k=k+1;
            end
        end
    end    
end
time=toc;
%%-------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [EPOP,Epa,time]=UDPf(POP,pa,NM);
%--------------------------------------------------------------------------
tic;
[Ns,C]=size(pa);padis=[];
i=1;
while i<Ns
    deltf=pa-ones(Ns,1)*pa(i,:);
    deltf(i,:)=inf;
    aa=find(sum(abs(deltf),2)==0);
    POP(aa,:)=[];pa(aa,:)=[];
    [Ns,C]=size(pa);i=i+1;
end
if Ns>NM
    for i=1:C
        [k,l]=sort(pa(:,i));
        N=[];M=[];N=pa(l,:);M=POP(l,:);
        pa=[];POP=[];pa=N;POP=M;
        pa(1,C+1)=Inf;pa(Ns,C+1)=Inf;
        pai1=[];pad1=[];pai1=pa(3:Ns,i);pad1=pa(1:(Ns-2),i);
        fimin=min(pa(:,i));fimax=max(pa(:,i));
        pa(2:(Ns-1),C+1)=pa(2:(Ns-1),C+1)+(pai1-pad1)/(0.0001+fimax-fimin);
    end
    padis=pa(:,C+1);pa=pa(:,1:C);POP=POP;
    [aa,ss]=sort(-padis);
    EPOP=POP(ss(1:NM),:);Epa=pa(ss(1:NM),:);
else
    EPOP=POP;Epa=pa;
end
time=toc;
%%-------------------------------------------------------------------------

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function  [NPOP,time]=Clonef(POP,pa,CS) 
%--------------------------------------------------------------------------
tic
NC=[];
[N,C]=size(POP);
[POP,pa,padis]=CDAf(POP,pa);
aa=find(padis==inf);
bb=find(padis~=inf);
if length(bb)>0
    padis(aa)=2*max(max(padis(bb)));
    NC=ceil(CS*padis./sum(padis));
else
    NC=ceil(CS/length(aa))+zeros(1,N);
end
NPOP=[];
for i=1:N
    NiPOP=ones(NC(i),1)*POP(i,:);
    NPOP=[NPOP;NiPOP];
end
time=toc;
%--------------------------------------------------------------------------

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [POP,pa,padis]=CDAf(tPOP,tpa) 
%--------------------------------------------------------------------------
[Ns,C]=size(tpa);padis=[];
for i=1:C
    [k,l]=sort(tpa(:,i));
    N=[];M=[];N=tpa(l,:);M=tPOP(l,:);
    tpa=[];tPOP=[];tpa=N;tPOP=M;
    tpa(1,C+1)=Inf;tpa(Ns,C+1)=Inf;
    tpai1=[];tpad1=[];tpai1=tpa(3:Ns,i);tpad1=tpa(1:(Ns-2),i);
    fimin=min(tpa(:,i));fimax=max(tpa(:,i));
    tpa(2:(Ns-1),C+1)=tpa(2:(Ns-1),C+1)+(tpai1-tpad1)/(0.0001+fimax-fimin);
end
pa=tpa(:,1:C);POP=tPOP;padis=tpa(:,C+1);  
%--------------------------------------------------------------------------

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [NPOP,time]=Recombinationf(POP,bu,bd,CPOP);
%--------------------------------------------------------------------------
tic;
eta_c=15;
[N,C]=size(POP);
NPOP=POP;
for i=1:N
    r1=rand;
    if r1<=1.1
        aa=randperm(size(CPOP,1));bb=aa(1);
        for j=1:C
            par1=POP(i,j);par2=CPOP(bb,j);
            yd=bd(j);yu=bu(j);
            r2=rand;
            if r2<=0.5
                if abs(par1-par2)>10^(-14)
                    y1=min(par1,par2);y2=max(par1,par2);
                    if (y1-yd)>(yu-y2)
                        beta=1+2*(yu-y2)/(y2-y1);
                    else
                        beta=1+2*(y1-yd)/(y2-y1);
                    end
                    expp=eta_c+1;beta=1/beta;alpha=2.0-beta^(expp);
                    r3=rand;
                    if r3<=1/alpha
                        alpha=alpha*r3;expp=1/(eta_c+1.0);
                        betaq=alpha^(expp);
                    else
                        alpha=1/(2.0-alpha*r3);expp=1/(eta_c+1);
                        betaq=alpha^(expp);
                    end
                    chld1=0.5*((y1+y2)-betaq*(y2-y1));
                    chld2=0.5*((y1+y2)+betaq*(y2-y1));   
                    if rand<=0.5
                        aa=max(chld1,yd);NPOP(i,j)=min(aa,yu);
                    else
                        aa=max(chld2,yd);NPOP(i,j)=min(aa,yu);
                    end
                end  
            end
        end
    end
end
time=toc;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [NPOP,time]=Mutationf(POP,bu,bd,pm)
%--------------------------------------------------------------------------
tic;
[N,C]=size(POP);
eta_m=20;
NPOP=POP;
for i=1:N
    for j=1:C
        r1=rand;
        if r1<=pm
            y=POP(i,j);
            yd=bd(j);yu=bu(j);
            if y>yd
                if (y-yd)<(yu-y)
                    delta=(y-yd)/(yu-yd);
                else
                    delta=(yu-y)/(yu-yd);
                end
                r2=rand;
                indi=1/(eta_m+1);
                if r2<=0.5
                    xy=1-delta;
                    val=2*r2+(1-2*r2)*(xy^(eta_m+1));
                    deltaq=val^indi-1;
                else
                    xy=1-delta;
                    val=2*(1-r2)+2*(r2-0.5)*(xy^(eta_m+1));
                    deltaq=1-val^indi;
                end
                y=y+deltaq*(yu-yd);
                NPOP(i,j)=min(y,yu);NPOP(i,j)=max(y,yd);
            else
                NPOP(i,j)=rand*(yu-yd)+yd;
            end
        end
    end
end
time=toc;
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Frontshow(Epa)
%--------------------------------------------------------------------------
if size(Epa,2)==2
    %%plot pareto fronts in 2-D
    f1=Epa(:,1);f2=Epa(:,2);
    plot(f1,f2,'r*'); grid on;
    xlabel('Function 1');
    ylabel('Function 2');
    hold on   
elseif size(Epa,2)>=3
    %%plot pareto fronts in 3-D
    f1=Epa(:,1);f2=Epa(:,2);f3=Epa(:,3);
    plot3(f1,f2,f3,'kd'); grid on;
    xlabel('Function 1');
    ylabel('Function 2');
    zlabel('Function 3');
    hold on   
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人综合天天影院| 成人看片黄a免费看在线| 欧美日韩在线不卡| 一区二区三区在线观看欧美| 欧美综合天天夜夜久久| 亚洲高清不卡在线| 538prom精品视频线放| 日本成人在线电影网| 精品国产乱码久久| gogo大胆日本视频一区| 一区二区三区不卡在线观看 | 欧美精品久久久久久久久老牛影院| 亚洲香蕉伊在人在线观| 欧美一级片在线看| 高清国产一区二区三区| 一区二区三区不卡在线观看| 777亚洲妇女| 国产乱码精品一品二品| 亚洲欧美日韩人成在线播放| 欧美精品第1页| 国产盗摄一区二区三区| 亚洲一区在线看| 精品999在线播放| 日本电影欧美片| 久久99久久99小草精品免视看| 国产精品你懂的| 欧美日韩一本到| 国产精品主播直播| 亚洲一区二区视频在线观看| 久久在线免费观看| 欧洲一区在线电影| 国产成人av影院| 五月天精品一区二区三区| 国产免费成人在线视频| 欧美精品日韩精品| 99热99精品| 黄网站免费久久| 黑人精品欧美一区二区蜜桃| 亚洲香肠在线观看| 国产精品毛片大码女人| 日韩午夜小视频| 在线观看亚洲精品| 成人午夜精品一区二区三区| 日本伊人色综合网| 一区二区三区欧美视频| 中文字幕第一区| 精品少妇一区二区| 制服丝袜av成人在线看| 91日韩在线专区| 成人av在线看| 国产综合久久久久影院| 老司机精品视频导航| 亚洲国产成人91porn| 亚洲三级在线播放| 国产精品女上位| 国产日韩欧美精品在线| 精品国产sm最大网站| 在线观看91精品国产麻豆| 91黄色在线观看| eeuss鲁片一区二区三区| 国产一区二区调教| 久久精品国产秦先生| 婷婷中文字幕综合| 亚洲福利电影网| 一区二区久久久久| 亚洲欧美日韩在线| 日韩一区在线看| 国产精品夫妻自拍| 国产精品美女一区二区在线观看| 婷婷综合另类小说色区| 亚洲第一av色| 午夜影视日本亚洲欧洲精品| 亚洲在线视频网站| 亚洲成人自拍一区| 日韩成人免费电影| 蜜桃视频免费观看一区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产91丝袜在线播放九色| 激情文学综合丁香| 国产美女主播视频一区| 国产精品自拍一区| 福利一区二区在线| 99精品一区二区三区| 色综合天天综合给合国产| 色婷婷综合久久久| 日本高清视频一区二区| 欧美电影影音先锋| 日韩精品一区二区三区三区免费| 日韩欧美www| 久久久亚洲高清| 国产精品日韩成人| 亚洲女同女同女同女同女同69| 一区二区三区中文在线| 性感美女久久精品| 精品一区二区免费在线观看| 国产一区二区三区最好精华液| 国产成人综合精品三级| 99亚偷拍自图区亚洲| 日本高清视频一区二区| 欧美一级欧美一级在线播放| 欧美精品一区二区三区久久久| 久久精品网站免费观看| 亚洲欧美区自拍先锋| 日韩高清不卡在线| 国产在线一区观看| 色综合欧美在线| 日韩视频在线观看一区二区| 国产欧美日韩综合精品一区二区| 亚洲综合免费观看高清在线观看| 午夜精品久久久久久久久久 | 日本中文字幕一区二区视频| 国产乱色国产精品免费视频| 色婷婷一区二区| 精品欧美一区二区久久| 亚洲精品美国一| 另类人妖一区二区av| 91在线国产福利| 日韩女优电影在线观看| 亚洲精品欧美激情| 韩国成人精品a∨在线观看| 日本精品一区二区三区高清 | 91超碰这里只有精品国产| 国产亚洲欧美日韩在线一区| 亚洲一区二区三区美女| 成人午夜在线播放| 日韩精品一区二区三区四区视频| 亚洲日本在线天堂| 国产在线视频不卡二| 欧美日韩在线一区二区| 国产精品欧美一区喷水| 蜜乳av一区二区三区| 91国模大尺度私拍在线视频 | 亚洲精品乱码久久久久久黑人| 精品无码三级在线观看视频| 欧美在线观看禁18| 亚洲素人一区二区| 国产精品自在在线| 欧美岛国在线观看| 亚洲bdsm女犯bdsm网站| 99久久婷婷国产| 久久精品一区蜜桃臀影院| 蜜桃视频在线观看一区| 欧美精三区欧美精三区| 亚洲欧美日韩国产手机在线| 成人免费的视频| 久久亚洲免费视频| 伦理电影国产精品| 在线播放一区二区三区| 亚洲一区二区三区精品在线| 色婷婷精品久久二区二区蜜臂av | 国产精品萝li| 国产精品66部| 久久免费午夜影院| 精品一区二区三区视频 | 欧美日韩国产经典色站一区二区三区 | 欧美一激情一区二区三区| 亚洲1区2区3区视频| 欧美中文字幕一区二区三区 | 精品国产第一区二区三区观看体验| 亚洲国产日产av| 在线精品视频免费观看| 亚洲精品成人在线| 91丨九色porny丨蝌蚪| 亚洲天堂av一区| 色狠狠av一区二区三区| 一区二区三区中文在线观看| 色狠狠色噜噜噜综合网| 亚洲一级不卡视频| 欧美三级中文字幕在线观看| 亚洲图片欧美综合| 欧美精品久久天天躁| 免费高清视频精品| 欧美va日韩va| 国产麻豆一精品一av一免费| 久久久久久久免费视频了| 国产精品996| 国产精品久久久久影院色老大| 99综合电影在线视频| 亚洲综合激情另类小说区| 欧美视频中文字幕| 日本女优在线视频一区二区| 欧美一级高清片在线观看| 国产美女视频一区| 国产精品国产三级国产aⅴ原创| av在线不卡观看免费观看| 一区二区在线电影| 538在线一区二区精品国产| 国产在线不卡视频| 中文字幕一区在线| 欧美日韩美女一区二区| 蜜臀99久久精品久久久久久软件| 久久久久久夜精品精品免费| bt7086福利一区国产| 亚洲一二三四久久| 欧美α欧美αv大片| 99天天综合性| 欧美a级理论片| 亚洲欧洲精品成人久久奇米网| 色屁屁一区二区| 蜜桃一区二区三区四区|