Distribution Power Flow The Distribution Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The basis for the proposed method is that an -bus radial distribution network has only lines and the branch currents can be expressed in terms of bus currents. For an element '' connected between nodes '' and '' the bus current of node j can be expressed as a linear equation. In terms of branch current.


is the set of nodes connected to node . For the slack bus the power is not specified, so it is excluded and the relationship between remaining bus currents and branch currents are derived as a non-singular square matrix.



The matrix is named element incidence matrix. It is a non- singular square matrix of order (). Ibus is the column matrix of size n-1. The elemental incidence matrix is constructed in a simple way same like bus incidence matrix. In this matrix each row is describing the element incidences. The elements are numbered in conventional way i.e. the number. of element '' is ( ).

The diagonal elements of matrix are one. The variable is denoting the element number.


For each ''the element let is the set of element numbers connected at its receiving end.


All the remaining elements are zero. It can be observed that all the elements of matrix below the main diagonal are zero.


The relationship between the branch currents and bus currents can be extended to complex branch powers and bus powers. The sending end power and the receiving end powers are not same due to transmission loss. The transmission loss is included as the difference between the sending end/receiving end powers derived. The relationship between branch powers and bus powers is established in same way of bus/branch currents. Multiplying both sides by element incidence matrix .



The power flow equations are complex multi variable quadratic equations .A new variable is introduced for each element '' and the equations becomes recursively linear.


The branch power of '' th element is expressed in terms of



The complex power flow method is summarized as following steps.

Step 1 For the first iteration transmission losses are initialized as zero for each element.

From the bus powers specified the branch powers are determined as per equation (3.7 & 3.8).

Step 2 The variable is determined for each element using equation (3.9).

The bus voltage, branch current and bus current are determined from .



Step 3 The bus currents are determined from (3.1) and bus powers are calculated. Since the transmission losses are neglected in the first iteration there will be mismatch between the specified powers and calculated powers. The mismatch is a part of the transmission loss. is the transmission loss part for ''th element for ''th iteration. Transmission loss of each element is the summation of the transmission loss portions of all previous iterations.


Where r is the iteration count




It can be concluded that the power flow solution always exists for a distribution system irrespective of the R/X ratio if it is having connectivity from the source (slack bus) to all the nodes. For system having less transmission loss the algorithm will perform faster. The convergence criteria is that during the ''th iteration the mismatch of power should be less than the tolerance value.

3.3 Distribution power flow Software Development

After studying and rewriting the power flow equations, a new solution methodology has been developed to determine the voltage profile and power losses in radial distribution system. The flow chart shown in figure (3.1) illustrates the sequence of the new algorithm.

The algorithm for Distribution Power Flow summarized as follow.

Step 1: Assume base MVA, base KV, slack bus voltage, and initial transmission losses

Step 2: Read the data.

Step 3: Form the bus incidence matrix .

Step 4: Determine the inverse of bus incidence matrix .

Step 5: Form the complex power matrix '' for the remaining buses (from 2 to n) from the data.

Step 6: Store the specified bus powers in a new matrix .

Step 7: Find out the branch power using the equation (3.8).

Step 8: Determine the impedance matrix from the data and express in a per unit impedance matrix.

Step 9: Find out nodal voltage at each nodes using the equation (3.12).

Step 10: Find out the branch and bus currents for the network using the equations (3.2 to 3.16).

Step 11: Find out the calculated bus power for all nodes. (3.7)

Step 12: Find out the transmission losses using equation (3.17) and add it to specified bus and repeat for 'r' iterations till convergence.

Figure 3.1: Flow Chart of Distribution Power Flow Algorithm

The developed algorithm has been converted to MATLAB codes as per the sequence has been illustrated in the flow chart.

One IEEE test system was chosen to test the accuracy of the algorithm. The power flow analysis is carried out on IEEE 69 bus system and compared with other methods in the literature. It is observed that this method converges in less time for better accuracy.

