1 Introduction

The optimal power flow (OPF) proposed by Carpentier in 1962 is one of the challenges for economic operation of power systems [1] and it has attracted the attention of many scholars. The main purpose of the OPF problem is to determine the values of control variables (active power and voltage magnitude of generator buses, reactive power of shunt capacitors and tap setting of transformers) for minimum of objective function, while satisfying various physical and operational constraints in power systems. In recent years, due to the crisis of fossil fuel, energy conservation has become a big issue for power systems operation. The traditional OPF problem only takes the minimization of the fuel cost into consideration, thus leading to pollution emissions. Therefore, this paper applies multi-objective optimization method to deal with two-objective OPF problem (minimum of fuel cost and emission).

Many traditional optimization methods have been adopted to solve the OPF problem in the past decades, such as linear programming [2], nonlinear programming [3], Newton method [4], integer quadratic programming [5] and interior point method [6]. When dealing with single objective OPF problem, the traditional methods still have some drawbacks, such as limitation by the continuity and differentiability of objective function and constraints, slow convergence and trapping into local extremum.

Over the past few years, heuristic algorithms have been developed in the solution of large-scale nonconvex non-smooth constrained optimization problem [7,8,9,10]. Therefore, many scholars have also focused on the heuristic algorithm for the OPF problem, such as genetic algorithm [11, 12], particle swarm optimization [13], evolutionary programming [14], bacteria foraging algorithm [15], artificial bee colony algorithm [16], invasive weed optimization algorithm [17], gravitational search algorithm [18, 19] and differential evolution [20]. The results show that the heuristic algorithms have the superiority over the OPF problem. Recently, application of heuristic algorithms to solve multi-objective optimal power flow (MOPF) problem becomes a hotspot. Many researchers have solved the MOPF problem with heuristic algorithms, such as shuffle frog leaping algorithm [21], teaching–learning based optimization method [22], imperialist competitive algorithm [23], biogeography-based optimization method [24], improved artificial bee colony algorithm [25], multi-objective evolutionary algorithm based decomposition approach [26] and improved strength Pareto evolutionary algorithm [27]. The results demonstrate that the heuristic algorithms are still a promising way for solving the MOPF problem.

In 2010, Yang X. proposed a new heuristic search algorithm named bat algorithm (BA) [28]. Nowadays, BA has been successfully applied to many industrial fields [29,30,31,32,33,34], which shows that BA is a promising method for solving optimization problems. In our previous work, the MOPF problem has been solved by improved strength Pareto evolutionary algorithm (ISPEA2) [27]. In ISPEA2, improved strategies of environmental selection, external elite population update and local search are embedded in the original strength Pareto evolutionary algorithm. Although the ISPEA2 obtains less total cost and emissions than some other optimization methods for solving the MOPF problem, we find out that it is necessary to further study optimization method for achieving higher quality solutions. Therefore, this paper proposes an improved multi-objective bat algorithm (IMOBA) to solve the OPF problem based on the advantages of bat algorithm and the shortcomings of the traditional optimization methods. Compared with ISPEA2, the proposed IMOBA adopts different strategy to handle multiple objective functions in the OPF problem and it is easy to be implemented. Moreover, improvement of strategies in IMOBA and ISPEA2 are far apart from each other. The main novelties of this paper can be briefly summarized as follows. To our best knowledge, this may be the first try of BA to the solution of the MOPF problem. We equip BA with suitable constraint handling technique to solve complicated optimization problem. To enhance the feasibility of Pareto solutions of the MOPF problem, a mixed constraint handling technique is put forward. The mechanism applies both heuristic-adjusted procedure and penalty function to handle various complicated constraints of the MOPF problem. In order to obtain uniformly distributed Pareto solutions in objective space, the fixed weight coefficient is substituted by the self-adaptive inertia weight in BA. In addition, the switch of dynamic flight mode is adopted to modify the velocity update strategy during the evolutionary process, that is, three types of flight modes (normal searching mode, approaching mode and attacking mode) are designed for update of velocity. Finally, the improved BA integrates fuzzy logic approach to determine the compromise solution of Pareto set of the MOPF problem. Furthermore, the IEEE 57-bus test system is used to verify the performance of the improved bat algorithm for solving single-objective and multi-objective OPF problem. To verify the superiority of the proposed method, the results are compared with those of state-of-the-art optimization algorithms and the original bat algorithm. The comparison demonstrates that the proposed method can obtain solutions with higher quality and it is superior to other methods for solving the OPF problem.

