1 Introduction

In past two decades, optimal power flow (OPF) problem has got much attention. OPF is a latest interest of many utilities as being one of the main tools for optimal operation and planning of modern power systems. Therefore, the OPF is the basic tool which facilitates electric utilities to determine secure and economic operating conditions for an electric power system. An OPF problem focuses on determining the optimal setting of power system control variables in order to optimize a selected objective function for example fuel cost while satisfying some physical and operational constraints. These constraints include equality constraints in the form of power flow equations and inequality constraints in the form of limits on control variables and operational limits on system dependent variables. The control variables for the problem are generator real powers, generator bus voltages, the reactive powers for shunt VAR compensations and transformer tap settings while the system dependent variables are the load bus voltages, transmission line loadings and generators reactive powers. In general, the OPF problem is a large-scale, highly constrained nonlinear and non-convex optimization problem.

Dommel and Tinney (1968), was first to present the formulation of OPF problem. Since then it is been used by many research scientists. Many traditional mathematics-based techniques like linear programming (Mota-Palomino and Quintana 1986; Al-Muhawesh and Qamber 2008), non-linear programming (Habibollahzadeh et al. 1989), interior point method (Granville 1994; Wei et al. 1998) and Newton-based method (Sun et al. 1984) have been applied to solve the different OPF problems. Generally, these classical techniques are applied with assumption that the fuel cost characteristic of a generating unit is a smooth and convex function. Moreover, these techniques are very sensitive towards initial solution and even they may fail to converge due to inappropriate starting values of variables. The main disadvantage with these techniques is that these are not possible to solve practical systems because of nonlinear characteristics such as prohibited operating zones, valve point effects and piecewise quadratic cost functions. Now, it becomes mandatory to develop such optimization techniques which can over come these drawbacks and tolerate these complexities.

With the emergence of computers having tremendous capabilities, the meta-heuristic techniques such as particle swarm optimization (Abido 2002a), genetic algorithm (Bakirtzis et al. 2002), tabu search (Abido 2002b), differential evolution (Sayah and Zehar 2008), simulated annealing (Roa-Sepulveda and Pavez-Lazo 2003) and evolutionary programming (Ongsakul and Tantimaporn 2006; Yuryevich and Wong 1999), etc., have been implemented to solve various OPF problems. The reported results of these meta heuristic techniques in literature are promising and encourage the researchers for further research in the same direction.

Karaboga (2005) proposed the recent addition to this category known as artificial bee colony (ABC) optimization algorithm. The ABC algorithm mimics the foraging behavior of honey bees while searching food for them. ABC is a simple population-based optimization algorithm which is effective for both continuous and discrete optimization problems. Collaborative trial and error method is the main concept behind ABC algorithm which enables its algorithmic procedure to find the solution. The ABC population consists of possible solutions in terms of food sources for honey bees whose fitness is regulated in terms of nectar amount which the food source contains. The swarm updating in ABC is due to two processes namely, the variation process and the selection process which are responsible for exploration and exploitation, respectively. The ABC algorithm has successfully been tested on almost all domains of science and engineering like electronics engineering (Chidambaram and Lopes 2009; Kavian et al. 2012), electrical engineering (Jones and Bouffet 2008; Nayak et al. 2009; Sulaiman et al. 2012), computer science engineering (Karaboga and Cetinkaya 2011; Lam et al. 2012; Lei et al. 2010), mechanical engineering (Banharnsakun et al. 2012; Pawar et al. 2008; Xu and Duan 2010), civil engineering (Akay and Karaboga 2012; Li et al. 2011; Mandal et al. 2012), medical pattern classification and clustering problems (Karaboga et al. 2008) and mathematical graph problems (Xing et al. 2007; Singh 2009; Yeh and Hsieh 2011). Many of the recent modifications and applications of ABC algorithm can be studied in Bansal et al. (2013b).

