多目标海洋捕食者算法(MOMPA) 解决多目标优化问题

Posted 这是一个很随便的名字

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多目标海洋捕食者算法(MOMPA) 解决多目标优化问题相关的知识,希望对你有一定的参考价值。

[Matlab源码]
海洋捕食者算法 (MPA) 是一种受自然启发的优化算法,它遵循自然支配最佳觅食策略的规则,并在海洋生态系统中遇到捕食者和猎物之间的速率策略。

MPA 优化过程分为三个主要优化阶段,考虑不同的速度比,同时模拟捕食者和猎物的整个生活:(1)在高速度比或当猎物移动得比捕食者快时,(2)在单位速度比或当捕食者和猎物几乎以相同的速度移动时,以及 (3) 当捕食者比猎物移动得更快时,速度比低。对于每个定义的阶段,指定和分配特定的迭代周期。这些步骤是根据捕食者和猎物运动的性质所管理的规则定义的,同时模仿自然界中捕食者和猎物的运动。

多目标海洋捕食者算法(MOMPA) 解决多目标优化问题

代码:

warning('off')
clear, clc
a_mompa=[];
 for i=1:1
%%
    %ZDT系列
        %           M    D	Range                   
        %ZDT1-ZDT3	2	30	xi∈[0,1],1≤i≤D	
        %ZDT4       2	10	x1∈[0,1],xi∈[-5,5],2≤i≤D	'lb', [0 -5*ones(1,9)], 'ub', [1 5*ones(1,9)]
        %ZDT6       2	10	xi∈[0,1],1≤i≤D	
    %DTLZ系列
        %              M   D	Range  
        %DTLZ1          3	7	xi∈[0,1],1≤i≤D	
        %DTLZ2-DTLZ6	3	12	xi∈[0,1],1≤i≤D	
        %DTLZ7          3	22	xi∈[0,1],1≤i≤D	

%     [fit,IGD,P] =   mompa('DTLZ4', 'Max_iter', 3000, 'SearchAgents_no',100,...
%             'minmax', 'min', 'plotFlag', 1, 'dim', 12, 'numObj', 3, ...
%             'numgroup', 1, 'lb', 0, 'ub', 1);
%         i
%         a_mompa(i) = IGD(end);

%%
    %WFG系列
    %          M   D	Range  
    %WFG3-WFG9 3  12	zi∈[0,2i],1≤i≤D	

    final_lb =zeros(1,12);
    final_ub =2 : 2 : 2*12;%
    [fit,IGD,P] = mompa('WFG9', 'Max_iter', 3000, 'SearchAgents_no',100,...
            'minmax', 'min', 'plotFlag', 1, 'dim', 12, 'numObj', 3, ...
            'numgroup', 1, 'lb', final_lb, 'ub', final_ub);
         i
         a_mompa(i) = IGD(end);
 end
a_mompa
b1=mean(a_mompa);
b2=std(a_mompa);


scatter3(P(:, 1), P(:, 2),P(:,3));
 %scatter(P(:, 1), P(:, 2));
% grid on;  

运行结果:

获取完整代码:https://ai.52learn.online/code/29

以上是关于多目标海洋捕食者算法(MOMPA) 解决多目标优化问题的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB实战系列(三十九)-matlab多目标优化之海洋捕食者算法

海洋捕食者算法(MPA) 解决单目标优化问题

海洋捕食者算法(MPA) 解决单目标优化问题

单目标优化求解基于matlab多子群改进的海洋捕食者算法(MSMPA)求解单目标优化问题含Matlab源码 1783期

月径流预测基于matlab海洋捕食者算法优化BP神经网络月径流预测含Matlab源码 2002期

优化算法海洋捕食者算法(MPA)matlab源码