The rest of this paper is organized as follows. The MOPF problem is formulated in Section 2. Overview of multi-objective optimization problem is described in Section 3. Section 4 presents the improved bat algorithm for solving the OPF problem. Case study is provided in Section 5. Section 6 gives the conclusions.

2 Formulation of multi-objective optimal power flow problem

In general, the mathematical model of the MOPF problem can be formulated as:

$$ Min\,\,J(x,u)=\left\{ {\,J_{1} (x,u),\,\cdots,J_{i} (x,u),\cdots ,J_{m} (x,u)\,} \right\} $$
(1)
$$ g_{i} (x,u)= 0,\quad i = 1,2,\cdots,KL $$
(2)
$$ h_{j} (x,u)\le 0,\quad j = 1,2,\cdots,HL $$
(3)

where J i (x, u) is the i-th objective function of the OPF problem; m is the number of objective functions; g i (x,u) and h j (x,u) represent the i-th equality constraint and the j-th inequality constraint, respectively; KL and HL are the number of equality and inequality constraints, respectively.

u is control variables including generator active power P G , generator voltage magnitude V G , reactive power of shunt compensator Q C and transformer tap setting T. It can be described as:

$$ u\,=\,\!\left[\!P_{G_{1}},\!\cdots\! P_{G_{N_{G}} },\!V_{G_{1}},\!\cdots\! V_{G_{N_{G}} },\!Q_{C_{1}},\!\cdots\! Q_{C_{N_{C}} },\!T_{1},\!\cdots\! T_{N_{T}} \right] $$
(4)

where N G is the number of generators; N C is the number of shunt compensators; N T is the number of transformers.

x is the dependent variables including active power of the slack bus \(P_{G_{1}} \), load bus voltage magnitude V L , generator reactive power Q G and transmission line loading S L :

$$ x\,=\,\left[P_{G_{1}},\;\!V_{L_{1}},\!\cdots\!,\!V_{L_{N_{L}} },Q_{G_{1}},\;\!\!\cdots\!,\!\!\;Q_{G_{N_{G}} },S_{L_{1}},\;\!\!\cdots\!,S_{L_{N_{L}} } \right] $$
(5)

where N L is the number of transmission lines.

2.1 Objective function

Two objective functions are composed of the total generation fuel cost and emissions of power systems.

2.1.1 Fuel cost function

The minimization of the total fuel cost of power systems can be described as:

$$ Min\;FC(x,\,u)=\sum\limits_{i = 1}^{N_{G}} {f_{i} (P_{G_{i}} )} $$
(6)

\(f_{i} (P_{G_{i}} )\) is the fuel cost of the i-th generator which can be expressed as:

$$ f_{i} (P_{G_{i}} )=a_{i} P_{G_{i}}^{2} +b_{i} P_{G_{i}} +c_{i} $$
(7)

where a i , b i , c i are the fuel cost coefficients of the i-th generator; \(P_{G_{i}} \) is the active power of the i-th generator.

2.1.2 Emission function

The minimization of NOX and SOX emissions in power systems per hour can be defined by:

$$ Min\;EM(x,\,u)=\sum\limits_{i = 1}^{N_{G}} {e_{i} (P_{G_{i}} )} $$
(8)
$$ e_{i} (P_{G_{i}} )=\gamma_{i} P_{G_{i}}^{2} +\beta_{i} P_{G_{i}} +\alpha_{i} +\sigma_{i} \exp (\lambda_{i} P_{G_{i}} ) $$
(9)

where e i is the amount of the i-th generator emission; α i , β i , γ i , ζ i , λ i are the emission coefficients of the i-th generator.

2.2 Constraints