3.4 Modeling of the Problem

This chapter presents a mathematical formulation of the general Capacitor Placement Problem (CPP). Practical constraints are taken into consideration. The distribution power flow routine is modified to model the problem as a multi objective non linear and mixed integer programming problem.

Problem Statement

The general capacitor placement problem can be formulated as a constrained optimization problem.


Subject to



where is the objective function. The state variable '' represents the state of the distribution system (bus voltages) and the capacitor location and values are represented by the variable 'u'. '' represents the set of equality constraints (Power flow equations) and presents the set of inequality constraints (Voltage and reactive power limits) of the problem.


The following assumptions were considered while formulating the problem:

The system is balanced.

All the loads vary in a conforming manner.

The forecasted active and reactive powers provided by the load duration curve represent fundamental-frequency powers. Additional powers at harmonic frequencies are negligible.

Loads at bus are partitioned into linear loads.

Loads are represented as constant power sink.

Lines are modeled as a resistance in series with reactance

Capacitor size and control settings

Only the smaller standard size of capacitors and multiples of this standard size are allowed to be placed at the buses to have a more realistic optimal solution that can be implemented later with no difficulties. Capacitor banks are usually supplied in sizes ranging from 300 to 1800 KVAR. In general, capacitors installed on feeders are equipped with necessary group fusing.

The fusing applications restrict the size of the bank which can be used. At 15KV, the maximum sizes used are about 1200KVAR. Electric utilities do not usually install more than four capacitor banks on each feeder. This criterion is adopted in the problem formulation.

In practice, both fixed and switchable capacitors are used. A fixed capacitor has the same KVAR value at all the levels. If only fixed type capacitors are utilized, the utility will experience a voltage rise and an excessive leading power factor at the feeder when it is lightly loaded. To avoid this, switched capacitors are used so that they can be switched to suit the load conditions the maximum KVAR value to which a switchable capacitor can be switched is at the peak load level.

Only fixed capacitors are considered in the problem formulation. The capacitor sizes and control settings are treated as discrete variables and this makes the formulation problem a combinatorial one.

Chapter 4

Description of Design

4.1 Genetic Algorithm

This section introduce genetic algorithm (GA) as a heuristic optimization method. It also describes the algorithm framework. Features and shortcomings of GA are listed. In addition, the section explains how the GA- algorithm is implemented using MATLAB Genetic Algorithm Toolbox successfully. Furthermore, it discusses the application of GA to solve the CPP in distribution systems.

4.1.1 Introduction

Genetic algorithms were initially developed by Holland and his associates in the 1960s and 1970s. Since their early development, genetic algorithms have been successfully applied to a wide variety of problems including combinatorial optimization problems. The name genetic algorithm originates from the analogy between the representations of a complex structure by means of a vector of components of the genetic structure of a chromosome. In selective breeding of plants and animals, for example, offspring which have certain desirable characteristics are sought. Offspring's, characteristics are determined at the genetic level by the way the parents' chromosome s combines. In a similar way, we often intuitively combine pieces of existing solutions in seeking better solutions to complex problems. Although the parallel is not exact, it was sufficiently persuasive for Holland to propose the problem-solving methodology the idea of a better algorithm can be viewed as an intelligent exploitation of a probabilistic or random search which is based on the mechanics of natural selection and genetics. The concepts of selective adoption and survival of the fittest are applied to search the parameter space to determine the optimal solution by way of randomized information exchange.

4.1.2 Genetic algorithm framework

There are four components in the design of a GA-based solution methodology. These include the initialization of the algorithm, selection and genetic operators. Algorithm initialization is the process of randomly generating a set of initial feasible solutions forming the so-called "initial population". The number of this solution is referred to as the "population size". Each iteration in genetic algorithm, known as a "generation", results in a new set of feasible solutions.

