一、基于RRT的優化器
基于RRT的優化器(RRT-based Optimizer,RRTO)是2025年提出的一種新型元啟發式算法。其受常用于機器人路徑規劃的快速探索隨機樹(RRT)算法的搜索機制啟發,首次將RRT算法的概念與元啟發式算法相結合。RRTO的關鍵創新之處在于其三種位置更新策略:自適應步長游蕩、基于絕對差值的自適應步長以及基于邊界的自適應步長。這些策略使得RRTO能夠在高效探索搜索空間的同時,引導種群朝著高質量解的方向進化。
參考文獻:
[1]G. Lai, T. Li and B. Shi, “RRT-based Optimizer: A novel metaheuristic algorithm based on rapidly-exploring random trees algorithm,” in IEEE Access, doi: 10.1109/ACCESS.2025.3547537.
二、23個函數介紹
參考文獻:
[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.
三、部分代碼及結果
clear;
clc;
close all;
warning off all;SearchAgents_no=50; %Number of search solutions
Max_iteration=500; %Maximum number of iterationsFunc_name='F1'; % Name of the test function% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_F(Func_name); tic;
[Best_score,Best_pos,cg_curve]=(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
tend=toc;% figure('Position',[500 500 901 345])
%Draw search space
subplot(1,2,1);
func_plot(Func_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Func_name,'( x_1 , x_2 )'])%Draw objective space
subplot(1,2,2);
semilogy(cg_curve,'Color','m',LineWidth=2.5)
title(Func_name)% title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');axis tight
grid on
box on
legend('')display(['The running time is:', num2str(tend)]);
display(['The best fitness is:', num2str(Best_score)]);
display(['The best position is: ', num2str(Best_pos)]);