1 Introduction

The power system is a composite and sophisticated system due to its various static/dynamic states, large scale and complex interconnections between different components. Controlling and managing such system is a major challenging issue for system operators. The power flow study can be considered as one of the most significant operating and computing function and hence plays a vital role in power system planning, operation and control. The power flow study is subjected to the various electrical and physical constraints of the power system known as optimal power flow (OPF) problem (Dommel and Tinney 1968). The goal of OPF is to optimize the specific objective functions by adjusting the set of control variables to satisfy the necessary constraints related to the power system network, which include nonlinear power flow equations, load buses voltage magnitudes, the line flows, slack bus active power output and generators reactive power limits. The control variables include generator buses, real power outputs and voltage magnitudes, shunt capacitors and transformer taps connected between various buses. Minimization of total production cost and active power loss is most frequently considered objective functions. However, in some cases, it may be difficult to maintain voltages of the load buses within their limits due to inefficient use of reactive power sources, which may lead to voltage collapse. In those cases, voltage stability enhancement is also considered as one of the objective function. Additionally, due to increased concern regarding environmental protection, minimization of emission pollution is also considered as a part of the OPF problem.

The literature on OPF is considerably large which can be found in Al-Rashidi and El-Hawary (2009), Frank et al. (2012). Many classical methods are used to solve these OPF problems, such as nonlinear programming (Shoults and Sun 1982), linear programming (LP) (Zehar and Sayah 2008), quadratic programming (QP) (Reid and Hasdorf 1973), Newton’s algorithm (Sun et al. 1984), interior point (IP) (Torres and Quintana 1998), MATPOWER (Zimmerman et al. 2011), etc. The main disadvantages of these methods include large computational time and sometimes being trapped in local optima. During the recent past, numerous evolutionary algorithms have been introduced to alleviate the limitations of classical methods and provide near globally optimal solution. Lai et al. (1997) solved the optimal power flow problems of IEEE 30-bus system using an improved genetic algorithm (IGA). Vaisakh et al. (2013) developed genetic evolving and direction particle swarm optimization (GEDPSO) by adding ant colony search to classical PSO to enhance its global search ability. Sayah and Zehar (2008) addressed modified differential evolution (MDE) to handle the non-smooth cost function of various test systems. Sinsuphan et al. (2013) suggested improved harmony search algorithm (IHSA) to solve the single-objective OPF problems. In IHSA, Taguchi method is used to enhance the intervals of control variables to attain better initialization and improve the convergence speed of HSA. Ramesh and Premalatha (2015) introduced adaptive real coded biogeography-based optimization (ARCBBO) by adding Gaussian mutation operator into the classical BBO to improve the population diversity. However, these population-based approaches may undergo premature convergence at different stages of search processing. Therefore, efforts toward betterment of the existing optimization techniques and innovation of new computational techniques are needed to solve optimal power flow problems, and the present work is an attempt toward this direction.

The krill herd (KH) algorithm has been first developed by Gandomi and Alavi (2012), and it is inspired by the increasing densities of the krill individuals and reaching high areas of food concentration after predation. The KH algorithm mainly consists of three movements in an iterative process, namely motion induced by the other krill individuals, foraging motion and physical diffusion. Due to the flexibility and efficient characteristics of KH algorithm, researchers have used it fairly for solving different constrained optimization problems (Gai-Ge et al. 2014a, b, c, d, e; Gandomi et al. 2013) successfully. However, the main deficiency of the standard KH algorithm’s local search mechanism is that the search process is completely random in nature, and consequently, it may not always find a global optimal solution particularly for high-dimensional practical problems.

