【社会群体优化算法】基于社会群体优化算法求解单目标优化问题matlab代码

136 阅读1分钟

1 简介

SGO 算法是一种基于社会群体学习和提升自身解决问题能力的新型优化算法。在现实生活中,很多工作或者难题的处理需要多方面因素的参与。当学习者欠缺此方面的能力时,须向周围或拥有此项能力的个体学习,以便达到相应的目的。SGO 算法是基于此种思想提出的,其实现过程主要包含三个步骤: 种群初始化、提高阶段学习、获得阶段学习。

2 部分代码

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

% % Developed in MATLAB R2016a

clc;

clear all;

close all;

'MSGO'

pn=30; %population size

gn=250; %maximum number of iteration

% dim=30; %dimension of the fuction

% lb=-30; %lower bound

% ub=30;  %upper bound

func_no=21;

[lb,ub,dim]=Test_Functions_Range(func_no);

[fitsgo,objvalue]=msgofunction(pn,dim,gn,lb,ub,func_no);

objvalue

fitsgo;

if objvalue>0

     semilogy(fitsgo,'r','LineWidth',2);

 else

     plot(fitsgo,'r','LineWidth',2);

 end

 xlabel('Iterations');

 ylabel('Fitness');

 title('Convergence characteristics')

% for i=1:5

%     point(i)=i;

% end

%plot(point,fitsgo(point),'-hb');

% %% 

% title('Convergence characteristics')

% %% 

% semilogy(fitsgo)

% %plot(fitsgo)

% xlabel('Number of Iterations');

% ylabel('Fitness value');

% %axis tight

 grid on

% legend('MSGO','SouthEast');

3 仿真结果

4 参考文献

[1]刘亚军, 陈得宝, 邹锋,等. 离散社会群体优化算法求解旅行商问题[J]. 长春师范大学学报, 2018, 37(6):5.

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

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