2.2.1 Inequality constraints

  1. 1)

    Generator constraints

    The values of active power, reactive power and voltage magnitude of each generator in power systems should be restricted between their maximum and minimum values.

    $$ P_{G_{i}}^{\min} \le P_{G_{i}} \le P_{G_{i}}^{\max},\;\quad i = 1,2,\ldots,N_{G} $$
    (10)
    $$ Q_{G_{i}}^{\min} \le Q_{G_{i}} \le Q_{G_{i}}^{\max},\;\quad i = 1,2,\ldots,N_{G} $$
    (11)
    $$ V_{G_{i}}^{\min} \le V_{G_{i}} \le V_{G_{i}}^{\max},\;\quad i = 1,2,\ldots,N_{G} $$
    (12)

    where \(P_{G_{i}}^{\min } \) and \(P_{G_{i}}^{\max } \) are the minimum and maximum active power limits of the i-th generator; \(Q_{G_{i}} \) is the reactive power of the i-th generator; \(Q_{G_{i}}^{\min } \) and \(Q_{G_{i}}^{\max } \) are the minimum and maximum reactive power limits of the i-th generator; \(V_{G_{i}} \) is the voltage of the i-th generator; \(V_{G_{i}}^{\min } \) and \(V_{G_{i}}^{\max } \) are the minimum and maximum voltage limits of the i-th generator.

  2. 2)

    Reactive compensation constraints

    $$ Q_{C_{i}}^{\min} \le Q_{C_{i}} \le Q_{C_{i}}^{\max} \,,\quad i = 1,2,\cdots,N_{C} $$
    (13)

    where \(Q_{C_{i}} \) is the reactive power injection by the i-th shunt compensator; \(Q_{C_{i}}^{\min } \) and \(Q_{C_{i}}^{\max } \) are the minimum and maximum reactive power injection limits of the i-th shunt compensator.

  3. 3)

    Transformer tap-setting constraints

    $$ T_{i}^{\min} \le T_{i} \le T_{i}^{\max},\;\quad i = 1,2,\ldots,N_{T} $$
    (14)

    where T i is the tap-setting of the i-th transformer; \(T_{i}^{\min } \) and \(T_{i}^{\max } \) are the minimum and maximum tap-setting limits of the i-th transformer.

  4. 4)

    Load bus voltage constraints

    $$ V_{L_{i}}^{\min} \le V_{L_{i}} \le V_{L_{i}}^{\max} \,,\quad i = 1,2,\cdots,N_{TL} $$
    (15)

    where \(V_{L_{i}} \) is the voltage of the i-th load bus; \(V_{L_{i}}^{\min } \) and \(V_{L_{i}}^{\max } \) are the minimum and maximum voltage limits of the i-th load bus; N T L is the number of load buses.

  5. 5)

    Power flow of transmission line constraints

    Considering the security of power systems, each transmission line has maximum power flow.

    $$ S_{L_{i}} \le S_{L_{i}}^{\max},\;\quad i = 1,2,\ldots,N_{L} $$
    (16)

    where \(S_{L_{i}} \) is the transmission line loading of the i-th branch; \(S_{L_{i}}^{\max } \) is the maximum apparent power flow limit of the i-th branch.

2.2.2 Equality constraints

  1. 1)

    Power flow equations

    The active power and reactive power of each bus in power systems should satisfy power flow equations:

    $$ P_{G_{i}} -P_{D_{i}} =V_{i} \sum\limits_{j = 1}^{N_{B}} {V_{j}} \left( {G_{ij} \cos \theta_{ij} +B_{ij} \sin \theta_{ij}} \right) $$
    (17)
    $$ Q_{G_{i}} -Q_{D_{i}} =V_{i} \sum\limits_{j = 1}^{N_{B}} {V_{j}} \left( {G_{ij} \sin \theta_{ij} -B_{ij} \cos \theta_{ij}} \right) $$
    (18)

    where \(P_{G_{i}} \) and \(Q_{G_{i}} \) are the active and reactive power at bus i; \(P_{D_{i}} \) and \(Q_{D_{i}} \) are the active and reactive power loads at bus i; G i j and B i j are respectively the conductance and susceptance of the transmission line connecting the i-th bus and the j-th bus; V i and V j are the voltage magnitudes of bus i and bus j; 𝜃 i j is the difference of voltage phase angle between bus i and bus j.

  2. 2)

    Power balance equation

    $$ \sum\limits_{i = 1}^{N_{G}} {P_{G_{i}} } =P_{load} \,+\,P_{loss} $$
    (19)

    where P l o a d is the total load of the system; P l o s s is the total network loss.

3 Overview of multi-objective optimization problem

A multi-objective optimization problem can be mathematically described as [35]:

$$ Min\,\,F(x)=\left\{ {\,f_{1} (x),\,f_{2} (x),\cdots,f_{m} (x)\,} \right\} $$
(20)

where f i (x) is the i-th objective function; x is the decision variable and m is the number of objective functions.

3.1 Pareto set

As there are many conflict objectives in multi-objective optimization problem, an optimal solution of a certain objective may be the worst solution for other objectives. The improvement of one objective will deteriorate another objective simultaneously [36]. Assuming x 1 and x 2 are two solutions of a multi-objective optimization problem, when each objective function value of x 1 is not worse than that of x 2, and x 1 can find at least one objective better than the corresponding one of x 2, namely, the (21) and (22) are satisfied, we can say solution x 1 dominates solution x 2, expressed as x 1x 2 [37].

