2.2. Bio-Inspired Metaheuristic Optimization Method
The problem of finding the global extremum of the objective function on the set of feasible solutions of the form is considered.
The Perch School Search method (PSS) imitates the behavior of a European river perch school. Medium-sized perches make schools of 5–12 individuals in order to find food. The smallest perches make schools of approximately 100 individuals. Generally, they take the fish-prey into a circle (perch boiler) and hold it there. Perches attack prey at the boiler edge, moving to its center. To find new food sources, perches use a migration mechanism. Usually, bigger perches swim at the depths, in holes and deep water, hunting by themselves. Rarely, they also make schools, like small ones do, in order to fight with other predatory fish (pikes and sanders). The river perch uses a very aggressive hunting model: it actively pursues the prey, sometimes jumping out even on the surface of the water. The biggest perches are solitary and independent predators. The reason for this is that the big perches do not need to hunt collectively. These perches can hunt by themselves on any size fish available. In the case of feed places, lacking a regular habitat, perch begin to move and search for places full of small fish and other food.
Finite sets of possible solutions, named populations, are used for solving the problem of finding a global constrained minimum of an objective function, where is a perch-individual (potential feasible solution) with number , and is the population size.
In the beginning of the process, the method creates a population by the uniform distribution law on a feasible solution set,
, illustrated in
Figure 1a. All solutions are ordered by increasing objective function value. After that, the created population is divided into several schools. The schools form a sequence: The best solution is placed in the first school, the next is placed in the second, etc. The
is placed in the
school, and the
is then placed in the first school, and so on. This process is shown in
Figure 1b. The described process corresponds to the information exchange among population members for an efficient approach to the global extremum.
In each school, the leader (the best possible solution in the school) is determined by the value of the objective function. Every school makes a perch boil in which there is a hunt, illustrated in
Figure 1c. At that time, every perch in the school moves to its leader, exploring the boil edge. During this movement, perches remember their best position. As a result, new leaders’ and members’ positions for each school are found. Among the school leaders, the best and the worst leaders are found.
The perch boiler in the school with the best leader is realized, so perches of this school search the entire area in depth. As a result, the new absolute leader is found.
After that, among all schools, the school with the worst leader is chosen. This leader then moves into another area of the feasible solution set. For that, the school leader’s movement is realized by a Lévy distribution with verification of belonging to the feasible solution set. The uniform distribution law on the parallelepiped set generates the remaining members of the school. A doubled distance from the leader to the nearest edge of set describes the size of the parallelepiped set. The received school realizes a perch boil and a new leader is found.
The rest of the schools swim in the direction of the current absolute leader of the whole feasible set. At this time, each local school leader moves in a straight line to the global leader. Other members of the school move parallel to the global leader. In this movement, all perches remember their best position and stay there.
In the end of the migration of all schools, the absolute leader is put into the Pool set. Then, the division of the entire population into schools begins again. Therefore, another new global iteration starts until it reaches a given number.
At the final step, leaders in the
Pool set (identified at each global iteration of the algorithm) interact with each other. After a given number of times in the
Pool set, three perches are chosen, and a path-relinking operation [
26] is realized. As a result, this set is replenished by one more solution.
After the end of the path-relinking operation among the Pool set elements, the best answer is found, which is considered to be an approximate solution of the optimization problem.
The proposed method corresponds to hybrid algorithms because it contains ideas described in Shuffled Frog-Leaping Optimization (division into schools) [
28], Cuckoo Search (Lévy flights) [
29], Self-Organizing Migrating Algorithm (movement to the leader) [
23] and the path-relinking algorithm [
26] (searching in the
Pool set).
Below is a detailed description of the algorithm.
Step 1. Set the parameters of the method:
Controlling parameter , which specifies number of steps before the end of the movement;
Number of schools in the population, ;
Number of perches in a school, ;
Number of perches in the population,
Stop parameter , which specifies the maximum number of iterations;
Levy distribution parameter ;
Step size ;
Maximum number of path-relinking operations, ;
Number of steps in the path-relinking operation, .
Step 2. Creation of the initial perch population.
Step 2.1. Create population
of
solutions (perches) with randomly generated coordinates
from the segment
using a uniform distribution:
where
is the uniform distribution law on the segment
.
Step 2.2. For each solution (perch) in the population, calculate the value of the objective function.
Set the value: (global iteration count).
Step 3. Separation of the whole population into schools.
Step 3.1. Arrange the solutions in the population in ascending order of objective function values.
Step 3.2. Make -many schools of perches each: The best solution (with the smallest value of the objective function) is put into the first school, the next is put into the second, etc. The is put into the school, and the is put into the first school, etc. As the result, there are -many schools of perches each, so The first perch placed in a school is its leader The leader of the first school is also the leader of the whole population (the global leader): .
Step 4. Realization of the perch boiler in each school.
Step 4.1. For each school , do the following.
Move each perch to the school’s leader near its border:
where
is the initial position of perch
in school
;
is a position of this perch during movement;
is a position of the school leader numbered
;
is the integer part of a number; and boiler parameter
is generated via the uniform distribution law at each iteration for each school independently.
After all steps, find the best step for each perch (the step at which the value of the objective function was the smallest); the perch must be in this best position
:
Step 4.2. Choose a new leader in each school:
Step 4.3. Arrange the schools in the population in ascending order of objective function values of its leaders. The global leader is in the first school: ; local leaders are in other schools: and the maximum value of the objective function among leaders is in the school numbered .
Step 5. School swimming with the global leader.
Step 5.1. Move each perch toward the global leader, moving along the line connecting them (approaching and then receding in the same direction):
where boiler parameter
is generated via the uniform distribution law at each iteration.
Step 5.2. After all steps, find the best step for each perch (the step at which the value of the objective function was the smallest); the perch must be in this best position
:
Step 5.3. Choose a new leader in the school,
Step 6. School swimming with the worst leader.
Step 6.1. Leader swimming: A new position for the leader is randomly generated via the Levy distribution:
where
is the position coordinates of the school’s leader in the current iteration,
is the step size, and
. To generate a random variable according to the Levy distribution, the following is required:
For each coordinate , generate a number , via the uniform distribution law on the set where is the distinguishability constant, and do the following:
Generate numbers and , , where is a distribution parameter;
Calculate values of coordinates using the formulas below:
If the obtained value of the coordinate does not belong to the set of feasible solutions, that is, , then repeat the generation process for the coordinate .
Step 6.2. Generate new positions of school members via the uniform distribution on a parallelepiped formed by the direct product of segments , where .
Step 6.3. Make a perch boiler in the obtained school.
Move each perch to a school’s leader near its border:
where boiler parameter
is generated via the uniform distribution law at each iteration.
After all steps, find the best step for each perch (the step at which the value of the objective function was the smallest); the perch must be in this best position
:
Step 6.4. Choose a new leader for the school, .
Step 7. Swimming of the remaining schools.
For all schools where , do the following.
Step 7.1. Move the school’s leader to the current absolute (best) leader:
where boiler parameter
is generated via the uniform distribution law at each iteration for each school, independently.
Step 7.2. Make the movement of other school members parallel to that of the absolute leader:
After all steps, find the best step for each perch (the step at which the value of the objective function was the smallest); the perch must be in this best position
:
Step 7.3. Every school member must take their best position reached in the swimming process. Choose a new school leader with position .
Step 8. Finding the new global leader of the population among the schools’ leaders.
Choose the best solution among the solutions, corresponding to the leaders, and put it into the set .
Step 9. Checking the stop conditions.
If , go to Step 10. Otherwise, set and go to Step 3.
Step 10. Intensive searching in the set .
Step 10.1. Set the value .
Step 10.2. Choose three different random solutions in .
Step 10.3. Find the solution
Step 10.4. Add the solution
into
. Set the value
.
Step 10.5. If , go to Step 11. Otherwise, go to Step 10.2.
Step 11. Choosing the best solution. Among the solutions in , find the best one, which is considered to be an approximate solution of the optimization problem.
During the creation and testing of this algorithm, the following recommendations were developed for choosing parameters.
Parameter selections within the following ranges provide better results: controlling parameter ; number of schools in the population ; number of perches in a school ; stop parameter ; maximum number of path-relinking operations ; number of steps in path-relinking operation ; Levy distribution parameter ; step size .
The proposed algorithm can be applied in the theory of optimal control using spectral and pseudospectral methods for representing trajectories and control laws in the form of expansions in basic systems with indeterminate coefficients.