1、% xbest下层模型的最优决策变量% BESTXK1 细胞结构,每一个元素是M1 向量,记录每一代的最优个体% BESTYK1 矩阵,记录每一代的最优个体的评价函数值% ALLXKN 矩阵,记录全部个体% ALLYKN 矩阵,记录全部个体的评价函数值% 第一步:种群初始化,确保满足约束的初始化n=length(C0);%决策变量的个数%种群初始化,每一行是一个样本farm=zeros(NU,n); for i=1:NUTa=randperm(n); Tb=unidrnd(n-1)+1; farm(i,sort(Ta(p GT=farm(i,:);GT=JZU(GT,V,Q);farm(i,:
2、)=GT; end%输出变量初始化ALLX=cell(KU,1);%细胞结构,每一个元素是Nn 矩阵,记录每一代的个体ALLY=zeros(KU,NU);%KN 矩阵,记录每一代评价函数值BESTX=cell(KU,1);%细胞结构,每一个元素是1n 向量,记录每一代的最优个体BESTY=zeros(KU,1);k=1;%迭代计数器初始化% 第二步:迭代过程while k产生子代abb=BB(p产生子代b if sum(aa)endif sum(bb)end aa=JZU(aa,V,Q);bb=JZU(bb,V,Q);newfarm(2*NU-1,:)=aa;%加入子代种群newfarm(2*
3、NU,:)=bb;for i=1:(NU-1) AA=farm(Ser(i),:BB=farm(Ser(i+1),: P0=unidrnd(n-1); aa=AA(pif sum(aa) end aa=JZU(aa,V,Q);newfarm(2*i-1,: newfarm(2*i,:end FARM=farm;newfarm;% 选择复制SER=randperm(3*NU); FITNESS=zeros(1,3*NU);fitness=zeros(1,NU);(3*NU)u=FARM(i,:xbest,BESTXx,BESTYy,ALLXx,ALLYy=GAD(u,KD,ND,PmD,V,Q,
4、R,m,t,p0,CF);%调用下层遗传算法得到xx=xbest; FITNESS(i)=OBJU(x,u,Alpha,Beta,C0,Q0,h,a,b,d,Q,Cr,m,t);NU f1=FITNESS(SER(3*i-2); f2=FITNESS(SER(3*i-1); f3=FITNESS(SER(3*i);if f1=f2&f1=f3 farm(i,:)=FARM(SER(3*i-2),:fitness(i)=FITNESS(SER(3*i-2); elseif f2=f1&f2rand&pos(1)=i Ta=randperm(n); BB=zeros(1,n); BB(1,sort
5、(Ta(p BB=JZU(BB,V,Q);)=BB;end disp(k);k=k+1;% 绘图BESTY2=BESTY; BESTX2=BESTX;for k=1:KU TempY=BESTY(pminTempY=min(TempY); posY=find(TempY=minTempY); BESTY2(k)=minTempY; BESTX2k=BESTXposY(1);end BESTY=BESTY2; BESTX=BESTX2;plot(BESTY,-ko,MarkerEdgeColorkMarkerFaceColorMarkerSize,2) ylabel(函数值)xlabel(迭代次数grid on
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1