$$ \forall \,i\in \{1,2,\cdots,m\}:\;f_{i} (x_{1} )\le f_{i} (x_{2} ) $$
(21)
$$ \exists \,j\in \{1,2,\cdots,m\}:\;f_{j} (x_{1} )<f_{j} (x_{2} ) $$
(22)

For a given multi-objective problem, the Pareto solution (or the non-dominated solution) x* can be defined as: x* is a feasible solution and there are no other solutions that dominate x* in the feasible region Ω [38]:

$$ \neg \exists \,x_{k} \in {\Omega} :\,\;x_{k} \succ \,x\ast $$
(23)

where Ω is the feasible region of multi-objective optimization problem.

All Pareto solutions x* form Pareto set (PS), which can be expressed as:

$$ PS=\left\{ {\,x\ast \in {\Omega} \,\,\left| {\,\neg \exists \,y\in {\Omega} \,,\,\,F(y)\succ \,F(x\ast} \right.)} \right\} $$
(24)

Another important concept is Pareto front, which is represented by PF. It is the set of the values of objective functions corresponding to the Pareto solutions in PS [39]:

$$ PF=\left\{ {F(x)=\{f_{1} (x),f_{2} (x),\cdots,f_{m} (x)\}\vert x\in PS} \right\} $$
(25)

3.2 Compromise solution

