Article Preview
Top1. Introduction
Generally, two different paradigms are taken into account for optimizing engineering systems such as truss design problems. These two paradigms are known as metaheuristic algorithms and mathematical programming approaches (Kaveh & Talatahari, 2010). The abovementioned strategies have been well established in literature. Nowadays, several methods of different characteristics can be placed under the umbrella of those two frameworks.
Linear programming, nonlinear programming, dynamic programming and integer programming are among the most practical techniques which can be considered as mathematical programming methodologies. Without any exception, the stated techniques use the information of considered problem to conduct the optimization procedure. Usually, the information of a given optimization problem is supplied through its gradient. The gradient information is then used by mathematical programming approaches to solve optimization problems. Obviously, as gradient based optimizers, mathematical programming techniques can guarantee that the obtained solution is at least a local optimum. To be more to the point, gradient information enables such techniques to converge to a local solution in a very short period of time. In spite of fast convergence of those optimizers, there is no guarantee for finding the true (global) optimum solution. This is while finding global solutions is really vital when considering real world engineering problems (Yang, 2010).
Metaheuristic computing is the second well-established optimization scenario trying to address the drawbacks associated with mathematical programming approaches. On the contrary to gradient based optimizers, metaheuristic methods use three simple rules for optimizing any problem: (1) random sampling, (2) stochastic evolutionary techniques and (3) population based computation. As it can be inferred, to fulfill the mentioned computational rules, there is no choice but to take the advantage from nature, including knowledge of swarms, Darwinian evolutionary law, physical phenomena and etc. (Yang, 2010). Nature persuades the organisms to take stride towards elements such as adaption and ideality which can be enumerated as samples of optimality. As smart stochastic optimizers (not blind stochastic optimizers such as random search), metaheuristic algorithms have the potential of finding global solutions.
In the last two decades, an obvious trend has been emerged towards using metaheuristic approaches. The main reason of such an obvious inclination can be briefly stated as:
- 1.
Metaheuristic algorithms are kind of soft computing approaches, and thus try do not use the exact information of optimization problems. This fascinating trait enables the users to utilize metaheuristic approaches for optimal design of engineering systems. To be more precise, to implement the metaheuristic methods, one does not need to know the physics of the problem. Consequently, metaheuristic algorithms can be effectively and conveniently used for optimizing complex engineering systems (Mozaffari et al., 2013a; Samadian et al., 2013).
- 2.
In general, the implementation of metaheuristic methods is quite simple, as we only need to couple a number of stochastic equations to produce exploration/ exploitation capabilities for metaheuristics. Therefore, metaheuristics have user friend implementation style, and can be effectively used by researchers for variety of optimization tasks (Mozaffari et al., 2012a; Yang, 2010, Mozaffari et al., 2013b; Karaboga & Akay, 2010).
- 3.
The stochastic instinct of metaheuristic algorithms enables them to easily escape from local pitfalls and explore the decision variables’ domain for global optimum solution. This fascinating characteristic has tempted engineers and industrialists to engage metaheuristic algorithms for engineering optimization tasks in which the encountered problems are usually highly multimodal (have several local optimum solutions) (Karaboga & Akay, 2009; Yang, 2010; Mozaffari et al., 2013c; Wang et al., 2012)