Keywords

1 Introduction

Load flow solutions are needed for planning and operation of power system. In planning and operation, the voltage profile, power transfer from one branch to another, reactive power and line losses etc. are analyzed. Load flow analysis is required to plan new network or extending the existing network by adding new generator sites, satisfying increase load demands and locating new transmission lines. The load flow equations, which are non linear in nature, are generally solved by Newton–Raphson, Gauss Siedel and Fast Decoupled methods [1]. The Newton–Raphson (NR) method is very popular and mostly used to solve load flow equations due to high convergence rate, but it has some limitations also for e.g. its performance is dependent on initial values of the network, difficult to determine the normal operating solutions and large complex power system [2].

Researchers are continuously working to improve the accuracy of load flow problem solutions [36]. Meta-heuristic search methods have also been applied to solve the load flow and parameter estimation problems [710]. Kim et al. [2] applied Genetic algorithm (GA) to solve the load flow problem. They generated, both normal solution and abnormal solution for the heavy load network using GA. Mohmood and Kubba [11] also applied GA to solve multiple load flow solution problem. In their proposed work, five busbars typical test system and 362-bus Iraqi National Grid are used to demonstrate the efficiency and performance of the proposed method. Wong and Li [12] proposed a new genetic-based algorithm, namely GALF for solving the load-flow optimization problem. The main objective of the proposed algorithm is to minimize the total mismatch in the nodal powers and voltages. Through extensive experiments, they claimed that GALF successfully determined both normal and abnormal solutions with mismatches in the vicinity of zero. El-Dib et al. [13] applied hybrid particle swarm optimization algorithm to solve the load flow problem. Further, Esmin et al. [14] proposed a new variant of PSO and applied it to solve loss minimization based optimal power flow problem. Dan Cristian et al. [15] applied PSO to obtain the optimal power flow and for transmission expansion planning of the network. Salomon et al. [16] also proposed a PSO based method for load flow problem. In their proposed methodology, the objective function is based on the minimization of power mismatches in the system buses. Esmin and Lambert-Torres [4] also used PSO to determine control variable settings, such as the number of shunts to be switched, for real power loss minimization in the transmission system.

In this paper, swarm intelligence based algorithms, namely artificial bee colony (ABC) [17] and Gbest-guided artificial bee colony (GABC) [18] algorithms have been used to solve load flow problem of 5 bus network. Through, simulation on 5 bus system, it is shown that GABC algorithm gives better result than the ABC and NR method.

The paper is further organized as follows: Sect. 2 formulate the load flow problem as an optimization problem. ABC algorithm and its advanced variant, namely GABC algorithm are described in Sect. 3. Section 4 shows the experimental results for the five bus network. At last, in Sect. 5, paper is concluded.

2 Formulation of Load Flow as an Optimization Problem

The load flow equations are simply the power balance equations at each bus, both active and reactive powers. The power balance equation expresses the fact that there are no power lose in any bus, which means that the input power to a bus equals the output power from that bus. Therefore, the objective of the load flow is to find the voltage magnitudes and angles of the different system buses that minimize the difference between the input power and the output power from the bus. So the load flow problem can be formulated as an optimization problem.

The load flow problem is solved by taking a single phase model and it is assumed to be operating under balanced condition. There are four quantities associated with each bus. These are voltage V, phase angle δ, real power P and reactive power Q. Buses in the power system are classified into three categories [1] as:

  • Slack Bus: This bus is also known as swing bus and taken as reference bus. The magnitude of voltages and phase angles are specified.

  • Generator Bus (PV): The real power and voltage magnitude are specified, while the phase angle and reactive power are unknown.

  • Load bus (PQ): The active and reactive powers are specified. The magnitude and phase angle of the bus voltage are unknown.

Consider that there are total n number of nodes in a power system network. At any node i, the nodal active power P i and reactive power Q i are given by [19]:

$$ P_{i} \, = \,E_{i} \sum\limits_{j = 1}^{n} (G_{ij} E_{j} - B_{ij} F_{j} ) + F_{i} \sum\limits_{j = 1}^{n} (G_{ij} F_{j} + B_{ij} E_{j} ),\forall i = 1,\,2,\,3 \ldots n $$
(1)
$$ Q_{i} = F_{i} \sum\limits_{j = 1}^{n} (G_{ij} E_{j} - B_{ij} F_{j} ) - E_{i} \sum\limits_{j = 1}^{n} (G_{ij} F_{j} + B_{ij} E_{j} ),\forall i = 1,\,2,\,3 \ldots n $$
(2)

where G ij and B ij are the (ij) element of the admittance matrix. The bus admittance matrix Y bus is in order of (n × n), where n is the number of buses. E i and F i are real and imaginary part of the voltage at node i. The magnitude of voltage V i is calculated as,