After having found the Pareto set, the decision maker should choose a compromise solution. Fuzzy set theory is applied to determine compromise solution. The corresponding procedures can be described as follows.

  1. Step 1:

    Record the maximum value \(F_{i}^{{\max }}\) and minimum value \(F_{i}^{{\min }}\) of the i-th objective function after searching over the Pareto set.

  2. Step 2:

    Use (26) to calculate \(u_{\mathrm {i}}^{k} \) for the k-th non-dominated solution.

    $$ u_{\mathrm{i}}^{k} =\left\{ {{\begin{array}{ll} 1& if\,F_{i} <F_{i}^{\min} \hfill \\ \frac{F_{i}^{\max} -F_{i}} {F_{i}^{\max} -F_{i}^{\min} }&if\,F_{i}^{\min} \le F_{i} \le F_{i}^{\max} \hfill \\ 0&if\,F_{i} >F_{i}^{\max} \quad \hfill \end{array}} } \right. $$
    (26)
  3. Step 3:

    Equation (27) is adopted to normalize \(u_{\mathrm {i}}^{k} \) for the k-th non-dominated solution.

    $$ U^{k}=\frac{\sum\limits_{i = 1}^{N} {{u_{i}^{k}}}} {\sum\limits_{k = 1}^{M} {\sum\limits_{i = 1}^{N} {{u_{i}^{k}}} } } $$
    (27)

    where N and M are the number of objective functions and Pareto solutions, respectively.

After implementing the above steps, the values of U k for all non-dominated solutions can be obtained. The one with the maximum U k in Pareto set is chosen as the compromise solution of the MOPF problem.

4 Improved multi-objective bat algorithm and application to the MOPF problem

4.1 Multi-objective optimization bat algorithm

4.1.1 Overview of bat algorithm

The bat algorithm (BA) proposed by Yang in 2010 is a bionics algorithm [28], which is derived from simulation of the bat’s foraging behavior by echolocation. The bat is the flying mammal, which has the amazing echolocation ability for navigating and searching for prey. During the process of prey searching, a bat releases a series of loud ultrasound waves. According to the echoes, it uses time delay of two ears and the loudness variation to identify the prey position in searching space. In BA, the similar searching mechanism is employed to solve the following optimization problem.

$$ \begin{array}{l} \min \,F(X) \\ \text{s.t.}\,X\in R^{D} \end{array} $$
(28)

Assume X i = (x i,1,x i,2,…,x i,D ) is a feasible solution, which is represented by a bat in BA, the first step randomly generates N bats in searching space R D:

$$\begin{array}{@{}rcl@{}} x_{i,j}&=&x_{j}^{min}+rand\left( 0,1 \right)\times \left( x_{j}^{max}-x_{j}^{min} \right)\\ i&=&1,2,\ldots,N;j = 1,2,\ldots,D \end{array} $$
(29)

where N is the number of bats; D is the number of variables; \(x_{j}^{\max }\) and \(x_{j}^{\min }\) are the maximum and minimum limit values of the j-th variable, respectively.

After initialization of each bat, the bats begin their movement for the prey using the way of echolocation. The movement of each bat can be described as follows.

$$ {Q_{i}^{t}} =Q_{\min} +(Q_{\max} -Q_{\min} )\cdot rand(0,1) $$
(30)
$$ v_{ij}^{t + 1} =v_{ij}^{t} +(x_{ij}^{t} -x_{best,j} )\cdot Q_{ij}^{t} $$
(31)
$$ x_{i}^{t + 1} ={x_{i}^{t}} +v_{i}^{t + 1} $$
(32)

where Q i is the corresponding frequency of the i-th bat; Q m a x and Q m i n are the values of frequency limit; rand(0,1) is a random number in the range of 0 and 1; \({v_{i}^{t}} \) and \({x_{i}^{t}} \) are respectively the velocity and position of the i-th bat at time t; x b e s t is the best position of the current bat.

According to (30), each bat is randomly assigned a frequency. Using the frequency, the position \({x_{i}^{t}} \) at time t and the current optimal position x b e s t , we can get the velocity \(v_{i}^{t + 1} \) of the i-th bat at time t + 1 with (31). After getting \(v_{i}^{t + 1} \), the position of the i-th bat will be updated using (32).

After the position update is carried out on all bats, random walk is employed to search optimal solution locally. The current optimal bat begins the local search by using the loudness and random walk.

$$ x^{t}=x_{best}^{t} +\varepsilon \cdot A^{t} $$
(33)

where ε is a random number and ε ∈ (− 1,1); A t is the loudness at time t.

It should be noticed that the local search controlled by the loudness A t is launched with the probability r i , which is called the pulse emission rate in BA. A random number in the range of 0 and 1 is generated and compared with the pulse emission rate. If the former is larger, then they begin search locally using (33); otherwise, the current optimal bat position x b e s t does not change. So the loudness A t decides the random walk range of the local search, and whether to begin local search depends on the pulse emission rate r i . In nature, after a bat finds the prey, the loudness will decrease while the pulse emission rate will increase. The variations of two parameters in BA imitate bat’s behavior in nature, and the variation of two parameters can be depicted as:

$$ A_{i}^{t + 1} =\alpha \cdot {A_{i}^{t}} $$
(34)
$$ r_{i}^{t + 1} =r^{0}\cdot [1-\exp (-\gamma t)] $$
(35)

where α and γ are two constants in the range of 0 and 1.

4.1.2 Approach of bat algorithm to multi-objective optimization problem

The key idea of BA for solving multi-objective optimization problem is to convert multiple objective functions into a single objective function with weighted method.

$$ f_{sum} =\omega_{1} \cdot f_{1} +\omega_{2} \cdot f_{2} +{\cdots} +\omega_{N} \cdot f_{N} $$
(36)

where f s u m is the weight of all objective functions; ω i is weight coefficient of the i-th objective function, and it must satisfy ω 1 + ω 2 + ⋯ + ω N = 1 and 0 < ω i < 1; N is number of objective functions.

Each of weight coefficient ω i can be either generated randomly between (0, 1) or generated with uniform distribution. This paper generates ω 1 and ω 2 as follows.

$$ \omega_{1} =\frac{k}{N_{pareto}},\quad \quad \omega_{2} = 1-\omega_{1} $$
(37)

where N p a r e t o is the total number of Pareto solutions; k is an integer variable in the range of 1 and N p a r e t o , which is used to calculate the k-th Pareto solution. According to (37), ω 1 increases from 1/ N p a r e t o to 1 and ω 2 decreases from (\(1{-}\frac {1}{N_{pareto}}\)) to 0.

4.2 Improvement strategies of multi-objective optimization bat algorithm

The velocity update strategy in multi-objective optimization bat algorithm (MOBA) plays an important role in optimization process. The velocity update strategy in the traditional BA only considers the best position information without using the population information, which may either trap into local extremum or be slow convergence. In order to overcome the shortcomings of MOBA, this paper proposed an improved multi-objective bat algorithm (IMOBA). In IMOBA, two ways of improvement have been put forward: (i) add self-adaptive inertia weight to velocity update rule so as to fully utilize population information; (ii) dynamic flight mode is applied to modify velocity update strategy. In IMOBA, three types of flight modes are designed for velocity update strategy: searching mode, approaching mode and attacking mode.

4.2.1 Self-adaptive inertia weight strategy

To dynamically adjust the change of velocity with the best position information, this study adds self-adaptive inertia weight to the rule of velocity update. The adjustment method is as follows. When the bat is far away from the prey, the bat flies at a relatively faster speed (using a larger inertia weight coefficient) so as to be close to the prey as soon as possible. While the bat is close to the prey, it will use a relatively slower flight speed (smaller inertia weight coefficient) so as to gradually approach and capture the prey (finding the optimal solution). After using the self-adaptive inertia weight for update of velocity, the bat can dynamically adjust its flight speed and direction in the prey searching process.

The strategy of velocity update by adding the self-adaptive inertia weight can be described as:

$$ v_{ij}^{t + 1} =\mu_{ij} \cdot v_{ij}^{t} +(x_{ij}^{t} -x_{best,j} )\cdot Q_{ij}^{t} $$
(38)
$$ \mu_{ij}^{t} =\mu_{0} \cdot \left( 1-\exp \left( -k\cdot \left| {x_{ij}^{t-1} -x_{best,j}^{t-1}} \right|\right)\right) $$
(39)

where μ i j is the self-adaptive inertia weight; k is the amplitude of regulating coefficient.

4.2.2 Dynamic flight mode

  1. 1)

    Normal searching mode

    In this mode, the bats do not find the prey and they only search around their own best region by memory. The strategy of velocity update can be shown as:

    $$ v_{ij}^{t + 1} =\mu_{ij} \cdot v_{ij}^{t} +(x_{gj} -x_{ij}^{t-1} )\cdot Q_{ij}^{t} $$
    (40)

    where μ i j is the self-adaptive inertia; x g j is the j-th coordinate of the best position found so far.

  2. 2)

    Approaching mode

    When a bat finds the prey which does not reach the attacking position, the bat will fly directly to approach it, which can be described as follows.

    $$ v_{ij}^{t + 1} =\mu_{ij} \cdot v_{ij}^{t} +c\cdot rand(0,1)\cdot (x_{ij}^{t} -x_{best,j} ) $$
    (41)

    where c is velocity regulation factor.

  3. 3)

    Attacking mode

    When a bat arrives at the attacking position of the prey, it will adopt a flexible way to attack the prey in order to increase the probability of the capture for the prey.

    $$ \left\{ {{\begin{array}{*{20}c} {v_{ij}^{t + 1} =x_{best,k}} \hfill \\ {x_{ij}^{t + 1} =v_{ij}^{t + 1}} \hfill \end{array}} } \right. $$
    (42)

    where k is a random integer.

In IMOBA, the flight mode switch basis is proposed to implement three flight modes alternately. Before presenting the switch basis, a parameter should be defined.

$$ \psi_{i} =\left| {\left| {x_{best} -x_{i}} \right|} \right|,\quad q_{i} =\psi_{i} /\sum\limits_{j = 1}^{popsize} {\psi_{j}} $$
(43)

The larger the distance between the bat i and the best position is, the larger q i will be given. The flight mode switch basis can be determined as follows.

  1. (i)

    If q i > β, the bat will select the searching mode to update velocity.

  2. (ii)

    If |t/ T m a x − 0.5|β < q i < β, the bat will select the approaching mode to approach the prey.

  3. (iii)

    If q i < C|t/T m a x − 0.5|β, the bat will select the attacking mode to attack the prey.

4.3 Application of IMOBA in the MOPF problem

4.3.1 Handling constraints

When using IMOBA to solve the MOPF problem, the control variables are represented by the bats. First, the power flow should be calculated before calculating the objective functions. Secondly, the equality and inequality constraints of the MOPF problem should be satisfied. For the equality constraints (17) and (18), the Newton-Raphson method is adopted to calculate the power flow, whose calculation steps are shown in Fig. 1.

Fig. 1
figure 1

Flow chart of Newton-Raphson power flow calculation method

The penalty function method is applied to handle the inequality constraints. The penalty function is formed as follows.

$$ J_{aug} =f_{o} +f_{p} $$
(44)

where f o is the objective function in (36); f p is the penalty term considering the dependent variables constraints, which can be defined as follows.

$$\begin{array}{@{}rcl@{}} f_{p} \!&=&\!k_{P} \left( {P_{G1} \,-\,P_{G1}^{lim}} \right)^{2}\,+\,k_{Q} \sum\limits_{i = 1}^{N_{G}} {\left( {Q_{Gi} \,-\,Q_{Gi}^{lim}} \right)^{2}}\\ &&+k_{V} \sum\limits_{i = 1}^{N_{L}} {\left( {V_{Li} \,-\,V_{Li}^{lim}} \right)^{2}} \,+\,k_{S} \sum\limits_{i = 1}^{N_{L}} {\left( {S_{Li} \,-\,S_{Li}^{lim}} \right)^{2}} \end{array} $$
(45)

where k P , k Q , k V and k S are the penalty coefficients; x lim is the maximum or minimum value of the corresponding dependent variable, which can be defined as:

$$ x^{lim}=\left\{ {{\begin{array}{*{20}c} {x^{\max} \quad if\;x>x^{\max} } \hfill \\ {x^{\min} \quad if\;x<x^{\min} } \hfill \end{array}} } \right. $$
(46)

After finishing the power flow calculation and the penalty function process, calculation of objective functions is shown in Fig. 2.

Fig. 2
figure 2

Flow chart of the OPF objective function calculation

4.3.2 Implementation procedures of IMOBA for the MOPF problem

The main steps of IMOBA for solving the MOPF problem can be summarized as follows.

  1. Step 1.

    Initialize the parameters of IMOBA; let the calculation time k = 1 and use (37) to generate ω 1 and ω 2.

  2. Step 2.

    Generate the initial population and let the iteration time i = 0.

  3. Step 3.

    Perform the active power balance treatment shown in Fig. 3. Calculate power flow with Newton-Raphson method; then record the dependent variables.

  4. Step 4.

    Put into the corresponding control variables to fuel cost function and emission function; then use the weighted method to combine two functions together as a single objective function. Use the penalty function method to calculate each bat’s objective function, and compare them to find the best position of the current bat.

  5. Step 5.

    Initialize the pulse emission rate, and calculate the self-adaptive inertia weight μ i j for each bat. Use the flight mode switch basis to choose the flight mode and update the bat’s position.

  6. Step 6.

    Generate a random number r 1. If r 1 > r i , perform random walk around the best bat, and update the position of the best bat based on the random walk.

  7. Step 7.

    Generate a random number r 2. If r 2 > A i and the bat’s position is improved, replace the old position with the new one.

  8. Step 8.

    When the condition of Step7 is satisfied, (34) and (35) are used to update the loudness and the pulse emission rate; otherwise, ignore Step 8.

  9. Step 9.

    Record the current optimal solution; if i < Maxiter, go to Step 3; otherwise, go to Step 10.

  10. Step 10.

    Update the two weights using (37) and use weighted method to calculate the next Pareto solution.

  11. Step 11.

    k = k + 1. If k = N p a r e t o , output the Pareto front and the corresponding control variables; otherwise, go to Step 3.

Fig. 3
figure 3

Flow chart of the active balance equation calculation

5 Case study

In this section, case study is carried out to investigate the performance of the proposed IMOBA for solving the OPF problem. The IEEE 57-bus test system is selected to validate the effectiveness of the IMOBA. All simulations are implemented in MATLAB on a laptop with 2.8 GHz Intel Core i5-3360 CPU and 8GB RAM. The main parameters of the IMOBA are set as: Popsize = 20, Q m a x = 2, Q m i n = 0, α = 0.9, γ = 0.9, Maxiter = 200 and N p a r e t o = 30.

5.1 System data

The IEEE 57-bus system has seven generators placed on the buses 1, 2, 3, 6, 8, 9, and 12. Seventeen transformers are equipped in the system, and three reactive power compensators are respectively installed in the buses 18, 25, 53. The ranges of transformer ratios are 0.9–1.1p.u., and each reactive compensator capacity is 30 MVA. The ranges of the bus voltage amplitude are 0.94–1.06p.u. The total active power load is 12.508p.u. with 100MVA base power. The topology and other data of the IEEE 57-bus system can be seen in Reference [21].

5.2 Single-objective OPF problem

In this case, the comparison between various methods is carried out to verify the performance of the IMOBA for solving single-objective OPF problem. Each objective function is deliberated individually. IEEE 57-bus test system is implemented with the IMOBA and original MOBA. During the simulation, 10 independent trails are executed and the best solution is found for single-objective OPF problem. In order to show the competitiveness of the proposed approach, IMOBA is compared with other algorithms reported in literature [22, 23, 25]. These algorithms involve artificial bee colony algorithm (ABC), improved ABC (IABC), cat swarm optimization (CSO), teaching-learning-based optimization algorithm (TLBO), modified TLBO method (MTLBO), genetic algorithm (GA), particle swarm optimization (PSO), differential evolution (DE) and imperialist competitive algorithm (ICA).

The best minimization of fuel cost and emission solutions obtained by the IMOBA in 10 trials is given in Tables 1 and 2. The results indicate that the application of IMOBA leads to 41673 $/h fuel cost and 1.0656 ton/h emission. By examining the results in Tables 1 and 2, it turns out that the best fuel cost and emission calculated by IMOBA are less in comparison with reported results in literatures and other algorithms. The critical performance indexes for all algorithms such as minimization fuel cost (Min), mean fuel cost (Mean), maximum fuel cost (Max), and the corresponding standard deviation for 10 independent runs are also shown in Tables 1 and 2. To illustrate the convergence characteristics of IMOBA and original MOBA, the minimum objective values of single fuel cost and single emission over 200 iterations are plotted in Fig. 4. As shown in Fig. 4, IMOBA has faster convergence rate than the original MOBA.

Table 1 Comparison of the results for minimization of the total fuel cost with different methods
Table 2 Comparison of the results for minimization of the total emission with different methods
Fig. 4
figure 4

Convergence characteristics of the IMOBA and MOBA algorithm. a The total fuel cost; b the total emissionss

In a word, it is clear that the proposed IMOBA has better performance for solving the OPF problem in comparison with other algorithms reported in literatures. The superiority of the proposed IMOBA is obvious and obtains better results.

5.3 Multi-objective OPF problem

In this case, the proposed IMOBA is employed to solve the MOPF problem where the total fuel cost and the total emissions are deliberated as objective functions. In order to demonstrate the effectiveness of IMOBA, the results are compared with those of SPEA2, NSGA2 and MOBA. The Pareto front of IMOBA is compared with the above three algorithms shown in Fig. 5, from which we can clearly find that the Pareto front of IMOBA gives better distributed Pareto solutions. The Pareto front of the IMOBA totally lies inside the concave portion of other Pareto fronts. The corresponding compromise solution of IMOBA, SPEA2, NSGA2, MOBA and other algorithms reported in literature [22, 25, 27] are listed in Table 3, which indicates obviously that the compromise solution of IMOBA dominates other algorithms. Therefore, the compromise solution of IMOBA is the best solution among all algorithms.

Fig. 5
figure 5

Comparison of Pareto front for different methods

Table 3 Comparison of compromise solution for different algorithms

The index of C-Metric is presented to further check the calculation performance and superiority of IMOBA for solving the MOPF problem. The C-Metric is mainly applied to evaluate the degree of which one multi-objective optimization algorithm dominates another one. Suppose A 1 and A 2 are the Pareto sets of two different multi-objective algorithms, the C-Metric of A 1 and A 2 is defined as the ratio of the total number of solutions in A 2 which dominates solutions in A 1 and the number of A 2. The formula of C-Metric is expressed as [40].

$$ C(A_{1},A_{2} )=\frac{\left| {a_{2} \in A_{2},\exists a_{1} \in A_{1} :a_{1} <a_{2}} \right|}{\left| {A_{2}} \right|} $$
(47)

Table 4 shows the C-Metric values of IMOBA and other algorithms, which indicates that there is no solutions in SPEA2, NSGA2, and MOBA dominate solutions in IMOBA. Therefore, the IMOBA obtains superior Pareto set.

Table 4 C-Metric of IMOBA with other algorithms

To study the robustness of IMOBA for the IEEE 57-bus system, IMOBA is employed to solve the MOPF problem for ten independent trials in succession. Then it makes statistics for compromise solution of the Pareto set. The ultimate Pareto set is determined by choosing the best compromise solution in ten trials. Figure 6 shows the distribution of compromise solutions for ten repetitions. It is clear that the IMOBA has good robustness for solving the MOPF problem.

Fig. 6
figure 6

Compromise solutions of objective functions distribution for 10 trials: a The total fuel cost; b The total emissions

6 Conclusions

An improved multi-objective optimization bat algorithm (IMOBA) is proposed to solve two-objective OPF problem. The proposed method is effectively implemented on the IEEE 57-bus system to deal with the OPF problem. In order to demonstrate the effectiveness and superiority of the proposed IMOBA method, the results are compared with other optimization algorithms reported in the literatures and the original MOBA algorithm. From the comparison results, we can conclude that the IMOBA has good performance when solving the OPF problem. The Pareto front distributes well and the diversity characteristic is satisfactory. According to the analysis, the IMOBA has good robustness and better distribution of Pareto front for solving the OPF problem.