1 Introduction
Search and optimization algorithms such as Particle Swarm Optimization (PSO), Differential Evolution (DE), Genetic Algorithm (GA), Firefly Algorithm (FA), and Dragonfly Algorithm (DA) have proven to be efficient in terms of speed and convergence for certain types of problems, so we expect the optimization algorithm to work efficiently applied to intelligent computing optimization problems. These algorithms are based on bioinspired principles and have been extensively studied and tested in scientific literature.
The choice of a specific algorithm depends on the optimization problem in question and its characteristics. However, combining different search and optimization algorithms in an algorithm can further improve efficiency in terms of convergence speed and the quality of the solution obtained. Algorithms that combine different search and optimization strategies can take advantage of the strengths of each of the algorithms and overcome their limitations.
In summary, an optimization algorithm combining PSO, DE, GA, and FA are expected to perform efficiently when applied to optimization problems due to its proven effectiveness in terms of speed of convergence in solving optimization problems. Where there are insects like dragonflies, fireflies, and damselflies, there are many more insects with the same similarities for hunting, reproduction, or in matters of movement on the entire ecosystem.
Observing the behaviors and structures of organisms in nature often suggests they perform their functions exceptionally well. Numerous studies have been conducted on this subject, including one by Xin-She Yang that began with publications pertaining to the firefly algorithm. The classification of many species of related insects will be reviewed in the following study [2].
Metaheuristics encompass broad strategies that skillfully blend different methodologies to navigate through the solution space. In design of optimization, the design objective can be as simple as maximizing production efficiency or minimizing production costs. An optimization algorithm is a technique that compares several solutions repeatedly until an ideal or feasible answer is identified. Currently, two types of optimization methods are frequently employed.
To transition from one solution to the next, deterministic algorithms employ a set of rules.
These algorithms have been effectively employed to solve a variety of engineering design challenges [3].
Since stochastic algorithms include probabilistic translation rules and a random nature, they may execute in a different sequence or produce a different outcome each time they are run with the same input.
The layout of this article is outlined as follows: 1. Introduction, where we provide a summary of the article's content; 2. Nature Inspiration the new optimization technique we offer is based on organic inspiration; 3. Literature review, which includes all the studies relevant to the topics of this article; 4. The presentation and implementation of the Dragonfly Algorithm (DA); 5. Type-1 fuzzy logic explanation, 6. Results, analysis, and comparison of the experiments performed; 7. Analytical conclusions and a summary of the investigation are described in this article.
2 Nature Inspiration
In some cultures, dragonflies were called kachi-mushi (victorious insects) because they only fly forward, which gave them the character of those who never retreat and always move forward, whatever the circumstances.
Thus, it became a symbol of strength, courage and determination. About 5,000 species of dragonflies are known and the algorithm is inspired by static behavior and dynamic behavior all dragonflies can move together to the same place for example a migration.
In the following, we can review the life cycle of the dragonfly.
The adult dragonfly starts to mate, after that, they will lay their eggs in or around the water eggs in the water, after the eggs will become a larva and after that the dragonfly will emerge. This can be appreciated in Fig 1.
Based on these factors, it was suggested an algorithm that follows the model of insects and how they adjust to physiological changes by sharing resources and communicating to survive and grow. This algorithm was called "dragonfly".
Natural optimization methods have proven to be adaptable, flexible, and efficient in handling practical problems.
The fact that there is currently no optimization technique that can handle all problems is well recognized [5]. There are everyday issues that can be solved in business, economics, research, and other fields. There is a wide variety of optimization techniques, and some are more effective than others in solving specific problems. There are various metaheuristic optimization techniques, for example, Particle Swarm Optimization (PSO) [10], Artificial Colony Optimization (ACO) [8, 11], Artificial Bee Algorithm (ABC) [9], Firefly Algorithm (FA) [12], as well as other algorithms based on Hill climbing swarms [13], genetic algorithms (GA) [6], and different techniques based on trajectories. Differential evolution (DE) [14] and genetic programming (GP) [16] are examples of evolutionary algorithms.
3 Study of Literature
There are several social behaviors used in nature to carry out various tasks. Although survival is the goal of all individuals and collective actions, organisms collaborate and interact in groups for a variety of purposes, including hunting, defending, navigating, and foraging.
Wolf packs, for example, have some of the best-structured social interactions for hunting. Wolves often follow a social hierarchy to pursue prey in various ways: chasing, circling, tormenting, and attacking. [17]. Holland authored a book detailing the development of genetic algorithms (GAs). De Jong concluded his research by showcasing the considerable potential and robustness of evolutionary algorithms across various objective functions, including those that are noisy, multimodal, or discontinuous [6]. To minimize their learning and prediction errors through iterative trial and error, artificial neural networks, support vector machines, and other machine learning approaches are genetic algorithms and can be considered a heuristic optimization methodology.
In 1961 Van Bergeijk, W. A, Harmon, L. D. and Levinson, J. Z., and Harmon, L. D. proposed artificial neurons as simple information processing units [19, 20, 21].
Particle Swarm Optimization (PSO), an optimization method inspired by the collective intelligence of fish, birds, and even human beings, was created in 1995 by James Kennedy and Russell C. Eberhart [22, 23].
With time, the PSO method has demonstrated its superiority over conventional algorithms and genetic algorithms in specific problem domains, though it may not be suitable for every scenario. There isn't a universal algorithm that excels in all optimization problems; hence, current research aims to identify the most effective and efficient algorithm(s) for particular tasks. D. H. Wolpert and W. G.
Macready introduced the No-Free Lunch theorems to caution the scientific community that if algorithm A outperforms algorithm B for certain optimization functions, then B is likely to outperform A for other functions. [24]. Over time, researchers S. Nakrani and C. Tovey suggested the honey bee algorithm and its use as a foraging algorithm for problems including multimodal and dynamic optimization. [25].
The techniques were inspired by how actual bees feed in the nature. To identify spreaders utilizing a variety of targets, Amir S. and Ahman Z. developed the artificial bee colony (ABC) algorithm in 2020. [9]. Particle Swarm Optimization (PSO) and the Fire-fly Algorithm (FA), inspired by the flashing patterns of fireflies, were combined in a practical project undertaken by Khennak, I., Drias, H., and Drias, Y. [12].
Seyedali Mirjalili et al. proposed the Grey Wolf Optimizer (GWO) in 2013 [25], Inspired by grey wolves (Canis lupus), it imitates the natural leadership structure and hunting strategy of these canines. The Coyote Optimization Algorithm, which Juliano Pierezan and Leandro dos Santos Coelho created in 2018, is a population-based metaheuristic for optimization that draws inspiration from the canis latrans species [26].
In 2020, Abdolkarim Mohammadi-Balani and his team introduced their innovative Golden Eagle Optimizer algorithm, designed to adjust speed at different points along a spiral trajectory, mimicking the hunting behavior of golden eagles. [27].
Additionally, new metaheuristic algorithms that are better than others at solving a particular kind of problem will continue to be developed.
4 Dragonfly Algorithm (DA)
In nature, practically all other little insects are preyed upon by dragonflies, which are thought of as small predators. Additionally, nymph dragonflies eat other maritime insects and even small fish. The intriguing characteristic of dragonflies is their uncommon and unusual swarming behavior.
Only two things cause dragonflies to swarm: migration and hunting. Both are referred to as swarms—the former as a static (feeding) swarm and the latter as a dynamic (migratory) swarm.
As already mentioned, the DA is an optimization technique that draws inspiration from the same-named bug [28]. The static and dynamic characteristics of swarms serve as the primary source of inspiration for the DA algorithm.
These two are extremely like the exploration and exploitation phases of metaheuristic optimization. The main goal of the exploration phase is for dragonflies to organize into sub-swarms and fly in a static swarm over numerous locations.
Certainly, during times of static swarming, it is observed that dragonflies tend to fly together in larger groups, all aligning their flight paths—a behavior that is notably advantageous, particularly during the exploitation phase.
The primary goal of any swarm is survival, every member should be drawn to food sources and vigilant against external threats.
As demonstrated on Fig. 2 the five essential factors that affect how individuals in swarms update their positions considering these two behaviors. Swarm behavior follows three important principles:
Distraction from enemy is calculated:
In this research, dragonfly behavior is supposed to be a combination of these five corrective patterns. Two vectors are used to update the position of artificial dragonflies in a search space and replicate their movements: step
where
Table 1 presents the names and concise descriptions of all the parameters applied in the Dragonfly algorithm. In the subsequent section of this paper, we provide the outcomes of the experimentation conducted in this study.
Parameter | Description | Values |
Population | Population size | 40 |
Boundaries | Number of boundaries | 2 |
Dimensions | Dimension’s size | 8, 10, 16, 32 |
Iterations | Iterations size | 500 |
Separation weight | ||
Alignment weight | ||
Cohesion | ||
Food factor | ||
Enemy factor | ||
Inertia weight | ||
Separation of the i=th individual | ||
Alignment of the i=th individual | ||
Cohesion of the i=th individual | ||
Food source of the i=th individual | ||
Enemy position of the i=th individual | ||
t | Current iteration |
Table 2 outlines the titles of five mathematical functions from the CEC2013 dataset, along with their corresponding scopes and characteristics, which were utilized in our investigation. The Fig. 4 presents graphical representations and mathematical equations for five out of the ten mathematical functions utilized in this study.
Fun | Name | Range | Nature |
F1 | Sphere | [-5.12, 5.12] | U |
F2 | Rosenbrock | [-5, 10] | U |
F3 | Griewank | [-600, 600] | M |
F4 | Rastrigin | [-5.12, 5.12] | M |
F5 | Ackley | [-32.768, 32.768] | M |
5 Type-1 Fuzzy Logic
Fuzzy logic, alternatively referred to as fuzzy sets theory, provides a mathematical framework for addressing reasoning and decision-making in scenarios characterized by uncertainty and imprecision. Unlike traditional binary logic where statements are either true or false, fuzzy logic allows for degrees of truth between 0 and 1, representing degrees of membership or truthfulness.
This allows for more nuanced modeling and analysis, particularly in areas where precise boundaries are difficult to define. [29] Key Concepts of Fuzzy Logic: Fuzzy Sets: Fuzzy sets are a fundamental concept in fuzzy logic, introduced by Lotfi Zadeh in 1965. Unlike classical sets where an element either belongs to a set or does not, fuzzy sets allow for degrees of membership.
In a fuzzy set, each element has a membership value that represents the degree to which the element belongs to the set. These membership values range between 0 and 1, where 0 indicates no membership, 1 indicates full membership, and values in between represent degrees of partial membership.
Fuzzy sets are especially useful for modeling uncertainties and vagueness present in many real-world systems. Membership Functions: Membership functions are mathematical functions that define the degree of membership of each element in a fuzzy set.
These functions map each element from the universal set to a real number in the interval [0, 1]. There are various types of membership functions, such as triangular, trapezoidal, Gaussian, and sigmoidal, each suited for different applications and interpretations.
The choice of membership function depends on the specific characteristics of the problem domain and the preferences of the modeler. Membership functions play a crucial role in fuzzy logic systems as they determine the degree to which fuzzy sets represent real-world phenomena. Fuzzy Operators: Fuzzy operators are mathematical operations defined on fuzzy sets that allow for combining and manipulating fuzzy information.
These operators extend classical set operations such as union, intersection, and complement to accommodate the degrees of membership associated with fuzzy sets. The basic fuzzy operators include union (OR), intersection (AND), and complement (NOT). Additionally, there are other operators like algebraic product, bounded sum, and drastic sum, each serving different purposes in fuzzy logic systems.
Fuzzy operators are essential for performing reasoning and making decisions in fuzzy logic-based control systems, pattern recognition, and other applications. [32, 33, 34]. Example: Consider the concept of "temperature" in a room. Instead of categorizing it simply as "hot" or "cold," fuzzy logic allows for a more nuanced approach.
We might define a fuzzy set for "comfortable temperature" with a membership function that peaks around 22 degrees Celsius. Then, if the room is at 20 degrees, it might have a membership value of 0.8 in the "comfortable temperature" set, indicating it is somewhat comfortable but not perfect.
Adaptation of Type-1 Fuzzy Logic
We will present Type-1 fuzzy inference systems implemented for the parameters w and beta of the Dragonfly algorithm in the following table. Here, in Fig. 5, we can observe the inference functions with the iteration parameter as input and the parameter was output, with their three fuzzy rules:
Fuzzy Rules for the Parameter w:
If iteration is low, then w is high.
If iteration is medium, then w is medium.
If iteration is high, then w is low.
Here, in Fig. 6 we can observe the inference functions with the iteration parameter as input and the beta parameter as output, with their three fuzzy rules.
Fuzzy Rules for the Parameter Beta:
If iteration is low, then beta is high.
If iteration is medium, then beta is medium.
If iteration is high, then beta is low.
In Fig. 7, we can observe the inference functions with the iteration parameter as input and the parameter was output, with its five fuzzy rules:
6 Results and Comparison
In Table 3, we present a comparison of outcomes derived from two distinct algorithms: The Dragonfly Algorithm (DA), where the Dragonfly algorithm is integrated with type-1 application to parameters such as Beta and w, and the Continuous Mycorrhiza Optimization Algorithm (CMOA). The table showcases the most favorable mean values and standard deviations obtained from each experiment across different functions.
Fun | DA | CMOA | DA Type-1 | |||
Mean | Std dev | Mean | Std dev | Mean | Std dev | |
F1 | 2.85E-18 | 7.16E-01 | 8.11E-09 | 4.79E-09 | 1.25E+00 | 2.88E+0 |
F2 | 7.60E+00 | 6.79E+0 | 6.58E-09 | 3.32E-09 | 4.41E-01 | 4.79E-01 |
F3 | 1.03E-02 | 4.69E-03 | 1.64E-09 | 1.39E-09 | 1.00E+01 | 5.15E+01 |
F4 | 1.60E+01 | 9.48E+0 | 8.13E-09 | 4.42E-09 | 1.25E+00 | 1.55E+0 |
F5 | 2.31E-01 | 4.87E-01 | 1.44E-09 | 1.21E-09 | 2.11E+02 | 3.21E+02 |
The bio-inspired Dragonfly Algorithm serves as a remarkable example of how nature's mechanisms can provide creative and effective solutions to modern technological obstacles. Table 4 showcases the best results acquired from 30 experiments conducted across dimensions of 8, 10, 16, and 32.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 1.25E+00 | 4.09E+00 | 1.30E+02 | 1.53E+03 |
Std | 2.88E+00 | 1.19E+01 | 1.70E+02 | 6.96E+02 |
These experiments employed a population of 40 dragonflies and a maximum of 500 iterations, tailored specifically for Function 1. Fig 8 depicts the graphical representation and convergence curve for Function 1.
Table 5 displays the best results achieved from 30 experiments carried out across dimensions of 8, 10, 16, and 32. These experiments employed a population of 40 dragonflies and a maximum of 500 iterations, all tailored for Function 2. Fig 9 visually represents the performance and convergence curve for Function 2.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 4.43E-01 | 1.00E-07 | 3.79E+00 | 1.48E+01 |
Std | 4.71E-01 | 1.00E-07 | 1.55E+00 | 7.64E+00 |
Table 6 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 2.69E+01 | 1.80E+02 | 1.46E+03 | 1.30E+04 |
Std | 5.08E+01 | 2.43E+02 | 1.70E+03 | 9.96E+03 |
These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 3. In Fig. 10, it is illustrated the display and convergence curve for Function 3. Table 7 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 1.24E+00 | 1.85E+00 | 9.17E+00 | 2.93E+01 |
Std | 1.52E+00 | 1.36E+00 | 5.81E+00 | 1.06E+01 |
These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 4. In Fig. 11, we illustrate the display and convergence curve for Function 4.
Table 8 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32. These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 5. In Fig. 12, we illustrate the display and convergence curve for Function 5.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 2.05E+02 | 3.51E+03 | 1.25E+04 | 1.88E+05 |
Std | 3.17E+02 | 1.67E+04 | 2.86E+04 | 1.88E+05 |
Table 9 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32. These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 6.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 1.25E+00 | 2.76E+00 | 7.44E+01 | 1.50E+03 |
Std | 5.38E+00 | 4.87E+00 | 1.17E+02 | 1.22E+03 |
In Fig. 13, it is illustrated the display and convergence curve for Function 6. Table 10 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32. These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 7.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 1.39E-02 | 2.73E-02 | 6.21E-02 | 5.83E-01 |
Std | 1.13E-02 | 2.13E-02 | 5.26E-02 | 3.27E-01 |
In Fig. 14, we illustrate the display and convergence curve for Function 7. Table 11 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32. These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 8.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | -2.48E+03 | -2.89E+03 | -3.78E+03 | -5.78E+03 |
Std | 3.47E+02 | 3.19E+02 | 4.74E+02 | 7.51E+02 |
In Fig. 15, we illustrate the display and convergence curve for Function 8. Table 12 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 1.86E+01 | 2.77E+01 | 5.79E+01 | 1.56E+02 |
Std | 1.03E+01 | 1.29E+01 | 2.05E+01 | 3.53E+01 |
These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 9. In Fig. 16, it is illustrated the display and convergence curve for Function 9.
Table 13 presents the optimal values obtained from 30 experiments conducted across dimensions of 8, 10, 16, and 32. These experiments utilized a population of 40 dragonflies and a maximum number of 500 iterations, all specifically designed for Function 10. Fig. 17 illustrates the display and convergence curve for Function 10.
500 Iterations | ||||
40 Dragonflies | ||||
Exp | 8 Dim | 10 Dim | 16 Dim | 32 Dim |
Ave | 1.52E+00 | 2.57E+00 | 4.42E+00 | 9.53E+00 |
Std | 1.14E+00 | 1.54E+00 | 1.41E+00 | 1.72E+00 |
7 Conclusions
In conclusion, when comparing the Dragonfly method with itself, utilizing a population of 40 Dragonflies and an iteration value of 500, but with the incorporation of Type-1 fuzzy logic adaptation for parameters w and beta, we can confidently state that much better results are obtained.
Furthermore, when compared to the CMOA algorithm in 50 dimensions, the Dragonfly method continues to yield superior outcomes, as evidenced in more detail in Table 3, significantly enhancing the results when mean and standard deviation are applied across all experiments conducted.
We will continue to generate results, with future work focusing on adapting Type-2 fuzzy logic to further compare outcomes with other algorithms. The findings will be shared with the community to support fellow researchers.
It is worth mentioning that while the DA method may not represent the ultimate optimization technique presently accessible, it does demonstrate potential and can be beneficial in particular optimization problem contexts.
As future work, we will consider other metaheuristics for the same approach, like in [35- 40]. Later, we expect to utilize type-2 fuzzy logic [41-44] for parameter adaptation in the dragon fly algorithm, as in [45-46].