However the ABC achieves a good solution but, like the other optimization algorithms, it also has problem of premature convergence and stagnation. On the other hand, it is also required to tune the ABC control parameters based on problem. Also literature says that basic ABC itself has some drawbacks like stop proceeding toward the global optimum even though the population has not converged to a local optimum (Karaboga and Akay 2009) and it is observed that the position update equation of ABC algorithm is inefficient to balance exploration and exploitation (Zhu and Kwong 2010). Therefore these drawbacks require a modification in position update equation of ABC in order to make it capable to balance exploration and exploitation. These drawbacks have also addressed in earlier research (Banharnsakun et al. 2011; Bansal et al. 2013a, c; Gao and Liu 2012; Jadon et al. 2014b; Karaboga and Akay 2011; Sharma et al. 2013). Based on neighborhood concept, Jadon et al. (2014a) proposed a recent modified ABC variant called ABC with global and local neighborhoods (ABCGLN). In ABCGLN, authors proposed a new position update equation for employed bees in ABC which linearly incorporate two components namely local and global components in its swarm updating process in order to set a trade off between the exploration and exploitation capabilities of ABC. Here, local component is responsible for explorative moves and has better chance of locating the minima of test function. On the other hand, global component is responsible for exploitive moves and rapidly converges to a minimum of the test function.

In this paper, we used this ABC variant ABCGLN to solve OPF problem with three different objective functions and compared it with various results available in literature.

Rest of the paper is organized as follows: Section 2 describes the basic mathematical formulation of OPF problem. Section 3 explains ABCGLN algorithm. Section 4 gives statistical analysis to compare the performance of the ABCGLN strategy on OPF problem with other meta-heuristic algorithms. Finally, in Section 5, paper is concluded.

2 OPF formulation

The aim of solving an OPF problem is to provide an optimal setting of power system’s control variables while satisfying some physical and operational restrictions in terms of equality and inequality constraints. Mathematical formulation of a general OPF problem can be seen as:

$$\begin{aligned} \mathrm{Min}\,F(u,\,x), \end{aligned}$$
(1)

subject to:

$$\begin{aligned} G(u,\,x)=0, \end{aligned}$$
(2)
$$\begin{aligned} H^{min} \le H(u,\,x) \le H^{max}, \end{aligned}$$
(3)

where F is the objective function to be optimized, u is the vector of control variables (independent variables) which includes generator bus voltages (\(V_{g}\)), generator real powers (\(P_{g}\)) except at slack bus, transformer tap settings (T) and shunt VAR compensation (\(Q_{c}\)) and x is the vector of state variables (dependent variables) which includes generator active power at slack bus (\(P_{g1}\)), load bus voltages (\(V_{l}\)), generator reactive powers (\(Q_{g}\)) and transmission line loading (line flow; \(S_{l}\)). Hence, u and x can be expressed as:

$$\begin{aligned} u=\left[ P_{g2},\ldots ,P_{gng},\,V_{g1},\ldots ,V_{gng},\,Q_{c1},\ldots ,Q_{cnc},\,T_{1},\ldots ,T_{nt}\right] , \end{aligned}$$
(4)
$$\begin{aligned} x=\left[ P_{g1},\,V_{l1},\ldots ,V_{lnl},\,Q_{g1},\ldots ,Q_{gng},\,S_{l1},\ldots ,S_{lNl}\right] , \end{aligned}$$
(5)

where ng, nc, nt, nl, Nl are the number of generators, number of shunt VAR compensators, number of regulating transformers, number of load buses and number of transmission lines, respectively.

\(G(u,\,x)\) is the set of equality constraints which represents typical load flow equations:

$$\begin{aligned} P_{gi}-P_{di}- V_{i} \sum \limits _{k=1}^{nb} V_{k}\left( G_{ik}\cos \theta _{ik}+B_{ik}\sin \theta _{ik}\right) = 0, \end{aligned}$$
(6)

and

$$\begin{aligned} Q_{gi}-Q_{di}- V_{i} \sum \limits _{k=1}^{nb}V_{k}\left( G_{ik}\sin \theta _{ik}+B_{ik}\cos \theta _{ik}\right) = 0, \end{aligned}$$
(7)