In genetic algorithms, parents are selected to produce offspring. Selection process can be carried out in different ways. One way is to choose one parent on a fitness basis (the better the fitness value, the higher the chance of it being selected), while the other parent is selected randomly. Another way is to select both parents at random. Genetic operators are the probabilistic transition rules employed by a genetic algorithm. A new and improved population is generated from old one by applying genetic operator. Operators used genetic algorithms include reduction, crossover and mutation. Reproduction is defined as a random pairing of trial solutions from a population to create one or more offspring. Reproductive chances are assigned to each individual in the population during parent selection. Many methods are used to accomplish this task. Proportionate selection is one of these methods where probabilities of individuals being selected are calculated proportional to their fitness.

Crossover is the process of choosing a random position in the solution and swapping the characters around this position with another similarly partitioned solution. The random position is referred to as "the crossover point". In the other words, crossover defines the outcome as gene exchange.

Crossover operator proved very powerful in genetic algorithms. Mutation is applied to alter some genes in the solutions. When a gene exchange resulting from application of a crossover operator is not meeting appropriate restriction, mutation might be very helpful

Figure 4.1 Flow chart for Genetic Algorithm

in providing a proper gene exchange amendment. Mutation is generally seen as a background operator that provides a small amount of random search. It increases the population diversity. It also helps expand the search space reintroducing information lost due to premature convergence. Therefore, it drives the search into unexplored regions.

In addition to the above components, the stopping criterion of algorithm is of great significance. It determines when the algorithm shall be stopped or terminated and thus, considering the best solution obtained so far as the optimal solution.

4.2 MATLAB Genetic Algorithm Tool Box

Genetic Algorithm and Direct Search Toolbox is a collection of functions that extends the capabilities of Optimization Toolbox and the MATLAB numeric computing environment. Genetic Algorithm and Direct Search toolbox includes routines for solving optimization problems using

Direct search

Genetic algorithm

These algorithms enable to solve a variety of optimization problems that lie outside the scope of Optimization Toolbox. All the toolbox functions are MATLAB M-files made up of MATLAB statements that implement specialized optimization algorithms. The MATLAB code for these functions can be viewed using the statement type function_name. The capabilities of Genetic Algorithm and Direct Search Toolbox can be utilized either by writing M-files, or by using the toolbox in combination with other toolboxes, or with MATLAB or Simulink®.

To use Genetic Algorithm and Direct Search Toolbox, a M-file must first be written that computes the function to be optimized. The M-file should accept a vector, whose length is the number of independent variables for the objective function, and return a scalar.

To run the genetic algorithm with the default options, call ga with the syntax

[x fval] = ga(@fitnessfun, nvars)

The input arguments to ga are

@fitnessfun - A function handle to the M-file that computes the fitness function.

nvars - The number of independent variables for the fitness function. The output arguments are

x - The final point

fval - The value of the fitness function at x.

To solve the optimization problem with linear and non linear equalities and can be done by passing an options structure as an input argument to ga using the syntax given by

X = ga(@fittnessfcn,nvars,A,b,Aeq,beq,LB,UB)

This syntax specifies the fitness function, no of variables, linear inequality, linear equality, or nonlinear constraints and the limits of the variables. The options structure for genetic algorithm can be created using the function gaoptimset. options.

The different options of the Genetic Algorithm are listed below.

Population Type: It can be integer or real number.

PopInitRange: lower and upper limit of the Variables during initial population.

Population Size: No of solution in the populations.

EliteCount: The best solution saved in each population.

CrossoverFraction: Between 0 and 1.

MigrationDirection: Either forward or backward.

Migration Interval: A integer number for Migration.

Migration Fraction: A small number( e.g 0.2).

Generations: No of Iterations.

TimeLimit: Running time of the Algorithm.

FitnessLimit: Target objective function value.

StallGenLimit:Stopping Generation limit if the solution does not change.

StallTimeLimit: Stopping Time on limit if the solution does not.

TolFun: Tolerance value.

