当前位置 : 主页 > 编程语言 > python >

【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 供需优化(SDO) 算法是Zhao等于2019年受经济学供需机制的启发而提出的一种新型元启发式优化算法。该算法在数学上模拟了消费者的需求关系和生产者的供给关系,通过将供求机制

1 简介

供需优化( SDO) 算法是 Zhao 等于 2019 年受经济学供需机制的启发而提出的一种新型元启发式优化算法。该算法在数学上模拟了消费者的需求关系和生产者的供给关系,通过将供求机制之稳定模式和非稳定模式引入到 SDO 算法中,利用两种模式在给定空间中进行局部搜索和全局搜索求解待优化问题。与传统群智能算法相比,SDO 算法收敛速度快、寻优精度高、调节参数少,具有较好的探索和开发能力。

【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码_参考文献

【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码_优化算法_02

【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码_优化算法_03

【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码_matlab代码_04

2 部分代码

%--------------------------------------------------------------------------
% --------------------------------------------------------------------------
clc;
clear;
close all
MaxIteration=500;
MarketSize=50;
FunIndex=4;
Fun_name='F4';
[BestX,BestF,HisBestF]=SDO(FunIndex,MaxIteration,MarketSize);
display(['F_index=', num2str(FunIndex)]);
display(['The best fitness is: ', num2str(BestF)]);
%display(['The best solution is: ', num2str(BestX)]);
figure('Position',[500 500 660 290])
subplot(1,2,1);
func_plot(Fun_name);
title('Objective space')
xlabel('x_1');
ylabel('x_2');
zlabel([Fun_name,'( x_1 , x_2 )'])
subplot(1,2,2);
if BestF>0
semilogy(HisBestF,'r','LineWidth',2);
else
plot(HisBestF,'r','LineWidth',2);
end
xlabel('Iterations');
ylabel('Fitness');
title(['F',num2str(FunIndex)]);

3 仿真结果

【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码_matlab代码_05

【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码_优化算法_06

4 参考文献

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


【供需优化算法】基于供需优化算法求解单目标优化问题SDO含Matlab源码_优化算法_07



网友评论