User:Truongdinhnhat/sandbox

= Jellyfish search (JS) algorithm = In computer science and operation research, the jellyfish search (JS) algorithm is an optimimization algorithm based on the behavior of jellyfish in ocean. The JS algorithm is developed by Jui-Sheng Chou and Dinh-Nhat Truong in 2021.

Metaphor
Jellyfish have features that enable them to control their movements. Despite this ability, they mostly drift in the water, depending on currents and tides. When conditions are favorable, jellyfish can form a swarm, and a large mass of jellyfish is called a jellyfish bloom. Numerous factors govern the formation of swarm, including ocean currents, available nutrients, oxygen availability, predation, and temperature. Among these factors, ocean currents are the most important as they can collect jellyfish into a swarm.

This phenomenon, along with each jellyfish's own movements inside the swarm and following ocean current to form jellyfish bloom, has given these species the ability to appear almost everywhere in the ocean. The quantity of food at sites that are visited by a jellyfish varies; thus, when food proportions are compared, the best location would be identified. Therefore, a new algorithm that is inspired by search behavior and movement of jellyfish in the ocean is developed herein. It is named jellyfish search optimizer. Figure in presents the steps of the algorithm.

Algorithm
The proposed optimization algorithm is based on three idealized rules :

1. Jellyfish either follow the ocean current or move inside the swarm, and a “time control mechanism” governs the switching between these types of movement.

2. Jellyfish move in the ocean in search of food. They are more attracted to locations where the available quantity of food is greater.

3. The quantity of food found is determined by the location and its corresponding objective function.

The psedo-code of JS is presented below. Detail of JS is given by Chou and Truong, and demo MATLAB program is available in Mathworks and ResearchGate.