。。。。。。。。。。。。

clc;
clear;

T=500;
N=4;
L=9;
dmax=2;
dmin=-2;
bval=round(rand(N,L));
posc=0.05
for ii = 1:T
    sum_g=0;
    for i =1:N
        t=0;
        for j = 0:L-1
            if(bval(i,L-j)==1)
                t=t+2^j;
            end
        end
         t=dmin+t*(dmax-dmin)/(2^L-1)
         val(i)=-t*t-4*t+1;
         gval(i)=val(i)+1;
         sum_g=sum_g+gval(i);
    end
    for i = 1:N
        posval(i)=gval(i)/sum_g
    end
    exb=max(posval);
    pp(ii)=max(gval);
    losb=min(posval);
    for i = 1:N
        if(posval(i)==exb)
            exbal=bval(i,:);
            
        end
        if(posval(i)==losb)
            losbpos=i;
        end
    end
    bval(losbpos,:)=exbal;   %tao tai
    newb=rand(N,L);
    for i = 1:2:N
        kk=round((L-1).*rand(1))+1;
        newb(i,1:kk)=bval(i,1:kk);
        newb(i,kk+1:end)=bval(i+1,kk+1:end);
        newb(i+1,1:kk)=bval(i+1,1:kk);
        newb(i+1,kk+1:end)=bval(i,kk+1:end);
    end
    for i=1:N
       kk=rand(1);
        if(kk<=posc)
              kk=round((L-1).*rand(1))+1;
             newb(i,kk)=1-newb(i,kk);
        end
    end
    bval=newb;
end
plot(pp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值