where \(P_{gi}\) and \(Q_{gi}\) are the active and reactive powers at ith generators, \(P_{di}\) and \(Q_{di}\) are the active and reactive power demands at ith bus, \(G_{ik}\) and \(B_{ik}\) are the transfer conductance and susceptance between buses i and k, respectively, \(\theta _{ik}\) is the phase angle difference between the voltages at buses i and k and nb is the total number of bus bars.

\(H(u,\,x)\) is the set of system operational limiting constraints which includes following inequality constraints:

  • Generator constraints

    $$\begin{aligned} P_{gi}^{min} \le P_{gi} \le P_{gi}^{max},\quad \mathrm{for}\quad i=1,\,2,\ldots ,ng, \end{aligned}$$
    (8)
    $$\begin{aligned} Q_{gi}^{min} \le Q_{gi} \le Q_{gi}^{max},\quad \mathrm{for}\quad i=1,\,2,\ldots ,ng \end{aligned}$$
    (9)
    $$\begin{aligned} V_{gi}^{min} \le V_{gi} \le V_{gi}^{max},\quad \mathrm{for}\quad i=1,\,2,\ldots ,ng. \end{aligned}$$
    (10)
  • Security constraints

    $$\begin{aligned} V_{li}^{min} \le V_{li} \le V_{li}^{max},\quad \mathrm{for}\quad i=1,\,2,\ldots ,nl, \end{aligned}$$
    (11)
    $$\begin{aligned} S_{li}\le S_{li}^{max},\quad \mathrm{for}\quad i=1,\,2,\ldots ,Nl. \end{aligned}$$
    (12)
  • Transformer constraints

    $$\begin{aligned} T_{i}^{min} \le T_{i} \le T_{i}^{max},\quad \mathrm{for}\quad i=1,\,2,\ldots ,nt. \end{aligned}$$
    (13)
  • Shunt VAR compensator constraints

    $$\begin{aligned} Q_{ci}^{min} \le Q_{ci} \le Q_{ci}^{max},\quad \mathrm{for}\quad i=1,\,2,\ldots ,nc. \end{aligned}$$
    (14)

There are various techniques available in the literature to handle constraints in optimization algorithm. In this article, penalty function method is adopted to handle constraints with respect to dependent variables i.e., if any dependent variable violates its bound then square of that violation amount multiplied by a fix penalty factor is added to its corresponding fitness function so that infeasible solutions can be rejected. On the other hand, the constraints corresponding to control variables are handled by generating them between the given bounds in its initialization phase. In this way, the modified objective function for OPF is of the following form:

$$\begin{aligned} \mathrm{Min}\,F_{mod}&= F(u,\,x)+\lambda _{p}\left( P_{g1}-P_{g1}^{lim}\right) ^{2}+\lambda _{v}\sum \limits _{i=1}^{nl}\left( V_{li}-V_{li}^{lim}\right) ^{2}+\lambda _{q}\sum \limits _{i=1}^{ng}\left( Q_{gi}-Q_{gi}^{lim}\right) ^{2}\nonumber \\&\quad +\lambda _{s}\sum \limits _{i=1}^{Nl}\left( S_{li}-S_{li}^{lim}\right) ^{2}, \end{aligned}$$
(15)

where \(\lambda _{p},\,\lambda _{v},\,\lambda _{q}\) and \(\lambda _{s}\) are the penalty factors (all are set to \(10^{5}\) in this paper) and \(a^{lim}\) is the limit value (may be min or max limit depending upon which limit dependent variable a has crossed).

3 ABC algorithm with global and local neighborhoods

