多节优化器(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) )解决单目标优化问题的主要内容,如果未能解决你的问题,请参考以下文章

多目标多节优化器(MOMVO)解决多目标优化问题

多目标多节优化器(MOMVO)解决多目标优化问题

『cs231n』计算机视觉基础

机器学习中常见优化方法汇总

多节 UITableView (swift)

实现多节 TableView 的最佳实践是啥