查看: 1565|回复: 2|关注: 1

[已答复] 鲸鱼优化算法WOA和差分进化算法DE的一些问题

[复制链接]

新手

11 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
发表于 2019-3-27 20:35:15 | 显示全部楼层 |阅读模式
想试试鲸鱼优化算法WOA和差分进化DE的结合,但是不太会结合,下面是基本算法,不知道怎么用DE对WOA进行优化,跪求大神指导!!!

function [WOA_fitness]=WOA(pop,maxGen,lb,ub,var,fobj)
%种群规模pop,最大迭代次数maxGen,交叉概率P_cr,搜索维数 var,搜索范围 ub、lb,缩放因子 F
F = 0.5; %设置差分缩放因子
P_cr = 0.5; %设置交叉概率   
XG_next_1=zeros(Np,D);%初始化
XG_next_2=zeros(Np,D);
XG_next=zeros(Np,D);
    %%加入差分进化算子,自己想在这里加入
     for j=1:size(Positions,2)
         freq=0.5;
         Fr_i(t)=1/2*((sin(2*pi*freq*t))*t/maxGen+0.85);
         Cr_i(t)=1/2*((sin(2*pi*freq*t+pi))*t/maxGen+1);      
         for i=1:pop
             %产生r1,r2,r3三个不同的数
             a=1;
             b=pop;
             dx=randperm(b-a+1)+a-1;
             r1=dx(1);
             r2=dx(2);
             r3=dx(3);
             %要保证与i不同
             if r1==i
                 r1=dx(4);
             elseif r2==i
                 r2=dx(4);
             elseif r3==i
                 r3=dx(4);
             end
         end
         sn=randperm(var,1)%在区间[1,var]中随机选择一个整数sn
         for j=1:var
             if rand<Cr_i(t)||sn==j    %变异和更新不会写
                Positions(i,j)=XG(i,j);=XG(p,+Fr_i(t)*(XG(j,-XG(k,);
             else
                 Positions(i,j)=Positions(i,j);
             end
         end
end
字数有限,上面程序是删除了WOA基本算法更新部分的,WOA源码在附件,我想参考这个算法的优化思路,希望大神能给我一些


WOA.m

4.12 KB, 下载次数: 67

新手

5 麦片

财富积分


050


1

主题

9

帖子

0

最佳答案
发表于 2019-6-6 15:24:12 | 显示全部楼层
你好!
  我对这个算法不是很了解,不能一下子给予答复

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2019-9-19 20:36:30 | 显示全部楼层
楼主大神差分进化和鲸鱼算法结合能分享一下做法吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表