多目标海洋捕食者算法(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;
运行结果:
以上是关于多目标海洋捕食者算法(MOMPA) 解决多目标优化问题的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB实战系列(三十九)-matlab多目标优化之海洋捕食者算法
单目标优化求解基于matlab多子群改进的海洋捕食者算法(MSMPA)求解单目标优化问题含Matlab源码 1783期