非支配排序遗传算法\非支配排序遗传算法

部分代码:

function NSGAII()
clc;format compact;tic;hold on
global fitvalue;
global fitvalue2;
global fitvalue3;
global fitvalue4;
global newpop;
global pop;   
global newpop_mut;   
   %---初始化/参数设定clear all
 
    generations=100;                                %迭代次数
    popnum=50;                                    %种群大小(须为偶数)
    M=8;                                            %个体长度
    N=5;
    cross_rate=0.95;
    mutate_rate=0.03;
    
  %  minvalue=repmat(zeros(1,poplength),popnum,1);   %个体最小值
  %  maxvalue=repmat(ones(1,poplength),popnum,1);    %个体最大值    
    initpop(popnum,M,N);                           % 初始化,产生新的初始种群
    
%---开始迭代进化
 
    for gene=1:generations  %开始迭代  
        
%-------交叉 
          crossover(popnum,M,N, cross_rate);% 交叉操作
       % newpopulation=zeros(popnum,poplength);  %子代种群
       % for i=1:popnum/2                        %交叉产生子代
       %     k=randperm(popnum);                 %从种群中随机选出两个父母,不采用二进制联赛方法
       %      beta=(-1).^round(rand(1,poplength)).*abs(randn(1,poplength))*1.481; %采用正态分布交叉产生两个子代
       %     newpopulation(i*2-1,:)=(population(k(1),:)+population(k(2),:))/2+beta.*(population(k(1),:)-population(k(2),:))./2;    %产生第一个子代           
       %     newpopulation(i*2,:)=(population(k(1),:)+population(k(2),:))/2-beta.*(population(k(1),:)-population(k(2),:))./2;      %产生第二个子代
       %  end
%-------变异        

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值