Therefore, several variants of KH algorithm are developed such as Gai-Ge et al. (2013, (2014a, (2014b, (2014c, (2014d, (2014e, (2015, (2016), Gaige et al. (2013), Junpeng et al. (2014), Lihong et al. (2014) to improve the local search ability and for solving the optimization problems. Gai-Ge et al. (2014a, (2014b, (2014c, (2014d, (2014e) incorporated a novel migration operator to the KH algorithm for solving optimization problems effectively. Gai-Ge et al. (2013) included concepts of chaotic method and a mutation operator to KH algorithm, which results in improving the exploitation capability of the KH algorithm during run process. To escape the KH from local minima and provide a global solution, Gai-Ge et al. 2014a, b, c, d, e utilized opposition-based concept and Cauchy mutation scheme in the KH algorithm. Gaige et al. (2013) integrated a Leavy flight operator with the KH algorithm to improve the efficiency and convergence speed of KH algorithm in the evolution process.

In this paper, a new bio-inspired algorithm called stud krill herd (SKH) (Gai-Ge et al. 2014a, b, c, d, e) algorithm is proposed and implemented successfully for the first time to solve the OPF problems. Here, krill herd (KH) algorithm is hybridized with a stud genetic algorithm (SGA) (Khatib and Fleming 1998) to reach near-global optimal solution. In the present work, the performance of KH is enhanced by adding an adaptive genetic reproduction mechanism called stud selection and crossover (SSC) operator, which leads to the development of the proposed SKH algorithm. In fact, in SKH algorithm, the search space is explored by first applying KH, and then, the SSC operator is used to take over only the amended possibilities to obtain good solutions. Therefore, the augmented KH algorithm is capable of searching comparatively larger space and extract good OPF solutions. The performance of the algorithm is analyzed and tested on IEEE 14-bus, IEEE 30-bus and IEEE 57-bus systems by considering the different objective function models.

The rest of the paper is organized as follows: Section 2 exhibits the OPF problem formulation, Sect. 3 describes the KH algorithm and proposed SKH algorithm. Solution methodology of the proposed SKH for solving OPF problem is presented in Sect. 4. Section 5 reports the simulation results and conclusions are given in Sect. 6.

2 Optimal power flow problem formulation

The primary function of the OPF problem is to optimize the objective functions by adjusting the control variables while satisfying the set of equality and inequality constraints. The general OPF problem can be formulated as follows:

$$\begin{aligned}&\mathrm{min }\, f\left( {x,u} \right) \end{aligned}$$
(1)
$$\begin{aligned}&\mathrm{subject\, to}\, \left\{ {\begin{array}{l} g\left( {x,u} \right) =0\\ h\left( {x,u} \right) \le 0\end{array}} \right. \end{aligned}$$
(2)

where f is an objective function to be minimized; x is the vector of state (dependent) variables consisting of slack bus real power generation, load bus voltage magnitudes, reactive power generation at the generator buses and power flows in transmission lines; and u consists of control (independent) variables such as generated buses real power outputs except slack bus and voltage magnitudes, transformer tap settings and shunt capacitors at the various buses.

2.1 Objective functions

Five different models are considered for different objective functions and are given as follows:

2.1.1 M1 minimization of total production cost

The generation cost function is represented as follows (Ramesh and Premalatha 2015):

$$\begin{aligned} f_1=\sum _{k=1}^\mathrm{NG} {\left( {a_k +b_k P_{Gk} +c_k P_{Gk}^2 } \right) } \end{aligned}$$
(3)

where NG represents number of generator buses; \(P_{Gk}\) is the active power generation at kth generating unit; and \(a_k, b_k, c_k\) are the cost coefficients of kth generating unit.

2.1.2 M2 minimization of active power loss

Mathematically, the objective function for minimization of active power loss is expressed as follows (Ramesh and Premalatha 2015):

$$\begin{aligned} f_2=\sum _{n=1}^{nl} {G_n \left( {V_k^2 +V_m^2 -2V_k V_m \cos \theta _{km} } \right) } \end{aligned}$$
(4)

where nl represents number of transmission lines; \(G_n\) is the conductance of the nth line connected between kth and mth buses; \(V_k, V_m\) are the voltage magnitudes at kth and mth buses, respectively; and \(\theta _{km}\) is the phase angle between kth and mth buses.

2.1.3 M3 minimization of L-index

In a power system network, it is important to maintain the voltages of all load buses within their acceptable limits. However, when the system is subjected to any disturbance, the non-optimized control variables may lead to progressive and large voltage drop leading to voltage collapse in the system. L-index introduced in Kessel and Glavitsch (1986) is used to assess voltage stability margin. Its value at a particular bus indicates the level of closeness of the voltage collapse condition of that bus. Normally, L-index varies from 0 (no-load) to 1 (voltage collapse) condition. Mathematically, the objective function of L-index may be expressed as follows:

$$\begin{aligned} f_3=\min (\max (L_k)) \end{aligned}$$
(5)

where \(L_k\) is the L-index of the kth load bus defined as (Kessel and Glavitsch 1986) follows:

$$\begin{aligned}&L_k =\left| {1-\frac{\sum \nolimits _{m=1}^\mathrm{NG} {H_{km} V_m } }{V_k }} \right| \qquad \hbox { where }\quad k=1,2,\ldots , \mathrm{LB};\nonumber \\ \end{aligned}$$
(6)
$$\begin{aligned}&H_{km} =-[\mathrm{inv}(Y_{kk})]^{*}[Y_{km}] \end{aligned}$$
(7)

where LB represents number of load buses; \(Y_{kk}\) is the self-admittance of kth bus; and \(Y_{km}\) is the mutual admittance between kth and mth buses.

2.1.4 M4 minimization of emission pollution

Nowadays, society demands not only secure electricity, but also the minimum level of emission pollution discharged by thermal plants. Therefore, emission pollution (EP) is also considered one of the objectives for OPF problem, and it can be expressed as follows (Ramesh and Premalatha 2015):

(8)

where \(\alpha _k, \beta _k, \gamma _k, \mu _k, \xi _k\) are the emission coefficients of kth generating unit.

2.1.5 M5 minimization of total production cost with valve point loading effect

Due to the presence of multiple valves, the large size steam turbine will have wire drawing effects when the steam admission valves start to open. Consequently, the heat rate rises suddenly. This phenomenon is called the valve point loading effect and is represented by adding sinusoidal components to the quadratic total production cost function. Therefore, a non-convex total production cost function is expressed as follows (Vaisakh et al. 2013):

$$\begin{aligned} f_5= & {} \sum _{k=1}^\mathrm{NG} {\left( {a_k +b_k P_{Gk} +c_k P_{Gk}^2 +\left| {d_k{}^{*}\sin \left( {e_k{}^{*}\left( {P_{Gk}^{\mathrm{min}} -P_{Gk} } \right) } \right) } \right| } \right) }\nonumber \\ \end{aligned}$$
(9)

where \(d_k, e_k\) are the cost coefficients of additional sinusoidal component of kth generating unit; and \(P_{Gk}^{\mathrm{min}}\) is the minimum active power limit of kth generating unit.

2.2 Constraints

The equality constraints g(xu) are the nonlinear power flow equations, which are expressed as follows:

$$\begin{aligned}&P_{Gk} -P_{Dk} -V_k \sum \limits _{m=1}^\mathrm{NB} {V_m \left( {G_{km} \cos \uptheta _{km} +B_{km} \sin \uptheta _{km} } \right) } =0\nonumber \\ \end{aligned}$$
(10)
$$\begin{aligned}&Q_{Gk} -Q_{Dk} -V_k \sum \limits _{m=1}^{NB} {V_m \left( {G_{km} \sin \uptheta _{km} -B_{km} \cos \uptheta _{km} } \right) } =0\nonumber \\ \end{aligned}$$
(11)

where \(P_{Gk}, Q_{Gk}\) are the active and reactive power generations at kth generating unit, respectively; \(P_{Dk}, Q_{Dk}\) are the active and reactive power loads at kth bus, respectively; and \(G_{km}, B_{km}\) are the conductance and susceptance between kth and mth buses, respectively.

The inequality constraints h(xu) are the minimum and maximum limits of independent and dependent variables, which are given as follows:

$$\begin{aligned}&\left\{ {\begin{array}{l} P_{Gk}^{\mathrm{min}} \le P_{Gk} \le P_{Gk}^{\mathrm{max}}\\ V_{Gk}^{\mathrm{min}} \le V_{Gk} \le V_{Gk}^{\mathrm{max}}\\ Q_{Gk}^{\mathrm{min}} \le Q_{Gk} \le Q_{Gk}^{\mathrm{max}}\end{array}} \right. \qquad k=1,2,\ldots , \mathrm{NG}\end{aligned}$$
(12)
$$\begin{aligned}&t_k^{\mathrm{min}} \le t_k \le t_k^{\mathrm{max}}\qquad k=1,2,\ldots , \mathrm{NT} \end{aligned}$$
(13)
$$\begin{aligned}&b_{Ck}^{\mathrm{min}} \le b_{Ck} \le b_{Ck}^{\mathrm{max}}\qquad k=1,2,\ldots , \mathrm{NC} \end{aligned}$$
(14)
$$\begin{aligned}&V_{Lk}^{\mathrm{min}} \le V_{Lk} \le V_{Lk}^{\mathrm{max}}\qquad k=1,2,\ldots , \mathrm{LB} \end{aligned}$$
(15)
$$\begin{aligned}&S_{lk} \le S_{lk}^{\mathrm{max}}\qquad k=1,2,\ldots , nl \end{aligned}$$
(16)

where \(P_{Gk}^{\mathrm{min}}, P_{Gk}^{\mathrm{max}}\) are the minimum and maximum active power limits of the kth generating unit, respectively; \(V_{Gk}^{\mathrm{min}}, V_{Gk}^{\mathrm{max}}\) are the minimum and maximum voltage limits of the kth generator bus, respectively; \(V_{Gk}\) represents voltage at kth generator bus; \(Q_{Gk}^{\mathrm{min}}, Q_{Gk}^{\mathrm{max}}\) are the minimum and maximum reactive power limits of the kth generating unit, respectively; \(Q_{Gk}\) represents reactive power at kth generating unit; \(t_k^{\mathrm{min}}, t_k^{\mathrm{max}}\) are the minimum and maximum tap settings of the kth transformer tap, respectively; \(t_k\) represents tap setting at kth transformer tap; NT represents number of transformer taps; \(b_{Ck}^{\mathrm{min}}, b_{Ck}^{\mathrm{max}}\) are the minimum and maximum shunt admittance limits of the kth shunt capacitor, respectively; \(b_{Ck}\) represents shunt admittance value of kth shunt capacitor; NC represents number of shunt capacitors; \(V_{Lk}^{\mathrm{min}}, V_{Lk}^{\mathrm{max}}\) are the minimum and maximum voltage limits of the kth load bus, respectively; \(V_{Lk}\) represents voltage at kth load bus; and \(S_{lk}^{\mathrm{max}}, S_{lk}\) are the maximum MVA and MVA flow in kth transmission line.

3 Proposed SKH algorithm

Before understanding the idea behind stud krill herd algorithm, it is necessary to discuss the krill herd algorithm, which is described below.

3.1 Krill herd algorithm

Krill herd (KH) algorithm is a population-based algorithm, which is inspired from the process of increasing densities of the krill individuals and reaching high areas of food concentration after predation. The distance between the food source and highest density of the krill swarm from each krill gives a possible solution. The krill individual, which is closer to the higher krill density and food concentration, represents the best fitness value. Each krill rotates in a multi-dimensional search space, and its positions are modified by three movements in an iterative process namely motion induced by the other krill individuals, foraging motion and physical diffusion and are explained below.

3.1.1 Motion induced by other krill individuals

To reach the high krill density, krill individuals always move in an n-dimensional search space with a certain velocity, and its direction is influenced by the local effect provided by the neighbor krill as well as target effect. Velocity for ith krill is calculated as follows.

$$\begin{aligned} N_i^{q}= & {} N^{\mathrm{max}}\upalpha _i +\omega _n N_i^{q-1} \end{aligned}$$
(17)

where,

$$\begin{aligned}&\upalpha _i =\alpha _i^{\mathrm{local}} +\upalpha _i^{\mathrm{target}} \end{aligned}$$
(18)
$$\begin{aligned}&\upalpha _i^{\mathrm{local}} =\sum \limits _{j=1}^{NN} {{\hat{F}}_{ij} {\hat{Z}}_{ij} } \end{aligned}$$
(19)
$$\begin{aligned}&{\hat{Z}}_{ij} =\frac{Z_i -Z_j }{\left\| {Z_i -Z_j } \right\| +\hbox {rand}} \end{aligned}$$
(20)
$$\begin{aligned}&{\hat{F}}_{ij} =\frac{F_i -F_j }{F^{\mathrm{worst}}-F^{\mathrm{best}}} \end{aligned}$$
(21)

where \(N_i^{q},N_i^{q-1}\) are the motion induced by other krill individuals to ith krill individual in qth and \(\left( {q-1} \right) \)th iterations, respectively; \(N^{\mathrm{max}}\) represents maximum induced speed; NN represents number of neighbors to each krill individual; \(\omega _n\) represents inertial weight; \({\hat{F}}_{ij}\) represents normalized fitness difference between ith and jth krill individuals; \({\hat{Z}}_{ij}\) represents normalized position difference between ith and jth krill individuals; \(Z_i, Z_j\) are the positions of ith and jth krill individuals, respectively; \(F_i, F_j\) are the fitness values of ith and jth krill individuals, respectively, and \(F^{\mathrm{worst}},F^{\mathrm{best}}\) are the worst and best fitness values in all the krill individuals.

In order to find the number of neighbors to each krill individual, sensing distance \(\left( {d_\mathrm{s} } \right) \) is calculated using Eq. (22) given below. If the distance between any two krill individuals is less than the sensing distance, they are considered as neighbors.

$$\begin{aligned} d_{\mathrm{s},i}=\frac{1}{5^{*}\mathrm{NK}}\left( {\sum _{j=1}^\mathrm{NK} {\left. {\left\| {Z_i -Z_j } \right. } \right\| } } \right) \end{aligned}$$
(22)

where NK represents number of krill individuals; \(d_{s,i}\) represents sensing distance of ith krill individual.

$$\begin{aligned}&\upalpha _i^{\mathrm{target}} =G^{\mathrm{best}}{\hat{F}}_{i,\hbox {best}} {\hat{Z}}_{i,\hbox {best}} \end{aligned}$$
(23)
$$\begin{aligned}&G^{\mathrm{best}}=2\left( {\hbox {rand}+q\, \big / \,q_{\mathrm{max}} } \right) \end{aligned}$$
(24)

where \(G^{\mathrm{best}}\) represents effective coefficient; \({\hat{F}}_{\mathrm{i,best}}\) is the normalized fitness difference between ith and best krill individuals; \({\hat{Z}}_{i,\hbox {best}}\) represents normalized position difference between ith and best krill individuals; and \(q,q_{\mathrm{max}}\) are the current iteration and maximum number of iterations, respectively.

3.1.2 Foraging motion

It consists of two parts, the food location in the current and previous iterations. Good food location is the combination of food attraction, which is used to attract the krill individuals toward the global optimal solution and local best food location. Foraging motion for ith krill is calculated as given below:

$$\begin{aligned} \mathrm{FM}_i^{q}= & {} V_\mathrm{f} \beta _i +\omega _\mathrm{f} \mathrm{FM}_i^{q-1} \end{aligned}$$
(25)

where,

$$\begin{aligned}&\beta _i =\beta _i^{\mathrm{food}}+\beta _i^{\mathrm{best}} \end{aligned}$$
(26)
$$\begin{aligned}&\beta _i^{\mathrm{food}}=G^{\mathrm{food}}{\hat{Z}}_{i,\hbox {food}} {\hat{F}}_{i,\hbox {food}}\end{aligned}$$
(27)
$$\begin{aligned}&G^\mathrm{food}=2\left( {1-q\, \big / \,q_{\mathrm{max}} } \right) \end{aligned}$$
(28)
$$\begin{aligned}&Z^{\mathrm{food}}=\frac{\sum \nolimits _{i=1}^\mathrm{NK} {\frac{1}{F_i }Z_i } }{\sum \nolimits _{i=1}^\mathrm{NK} {\frac{1}{F_i }} }\end{aligned}$$
(29)
$$\begin{aligned}&\beta _i^{\mathrm{best}} ={\hat{F}}_{i,\hbox {best}} {\hat{Z}}_{i,\hbox {best}} \end{aligned}$$
(30)

where \(\mathrm{FM}_i^{q}, \mathrm{FM}_i^{q-1}\) are the motion induced by other krill individuals to ith krill individual in qth and \(\left( {q-1} \right) \)th iterations, respectively; \(V_\mathrm{f}\) represents foraging speed; \(\omega _\mathrm{f}\) represents inertia weight constant, between [0, 1]; \(G^{\mathrm{food}}\) represents food coefficient; \(Z^{\mathrm{food}}\) represents center of food; \({\hat{Z}}_{i,\hbox {food}}\) is the normalized position difference between ith krill and center of food; and \({\hat{F}}_{i,\hbox {food}}\) is the normalized fitness difference between ith krill and center of food.

3.1.3 Physical diffusion

When the krill individual moves toward a global optimal solution, it requires less random direction. Therefore, physical diffusion is used in this strategy. It consists of maximum diffusion speed \((D^{\mathrm{max}})\) and random direction vector \((\delta )\). \(\delta \) is used to decrease the random direction of the krill in the iterative process. For ith krill, it is given as follows:

$$\begin{aligned} D_i^q=\left( {1-q/q_{\mathrm{max}} } \right) D^{\mathrm{max}}\delta \end{aligned}$$
(31)

where \(D_i^q\) is the physical diffusion of ith krill individual in qth iteration; \(D^{\mathrm{max}}\) represents maximum diffusion speed; and \(\delta \) represents random directional vector, between \([-1,1]\).

3.1.4 Update krill position

The position of each krill is updated as follows:

$$\begin{aligned} Z_i^{q+1}=Z_i^q +C_t \sum _{k=1}^\mathrm{CV} {\left( {\mathrm{UL}_k -\mathrm{LL}_k } \right) } \left( {N_i^q +\mathrm{FM}_i^q +D_i^q } \right) \nonumber \\ \end{aligned}$$
(32)

where \(Z_i^{q+1}, Z_i^q\) are the positions of ith krill in \(\left( {q+1} \right) \)th and qth iterations, respectively; CV represents total number of control variables; \(C_t\) represents a random number between [0, 2]; and \(\mathrm{UL}_k, \mathrm{LL}_k\) are the upper and lower limits of the kth control variable, respectively.

3.2 Stud krill herd algorithm

The KH algorithm is capable to explore the search space globally, but it fails to select sometimes the global optimum solution in the search space. In order to overcome the problem of KH algorithm and to make this algorithm more efficient, SKH algorithm is developed. In SKH, stud selection and crossover (SSC) operator is used, which accepts the newly generated better solutions only, rather than selecting all the other possible solutions. The idea behind the SSC operator arose from the stud genetic algorithm (SGA), because the selection process in SGA is not completely random. SSC operator mainly consists of two minor operators of SGA viz. selection and crossover. In the selection process, the best krill is selected as the first parent, the second parent is selected to mate with best krill, and then a crossover operator is applied to these two parents to generate a new child krill. Thereafter, fitness value is calculated, and if the fitness value of the child’s krill individual is better than the existing individual krill, then it is accepted; otherwise, the krill position is updated by Eq. (32) to be considered in the next generation. Therefore, in the proposed SKH algorithm, first KH is applied to explore thoroughly the search space thereafter novel SSC operator is employed to take over only the newly generated good solutions. The control scheme of the SSC operator is explained in below mentioned algorithm 1.

Algorithm 1

figure a
Fig. 1
figure 1

Flowchart of the proposed SKH algorithm

4 Proposed SKH algorithm for OPF problems

Stepwise detailed description of the proposed algorithm to solve OPF problems is presented in the following procedure.

Step 1.:

A krill individual, which represents a complete solution for OPF problems, is randomly initialized. It consists of control variables such as generator buses, real power outputs except slack bus and voltage magnitudes, tap settings of transformers connected between various buses and shunt capacitors, which are randomly generated within their limits. Thus, a krill individual may be expressed as follows:

$$\begin{aligned}&\qquad Z_i=\left[ P_{Gi,2}, \ldots , P_{Gi,\mathrm{NG}}, V_{Gi,1}, \ldots , V_{Gi,\mathrm{NG}},\right. \nonumber \\&\left. \qquad \quad \qquad t_{i,1}, \ldots , t_{i,\mathrm{NT}}, b_{Ci,1}, \ldots , b_{Ci,\mathrm{NC}} \right] \end{aligned}$$
(33)

The size of the krill matrix depends upon the number of krill individuals in the population. Each krill in a matrix produces a potential solution to the OPF problems. The complete search space of the SKH algorithm for all krill individuals \(\left( \mathrm{NK} \right) \) is expressed as follows:

$$\begin{aligned}&\qquad Z=\left[ {{\begin{array}{c} {Z_1 }\\ \vdots \\ {Z_i }\\ \vdots \\ {Z_\mathrm{NK} }\end{array} }} \right] =\left[ {\begin{array}{l} P_{\mathrm{G1},2}, \ldots , P_{\mathrm{G1},\mathrm{NG}}, V_{\mathrm{G1},1}, \ldots , V_{\mathrm{G1},\mathrm{NG}}, t_{1,1}, \ldots , t_{1,\mathrm{NT}}, b_{C1,1}, \ldots , b_{C1,\mathrm{NC}}\\ \vdots \\ P_{Gi,2}, \ldots , P_{Gi,\mathrm{NG}}, V_{Gi,1}, \ldots , V_{Gi,\mathrm{NG}}, t_{i,1}, \ldots , t_{i,\mathrm{NT}}, b_{Ci,1}, \ldots , b_{Ci,\mathrm{NC}}\\ \vdots \\ P_{\mathrm{GNK},2}, \ldots , P_{\mathrm{GNK},\mathrm{NG}}, V_{\mathrm{GNK},1}, \ldots , V_{\mathrm{GNK},\mathrm{NG}}, t_{\mathrm{NK},1}, \ldots , t_{\mathrm{NK},\mathrm{NT}}, b_{\mathrm{CNK},1}, \ldots , b_{\mathrm{CNK},\mathrm{NC}}\end{array}} \right] \nonumber \\ \end{aligned}$$
(34)
Step 2.:

The fitness function formulated as a penalty function (Ramesh and Premalatha 2015) is expressed as

$$\begin{aligned} F= & {} f_k +w_{\mathrm{P}} \left( {\left| \hbox {P}_{\mathrm{G1}} \hbox {-P}_\mathrm{G1}^{\lim }\right| }\right) ^{2}\nonumber \\&+\,w_V \left( {\left| V_{Lk} -V_{Lk}^{\lim }\right| } \right) ^{2}+w_Q \left( {\left| Q_{Gk} -Q_{Gk}^{\lim } \right| } \right) ^{2}\nonumber \\&+\,w_S \left( {\left| S_{lk}-S_{lk}^{\lim }\right| } \right) ^{2} \end{aligned}$$
(35)

where F represents fitness value, \(f_k\) is the kth objective function for \(k=1,2,\ldots , 5\); \(\hbox {P}_{\mathrm{G1}}\) represents slack bus active power output; \(\hbox {P}_\mathrm{G1}^{\lim }, V_{Lk}^{\lim }, Q_{Gk}^{\lim }, S_{lk}^{\lim }\) are the minimum or maximum values of the slack bus real power output, load bus voltages, generator reactive power outputs and line flows, respectively, and \(w_{\mathrm{P}} \), \(w_V \), \(w_Q\) and \(w_S\) are the penalty coefficients of the respective constraints. In this work, the values of these coefficients are chosen high in order to eliminate the infeasible krill individuals during the iterative process.

Step 3.:

Sort all the krill individuals according to their fitness value.

Step 4.:

Compute three motions namely motion induced by the other kill individual, foraging motion and physical diffusion using Eqs. (17), (25) and (31), respectively, to each krill.

Step 5.:

Update the position of each krill using Algorithm 1.

Step 6.:

If any control variable \(x_i\) is violated, then it is handled as expressed below:

$$\begin{aligned}&\qquad x_i=\left\{ {\begin{array}{ll} x_{\mathrm{max}},&{} \quad \mathrm{if}\qquad x_i >x_{\mathrm{max}}\\ x_{\mathrm{min}},&{} \quad \mathrm{else}\,\mathrm{if}\quad x_i < x_{\mathrm{min}}\end{array}} \right. \end{aligned}$$
(36)
Step 7.:

If the maximum number of iterations is reached, then stop the procedure and print the optimum schedule, otherwise go to Step 3.

The flowchart of the proposed method for solving OPF problem is depicted in Fig. 1.

5 Simulation results

In order to examine the effectiveness of the proposed algorithm, IEEE 14-bus, IEEE 30-bus and IEEE 57-bus systems are considered for solving OPF problems with the same objective functions as considered in Ramesh and Premalatha (2016). The proposed simulation work was implemented on a 2.2 GHz, i3 core processor with MATLAB 2009a. The population size has been taken as 60, and the maximum number of iterations is set to 200 for these test systems.

5.1 IEEE 14-bus system (Test system 1)

To test the feasibility of the proposed SKH algorithm, initially, IEEE 14-bus system is considered which comprises of 20 transmission lines and system real power demand is 259 MW. It has thirteen control variables, which include four generators active powers, five generators voltages, three transformer taps and one shunt capacitor. The minimum and maximum voltages of all the buses lie between 0.94 and 1.06 p.u. The transformer taps are considered between 0.9 and 1.1 p.u., and shunt capacitors lie between 0 and 0.05 p.u. Detailed information about IEEE 14-bus system and generator cost coefficients are considered from Zimmerman et al. (2011); emission coefficients are referred from Sarat and Sudhansu (2015), and for fair comparison, the generator cost coefficients for model 5 (M5) are considered from Belgin and Rengin (2013).

Table 1 Effect of control parameters of SKH method on minimum total production cost over 20 trials for IEEE 14-bus system
Table 2 Comparison of statistical results with other methods for IEEE 14-bus system
Table 3 Optimal control variables for all models of IEEE 14-bus system

The values of the tuning parameters used in SKH algorithm, namely maximum induced speed \((N^{\mathrm{max}})\), diffusion speed \((D^{\mathrm{max}})\), foraging speed \((V_\mathrm{f})\) and type of crossover are required to be selected judiciously. For the tuning of these parameters, twenty independent trials were run with different values of \(N^{\mathrm{max}}\), \(D^{\mathrm{max}}\), \(V_\mathrm{f}\) with single- and two-point crossover operators for M1 and are mentioned in Table 1. From this table, it is identified that the single-point crossover gives better results compared to two-point crossover. The optimal value of TPC 8080.704 ($/h) is obtained with \(N^{\mathrm{max}}=0.04\), \(D^{\mathrm{max}}=0.03\) and \(V_\mathrm{f}=0.005\) with single-point crossover. Hence, for further investigations of objective models \(N^{\mathrm{max}}=0.04\), \(D^{\mathrm{max}}=0.03\) and \(V_\mathrm{f}=0.005\) with single-point crossover are used. The inertia weights are set to 0.9 initially and later decreased linearly up to 0.1.

Both KH and the proposed SKH algorithms have been applied to solve all the objective function models mentioned in Sect. 2.1. With the selected SKH parameters, the minimum, the average, the maximum objective function values, along with standard deviation (SD) and execution time (ET) of 200 generations over 20 trials are compared with the other methods presented in the literature and are reported in Table 2, from where it is inferred that the proposed SKH algorithm provides better overall statistical results in reasonable computational time. The best combination of control parameters attained with SKH algorithm along with the total production cost with and without valve point lading effect, active power loss, L-index and emission pollution for all the models are mentioned in Table 3. The minimum and maximum load voltages attained in all the models are depicted in Fig. 2, which proves that the SKH algorithm is capable to handle all the voltage constraints within their limits. The convergence characteristics obtained using KH and SKH algorithms are plotted in Fig. 3 for objective function M1 from where it is seen that both the algorithms are converging efficiently, but SKH algorithm quickly brings down the objective function to optimal value as compared to KH algorithm.

Fig. 2
figure 2

Minimum and maximum load bus voltages of various models for IEEE 14-bus system

Fig. 3
figure 3

Convergence characteristics with KH and SKH algorithms of M1 for IEEE 14-bus system

Table 4 Effect of control parameters of SKH method on minimum total production cost over 20 trials for IEEE 30-bus system
Table 5 Comparison of statistical results with other methods for IEEE 30-bus system
Table 6 Optimal control variables for all models of IEEE 30-bus system

5.2 IEEE 30-bus system (Test system 2)

The test system consists of six generators, 41 branches, and the system real power demand is 283.4 MW. It has 24 control variables, which include five unit active power outputs, six generators voltage magnitudes, four transformer taps and nine shunt branch capacitors. Voltage magnitudes of the generator buses are considered between [0.95, 1.1] p.u. The transformer taps are considered in the range between [0.9, 1.1] p.u. The load buses voltage magnitudes are considered in the range of [0.95, 1.05] p.u. The shunt capacitor values are lie between [0, 0.05] p.u. The information about the bus data, branch data and fuel cost coefficients have been taken from Ramesh and Premalatha (2015).

Table 7 Effect of control parameters of SKH method on minimum total production cost over 20 trials for IEEE 57-bus system
Table 8 Comparison of statistical results with other methods for IEEE 57-bus system
Table 9 Optimal control variables for all models of IEEE 57-bus system

To obtain the optimal combination of tuning parameters for IEEE 30-bus system, the minimum total production cost value over 20 independent trials with different combination of \(N^{\mathrm{max}}\), \(D^{\mathrm{max}}\), \(V_\mathrm{f} \), for single- and two-point crossover operators are calculated and details are mentioned in Table 4. From this table, it is identified that the single-point crossover gives better results compared with two-point crossover, and the optimal combination of these parameters to get the best performance of the proposed algorithm is \(N^{\mathrm{max}}=0.04\), \(V_\mathrm{f}=0.03\), \(D^{\mathrm{max}}=0.005\) with single-point crossover. The inertia weights \(\omega _\mathrm{n}\) and \(\omega _\mathrm{f}\) are set to 0.9 initially and later decreased linearly up to 0.1.

The IEEE 30-bus system has been solved with both KH and proposed SKH algorithms. With the selected SKH parameters, the minimum, the average, the worst values, the standard deviation (SD) and the execution time (ET) for the objective function models, M1 to M5 over 20 trials, are reported in Table 5. From this table, it is observed that the SKH algorithm obtained better optimal values compared to the other methods considered in this work. The optimal control variables computed using SKH along with the minimum total production cost (TPC) with and without valve point loading effect, active power loss (APL), L-index and emission pollution (EP) obtained are shown in Table 6 for all the objective models, M1 to M5 considered in this study. The minimum and maximum load bus voltage magnitudes obtained from all the objective function models shown in Fig. 4 confirm the compliance of voltage inequality constraints at all the load buses. The L-index values computed using SKH algorithm for objective models, M1 and M3, are 0.1382 and 0.1366, from which it can be perceived that the L-index value obtained for M3 lesser by 1.36 % in comparison with M1. Therefore, voltage stability is improved. Figure 5 illustrates the convergence characteristics attained using KH and SKH algorithms, from where it is observed that the SKH algorithm has fast convergence characteristics compared to KH algorithm.

5.3 IEEE 57-bus system (Test system 3)

The test system comprises of seven generators, 80 branch lines and 50 load buses. System real power demand is 1266.42 MW, and it has 33 control variables, in which six generators active power outputs, seven generator buses voltage magnitudes, seventeen transformer taps within the range of [0.9, 1.1] p.u., and three shut capacitors are lie between [0, .3] p.u. The voltage magnitudes of all the buses are considered in the interval [0.94, 1.06] p.u. The bus data, fuel cost coefficients and branch data are referred from Zimmerman et al. (2011).

Fig. 4
figure 4

Minimum and maximum load bus voltages of various models for IEEE 30-bus system

Fig. 5
figure 5

Convergence characteristics with KH and SKH algorithms of M1 for IEEE 30-bus system

For IEEE 57-bus system, the minimum total production cost value over 20 independent trials with different values of \(N^{\mathrm{max}}\), \(D^{\mathrm{max}}\), \(V_\mathrm{f} \), for single- and two-point crossover are mentioned in Table 7. It is observed that the single-point crossover gives better results compared with two-point crossover, and the optimal combination of these parameters to get the better performance of the proposed algorithm are \(N^{\mathrm{max}}=0.05\), \(V_\mathrm{f}=0.03\), \(D^{\mathrm{max}}=0.01\) with single-point crossover. The inertia weights \(\omega _n\) and \(\omega _\mathrm{f}\) are set to 0.9 initially and later decreased linearly up to 0.1.

The proposed SKH algorithm has been implemented for solving different objective function models mentioned in problem formulation. Table 8 shows the minimum, the average, the worst values, the SD and the ET obtained for the objective functions M1 to M4 over 20 independent trials; from these results, it is observed that the proposed algorithm outperforms all the other algorithms presented in the literature. The optimal set of control variables obtained with various models along with TPC, APL, L-index and EP values for M1 to M4 are furnished in Table 9. The minimum and maximum load bus voltage magnitudes in all the models are depicted in Fig. 6, from where it is proved that the proposed algorithm is capable of handling all the voltage constraints within their allowable limits. The variations of the TPC over iterations for KH and SKH algorithms are illustrated in Fig. 7. It is proved that the SKH algorithm converged faster and achieved better optimal result as compared to the KH algorithm. Figure 8 assesses the percentage of TPC savings of the SKH algorithm in comparison with other methods reported in the literature, which clearly indicates that the SKH algorithm provides highest cost savings compared with the other methods. All the above-mentioned results reveal that the proposed algorithm is superior and effective to solve all the single-objective OPF problems.

5.4 Sensitivity analysis

Further, sensitivity analysis is also conducted using the proposed SKH algorithm with the best tuning parameters of objective function M1 for IEEE 14-bus, IEEE 30-bus and IEEE 57-bus systems. After setting the perturbation of \(\pm 20\,\%\) in the tuning parameters giving better optimal value, the minimum, average and worst TPC values over 20 trials are given in Table 10. It is observed for IEEE 14-bus system, the maximum variations attained from the optimal TPC value 8080.7045 ($/h) are 0.0107, 0.0266 and 0.0441 % of minimum, average and worst TPC values, respectively. Similarly, for the IEEE 30-bus system, the maximum deviations achieved from the optimal TPC value 800.5141 ($/h) are 0.0125, 0.0301 and 0.0699 % of minimum, average and worst TPC values respectively. Moreover, for IEEE 57-bus system, the maximum variations obtained with respect to the optimal TPC value 41676.9152 ($/h) are 0.01, 0.0292 and 0.0488 % of minimum, average and worst TPC values, respectively. Hence, it can be identified that the obtained results are not much sensitive to the parameters variations.

6 Conclusion

Fig. 6
figure 6

Minimum and maximum load bus voltages of various models for IEEE 57-bus system

Fig. 7
figure 7

Convergence characteristics with KH and SKH algorithms of M1 for IEEE 57-bus system

Fig. 8
figure 8

Percentage of TPC savings of M1 for IEEE 57-bus system

Here, the new SKH algorithm is presented where the concept of SSC operator is augmented with the KH algorithm for improving the search process while solving the OPF problems. The SKH algorithm has been able to solve the OPF problems considering the minimization of total production cost, active power loss, L-index and emission pollution as objective functions. The most important privilege of the proposed SKH algorithm is obtaining better optimal solutions in less number of iterations compared with the KH algorithm. The effectiveness and robustness of the SKH algorithm have been tested on IEEE 14-bus, IEEE 30-bus and IEEE 57-bus systems. The algorithm has been successful in producing feasible and optimal solutions for the standard test systems. The results obtained with the proposed SKH algorithm confirmed the good quality of different OPF solutions in comparison with the other algorithms in the literature.

Table 10 Results obtained with SKH perturbed parameters for IEEE 14-bus, IEEE 30-bus and IEEE 57-bus systems