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

📄 combination.m

📁 基于灰色系统方法的离散多目标优化设计程序
💻 M
字号:
function  xpop=combination(mutax,emigx,fristx,pop,res_flg,gk,hk,cmax,emig_ratio,n,tpop,tmax)
% 染色体重组算子,把变异后的群体mutax和混沌移民染色体emigx重组得到子代,
% 以便于送入下一轮作为父代进行进化操作。fristx为上一代中的最优染色体,
% 直接进入xpop实现最优染色体保护策略,确保本算法收敛到全局最优解。
          %++++++++++++++++++++++++++++++++++++++++++++
          [xa,xb]=size(emigx);
          ga_k=pop+xa;
          ga_xpop=zeros(ga_k,n);
          ga_xpop=[mutax;emigx];
for i=1:ga_k  % 计算mutax的适应值。
    fitFx(i)=fitfunction(ga_xpop(i,:),res_flg,gk,hk,cmax,tpop,tmax);
end
chxx=zeros(1,n);
for i=1:ga_k-1  % 冒泡法排升序
    nm=ga_k-i;
    for  j=1:nm
        if fitFx(j)>fitFx(j+1)
            chxx(1,:)=ga_xpop(j,:);
            ga_xpop(j,:)=ga_xpop(j+1,:);
            ga_xpop(j+1,:)=chxx(1,:);
        end
    end
end
         %++++++++++++++++++++++++++++++++++++++++++++++
  finalk=ga_k-pop+2;
 for k=ga_k:-1:finalk   % 从ga_xpop中选取适应值较大的pop-1个染色体进入xpop.
     pp=(ga_k-k)+1;
     xpop1(pp,:)=ga_xpop(k,:);
 end
  % 重组xpop,染色体总数为pop。
 xpop=[fristx;xpop1];
  
     
    

⌨️ 快捷键说明

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