1 简介

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_02

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_03

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_04

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_05

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_06

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_07

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_08

2 部分代码

clear all
  • 1.
clc
  • 1.
SearchAgents=30;
  • 1.
Fun_name='F2';
  • 1.
Max_iterations=1000;
  • 1.
[lowerbound,upperbound,dimension,fitness]=fun_info(Fun_name);
  • 1.
[Best_score,Best_pos,TSA_curve]=tsa(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
  • 1.
figure('Position',[500 500 660 290])
  • 1.
subplot(1,2,1);
  • 1.
func_plot(Fun_name);
  • 1.
title('Objective space')
  • 1.
xlabel('x_1');
  • 1.
ylabel('x_2');
  • 1.
zlabel([Fun_name,'( x_1 , x_2 )'])
  • 1.
subplot(1,2,2);
  • 1.
plots=semilogx(TSA_curve,'Color','g');
  • 1.
set(plots,'linewidth',2)
  • 1.
hold on
  • 1.
title('Objective space')
  • 1.
xlabel('Iterations');
  • 1.
ylabel('Best score');
  • 1.
axis tight
  • 1.
grid on
  • 1.
box on
  • 1.
legend('TSA')
  • 1.
img =gcf; %获取当前画图的句柄
  • 1.
print(img, '-dpng', '-r600', './img2.png') %即可得到对应格式和期望dpi的图像
  • 1.
display(['The best solution obtained by TSA is : ', num2str(Best_pos)]);
  • 1.
display(['The best optimal value of the objective funciton found by TSA is : ', num2str(Best_score)]);
  • 1.

3 仿真结果

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_09

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_10

4 参考文献

[1]屈迟文, 彭小宁. 信息共享的记忆被囊群算法[J]. 模式识别与人工智能.​

【优化求解】基于被囊群算法Tunicate Swarm Algorithm (TSA)求解单目标问题_被囊群算法_11