The ABC algorithm is a population based relatively recent swarm intelligence based algorithm which is inspired by foraging behavior of honey bees. In ABC, each solution is known as food source of honey bees whose fitness is determined in terms of the quality of the food source. ABC is made of three group of bees: employed bees, onlooker bees and scout bees. The number of employed and onlooker bees is equal. The employed bees search the food source in the environment and store the information, like the quality and the distance of the food source from the hive. Onlooker bees wait in the hive for employed bees and after collecting information from them, they start searching in neighborhood of that food sources which are having better nectar. If any food source is abandoned then scout bee finds new food source randomly in the search space. While searching the solution of any optimization problem, ABC algorithm first initializes ABC parameters and swarm then it requires the repetitive iterations of the three phases namely employed bee phase, onlooker bee phase and scout bee phase.

For an efficient optimization algorithm, two concepts exploration and exploitation should be well balanced which are actually contradictory to each other in nature. Exploration means the ability of exploring diverse regions of the search space and exploitation means refining already explored regions. In ABC, at any instance, a solution is updated through information flow from other solutions of the swarm. This position updating process uses a linear combination of current position of the potential solution which is going to be updated and position of a randomly selected solution as step size with a random coefficient \(\phi _{ij}\in [-1,\,1].\) This process plays an important role to decide the quality of new solution. If the current solution is far from randomly selected solution and absolute value of \(\phi _{ij}\) is also high then the change will be large enough to jump the true optima. On the other hand, small change will decrease the convergence rate of whole ABC process. Further, it is also suggested in literature (Karaboga and Akay 2009; Zhu and Kwong 2010) that basic ABC itself has some drawbacks, like stop proceeding toward the global optimum even though the population has not converged to a local optimum. Karaboga and Akay (2009) also analyzed the various variants of ABC and found that the ABC in its current form shows poor performance and remains inefficient to balance the exploration and exploitation capabilities of the search space. Consequently, convergence speed of ABC is also deteriorated.

To overcome above shortcomings, Jadon et al. (2014a) proposed a modified ABC by incorporating local neighborhood and global neighborhood strategies in its position update equation of employed bee phase. In local neighborhood strategy each member is updated through best solution found so far in its sub population (i.e., local neighborhood), while in the global neighborhood strategy each member takes the advantage of best solution found so far in the whole population. In ABCGLN, the neighborhood structure of any solution is static and has been defined on the set of indices of the solutions. Neighborhood of a solution is the set of other solutions to which it is connected. For global neighborhood strategy, neighborhood structure is the star topology i.e., each solution is connected to each other solution and therefore cardinality of neighborhood of any solution in this strategy is equal to the number of food sources. On the other hand, for local neighborhood strategy, ring topology is adopted as neighborhood structure and cardinality of neighborhood is considered as \(10\,\%\) of the number of food sources i.e., local neighborhood of each solution includes \(10\,\%\) solutions based on their indices as \(5\,\%\) from the forward side and \(5\,\%\) from the backward side. Here, it should be noticed that solutions belonging to a local neighborhood are not necessarily local in the sense of their geographical nearness or similar fitness values but, the overlapping neighborhoods based on the indices of the swarm members have been considered in ABCGLN. For more details about the neighborhood structure adopted, readers are advised to go through the original article ABCGLN (Jadon et al. 2014a). In ABCGLN, for each employed bee, two components a local and a global component are created. The local component for a bee is created based on best solution position in that bee’s local neighborhood and two other solutions selected randomly from this neighborhood while global component is created based on best solution of whole swarm and two other solutions selected randomly from the whole swarm i.e., from the global neighborhood. The mathematical equations for these components are as follows:

$$\begin{aligned} L_{ij}&= x_{ij}+ \left( prob_{i}\right) \left( x_{lj}-x_{ij}\right) +\phi _{ij}\left( x_{r1 j}-x_{r2 j}\right) ,\nonumber \\ G_{ij}&= x_{ij}+ \left( 1-prob_{i}\right) \left( x_{gj}-x_{ij}\right) +\phi _{ij}\left( x_{R1 j}-x_{R2 j}\right) , \end{aligned}$$
(16)

