APPLICATIONS OF GRAVITATIONAL SEARCH ALGORITHM IN ENGINEERING

Gravitational search algorithm (GSA) is a nature-inspired conceptual framework with roots in gravitational kinematics, a branch of physics that models the motion of masses moving under the influence of gravity. In a recent article the authors reviewed the principles of GSA. This article presents a review of applications of GSA in engineering including combinatorial optimization problems, economic load dispatch problem, economic and emission dispatch problem, optimal power flow problem, optimal reactive power dispatch problem, energy management system problem, clustering and classification problem, feature subset selection problem, parameter identification, training neural networks, traveling salesman problem, filter design and communication systems, unit commitment problem and multiobjective optimization problems.


Introduction
Inspired by the universal law of gravitation, Rashedi et al. (2009) proposed the Gravitational Search Algorithm (GSA) as a heuristic optimization method. In a recent article the authors reviewed the principles of gravitational search algorithm (GSA), how they are applied to the optimization problem, and the key ideas behind GSA (Siddique, . They presented a review of GSA and its variants and summarized guidelines from the literature on the choice of parameters used in GSA for effective solution of optimization problems.
GSA was first applied to well-known benchmark combinatorial optimization problems (Rashedi et al. 2009(Rashedi et al. , 2011. Since then GSA has found a wide range of applications. This paper presents a review of GSA applications for solution of engineering problems.

Economic load dispatch problem
Economic Load Dispatch (ELD) is a method of determining the most efficient, low-cost and reliable operation of a power system by dispatching available electricity generation resources to supply load on the system most economically. The ELD problem is multimodal, non-differentiable and highly nonlinear. The objective function of ELD problem can be stated as follows: where T F is the total electricity generation cost to be minimized, i C is the cost function of i-th generator and g N is the number of power generating units each loaded to i P in MW. Chatterjee et al. (2012) proposed GSA with wavelet mutation (Perez et al. 2014;Dai et al. 2015) (GSAWM) for solution of the ELD problem with 3, 6, 13 and 140 generating units incorporating valve-point effect. Swain et al. (2012) investigated the effectiveness and performance of standard GSA for solving ELD systems with 3 and 13 thermal generating units taking into account the valve-point effect.

Economic and emission dispatch problem
Sustainability has become a key area in the frontiers of research (Wang, Adeli 2014;Rafiei, Adeli 2016). The cost-effective production of electrical energy is crucial with the increasing demand (Pinto et al. 2014;Morais et al. 2015). The thermal power plants using fossil fuels produce energy economically but release toxic gases such as carbon dioxide (CO 2 ), sulphur dioxide (SO 2 ), nitrogen oxide (NO x ) and some other particles, which cause environmental pollution. The objective of the eco-Invited Review nomic and emission dispatch (EED) of power generation is to schedule the committed generating unit outputs to meet the load demand at minimum operating cost and minimum emission levels. The EED problem has thus become one of the most important optimization problems in power system operation and forms the basis of a benchmark problem for optimisation algorithms. EED poses a bi-objective optimization problem formulated as Min F E , where F is the total fuel cost of g N generators and E is the total emission dispatch from the generators expressed as the sum of all types of emissions such as NO x , SO 2 , CO 2 , and particle emissions. Rather than handling the EED problem with two objectives, many researchers convert the bi-objective problem into a single objective optimization function using a price penalty factor (Bharathi et al. 2007). Güvenç et al. (2012) applied the GSA to four different test cases for the EED problem with quadratic cost and emission functions. Shaw et al. (2012) applied opposition-based GSA to solve the EED problem. Mondal et al. (2013) applied GSA to the IEEE 30-bus system with six conventional thermal generators. Jiang et al. (2014) proposed a hybrid particle swarm optimization (PSO) Shabbir, Omenzetter 2015) and GSA (HPSO-GSA) to solve the EED problem with five various features such as with/without losses, with/without valve-point effects, with/without prohibited operating zones, with/without multiple fuels and ramp rate limits.

Optimal power flow problem
The optimal power flow (OPF) is a key problem in modern economic power systems requiring the balance of economy, reliable power supply, and computational effort. Efficient market equilibrium requires multi-part nonlinear pricing to be economical. As the power flow is alternating current, it induces additional nonlinearities (Carpentier 1979). Moreover, the power system must be able to withstand the loss of any generator or transmission unit, and the system operator must make binary decisions to start up and shut down generation and transmission units in response to system events. The OPF problem is a large-scale highly nonlinear control optimisation problem which seeks the most favourable settings of a given power system that minimises total fuel cost, active power loss, and bus voltage deviation, and maximizes voltage stability while satisfying a number of equality and inequality constraints (Bhowmik, Chakraborty 2014).
A number of population-based optimisation methods have been applied to the OPF problem such as PSO (Abido 2002;Boulkabeit et al. 2014) and genetic algorithm (GA). Duman et al. (2012a) applied GSA to the standard IEEE 30-bus test system with six generators for different cases with various objective functions such as quadratic cost function, voltage profile improvement, voltage stability enhancement, voltage stability enhancement during contingency, piecewise quadratic fuel cost functions and quadratic cost curve with valve point loading.

Reactive power dispatch problem
The OPF problem can be divided into two sub-problems: optimal Reactive Power Dispatch (RPD) and optimal real power dispatch (Shi et al. 2012). The electric power loads in a power generating system vary from hour to hour. The change in load causes variation in the reactive power requirement which depends on voltage. Therefore, an important operating task is to maintain the voltage level within the allowable range for high quality consumer service and minimise real power transmission losses. The RPD problem is a non-linear optimization problem with a number of equality and inequality constraints. The objective functions of RPD are to minimise the real power losses and improve voltage profile and voltage stability while satisfying a number of constraints such as load flow, generator bus voltages, load bus voltages, switchable reactive power compensations, reactive power generation, transformer tap setting and transmission line flow (Duman et al. 2012a;Niknam et al. 2013;Shaw et al. 2014).
Recently, different meta-heuristic algorithms have been applied to the RPD problem such as differential evaluation (DE) (Vincenzi, Savoia 2015;Cheng et al. 2015;Abou El Ela et al. 2011;Varadarajan, Swarup 2008), GA (Lee, Park 1995), evolutionary programming (Lai et al. 1997;Lai, Ma 1997), cooperative co-evolutionary DE algorithm (Liang et al. 2007), PSO (Mahadevan, Kannan 2010), self-adaptive real coded GA (Subbaraj, Rajnarayanan 2009), and PSO-based multi-agent systems (Zhao et al. 2005) using the concept of autonomous agents from the artificial intelligence research (Sun, Wu 2014;Montalvo et al. 2014). Duman et al. (2012b) applied the GSA to the RPD problem for different cases with various objective functions. Niknam et al. (2013) applied opposition-based selfadaptive modified GSA to the RPD problem formulated as a mixed integer nonlinear optimisation problem (Adeli 1994). Shaw et al. (2014) used opposition-based population initialization and generation jumping in GSA to improve the performance of GSA and applied the approach to the RPD problem.

Energy management systems
Energy management system (EMS) is an integrated computer-based system used by operators of electric utility grids to monitor, control, and optimize the performance of the generation and/or transmission system. EMS is also used for optimum use of distributed energy sources, and automated control and monitoring of electromechanical facilities in buildings with high energy consumption. Performance optimization and scheduling of the distributed generation (DG) are issues of concern within Microgrid (MG). Optimization methods need to be applied to achieve maximum efficiency and best performance. In the recent years, researchers have applied population-based algorithms to the EMS problem such as GA (Chen et al. 2011), and PSO (Hassan, Abido 2011) and also simulated annealing (SA) (Zhuang, Galiana 1990) with limited success. Marzband et al. (2014) applied GSA to the real-time EMS problem in an MG including different types of DG units with particular attention to the technical constraints. The EMS consists of a stand-alone wind turbine (WT), photovoltaic (PV), microturbine (MT) and energy storage (ES) system. The objective function for the optimisation of the EMS is the total general cost. The application includes the implementation of some variation in load consumption model considering accessibility to the ES and demand response. The GSA provides a good compromise between computation time and precision of the solution.

Clustering problem
Finding a high performance search method for mining of huge data known as big data is of great current interest (Chira et al. 2014). A requisite for mining of big data is an effective clustering algorithm (Peng, Ouyang 2014). Clustering is a search process of discovering hidden patterns or relationship between data objects in large data sets (Gonçalves et al. 2014). It usually involves partitioning data sets into homogeneous subgroups or clusters subject to satisfying two objectives: minimise within-cluster variation (that is intra-cluster distance) and maximise the between-cluster variation (that is inter-cluster distance) (Menendez et al. 2014;Coletta et al. 2015). There are many popular clustering methods reported in the literature to date such as K-means clustering (MacQueen 1967), fuzzy C-means clustering (Bezdek 1981), mountain clustering (Yager, Filev 1994), subtractive clustering (Chiu 1994), and K-harmonic (K-H) means clustering (Zhang et al. 2000) but the search for effective algorithms still continues. Yin et al. (2011) integrated the GSA into K-harmonic means clustering algorithm to help K-harmonic (K-H) means escape from local minima. Hatamlou et al. (2012) applied a hybrid GSA-K-means approach to solve the optimal clustering problem. K-means algorithm is used in generating the initial population, i.e. cluster centres, and then GSA is employed as an improvement method to find the optimal solution. The proposed approach was tested on five real datasets.

Classification problems
Classification problem is to group objects into categories. Mathematically it is a mapping from input features into a set of labels or classes. There are many popular techniques for classifier system such as binary classifiers . Some researchers also applied metaheuristic ap-proaches such as PSO (De Falco et al. 2007) and Artificial Bee Colony (ABC) (Karaboga, Ozturk 2011) to the classification problem. Bahrololoum et al. (2012) applied the GSA to instance-based classification. Chakraborti et al. (2014) used a local extrema-based GSA which employs a stochastic local neighbourhood-based search instead of a global search to face recognition problem.

Feature subset selection
Pattern recognition, data mining and knowledge discovery problems require feature subset selection (FSS) to represent the patterns to be classified (Zalama et al. 2014;Amezquita-Sanchez, Adeli 2015). The FSS problem refers to the task of identifying and discovering a useful subset of features to represent a pattern from a larger set of features which may be redundant and even irrelevant causing unnecessary computational complexity and cost (Jackowski et al. 2014). The research problem is then how to select the minimum subset of features to represent the original knowledge effectively. Thus, FSS can be viewed as a search problem.
The FSS problem can be treated as an optimization problem in a search space of 2 N . Han et al. (2013) introduced a binary GSA to solve the FSS problem. The length of the encoding represents the total number of features where 1 represents a selected feature and 0 represents a non-selected feature (Fig. 1). Once a set of features is selected, a classification algorithm such as K nearest neighbour (K-NN) or EPNN (Ahmadlou, Adeli 2010) is used to perform the classification. Han et al. (2013) also applied quantum-inspired GSA to the FSS problem with the aim of improving the classification accuracy of the K-NN method. The method was verified using several machine learning benchmark examples from the University of California Machine Learning Repository.

Parameter identification
System identification is a general mathematical procedure to build a dynamic model from measured input-output data (Sirca, Adeli 2012). That means system identification needs to deal with analysis, determination of order and parameters, and estimation of parameters of the dynamic system (Gutierrez-Soto, Adeli 2014; Wang, Adeli 2015). Thus, the system identification problem can be defined as constructing a suitable model of the system from input-output data where input ( ) u k produces an output ˆ( ) y k such that ( ) ( ) ( ) e k y k y k ε = − < for some desired 0 ε > , where . is a suitably defined norm and the norm ( ) ( ) y k y k − is absolute error or squared error. The parameter identification is then to obtain the best possible set of parameter values by minimising an objective function which is usually defined as function of errors between the system's actual output ( ) y k and model's estimated output ˆ( ) y k . If the error ( ) e k ε > the parameters are re-estimated. The process continues until ( ) e k ε < is reached. The problem of parameter identification can be treated as a problem of optimisation of the parameter set with an objective function J to be minimised (Ljung 1999) defined as: (2) Many meta-heuristic algorithms have been applied to parameter identification. For example, GA and PSO have been used for power system parameter identification problems (Quispe, Graciela 2008;Carlos, Schirru 2008).
Li and Zhou (2011) introduced a GSA-based optimisation algorithm for parameter identification of the hydraulic turbine governing system (HTGS) with the following fitness function: where z is the system output, ẑ is the estimated model output, w is the weight vector, N is the number of samples and n is the number of parameters or the dimension of the system. Chen et al. (2014aChen et al. ( , 2014b also applied a GSAbased optimisation algorithm for parameter identification of a water turbine regulation system using the same fitness function represented by Eqn (3). Li et al. (2012a) applied GSA and chaotic GSA to identify the parameters of the chaotic Lorenz system described by where 4 14 σ < < , 24 90 ρ < < and 1.5 4.5 β < < are the parameters of the Lorenz system. The task of identification of the chaotic parameters [ , , ] σ ρ β is to optimise the objective function defined by Eqn (3).
There are a lot of inherent uncertainties in most real world systems which cannot be incorporated into a model simply by a set of differential equations. Researchers have attempted to model uncertainties in real world systems using the theory of fuzzy logic (Jiang, Adeli 2003) such as the Takagi-Sugeno type fuzzy set known as the T-S fuzzy set modelling approach (Takagi, Sugeno 1985;Siddique, Adeli 2013). Li et al. (2013) applied chaotic GSA to a T-S fuzzy model of HTGS. The objective function used for the 3-rule T-S fuzzy model is the mean squared error defined by Eqn (3). Li et al. (2012b) also used a GSA-based hyperplane clustering for the T-S fuzzy model identification.

Training neural networks
In general, feed-forward neural network (NN) consists of one input layer, one or more hidden layers with a nonlinear activation function and one output layer with a linear activation function (Adeli, Park 1998). Biases can be set to non-zero or zero. The problem is to find the connection weights of the network for the given architecture to produce the correct output for the function for each corresponding inputs. The training NN weights are obtained by minimizing the mean squared of the network error function defined by Adeli and Hung (1995): Minimum of ( , ) MSE w b leads to optimum behaviour of the NN where i y is the target output and ˆi y is the actual or estimated output of the network. Most NN applications use the backpropagation (BP) algorithm or its variation for training the NN which requires the gradient information of error with respect to the weights. BP algorithm can get trapped in local minima and end up bouncing between local minima without reaching the global optimum (Siddique, Adeli 2013). BP's speed and robustness are sensitive to its parameters: such as learning rate, momentum and acceleration constant and the best parameters usually varies from problem to problem. Various heuristic optimisation algorithms have been applied for training of NN such as PSO (Settles et al. 2003), central force optimisation (Siddique, Adeli 2015), spiral dynamics optimisation (Siddique, Adeli 2014). Mirjalili et al. (2012) proposed combining PSO and GSA for finding the optimal values of weights and biases.

Travelling salesman problem
The travelling salesman problem was mathematically formulated in the 1800s by the Irish mathematician W. R. Hamilton and by the British mathematician Thomas Kirkman. Hassler Whitney at Princeton University introduced the name travelling salesman problem (Schrijver 2005). TSP is modelled as an undirected weighted graph ( ) where the set of vertices V denotes the n cities and the edge set E denotes the edges between cities. The goal of TSP is to find a tour with the minimum total length among all such possible tours for the given graph where each city is visited only once. Many real world combinatorial optimisation problems can be formulated as an instance of the TSP such as scheduling (Li et al. 2015), routing, placement of goods and machines in the warehouse, and printed circuit design. Dowlatshahi et al. (2014) applied a discrete GSA to a set of 54 Euclidean benchmark instances of TSP with sizes ranging from 51 to 2392 nodes. The TSP is encoded as a permutation problem and a small move operator is used based on a swap operator.

Filter design and communication systems
A digital filter transforms input signals into desired output signals by keeping the frequency contents of the desired band and eliminating undesirable signals. Two important types of linear filters are finite impulse response (FIR) filters and infinite impulse response (IIR) filters (Mitra 2002). Non-linear filters are another type of digital filters used in many systems with nonlinear behaviour. The output of a FIR filter depends on inputs whereas the output of an IIR filter depends on the inputs as well as the outputs. IIR filters have the advantage of requiring fewer coefficients to compute. A nonlinear filter is described by the ratio of two polynomials expressed as: where ˆ( ) y k is the estimated output of the filter, m and n are the orders of the filter, ˆi a and ˆi b are the filter coefficients to be estimated using a suitable algorithm. Rashedi et al. (2011) applied GSA to modelling digital filters where they estimated the filter parameters ˆi a and ˆi b using a GSA-based optimisation procedure. The objective function is defined as: where ( ) y k is the actual output of the filter. Han and Chang (2012a) present a secure communication approach consisting of encoding, GSA-based filtering, and chaotic receiver and decoding. Useful signal is encoded as a parametric continuous-time carrier signal in the unified chaotic system. The chaotic states recovered in the receiver are corrupt with noise which requires a GSA-based filtering to estimate the states used in a decoding scheme to achieve a useful message. Han and Chang (2012b) also proposed a chaotic secure communication scheme based on a modified GSA to minimize the risk of premature convergence of GSA. Saha et al. (2015) present an optimal IIR filter design using GSA with Wavelet Mutation (Kim, Adeli 2005;Hsu 2015).

Unit commitment problem in power systems
Unit commitment (UC) problem in power systems aims to schedule the most cost-effective combination of generating units to meet the forecasted load and reserve requirements while adhering to generator and transmission constraints. The commitment schedule takes into account the inter-temporal parameters of each generator (minimum run time, minimum down time, notification time, etc.) but does not specify production levels which are determined five minutes before delivery. The determination of these levels is known as economic dispatch and is the least-cost usage of the committed assets during a single period to meet the demand. The objective is to minimize the total system cost of generating power from N units over a specific time horizon T defined by Happ et al. (1971): The fuel costs i FC are dependent on the level of power generation ( ) i P t . The start-up costs i S are dependent on the state of the unit i h and the number of hours the unit has been on (positive) or off (negative). The discrete decision variable i u denotes if power generation of the unit at time t is up (denoted as 1) or down (denoted as -1) from the unit at time 1 t + . Binary numbers are used in the UC problem to indicate the units' status (i.e. committed or not committed). There are a number of equality and inequality constraints in the UC problem depending on the nature of the power system under study.

Multi-objective optimisation
Problems requiring simultaneous optimization of more than one objective functions are known as multi-objective optimization problems (MOOP). Formally it can be defined as: x x x =  is a vector of decision variables and p is the number of decision variables. The goal is to optimize n objectives while satisfying J inequality and K equality constraints. This type of problem has no unique solution. The objectives can interact or conflict with each other. Multi-objective optimization algorithms usually do not provide a single solution rather a set of solutions based on trade-offs or good compromises among the objectives. In order to generate these trade-off solutions, an old notion of optimality called Pareto-optimum is usually adopted (Ben-Tal 1980).
Hassanzadeh and Rouhani (2010) proposed a multi objective GSA. Ghasemi et al. (2013) discuss design of multi-machine power system stabilizers using a fuzzy GSA. Mondal et al. (2013) solve the multi-objective economic emission load dispatch problem considering wind power penetration using the GSA. Tian et al. (2014) dis-cuss the multi-objective optimization of short-term hydrothermal scheduling using a non-dominated sorting GSA with chaotic mutation.

Conclusions
GSA is a relatively new algorithm but has attracted significant attention from the research community in the past few years. This paper presented a review of significant engineering applications of GSA. Additional research is needed on several topics such as premature convergence to a local minimum, estimation of convergence rate, searching behaviours, and parameter selection. GSA can be used for solution of a variety of civil engineering problems such as optimization of renewable energy sources (Yazdani-Chamzini et al. 2013), hybrid multicriteria decision support systems (Turskis et al. 2009;Zavadskas et al. 2016), size and topology optimization of structures (Cirovic et al. 2014), optimization of transportation networks (Chen et al. 2014a(Chen et al. , 2014b, and optimization of water distribution systems (Montalvo et al. 2014).