Keywords

1 Introduction

The main objectives of reactive power (VAR) optimization are to improve node voltage profile and minimize active power losses under certain power system operating conditions. To achieve these goals power system operators perform control actions by adjusting generator voltages, on-load transformer tap changers (OLTC) and VAR generation/absorption by VAR sources located in power network (capacitor/reactor banks, static VAR sources etc.). It results in need for applying tools supporting operator decisions in real-time environments with continuously fluctuating and uncertain operation conditions.

VAR optimization is a complex non-linear and combinatorial optimization problem involving objective functions with multiple local extreme points and many non-linear constraints with not only continuous but also discrete decision variables. Originally, methods employing non-linear programming gradient based methods have been employed to solve this problem. However, these methods can stuck in local minima and have very limited capability of handling mixed discrete-continuous decision variables. Currently, the growing interest of artificial intelligence based optimization method has been observed. Genetic algorithms (GAs) and their variations (evolutionary programming, differential evolutions etc.) have been recognized as efficient tools for finding optima of objective functions.

Early attempts on using GAs to solve VAR optimization use modifications of simple binary GA which rely on problem decomposition and application of specialized genetic operators can be found [1]. To improve optimization results and efficiency GA are combined with other optimization methods such as interior point [24] and simulated annealing [5]. In [6] differential evolution method is recognized as fast and efficient tool for VAR dispatch. Real-coded GA exploiting special self-adaptive crossover and polynomial mutation scheme superior to evolutionary programming based optimization is given in [7]. Application of real coded GA for multi-objective optimization using Pareto-optimal set concept is reported in [8].

GA suffer from time consuming calculations and it will limit their applications in real-time operation. To improve numerical efficiency new evolution or hybrid schemes are developed. Theoretically, the convergence of the GA is independent of the initial points. Usually, for practical problems solution space is usually huge and algorithm can converge very slow to the solution. Some studies have revealed that the way the initial population is generated may influence the algorithm speed and quality of results [9, 10].

The problem of generating initial population for VAR optimization in power system has not been yet studied in details. Traditionally, initial population is created with use of the point pseudo-random generators available in programming environment. In this work other generation method of individuals, especially low discrepancy and gaussian are considered from viewpoint of result quality and convergence speed.

The paper is organized as follows. First, formulation of o VAR dispatching optimization problem is presented. Next, applied GA strategy is described in details. Numerical results of VAR dispatch optimization task concerning different ways on creating of initial population are shown. Some concluding remarks are presented at the end of this paper.

2 Formulation of VAR Dispatching Optimization Problem

The objective of VAR dispatching optimization is to minimize active power losses as a difference between generating and load power:

$$\hbox{min} f\left( {{\mathbf{x,u}}} \right) =\Delta P = \sum\limits_{{k \in I_{g} }} {P_{G,k} } - \sum\limits_{{l \in I_{L} }} {P_{L,l} } ,$$
(1)

where:

x :

vector of dependent variables,

u :

vector of decision variables,

ΔP :

active power system losses,

P G,k :

active power generating at node k,

P L,l :

active power load at node l,

I g , I L :

set of generating and load bus respectively.

Decision variable vector is constructed as follows:

$${\mathbf{u}} = [\begin{array}{*{20}c} {{\mathbf{V}}_{G} } & {{\mathbf{t}}_{p} } & {{\mathbf{Q}}_{sh} } \\ \end{array} ]^{T} ,$$
(2)

where:

V G  = [V i ], i ∈ I g :

row vector of voltages at generation buses and slack bus,

t p  = [t j ], j ∈ I OLTC :

row vector of discrete tap values of on-load tap changer transformers,

Q sh  = [Q sh, k ], k ∈ I sh :

row vector of values of shunt VAR,

I OLTC :

set of branches with OLTC,

I sh :

set of buses with adjustable reactive power shunts.

Depended variables values are obtained from power flow calculations and they are used for evaluation of solution feasibility i.e. preserving operational constraints:

$${\mathbf{x}} = [\begin{array}{*{20}c} {{\mathbf{V}}_{L} } & {{\mathbf{Q}}_{G} } & {{\mathbf{S}}_{Br} } \\ \end{array} ]^{T} ,$$
(3)

where:

V G  = [V i ], i ∈ I L :

row vector of voltages at load buses,

Q G  = [Q G, j ], j ∈ I g ,:

row vector of reactive power at generation buses,

S Br  = [S Br, k ], k ∈ I Br :

row vector of apparent power branch flows,

I Br :

set of power system branches.

The equality constraints stem from power flow equations:

$$P_{G,i} - P_{L,i} - f_{{P_{i} }} \left( {{\mathbf{x,u}}} \right) = 0$$
(4)
$$Q_{G,i} - Q_{L,i} - f_{{Q_{i} }} \left( {{\mathbf{x,u}}} \right) = 0$$
(5)

where:

f Pi (x, u), f Qi (x, u):

non-linear functions describing active and reactive powers at node i respectively,

P Gi Q Gi :

active and reactive power generations at node i respectively,

P Li Q Li :

active and reactive power loads at node i respectively.

Note that the GA is applied, the coded decision variables are self-constrained and their values are always in respective bounds.

Inequality constraints represent required power system operating constraints:

  • generation VAR constraints:

    $$Q_{G,i}^{\hbox{min} } \le Q_{G,i}^{{}} \le Q_{G,i}^{\hbox{max} } ,\quad i \in I_{G} ,$$
    (6)
  • load bus voltage constraints:

    $$V_{i}^{\hbox{min} } \le V_{i}^{{}} \le V_{i}^{\hbox{max} } ,\quad i \in I_{L} ,$$
    (7)
  • branch flows constraints:

    $$S_{m}^{{}} \le S_{m}^{\hbox{max} } ,\quad m \in I_{Br} ,$$
    (8)

Note that the GA is applied, the coded decision variables are self-constrained and their values are always in respective bounds.

To handle the constraints (6)–(8) in fitness function f f calculated for evaluation of individuals belonging to the GA population, the penalty quadratic terms corresponding to these inequalities are added:

$$f_{f} =\Delta P + \sum\limits_{{i \in I_{L} }} {\lambda_{V} \left( {V_{i} - V_{i}^{l} } \right)^{2} } + \sum\limits_{{i \in I_{G} }} {\lambda_{Qg} \left( {Q_{gi} - Q_{gi}^{l} } \right)^{2} } + \sum\limits_{{\mathop {i,j}\limits_{i \ne j} }} {\lambda_{S} \left( {S_{ij} - S_{ij}^{l} } \right)^{2} }$$
(9)

where: λ V λ Qg λ S —penalty weighting coefficients and function in penalty terms are as follows:

