INTRODUCTION
The process of finding the best values for the variables of a particular problem to minimise or maximise an objective function is called optimisation. Optimisation problems exist in different fields of studies. To solve an optimisation problem, different steps need to be taken. Firstly, the parameters of the problem should be identified. Based on the nature of the parameters, problems may be classified as continuous or discrete. Secondly, the constraints that are applied to the parameters have to be recognised. Constraints divide the optimisation problems into constrained and unconstrained. Thirdly, the objectives of the given problem should be investigated and considered. In this case, optimisation problems are classified into single-objective versus multi-objective problems [2]. Finally, based on the identified types of parameters, constraints, and number of objectives a suitable optimiser should be chosen and employed to solve the problem.
Mathematical optimisation mainly relies on gradient-based information of the involved functions in order to find the optimal solution. Although such techniques are still being used by different researchers, they have some disadvantages. Mathematical optimisation approaches suffer from local optima entrapment. This refers to an algorithm assuming a local solution is the global solution, thus failing to obtain the global optimum. They are also often ineffective for problems with unknown or computationally expensive derivation. Another type of optimisation algorithm that alleviates these two drawbacks is stochastic optimisation.
Grasshopper Optimisation Algorithm (GOA)
Grasshopper are insects. They are considered a pest due to their damage to crop production and agriculture. Although grasshoppers are usually seen individually in nature, they join in one of the largest swarm of all creatures. The size of the swarm may be of continental scale and a nightmare for farmers. The unique aspect of the grasshopper swarm is that the swarming behaviour is found in both nymph and adulthood. Millions of nymph grasshoppers jump and move like rolling cylinders. In their path, they eat almost all vegetation. After this behaviour, when they become adult, they form a swarm in the air. This is how grasshoppers migrate over large distances.
Their life cycle includes two phases called nymph and adulthood. The nymph phase is characterized by small steps and slow movements, while the adulthood phase is characterized by long-range and abrupt movements. The movements of nymph and adulthood constitute the intensification and diversification phases of GOA.
The main characteristic of the swarm in the larval phase is slow movement and small steps of the grasshoppers. In contrast, longrange and abrupt movement is the essential feature of the swarm in adulthood. Food source seeking is another important characteristic of the swarming of grasshoppers. As discussed in the introduction, nature-inspired algorithms logically divide the search process into two tendencies: exploration and exploitation. In exploration, the search agents are encouraged to move abruptly, while they tend to move locally during exploitation. These two functions, as well as target seeking, are performed by grasshoppers naturally. Therefore, if we find a way to mathematically model this behaviour, we can design a new nature-inspired algorithm.
RECENT VARIANTS OF GRASSHOPPER
Different variants of original GOA categorized into modified and hybrid versions have been suggested in the literature. The realized details of these versions are given in the following subsections.