$$ V_{i} = \sqrt {E_{i}^{2} + F_{i}^{2} } $$
(3)

The unknown variables in the network are,

  • At PQ nodes, voltages are unknown and the differences in active and reactive powers are given by

$$ \varDelta P_{i} = |P_{i}^{sp} - P_{i} | $$
(4)
$$ \varDelta Q_{i} = \left| {Q_{i}^{sp} - Q_{i} } \right| $$
(5)
  • At PV nodes, the reactive power, real and imaginary parts of the voltage are unknown but the magnitude of voltage is known, so the difference in voltages can be calculated as follows

$$ \varDelta V_{i} = \left| {V_{i}^{sp} - V_{i} } \right| $$
(6)

As a balanced network system requires the differences, shown in Eqs. (4), (5) and (6), to be zero, therefore to meet the required condition, the unknown variables at PQ and PV nodes are calculated and respective values are assigned in Eqs. (4) to (6). The load flow problem is formulated as an optimization problem and the designed objective function is described below [19]:

$$ {\text{Minimize}}\,H = \sum\limits_{{i \in n_{PQ} + n_{PV} }} \left| {P_{i}^{sp} - P_{i} } \right|^{2} + \sum\limits_{{i \in n_{PQ} }} \left| {Q_{i}^{sp} - Q_{i} } \right|^{2} + \sum\limits_{{i \in n_{PV} }} \left| {V_{i}^{sp} - V_{i} } \right|^{2} $$
(7)

where n PQ and n PV are the total number of PQ and PV nodes respectively.

3 Artificial Bee Colony (ABC) Algorithm

In ABC, honey bees are classified into three groups namely employed bees, onlooker bees and scout bees. The number of employed bees are equal to the onlooker bees. The employed bees are the bees which searches the food source and gather the information about the quality of the food source. Onlooker bees stay in the hive and search the food sources on the basis of the information gathered by the employed bees. The scout bee, searches new food sources randomly in place of the abandoned foods sources. Similar to the other population-based algorithms, ABC solution search process is an iterative process. After, initialization of the ABC parameters and swarm, it requires the repetitive iterations of the three phases namely employed bee phase, onlooker bee phase and scout bee phase. Each of the phase is described as follows:

3.1 Initialization of the Swarm

Initially, a uniformly distributed swarm of SN food sources where each food source x i (i = 1, 2, …, SN) is a D-dimensional vector is generated. Here D is the number of variables in the optimization problem and x i represent the ith food source in the swarm. Each food source is generated as follows:

$$ x_{ij} = x_{min\,j} + rand[0,1]\,(x_{max\,j} - x_{min\,j} ) $$
(8)

here x min j and x max j are bounds of x i in jth direction and rand[0, 1] is a uniformly distributed random number in the range [0, 1].

3.2 Employed Bee Phase

The position update equation for ith candidate in this phase is

$$ v_{ij} = x_{ij} + \phi_{ij} (x_{ij} - x_{kj} ) $$
(9)

here k ∊ {1, 2, …, SN} and j ∊ {1, 2, …, D} are randomly chosen indices. k must be different from i. \( \phi_{ij} \) is a random number between [−1, 1]. After generating new position, a greedy selection is applied between the newly generated position and old one and the better one position is selected.

3.3 Onlooker Bees Phase

In this phase, the fitness information (nectar) of the new solutions (food sources) and their position information is shared by all the employed bees with the onlooker bees in the hive. Onlooker bees analyze the available information and selects a solution with a probability prob i related to its fitness, which can be calculated using following expression (there may be some other but must be a function of fitness):

$$ prob_{i} (G) = \frac{{0.9 \times fitness_{i} }}{max\,fit} + 0.1, $$
(10)

here fitness i is the fitness value of the ith solution and max fit is the maximum fitness amongst all the solutions. As in the case of employed bee, it produces a modification on the position in its memory and checks the fitness of the new solution. If the fitness is higher than the previous one, the bee memorizes the new position and forgets the old one.

3.4 Scout Bees Phase

A food source is considered to be abandoned, if its position is not getting updated during a predetermined number of cycles. In this phase, the bee whose food source has been abandoned becomes scout bee and the abandoned food source is replaced by a randomly chosen food source within the search space. In ABC, predetermined number of cycles is a crucial control parameter which is called limit for abandonment.

Assume that the abandoned source is x i . The scout bee replaces this food source by a randomly chosen food source which is generated as follows:

$$ x_{ij} = x_{min\,j} + rand\,[0,1](x_{max\,j} - x_{min\,j} ){\kern 1pt} ,\;for\;{\kern 1pt} j \in \{ 1,\,2,\, \ldots ,\,D\} $$
(11)