where each j represents the jth dimension of the each position, \(L_{i}\) and \(G_{i}\) are the local and global components, respectively. \(x_{l}\) and \(x_{g}\) are respectively the best positions in local and global neighborhoods of ith solution. \(x_{r1},\,x_{r2}\) are the two neighbors chosen randomly from the local neighborhood of ith solution such that \(r1\ne r2\ne i.\,x_{R1},\,x_{R2}\) are the two neighbors chosen randomly from the global neighborhood i.e., from whole swarm such that \(R1\ne R2\ne i.\,\phi _{ij}\) is random number in \([-1,\,1]\) and \(prob_{i}\) is the probability of ith solution as in Eq. (19). Here in both equations the third term i.e., difference between two randomly selected neighbors is added so that individual member should not follow only the best position in order to prevent the swarm from getting trapped in local minima. Also second term in both the equations is multiplied by their probabilities which is a function of fitness. It is clear that solution with better fitness will give more weightage to its local best than the global best in order to prevent the swarm to converge too quickly as global best may be a local optima in initial stages. On the other hand the solution with low fitness will give priority to global best more than the local best as there surroundings are not good enough so they follow better directions. Finally both the local and the global components together guide the new direction for employed bees as follows: for ith employed bee, the new position is,

$$\begin{aligned} v_{ij}=\left( prob_{i}\right) \times G_{ij}+\left( 1-prob_{i}\right) \times L_{ij}. \end{aligned}$$
(17)

Now based on greedy selection, employed bee selects one between the old and new positions. In this way, the involvement of weighted linear sum of both local and global best components, is expected to balance the exploration and exploitation capabilities of ABC algorithm as the local best components of respective bees explore the search space or tries to identify the most promising search space regions, while the global best component will exploit the identified search space. The pseudo code of implementation of this whole neighborhood concept in employed bee phase of ABCGLN is explained in Algorithm 1. Algorithm 1 introduced a new parameter cr which is set to a low value 0.3 (Jadon et al. 2014a).

Now whole ABCGLN algorithmic procedure can be understood in following way. In ABCGLN, first initialization of the solutions is done like in basic ABC as:

3.1 Initialization of the swarm

If D is the number of variables in the optimization problem then each food source \(x_{i}\,(i=1,\,2,\ldots ,SN)\) is a D-dimensional vector among the SN food sources and is generated using a uniform distribution as:

$$\begin{aligned} x_{ij}=x_{min j}+rand[0,\,1]\left( x_{max j}-x_{min j}\right) , \end{aligned}$$
(18)

here \(x_{i}\) represents the ith food source in the swarm, \(x_{min j}\) and \(x_{max j}\) are bounds of \(x_{i}\) in jth dimension and rand[0, 1] is a uniformly distributed random number in the range [0, 1]. After initialization phase ABCGLN requires the cycle of the three phases namely employed bee phase, onlooker bee phase and scout bee phase to be executed.

3.2 Employed bees phase

In this phase, ith candidate’s position is updated using Eq. (17): after generating new position, the position with better fitness between the newly generated and old one is selected.

3.3 Onlooker bees phase

In this phase, employed bees share the information associated with their food sources like quality (nectar) and position of the food source with the onlooker bees in the hive. Onlooker bees evaluate the available information about the food source and based on its fitness they select solutions with probability \(prob_{i}.\) Here \(prob_{i}\) can be calculated as function of fitness (there may be some other method):

$$\begin{aligned} prob_{i}(G)=\frac{0.9\times fitness_{i}}{maxfit}+0.1, \end{aligned}$$
(19)

here \(fitness_{i}\) is the fitness value of the ith solution and maxfit is the maximum fitness among all the solutions. Based on this probability, onlooker selects a solution and modifies it using the ordinary ABC position update Eq. (20). Again by applying greedy selection, if the fitness is higher than the previous one, the onlooker bee stores the new position in its memory and forgets the old one.

$$\begin{aligned} v_{ij}=x_{ij}+\phi _{ij}\left( x_{ij}-x_{kj}\right) . \end{aligned}$$
(20)

