✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:​​Matlab科研工作室​

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

​智能优化算法​​  ​​神经网络预测​​ ​​雷达通信 ​​ ​​无线传感器​

​信号处理​​ ​​图像处理​​ ​​路径规划​​ ​​元胞自动机​​ ​​无人机 ​​ ​​电力系统​

⛄ 内容介绍

蚁狮算法( ALO) 通过对随机解的探索,逐渐寻找近似最优解。与粒子群等优化算法不同的是,在 ALO 算法中有两类种群个体,即蚂蚁和蚁狮。ALO 算法的寻优过程模拟蚁狮捕食的六个基本步骤: 蚂蚁的随机移动、蚁狮建立陷阱、蚂蚁落入陷阱、蚂蚁滑向蚁狮、蚁狮捕捉蚂蚁和重建陷阱。ALO 算法的基本步骤和数学模型如下:

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_hive

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_优化算法_02

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_个人主页_03

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_优化算法_04

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_个人主页_05

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_个人主页_06

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_优化算法_07

⛄ 部分代码

%_________________________________________________________________________%

%  Multi-Objective Ant Lion Optimizer (MALO) source codes demo            %

%                           version 1.0                                   %

%   ________%


function ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no)


global my_min;

global my_max;


%if all(my_min>min(Archive_F))

if size(Archive_F,1) == 1 && size(Archive_F,2) == 2

    my_min = Archive_F;

    my_max = Archive_F;

else

    my_min=min(Archive_F);

    %end


    %if all(my_max<max(Archive_F))

    my_max=max(Archive_F);

    %end

end


r=(my_max-my_min)/(20);

ranks=zeros(1,size(Archive_F,1));


for i=1:size(Archive_F,1)

    ranks(i)=0;

    for j=1:size(Archive_F,1)

        flag=0; % a flag to see if the point is in the neoghbourhood in all dimensions.

        for k=1:obj_no

            if (abs(Archive_F(j,k)-Archive_F(i,k))<r(k))

            %if ((sum(Archive_F(j,k).^obj_no-Archive_F(i,k).^obj_no))^(1/obj_no)<r(k))

                %ranks(i)=ranks(i)+sqrt(sum((Archive_F(i,:)-Archive_F(j,:)).^2));

                flag=flag+1;

            end

        end

        if flag==obj_no

            ranks(i)=ranks(i)+1;

        end

    end

end

end

⛄ 运行结果

多目标蚂蚁狮子优化算法(MOALO)附Matlab代码_hive_08

⛄ 参考文献

[1]杨容嫣. 面向配电物联网的边缘计算资源优化调度研究[D]. 华北电力大学.

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除