where x min j and x max j are bounds of x i in jth direction.

3.5 Main Steps of the ABC Algorithm

Based on the above explanation, it is clear that the ABC search process contains three important control parameters: The number of food sources SN (equal to number of onlooker or employed bees), the value of limit and the maximum number of iterations. The pseudo-code of the ABC is shown in Algorithm 1 [20].

In 2010, Zhu and Kwong [18] proposed an improved ABC algorithm called GABC algorithm by incorporating the information of global best (gbest) solution into the solution search equation to improve the exploitation. GABC is inspired by PSO [21], which, in order to improve the exploitation, takes advantage of the information of the global best (gbest) solution to guide the search by candidate solutions. They modified the solution search equation of ABC as follows:

Algorithm 1 Artificial Bee Colony Algorithm:

Initialize the parameters;

while Termination criteria is not satisfied do

   Step 1: Employed bee phase for generating new food sources;

   Step 2: Onlooker bees phase for updating the food sources depending on their nectar amounts;

   Step 3: Scout bee phase for discovering the new food sources in place of abandoned food sources;

   Step 4: Memorize the best food source found so far;

end while

Output the best solution found so far.

$$ v_{ij} = x_{ij} + \phi_{ij} (x_{ij} - x_{kj} ) + \psi_{ij} (y_{j} - x_{ij} ) $$
(12)

where the third term in the right-hand side of Eq. (12) is a new added term called gbest term, y j is the jth element of the global best solution, \( \psi_{ij} \) is a uniform random number in [0, C], where C is a non negative constant. According to Eq. (12), the gbest term can drive the new candidate solution towards the global best solution, therefore, the modified solution search equation described by Eq. (12) can increase the exploitation of ABC algorithm. Note that the parameter C in Eq. (12) plays an important role in balancing the exploration and exploitation of the candidate solution search. In this paper GABC is used to solve the load flow problem for five bus network system.

4 Results Analysis and Discussion

ABC and GABC algorithms are tested on five bus network which is shown in Fig. 1. Test network has 2 generators and 3 load buses. In this network, bus 1 is the slack bus, while bus 5 is the PV bus. Buses 2, 3 and 4 are PQ buses. A C++ program has been developed to analyze the ABC and GABC method over this problem. The line impedances and the line charging admittances are given in Table 1, which are used to calculate Y bus matrix. Table 2 shows its initial values of bus voltages, angles, load connected to buses and powers to generators.

Fig. 1
figure 1

Five bus network

Table 1 Line impedance and line charging data for the system
Table 2 Initial data for Bus voltages, power generated and load

4.1 Parameter Setting

To solve the load flow problem using GABC and ABC, following experimental setting is adopted:

  • Colony size NP = 50 [22, 23],

  • \( \phi_{ij} = rand[ - 1,1] \),

  • Number of food sources SN = NP/2,

  • limit = D × SN [24, 25],

  • The stopping criteria is either maximum number of function evaluations (which is set to be 200000) is reached or the acceptable error (1.0 × 10−05) has been achieved,

  • The number of simulations/run = 30,

  • C = 1.5 [18].

4.2 Results Analysis

Initial values of the five bus network parameters are shown in Table 2. The Numerical results with parameter setting, mentioned in Sect. 4.1 are given in Table 3. Table 3 shows that the bus voltages for ABC and GABC have reached more close to accurate solutions than the NR method for the problem. GABC and ABC algorithms achieved the objective function error (refer Eq. (7)) of the order of 10−5, while the NR method achieved of 10−4 order. For the balanced condition of network, the power generated P should be 123 MW, while it is obtained 161 MW using ABC algorithm, 126.4 MW using GABC and 127.1 MW using NR method. Therefore, it is clear that the P generated by GABC algorithm is more close to the required power to balance the network. So, it can be analyzed from the results that the GABC can be considered a competitive method to solve the load flow problem.

Table 3 Result comparison amongst NR, ABC and GABC Method, pu: per unit, deg: degree

5 Conclusion

This paper shows an efficient solution to the load flow problem of five bus system, using GABC. The reported results are analyzed and compared with the basic ABC and Newton–Raphson (NR) method. It is clear from the results analysis that the voltage produced for each bus by GABC is much similar to the reference value as compared to the basic ABC and NR method, while the active power produced by GABC is much close to the active power required to balance the network.

As the GABC method is independent from initial setting of parameters values, therefore, the proposed method can also be applied to solve the load flow problem for large, complex, and unbalanced network. Further, it is clear from results analysis that the accuracy for active power produced by GABC method can also be improved.