【优化求解】基于遗传算法结合萤火虫算法求解多目标优化问题含Matlab源码

1 简介

综合遗传算法和萤火虫算法,根据层接近度和分支距离设计适应度函数,根据萤火虫位置的更新进行遗传操作,从而减少冗余的测试用例,提高算法收敛性.

萤火虫算法自2005年 在IEEE 群体智能会议上首次提出以来,因在探测多束 源 定 位、群体机器人应用、有害气体泄漏或核泄漏检测以及多模态优化问题等方面得到较好的应用而很快引起国内外学者的广泛关注,成为智能计算领域一个新的研究热点。

​2 部分代码

%子函数

%更新萤火虫位置

%采用支配关系代替亮度关系

function[pop]=FA_move(x_dim,pop,alpha,betamin,gamma,Lb,Ub)

scale=abs(Ub-Lb);%参数取值范围绝对值

pop_=pop;%保护数据

num_pop=length(pop);

%更新萤火虫位置 

for i=1:num_pop,%每只萤火虫都进行位置更新

    for j=1:num_pop,%所有萤火虫两两比较

        r=sqrt(sum((pop.position(i,:)-pop.position(j,:)).^2));

        %萤火虫i到萤火虫j的笛卡尔距离

        if Dominates(pop(i),pop(j)),%如果i支配j

            beta0=1;

            beta=(beta0-betamin)*exp(-gamma*r.^2)+betamin;

            %beta为吸引力;代码为书上式4-2;i到j的吸引力

            tmpf=alpha.*(rand(1,x_dim)-0.5).*scale;

            pop.position(j,:)=pop.position(j,:).*(1-beta)+pop_.position(i,:).*beta+tmpf;%上面两行代码为位置更新,书上式4-4

        end

    end

end

 %防止越界

 %检查新的解是否在限制范围内,Check if the updated solutions/locations are within limits

[pop]=findlimits(popsize,pop,Lb,Ub);

end

3 仿真结果

4 参考文献

[1]李益, 吴军华. 一种混合测试用例约简和生成的方法[J]. 微电子学与计算机, 2018, 35(6):6.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值