The function ga uses default values if any options are not given as input argument.

4.3 Software for Optimal Capacitor Placement Problem

Because of its simplicity, generality and ability to cope with practical constraints, a genetic algorithm has been designed to solve the general CPP in a distribution system. The following remarks shed some light on the design aspects of the algorithm as applied to the CPP:

The control settings of a capacitor installed at a particular bus during the peak load period are set higher than or equal to the settings during the medium load period. Similarly, capacitor control settings during the medium load are greater than or equal to the setting during the light load period. This assumption are deliberately incorporated in the design to reduce the searching domain and, hence, enhancing the algorithm efficiency

The population size is fixed value and the same is determined empirically by trial and error process.

The objective function itself is used to provide fitness values of the newly generated solution. Once a new solution is generated, its associated feasibility is checked. Only if feasible, the solution is accepted. Otherwise, it is rejected. Therefore, no factors penalizing the infeasibility are included in the objective function.

Reproduction, crossover and mutation are applied as a genetic operators in the algorithm design. No additional operators are used.

A single-point rather than a multi-point crossover is selected in the design of the algorithm.

The algorithm is designed based on a fixed, rather than a variable, mutation rate throughout the search.

Mutation and crossover rates are determined empirically by trial and error process. The better the fitness value of a solution, the greater the factor the chance for it being selected as a parent. The other parent is selected randomly.

The algorithm is designed to stop if no improvement is achieved during a given number of consecutive iterations. The stopping criterion is tuned with the other algorithm parameters by trial and error process.

Based on the above remarks, a GA-based solution methodology applied to the CPP has been implemented. Figure (4.1) represents the algorithm flowchart. The algorithm procedure can be summarized as follows:

Step1 Read system and network data. Input the cost of capacitors (cc), minimum and maximum allowable operating voltage (Vmin and Vmax) respectively. Input algorithm parameters, i.e. population size (N), crossover rate (Cr) and mutation rate (mr).

Step2 Calculate system power losses during each load level, total energy losses, bus voltages and bus voltages at each for the case of linear loads prior to capacitor installation.

Step3 Generate a set of initial feasible solution(s), forming the initial population (pop), randomly. Different types of moves as explained in the section of SA can be employed at this step.

Step 4 Calculate the associated fitness value fv(s) of each solution.Calculate the average fitness value (fv)avg of the population.

Step 5 Transfer all individuals that fitness values are less than the calculated average fitness value to the next generation with no change.

Step 6 Select one parent (p1) based on (pi). Choose the other parent (p2) randomly. Apply crossover and mutation operators to generate a new offspring( os).

Step 7 If (os) is not feasible go to 7, else go to 9.

Step 8 Calculate the fitness value of the offspring fv(os).

Step 9 Generate offspring is an individual in the new population replacing an individual that fitness value is greater than the calculated average fitness value.

Step 10 Repeat step 7 to 11, to find all remaining individuals.

Step 11 Repeat steps 7 to 11, if the stopping criterion is not satisfied.

Otherwise go to 13.

Step 12 The best solution in the new population is the optimal solution.

4.4 GA feature and shortcomings

In summary, the main features and disadvantages can be summarized.

Genetic algorithm is a multiple point search instead of single point search thereby identifying more peaks and reducing the probability of being trapped in local optima.

The algorithm is capable of searching for global minima.

Many conventional optimization techniques rely on unrealistic assumptions of convexity, differentiability, linearity etc. None of these assumptions, however, are needed by a genetic algorithm.

GAs is inherently robust. They can cope with a diversity of problem types, high non-linear functions and different types of constraints.

Genetic algorithm, however, require tremendous computing time. Moreover, tuning of the algorithm parameters to produce high quality solution is a difficult and a time-consuming task.

Figure 4.2: Flow Chart for GA Based Optimal Capacitor Placement Algorithm

Figure 4.3: Flow Chart of Genetic Algorithm Applied to CPP