代码实现
MATLAB
HLBO.m
function[Best_score,Best_pos,HLBO_curve]=HLBO(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness)lowerbound=ones(1,dimension).*(lowerbound); % Lower limit for variables
upperbound=ones(1,dimension).*(upperbound); % Upper limit for variables%%
for i=1:dimensionX(:,i) = lowerbound(i)+rand(SearchAgents,1).*(upperbound(i) - lowerbound(i)); % Initial population
endfor i =1:SearchAgentsL=X(i,:);fit(i)=fitness(L);
end
%%for t=1:Max_iterations%% update the best member[best , blocation]=min(fit);[fworst , ~]=max(fit);%% Phase 1: Exploration phase% candidate solutionfor i=1:SearchAgentsQ(i,:)=fit-fworst/fit(i)-fworst; %eqn(4)endif t==1Xbest=X(blocation,:);