Golden Jackal Optimization Algorithm for Single Objective Optimization with MATLAB Code

1 Introduction

A new nature-inspired optimization method called the Golden Jackal Optimization (GJO) algorithm is proposed to provide an alternative optimization approach for solving real-world engineering problems. The inspiration for GJO comes from the cooperative hunting behavior of the golden jackal (Canis aureus). The three basic steps of the algorithm are prey searching, encircling, and ambushing, all of which have been mathematically modeled and applied. The capability of the proposed algorithm has been evaluated against various state-of-the-art metaheuristic algorithms on benchmark functions. The proposed algorithm was further tested to solve seven different engineering design problems, demonstrating its practical implementation in the field of electrical engineering. The results of classic engineering design problems and practical implementations validate that the proposed algorithm is suitable for tackling challenging problems with unknown search spaces.

2 Simulation Code

%___________________________________________________________________%

% Golden Jackal Optimization (GJO)

% Main paper: Chopra, Nitish, and Muhammad Mohsin Ansari. “Golden Jackal Optimization: A

% Novel Nature-Inspired Optimizer for Engineering Applications.”

% Expert Systems with Applications (2022): 116924.

%

% DOI: https://doi.org/10.1016/j.eswa.2022.116924

% %

%___________________________________________________________________%

%% TESTING GJO ON ENGINEERING DESIGN

SearchAgents_no=20; % Number of search agents

Max_iteration=100; % Maximum number of iterations

Function_name=’F4′;

% ‘F1’ Tension/compression spring design;

% ‘F2’ Pressure vessel design

% ‘F3’ Welded beam design

% ‘F4’ Speed Reducer design

% ‘F5’ Gear train design problem

% ‘F6’ Three-bar truss design problem

%% Load details of the selected engineering design problem

[lb,ub,dim,fobj]=Get_Functions_details(Function_name);

runn=1; % maximum number of re-runs of GJO

cost=zeros(runn,1);pos=zeros(runn,4);

for i=1:runn

disp([‘Run no: ‘,num2str(i)]);

[Male_Jackal_score,Male_Jackal_pos,GJO_cg_curve]=GJO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);

cost(i,:)=Male_Jackal_score;

end

mean_cost=mean(cost);

min_cost=min(cost);

max_cost=max(cost);

disp([‘best value GJO: ‘,num2str(min_cost,10),’ Mean: ‘, num2str(mean_cost),’ Max: ‘, num2str(max_cost)]);

figure(‘Position’,[269 240 660 290])

%Draw search space

subplot(1,2,1);

func_plot(Function_name);

title(‘Parameter space’)

xlabel(‘x_1’);

ylabel(‘x_2’);

zlabel([Function_name,'( x_1 , x_2 )’])

%Draw objective space

subplot(1,2,2);

plot(GJO_cg_curve,’Color’,’r’,’linewidth’,1.5)

title(‘Objective space’)

xlabel(‘Iteration’);

ylabel(‘Best score obtained so far’);

axis tight

grid on

box on

legend(‘GJO’)

3 Results

Golden Jackal Optimization Algorithm for Single Objective Optimization with MATLAB Code

Golden Jackal Optimization Algorithm for Single Objective Optimization with MATLAB Code

4 References

[1] Nc A, Mma B. Golden Jackal Optimization: A Novel Nature-Inspired Optimizer for Engineering Applications. 2022.

Author Introduction: Proficient in intelligent optimization algorithms, neural network prediction, signal processing, cellular automata, image processing, path planning, and UAV simulations in MATLAB. For MATLAB code-related issues, please feel free to contact me.

Some theoretical references are from online literature; if there is any infringement, please contact the author for removal.

Leave a Comment