3.4 Scout bees phase

If for a predetermined number of cycles, any bee’s position is not getting updated then that food source is taken to be abandoned and this bee becomes scout bee. In this phase, the abandoned food source is replaced by a randomly chosen food source within the search space. The number of cycles after which a particular food source becomes abandoned is known as limit and is a crucial control parameter. In this phase the abandoned food source \(x_{i}\) is replaced by a randomly chosen food source within the search space using the Eq. (18) as in initialization phase.

figure a

The pseudo-code of the ABCGLN algorithm is shown in Algorithm 2 (Jadon et al. 2014a ).

figure b

3.5 ABCGLN implementation for OPF

ABCGLN first initializes each individual member of the population which represents a potential solution. The structure of each individual member is \(u = (P_{g2},\ldots ,P_{gng},\,V_{g1},\ldots ,V_{gng},\,Q_{c1},\ldots ,Q_{cnc},\,T_{1},\ldots ,T_{nt})\) where each involved variable is self constrained i.e., each control variable of individual member u is initialized randomly within allowable its given limits given in Table 1. If any control variable violates its lower or upper limits then that is adjusted to the corresponding violated limit. To handle the inequality constraints of dependent variables, the modified objective function [Eq. (15)] is considered to be optimized. The flow chart of OPF problem’s solution through ABCGLN is presented in Fig. 1. This is clear from Flow chart 1 that whenever a new solution is generated during initialization or employed or onlooker or scout phase, then power flow algorithm is run for that individual solution u to determine the state variables and to evaluate its fitness.

Fig. 1
figure 1

ABCGLN algorithm flow for OPF problem

4 Experimental results and discussion

4.1 Test system under consideration

To validate the effectiveness and robustness of the ABCGLN algorithm, it is applied on standard IEEE 30-bus system. This test system consists of 6 generating units at buses 1, 2, 5, 8, 11 and 13 interconnected with 41 transmission lines with a total load of 283.4 MW and 126.2 MVAR and 4 transformers with off-nominal tap ratios in lines 6–9, 6–10, 4–12 and 28–27. The bus data and the branch data are taken from Alsac and Stott (1974). The shunt injections are provided at buses 10, 12, 15, 17, 20, 21, 23, 24 and 29 as given in Abido (2002a). The maximum and minimum limits on control variables are mentioned in Table 1. Three different objective functions to minimize the total quadratic fuel cost, piece wise quadratic fuel cost and quadratic fuel cost with valve point effects are considered to demonstrate the effectiveness of ABCGLN algorithm. To check the robustness of the ABCGLN algorithm, 100 runs were executed for solving the OPF problem in each case.

4.1.1 Case 1: quadratic fuel cost function

The generator cost characteristic are defined as quadratic cost function of generator power output and Eq. (15) is selected as objective function to be optimized. In Eq. (15), the \(F(u,\,x)\) is designed for this case as:

$$\begin{aligned} F(u,\,x)=\sum \limits _{i=1}^{ng}f_{i}\left( P_{gi}\right) =\sum \limits _{i=1}^{ng}\left( a_{i}+b_{i}P_{gi}+c_{i}P_{gi}^{2}\right) , \end{aligned}$$
(21)

where \(f_{i}\) and \(P_{gi}\) are fuel cost and active power of ith generator, respectively. The variables \(a_{i},\,b_{i}\) and \(c_{i}\) represent the cost coefficients of ith generator whose values have been taken from standard IEEE 30-bus system and is given here in Table 2. ng is the total number of generators in the system.

4.1.2 Case 2: piece-wise quadratic fuel cost functions

Practically, in a power system, various fuel sources like natural gas, coal and oil are supplied to thermal generating units. The fuel cost functions of these units may be dissevered as piece-wise quadratic fuel cost functions for different fuel types (Abou El Ela et al. 2010). In this case, the objective of the problem is to minimize fuel cost among the available fuel of each unit and satisfy the system constraints. The problem becomes a non-convex optimization problem with discontinues value at each boundary which may result in many local optima and hence limit the application of the traditional mathematical methods (Dieu and Ongsakul 2006). The cost characteristics of generating units connecting at buses 1 and 2 are represented by a piece-wise quadratic cost function to model different fuels, which are defined as follows:

$$\begin{aligned} f_{i}\left( P_{gi}\right) = {\left\{ \begin{array}{ll} a_{i1}+b_{i1}P_{gi}+c_{i1}P_{gi}^{2}, &{} P_{gi}^{min}\le P_{gi}\le P_{gi1}\\ a_{i2}+b_{i2}P_{gi}+c_{i2}P_{gi}^{2}, &{} P_{gi1}\le P_{gi}\le P_{gi2}\\ \ldots &{}\\ a_{ik}+b_{ik}P_{gi}+c_{ik}P_{gi}^{2}, &{} P_{gik-1}\le P_{gi}\le P_{gi}^{max},\\ \end{array}\right. } \end{aligned}$$
(22)

where \(a_{ik},\,b_{ik}\) and \(c_{ik}\) are cost coefficients of the ith generator for fuel type k. So, here Eq. (15) is selected as objective function to be optimized where the \(F(u,\,x)\) is designed for this case as:

$$\begin{aligned} F(u,\,x)=\sum \limits _{i=1}^{ng}f_{i}\left( P_{gi}\right) =\sum \limits _{i=1}^{2}f_{i}\left( P_{gi}\right) +\sum \limits _{i=3}^{ng}\left( a_{i}+b_{i}P_{gi}+c_{i}P_{gi}^{2}\right) , \end{aligned}$$
(23)

where \(f_{i}(P_{gi})\) for generating units 1 and 2 are selected based on Eq. (22) and the cost coefficients for these units are given in Table 3 and the cost coefficients of other generators have the same values as of case 1.

4.1.3 Case 3: quadratic fuel cost function with valve point effects

For this case, the generating units of buses 1 and 2 are considered to have the valve point effects on their characteristics. The cost coefficients of these generating buses are adopted from Vaisakh and Srinivas (2011) and are given in Table 4. The cost coefficients for other generating units are same as of case 1. The cost characteristics of generating units 1 and 2 are defined as:

$$\begin{aligned} f_{i}\left( P_{gi}\right) = a_{i}+b_{i}P_{gi}+c_{i}P_{gi}^{2} + \left| d_{i} \sin \left( e_{i}\left( P_{gi}^{min}- P_{gi}\right) \right) \right| ,\quad \mathrm{where}\quad i=1\,\mathrm{and}\,2, \end{aligned}$$
(24)

where \(a_{i},\,b_{i},\,c_{i},\,d_{i}\) and \(e_{i}\) are cost coefficients of the ith generating unit. So, here Eq. (15) is selected as objective function to be optimized where the \(F(u,\,x)\) is designed for this case as:

$$\begin{aligned} F(u,\,x)&= \sum \limits _{i=1}^{ng}f_{i}\left( P_{gi}\right) =\sum \limits _{i=1}^{2}\left( a_{i}+b_{i}P_{gi}+c_{i}P_{gi}^{2}+ \left| d_{i} \sin \left( e_{i}\left( P_{gi}^{min}- P_{gi}\right) \right) \right| \right) \nonumber \\&\quad +\sum \limits _{i=3}^{ng}\left( a_{i}+b_{i}P_{gi}+c_{i}P_{gi}^{2}\right) . \end{aligned}$$
(25)

4.2 Experimental setting

The results obtained from the proposed ABCGLN are stored in the form of minimum objective function value, mean objective function value in 100 runs and execution time to reach at minimum. The results are compared with the results available from other optimization algorithms in literature. The following parameter setting is adopted while implementing ABCGLN and basic ABC algorithms to solve the various OPF problems:

  • The number of simulations/run =100,

  • Colony size \(NP = 50\) (Diwold et al. 2011; El-Abd 2011) and number of food sources \(SN = NP/2,\)

  • \(\phi _{ij} = rand[-1,\,1]\) and limit = dimension \(\times\) number of food sources = \(D\times SN\) (Karaboga and Akay 2011; Akay and Karaboga 2010),

  • The parameter cr in Algorithm 1 is set to 0.3 (Jadon et al. 2014a),

  • The cost coefficients for all cases are given in Tables 2, 3 and 4,

  • The upper and lower limits for control variables is taken from Lee et al. (1985) and is given in Table 1,

  • The load data is adopted from Alsac and Stott (1974) and Lee et al. (1985) and given in Table 5,

  • The line data for 30-bus system is taken from Alsac and Stott (1974) and Lee et al. (1985),

  • The penalty factors \(\lambda _{p},\,\lambda _{v},\,\lambda _{q}\) and \(\lambda _{s}\) are set to \(10^{5}.\)

4.3 Results analysis of experiments

Tables 6, 7, 8 and 9 present the numerical results comparison of all considered algorithms for cases 1–3 with the experimental settings shown in Sect. 4.2. Table 6 shows the optimal control parameter settings achieved by the ABCGLN algorithm for OPF problem in each case. The results comparison of the ABCGLN with other algorithms in terms of minimum fuel cost, average minimum fuel cost over 100 runs and total execution time (in seconds) to reach at achieved minimum by the algorithm, is presented in Tables 7, 8 and 9. The bold entries in Tables 79 represent the best value among all entries. It can be observed from these tables that most of the time, ABCGLN is more reliable as it has achieved minimum fuel cost than all the considered algorithms in all three cases. However, it spent more time than the some algorithms in some cases but in those cases also, it achieved better minima. In terms of average minimum fuel cost in all runs, ABCGLN is also reliable than the others as it gave less mean fuel cost for all cases. If ABCGLN is compared to basic ABC only then also it shows a clear superiority of ABCGLN in every terms of accuracy, reliability and efficiency.

Further, to compare convergence speed of ABCGLN with respect to ABC, we calculated the convergence rate in Fig. 2a–c. It is clear from the these figures that ABCGLN has higher convergence rate than the ABC to solve OPF problem for all three cases. Since the empirical distribution of results can efficiently be represented by box-plot (Williamson et al. 1989), the box-plots for minimum fuel cost for 100 runs for ABCGLN and basic ABC algorithms have been represented in Fig. 3 to analyze the algorithms output more intensively. Figure 3 shows that ABCGLN is cost effective as the interquartile range and median are very low for ABCGLN.

Fig. 2
figure 2

Convergence speed for ABCGLN and ABC

Fig. 3
figure 3

Box-plots for ABCGLN and ABC for minimum fuel cost for 100 runs

Table 1 The upper and lower limits of control variables
Table 2 Generator cost coefficients for case 1
Table 3 Generator cost coefficients for case 2
Table 4 Generator cost coefficients for case 3
Table 5 Load data
Table 6 Best control variable settings achieved by ABCGLN algorithms for different cases
Table 7 Results comparison of 100 runs among different methods for IEEE 30-bus system: case 1
Table 8 Results comparison of 100 runs among different methods for IEEE 30-bus system: case 2
Table 9 Results comparison of 100 runs among different methods for IEEE 30-bus system: case 3

5 Conclusion

This paper presents the solution of OPF problem of IEEE 30-bus system using a recent version of ABC algorithms, named ABCGLN. The ABCGLN is tested and compared on standard IEEE 30-bus system with various objective functions which minimizes the fuel cost function, non-smooth piece-wise quadratic cost function and quadratic cost function with valve point effects. The reported results show the efficiency and robustness of ABCGLN in solving OPF. Results of ABCGLN are also compared with other algorithms’ results available in the literature and comparisons confirm the superiority of ABCGLN over other meta-heuristic algorithms to find feasible and more accurate solution to OPF problems without any restrictions on the shape of the fuel cost curves.