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

📄 adapting1.m.txt

📁 求解对问题的matlab程序直接运行就可的到结果
💻 TXT
字号:
%适应值计算
%计算适应值并赋值
for i=1:popsize
    p1=(min(0,pop(i,1)))^2+(min(0,pop(i,2)))^2+(min(0,pop(i,3)))^2+(min(0,pop(i,4)))^2 ...
        +(min(0,3*pop(i,1)-pop(i,3)-2))^2+(min(0,-pop(i,1)+3*pop(i,2)-pop(i,3)+3))^2+ ...
        (min(0,-pop(i,2)+4*pop(i,3)-2*pop(i,4)-4))^2+(min(0,-pop(i,1)-pop(i,2)-pop(i,3)+5*pop(i,4)+5))^2;     %构造罚函数
    u=(3*pop(i,1)-pop(i,3)-2)*pop(i,1)+(-pop(i,1)+3*pop(i,2)-pop(i,3)+3)*pop(i,2)+ ...
        (-pop(i,2)+4*pop(i,3)-2*pop(i,4)-4)*pop(i,3)+(-pop(i,1)-pop(i,2)-pop(i,3)+5*pop(i,4)+5)*pop(i,4);     %目标函数
    pop(i,14)=u+2.5*p1;                                                                                         %增广目标函数
    if pop(i,13)>pop(i,14)                                       %若当前适应值优于个体最优值,则进行个体最优信息的更新
        pop(i,13)=pop(i,14);                                     %适值更新
        pop(i,9:12)=pop(i,1:4);                                  %位置更新
    end
end
%计算完适应值后寻找当前全局最优位置并记录其位置
if best_fitness>min(pop(:,13))
    best_fitness=min(pop(:,13));
    p=find(pop(:,13)==min(pop(:,13)));
    gbest_x1=pop(p,1);                                          %全局最优粒子的位置
    gbest_x2=pop(p,2);
    gbest_x3=pop(p,3);
    gbest_x4=pop(p,4);
end
X=[gbest_x1,gbest_x2,gbest_x3,gbest_x4]';
Y=[3*gbest_x1-gbest_x3-2,-gbest_x1+3*gbest_x2-gbest_x3+3,-gbest_x2+4*gbest_x3-2*gbest_x4-4, ...
   -gbest_x1-gbest_x2-gbest_x3+5*gbest_x4+5]';
Re=X'*Y;

⌨️ 快捷键说明

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