$$X^{l} = \left\{ {\begin{array}{*{20}l} {X,} \hfill & {X^{\hbox{min} } \le X \le X^{\hbox{max} } } \hfill \\ {X^{\hbox{min} } ,} \hfill & {X^{\hbox{min} } > X} \hfill \\ {X^{\hbox{max} } ,} \hfill & {X^{\hbox{max} } < X} \hfill \\ \end{array} \;\;X \in \left\{ {V_{i} ,Q_{gi} } \right\},\quad S_{ij}^{l} = \left\{ {\begin{array}{*{20}l} {S_{ij} ,} \hfill & {S_{ij} \le S_{ij}^{\hbox{max} } } \hfill \\ {S_{ij}^{\hbox{max} } ,} \hfill & {S_{ij} > S_{ij}^{\hbox{max} } } \hfill \\ \end{array} } \right.} \right.$$
(10)

Fitness function value grows rapidly if some constrains are violated. In such way “bad” individuals can be marked and eliminated from population.

3 GA Based VAR Optimization Algorithm

The performance GA applied to VAR optimization problem is based on the crossover, mutation and selection. Some individuals belonging to the population are selected with use of assumed selection strategy, to form a set of parents. Parenting individuals are crossbred in pairs and offspring individuals are created. In addition, randomly selected individuals can be modified according to mutation schema. The best individuals form new population (elitism) and genetic operations are repeated in next iteration of GA called generation. The processing is continued until maximal number of generation is reached or solution cannot be further improved.

The applied GA use real-coding of decision variables instead of binary since it has been proven their better accuracy and speed in many optimization problem [11]. Instead of proportional selection very fast pairwise (binary) tournament selection here is employed. Many crossover and mutation operators for real-coded GA have been proposed. Here Single Binary Crossover (SBX) and polynomial mutation schemes described originally in [12] are applied.

The used GA requires setting some parameters: population size, tournament size, crossover and mutation probabilities, maximal number of generations, tolerance level within objective function value is not improved in last generations. These parameters were set by trial and error scheme with multiple running of algorithm to find the best choice.

The employed optimization algorithm contains the following steps:

  1. 1.

    Setting GA parameters.

  2. 2.

    Generating of initial population.

  3. 3.

    Calculation of fitness by (6) for each individual in current population.

  4. 4.

    Tournament selection for parenting individuals: random selection of two individuals and choosing the best one

  5. 5.

    Applying of parent individuals and applying of SBX. First, for the random number α the parameter is calculated as follows:

    $$\beta = \left\{ {\begin{array}{*{20}c} {\left( {2\alpha } \right)^{{{1 \mathord{\left/ {\vphantom {1 {(\eta + 1)}}} \right. \kern-0pt} {(\eta + 1)}}}} ,\quad \alpha \in [0;0,5]} \\ {\left( {2\left( {1 - \alpha } \right)} \right)^{{ - {1 \mathord{\left/ {\vphantom {1 {(\eta + 1)}}} \right. \kern-0pt} {(\eta + 1)}}}} ,\quad \alpha \in (0,5;1]} \\ \end{array} } \right.,$$
    (11)

    where: η—crossover parameter (real positive number).

    The offspring individuals are calculated by formula:

    $$x_{i}^{{\left( {t + 1} \right)}} = \frac{1}{2}\left( {\left( {1 + \beta } \right)x_{i}^{(t)} + \left( {1 - \beta } \right)y_{i}^{(t)} } \right),\quad y_{i}^{{\left( {t + 1} \right)}} = \frac{1}{2}\left( {\left( {1 - \beta } \right)x_{i}^{(t)} + \left( {1 + \beta } \right)y_{i}^{(t)} } \right),$$
    (12)
  6. 6.

    Applying polynomial mutation with as:

    $$y_{i}^{(t + 1)} = x_{i}^{(t + 1)} + \left( {x_{i}^{\hbox{max} } - x_{i}^{\hbox{min} } } \right)\delta_{i} ,$$
    (13)

    where:

    \(\delta_{i} = \left\{ {\begin{array}{*{20}c} {\left( {2r_{i} } \right)^{{{1 \mathord{\left/ {\vphantom {1 {(\eta ' - 1)}}} \right. \kern-0pt} {(\eta ' - 1)}}}} - 1,\quad r_{i} < 0,5} \\ {1 - [2\left( {1 - r_{i} } \right)]^{1/(\eta ' + 1)} ,\quad r_{i} \ge 0,5} \\ \end{array} } \right.\), r i —uniform random number, η′—mutation parameter (real positive number).

  7. 7.

    Checking stopping criteria. If the maximum generation number is reached or improving the solution cannot be obtained, stop the algorithm; otherwise go to step 3.

4 Generating Initial Population for GA

4.1 Coding of Decision Variables

As an initial population N I individuals are created. In real-coded GAs, individuals are represented as N D -dimensional real number vectors, where N D is the dimension of the search space. For continuous decision variables the initial population is formed with use of the lower and upper bounds of decision variables as follows:

$$y_{ij} = y_{j}^{\hbox{min} } + \left( {y_{j}^{\hbox{max} } - y_{j}^{\hbox{min} } } \right)\,x_{ij} ,$$
(14)

where:

y ij :

value at jth position of ith individual,

y min j y max j :

lower and upper bonds for jth decision variable respectively,

i = 1, 2, … N I , j = 1, 2, … N D , N I :

population size,

N D :

number of continuous decision variables,

x ij :

random number generated from the range [0, 1].

Similarly, the discrete decision variables as transformer taps, are rounded-off to the nearest integer number:

$$y_{ij} = y_{j}^{\hbox{max} } + \left( {N_{j}^{S} } \right)^{ - 1} \left( {y_{j}^{\hbox{max} } - y_{j}^{\hbox{min} } } \right)\,\left[ {N_{j}^{S} x_{ij} } \right]$$
(15)

where:

[x]:

rounding-off to the nearest integer of x,

N s j :

integer number of regulation steps of jth discrete decision variable.

Note that decision variables are self-constrained and their values are always in respective bounds. Hence initial population is generated by randomly distributed points in N-dimensional unity hyper-cube I N belonging to R N space.

4.2 Initial Population Generating Methods

A variety of methods do generate random sampling points have been proposed. Here, only four methods for initial population generation are evaluated:

  • sampling based on subtract with borrow (SWB) pseudo-random uniform generator described in [13],

  • Niderreiter quasi-random sampling (NQR) is dedicated to obtains numbers with maximal uniformity (low discrepancy) [14],

  • non-aligned systematic (NAS) sampling use the transformation of initial pseudo-random number set to uniform distribution of sample points over decision variable hyper-space [9]. The unit hyper-cube formed this hyper-space by is divided into b N elementary sub-cubes with one sample-point located in each sub-cube. For two dimensional space case the sample points representing the individuals are obtained by:

    $$x = [\left( {\left( {j - 1} \right) + r_{i,1} } \right)D,\left( {\left( {i - 1} \right) + r_{j,2} } \right)D],$$
    (16)

    where:

    i, j = 1, 2, …, b, D = 1/b, b :

    number of intervals,

    r i,1, r j,2 :

    elements of b × 2 matrix r containing pseudo-random numbers.

An algorithm on generating points for n-dimensional hyper-space is given in [9]. Usually the number of sampling point considerably exceeds the number of required points, so in the next step they are selected randomly to match to required number,

  • Gaussian sampling (GS) initializes population by samples from gaussian distribution with o mean μ (0) and positive definite covariance matrix Σ (0), so that each individual in the initial population is X (0) ~ N(μ (0), Σ (0)). Normally distributed random variables are assumed to be independent. It results in diagonal covariance matrix (non-diagonal elements are near zero). “Dispersion” of the sampling points depends on the value of variance. Note, that Gaussian sampling with large variance might be a quite good uniform sampling approximation.

Example distribution of sampling points generated by different methods for two-dimension space is shown in Fig. 1. Note that methods NQR and NAS give better space coverage than the remained ones.

Fig. 1
figure 1

Example multi-dimensional point sets mapped into 2D, obtained from various random generators: a SWB, b NQR, c NAS, d GS

5 Numerical Tests

5.1 General Assumptions

In order to investigate the influence of selected initial population generation methods on GA performance standard IEEE-30 bus system model has been used. Description of the system with detailed parameters can be found in [15].

Optimization problem was limited to 12 decision variables: 6 continuous generator voltages, 2 continues shunt values and 4 discrete tap changers with 20 regulation steps. Fitness function values were calculated with results obtained from accompanying fast electric network power flow program. All the numerical procedures and calculation steps were implemented in Mathworks Matlab environment.

5.2 GA Parameter Adjustment

GA parameters were determined by several trials with different parameter sets. Selected values for further investigations are shown in Table 1. Although maximal number of generation is set to 300, GA run can also be stopped before reaching max generation number, i.e. further best fitness function value cannot be improved. The tolerance level for best fitness is assumed to 10−5 (in last 10 generations). Parameters η and η′ are both set to 20 accordingly to hints in [12].

Table 1 Assumed GA parameter values

The experiments were carried out as follows. For each initial population generation method 100 random sets with 600 (12 × 50) numbers were created. In order to handle the effect of the probabilistic nature of GA on results the algorithms are executed 30 times. Results comprising minimal and mean fitness function value, standard deviation, mean generation number until convergence condition is reached are shown in Table 2.

Table 2 Summary of the obtained results

The mean of objective function is smallest for NAS sampling. However, the means of best objectives for different initial sampling strategies were compared with standard analysis of variance and there were no statistically significant differences detected. Overall improvement by reduction of the objective, i.e. active power losses with GA optimization by approximately is 4.00–4.65 %.

Similarly, the mean values (rounded to integer) of generation numbers \(\overline{{N_{G} }}\) the convergence is obtained for different sampling methods are also comparable. However, NQR gives good solutions within less computation time. Example characteristics of convergence for different sampling methods are shown in Fig. 2.

Fig. 2
figure 2

Example GA convergence for SWB (dotted line) and NAS (smooth line)

Despite some differences, the results show that the random number generation strategies which are taken into consideration perform rather well if they are used in initial populations of genetic algorithms.

An important issue not discussed here is the size of the optimization problem. The more decision variables the more “sparse” is initial population, since the distance between adjacent points in initial population space increases even if good coverage is reached. It is expected that future research will better explain this problem.

6 Conclusions

In the paper different methods of generating initial population for GA applied to the practical optimization problem of voltage and VAR dispatch in example power system. This problem is recognized as complex optimization task with non-linear objective function and constraints and mixed nature of decision variables. Up to date works on creation of GA initial population topic suggest better performance of the GAs with population generated with low discrepancy random number sequences. However, they concentrate on testing with use of some theoretical benchmark functions. This attempt concentrate on selected practical optimization problem.

The obtained results reveal that the standard way to generate initial population with SWB pseudo-random generator with uniform sampling is comparable to the others low-discrepancy and gaussian sampling methods. Convergence speed and mean objective functions values are comparable in statistical sense. It should be pointed out that using NQR, NAS sampling usually results in a little faster convergence in first generations of GA run.

Future works will concentrate on testing of other methods for generating GA initial population, especially methods forming clusters resulting from prior knowledge on solution space. Different genetic algorithm parameters like population size and maximum number of generations will also be considered. Experience with VAR dispatch optimization will also be applied to optimize VAR dispatching in actual size power systems with size of several hundred buses.