This study developed a new meta-heuristic algorithm inspired by the behavior of jellyfish in the ocean, known as the Artificial Jellyfish Search (JS) Optimizer.
Simulations of jellyfish searching behavior included their following ocean currents, their movement through a swarm (active and passive), time-control mechanisms that switched between these movements, and converging to a jellyfish flower state. The new algorithm has been successfully tested on the benchmark function and optimization problems. It is worth noting that JS has only two control parameters, namely population size and number of iterations. As a result, JS is very simple to use and can be an excellent metaheuristic algorithm for solving optimization problems.
% -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- % % Jellyfish Search Optimizer (JS) Source Codes Demo Version 1.0 Developed in MATLAB R2016a % % Author and Programmer: % % Professor Jui-Sheng Chou % % Ph.D. Candidate Dinh- Nhat Truong % % Paper: A Novel Metaheuristic Optimizer Inspired By Behavior of Jellyfish in Ocean, % % Applied Mathematics and Computation. Computation, Volume 389, 15 January 2021, 125535. % % % PiM Lab, NTUST, Taipei, Taiwan, July-2020 % % -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - % function main clear all clc %% Select function fnumber=1; % Select function [lb ub dim]=boundcondition(fnumber); %% Set the parameters Npop=50; % Number of jellyfish Max_iteration=10000; % Maximum numbef of iterations para=[Max_iteration Npop]; %% Run JS optimizer tic; [u,fval,NumEval,fbestvl]=js(@fobj,fnumber,lb,ub,dim,para); time=toc; %% Display optimal results display(['-------------------------------------------------------------------------']); display([' Jellyfish Search Optimizer (JS) for mathematical benchmark problems ']); display(['-------------------------------------------------------------------------']); display(['The best solution obtained by JS is : ', num2str(u)]); display(['The best optimal value of the objective function found by JS is : ', num2str(fval)]); %% Save optimal results save('result.mat','time','u','fval','NumEval','fbestvl'); endCopy the code
————————————————————————- Jellyfish Search Optimizer (JS) for mathematical benchmark problems ————————————————————————- The best solution obtained by JS is : -4.8863-4.7471-4.6175 -4.7259 -4.6108 The best Optimal value of The Objective function found by JS is: 0 >>
Add QQ1575304183 complete source code