多节优化器(Multi-Verse Optimizer (MVO) )解决单目标优化问题
Posted 这是一个很随便的名字
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多节优化器(Multi-Verse Optimizer (MVO) )解决单目标优化问题相关的知识,希望对你有一定的参考价值。
【Matlab源码】
Multi-Verse Optimizer (MVO) 的 灵感来源于 宇宙学中的三个概念:白洞、黑洞和虫洞。开发这三个概念的数学模型分别用于执行探索、开发和局部搜索。
MVO 旨在解决单目标优化问题。
代码:
% You can simply define your cost in a seperate file and load its handle to fobj
% The initial parameters that you need are:
%__________________________________________
% fobj = @YourCostFunction
% dim = number of your variables
% Max_iteration = maximum number of generations
% SearchAgents_no = number of search agents
% lb=[lb1,lb2,...,lbn] where lbn is the lower bound of variable n
% ub=[ub1,ub2,...,ubn] where ubn is the upper bound of variable n
% If all the variables have equal lower bound you can just
% define lb and ub as two single number numbers
% To run MVO: [Best_score,Best_pos,cg_curve]=MVO(Universes_no,Max_iteration,lb,ub,dim,fobj)
%__________________________________________
clear all
clc
Universes_no=60; %Number of search agents (universes)
Function_name='F17'; %Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)
Max_iteration=500; %Maximum numbef of iterations
%Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_score,Best_pos,cg_curve]=MVO(Universes_no,Max_iteration,lb,ub,dim,fobj);
figure('Position',[290 206 648 287])
%Draw the search space
subplot(1,2,1);
func_plot(Function_name);
title('Test function')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
grid off
shading interp;
light;
lighting phong;
shading interp;
%Draw the convergence curve
subplot(1,2,2);
semilogy(cg_curve,'Color','r')
title('Convergence curve')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid off
box on
legend('MVO')
display(['The best solution obtained by MVO is : ', num2str(Best_pos)]);
display(['The best optimal value of the objective funciton found by MVO is : ', num2str(Best_score)]);
运行结果:
获取Multi-Verse Optimizer (MVO)完整源码:https://ai.52learn.online/code/22
以上是关于多节优化器(Multi-Verse Optimizer (MVO) )解决单目标优化问题的主要内容,如果未能解决你的问题,请参考以下文章