1 简介

平衡 优 化 器 ( equilibrium optimizer,EO) 是 Afshin Faramarzi 等人于 2019 年提出的一种新型智能算法,并在多个测试函数上相对传统智能算法表现出较好的优越性。

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_参考文献

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_参考文献_02

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_参考文献_03

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_句柄_04

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_句柄_05

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_参考文献_06

2 部分代码

%_________________________________________________________________________________

% Equilibrium Optimizer source code (Developed in MATLAB R2015a)

%


% --------------------------------------------

% fobj = @YourCostFunction

% dim = number of your variables

% Max_iteration = maximum number of iterations

% Particles_no = number of particles (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

% ---------------------------------------------------------


clear all

clc

tic;

Run_no=30; % Number of independent runs

Particles_no=30; % Number of particles

Max_iteration=500; % Maximum number of iterations


Function_name='F2';


[lb,ub,dim,fobj]=Get_Functions_details(Function_name);


[Convergence_curve,Ave,Sd]=EO(Particles_no,Max_iteration,lb,ub,dim,fobj,Run_no);


display(['The average objective function is : ', num2str(Ave,7)]);

display(['The standard deviation is : ', num2str(Sd,7)]);

figure('Position',[500 500 660 290])

% %Draw search space

subplot(1,2,1);

func_plot(Function_name);

title('Parameter space')

xlabel('x_1');

ylabel('x_2');

zlabel(['( x_1 , x_2 )'])

%Draw objective space

subplot(1,2,2);

semilogy(Convergence_curve,'Color','r')

title('Objective space')

xlabel('Iteration');

ylabel('Best score obtained so far');

axis tight

grid on

box on

legend('EO')

img =gcf; %获取当前画图的句柄

print(img, '-dpng', '-r600', '2.png') %即可得到对应格式和期望dpi的图像


toc;

3 仿真结果

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_句柄_07

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_句柄_08


4 参考文献

[1]刘斌等. "一种基于改进平衡优化器算法的光伏电池参数识别方法.".

【优化求解】基于平衡优化器算法求解单目标优化问题matlab代码_期望dp_09