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

📄 fitness.asv

📁 自适应小生境递阶遗传算法求解函数优化问题 想对其他函数求解就修改function函数
💻 ASV
字号:
function [par,popparm1]=fitness(parrange1,popcon1,poppar1,a,t1,parn2)
%
%
disrange=parrange1(:,2)-parrange1(:,1);
parpopsize=size(poppar1,1); %
n1=size(poppar1,2);        %
num1=size(parrange1,1);    %
parlegth=n1/num1;          %
popparm1=poppar1;
sh=zeros(parpopsize);

if a==1
    for i=:parpopsize
        sum1=zeros(1,num1);
        for j=1:n1
            if popcon1(i,j)==1
                if poppar1(i,j)==1
                    n2 = floor(j/parlegth); %
                    n3 = mod(j,parlegth); %
                    if n3==0
                        sum1(n2)=sum1(n2)+1;
                    else
                        sum1(n2+1)=sum1(n2+1)+2.^(parlegth-n3);
                    end
                end
            end
        end
        for j=1:num1
            par(i,j)=parrange1(j,1)+sum1(1,j)*disrange(j,1)/(2.^parlegth-1);
        end
        popparm1(i,n1+1)=fitfunction(par(i,:));
        par1(i,:)=sum1;
    end
end
%
if a==0
    par=parn2;
end
d1=0.5;
for i=1:parpopsize
    for j=(i+1):parpopsize
        d(i,j)=sqrt(sum((par(i,1:num1)-par(j,1:num1)).^2)/num1);
        if d(i,j)<=d1  %
            sh(i,j)=1;
            sh(j,i)=sh(i,j);
        end
    end
    sh(i,i)=1;
    if a==1
        popparm1(

⌨️ 快捷键说明

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