A novel metaheuristic method for solving constrained engineering optimization problems: Drone Squadron Optimization

Several constrained optimization problems have been adequately solved over the years thanks to advances in the metaheuristics area. In this paper, we evaluate a novel self-adaptive and auto-constructive metaheuristic called Drone Squadron Optimization (DSO) in solving constrained engineering design problems. This paper evaluates DSO with death penalty on three widely tested engineering design problems. Results show that the proposed approach is competitive with some very popular metaheuristics.


INTRODUCTION
Several real-world engineering design problems can be formulated in a nonlinear programming way, where one wants to find a solution x that optimizes f ( x) subject to hi( x) = 0 i = 1, 2, ..., m gi( x) 0 i = 1, 2, ..., P where f ( x) is the objective function to be optimized, and x ∈ ℜ n is an n-dimensional vector x = [x1, x2, ..., xn] T . Each x k , k = 1, ..., n can be bounded by lower and upper limits Li x k Ui; hi( x) and gi( x) are the equality and inequality constraints, respectively; m is the number of equality constraints and p is the number of inequality constraints, where both can be linear or nonlinear. Constraints reduce the feasible search-space of the problem and, instead of making it easier, make it more difficult because feasible solutions can be hard to find. Thus, algorithms able to solve this kind of task are welcome in engineering and manufacturing processes.
In this work, we investigated Drone Squadron Optimization (DSO 1 [6]), a recently proposed self-adaptive metaheuristic which is self-improved online by a hyper-heuristic. DSO is an artifact-inspired technique, as opposed to many algorithms used nowadays, which are nature-inspired. DSO is very flexible because it is not related to behaviors or natural phenomena. Therefore, it can mimic any behavior.
The paper is organized as follows: In Section 2, we briefly introduce the DSO algorithm. Section 3 provides the description of the idea to handle constraints. Section 4 presents the numerical examples (engineering problems), details of the experiments, the results obtained and the discussion. Finally, in Section 5 some conclusions are drawn about the results.

DRONE SQUADRON OPTIMIZATION
Drones can navigate remotely o completely autonomously. They have sensors, can communicate over large distances and, one of the most important features: can be upgraded/ improved not only in terms of hardware but also by changing their software (the firmware). Therefore, as a software controls their behavior, researchers are free to add any kind of mechanism to the algorithm as a regular software upgrade. Thus, there is no need to look for a natural phenomena to justify the improvement.
The Drone Squadron Optimization (DSO) is based on the movement of entities on the search-space. However, as explained before, the movement of the squadron is not necessarily based on behavior observed in nature. DSO's approach allows it to automatically choose to use recombination and/or perturbation of solutions with distinct procedures, making it act as an evolutionary algorithm, swarm algorithm, probabilistic algorithm, or other, according to how it performs on the search landscape. Moreover, those procedures may have their actual code updated during the search.
DSO has two core parts: the semi-autonomous drones that fly over a landscape to explore, and the Command Center that processes the retrieved data and updates the drones' firmware whenever necessary. The self-adaptive aspect of DSO in this work is the perturbation/movement scheme, which is the function used to generate target coordinates (solutions). This function is evolved by the Command Center during the global optimization process in order to automatically adapt DSO to the search landscape, trying to increase the search efficacy.
The DSO algorithm presented here is composed of one Drone Squadron with different teams and a Command Center, which uses information collected from the drones to maintain partial control of the search, and to develop new firmware to control the drones. A drone is not a solution; it moves to a coordinate which is a solution. A drone has a firmware containing the functions (codes) and configurations used by the teams to search the landscape. All drones in the same team share a firmware, but they can be located in different regions of the search-space. In this work, the perturbation function is an actual source code; it is a string to be parsed and executed by the drone.
In [6], DSO was proposed to solve unconstrained (box-constrained) numerical optimization problems. To solve constrained optimization problems, DSO must employ a constraint handling mechanism.

CONSTRAINTS HANDLING
Constraints handling is an important issue in constrained optimization. Such mechanism must guide the optimization technique into feasible regions and be able to reach the bounds of the search-space. A general, but usually not recommended, approach when metaheuristics are used to solve constrained problems is the adoption of penalties [13]. A penalty function (see Equation 2) can be applied to unfeasible solutions to generate a poor function value. If the solution ( x) is feasible (F ), then the penalty is not applied.
In minimization problems, we add a penalty. Otherwise, in maximization problems, we subtract a penalty.
Using this approach, an unfeasible solution can be dropped from the population in the next iteration of the algorithm, justifying the common name of Death Penalty [13]. This allows the constrained problem to be treated as an unconstrained one. However, it does not allow to differentiate two unfeasible solutions as both get the same f ( x). While this characteristic turns unfeasible regions into plateaus, it is the simplest constraint handling mechanism and may be useful in some problems.

EXPERIMENTAL ANALYSIS
In this paper, we investigate three well-explored engineering design problems: the design of a Welded Beam, a Speed Reducer, and a Three-bar truss. The definitions of these problems can be seen in related work [2].

DSO was implemented in Matlab (R) 2010, compatible with
Octave. The experiments were run on an Intel (R) i7 6700k, Arch Linux 4.11.9-1-ARCH.

Configuration
As the problems investigated in this work are minimization ones, the penalty function simply returns the maximum value accepted by Matlab: realmax = 1.79769313486232e + 308. Thus, all unfeasible solutions have f ( x) = realmax.

Results
Tables 1, 2, and 3 have statistics comparing DSO and related methods on the investigated problems. As one may notice, DSO found the same as or better solutions than the other methods. The average solution was not as good, probably because DSO performed much fewer evaluations and had outliers or because of the simple death penalty approach. Nevertheless, it is important to remember that DSO evolves the firmware, but one cannot guarantee that the new functions are useful. Therefore, poor-quality or invalid functions may be generated.

CONCLUSIONS
In this paper, we evaluated Drone Squadron Optimization with a death penalty function to solve three well-known constrained engineering design problems. Experiments were conducted on the design of: a welded beam, a pressure vessel, and a three-bar truss. Results show that DSO was able to achieve the best known solution of each problem after a relatively small number of function evaluations.
When compared to nature-inspired approaches, DSO with a simple penalty function found equal or better solutions. We intend to improve the technique using a better constraint handling mechanism to reduce the average solution quality.

ACKNOWLEDGMENTS
I'm still trying to get a grant...