Anda di halaman 1dari 44

q (real number).

• v (complex number) represents AC voltage. The real component of v is e (real


number). We also use e to represent DC voltage (this way v is always complex and e
is always real). The imaginary component of v is f (real number). Another way to
represent v is in polar coordinates. This can be done with voltage magnitude |v| (real
number) and voltage angle δ (real number).
• i (complex number) represents AC current. We do not need a symbol to represent
DC current. |i| (real number) represents the current magnitude.
• y (complex number) represent admittance. The real component of y is conductance
g (real number). The imaginary component of y is susceptance b (real number).
• This way s, v, y and i represent complex numbers. They are typically associated
with AC. All other variables represent real numbers.
To summarize the relations between complex and real symbols:

y = g+j ·b s = p+j · q v = e + j = |v| δ



Here j represent the imaginary unit (i.e. j = − 1). We notify the reader that this work
contains a a nomenclature explaining various symbols, sets and operators. This might
prove useful to help manage the different variables.

In Section 2.1.10 we derived the equations for a common AC network. However, in


our research we use a model that is based on the MATACDC model. The MATACDC
model is introduced, fully motivated and described in [31, 32]. By using MATACDC we
have the benefit of a validated model. Another benefit is that our tool can work with
networks in the MATACDC format. We will describe our network model in this section.
It differs from Section 2.1.10 in that it is slightly more detailed, has both AC and DC
components and considers several safety constraints.

Mathematically a network N is described by N = (Bac , Lac , Bdc , Ldc , C). Here Bac and
Lac are sets that contain the buses and connections of the AC part of the network
respectively. We model the AC part of the network in Section 4.2.1. Bdc and Ldc are sets
that contain the buses and connections of the DC part of the network respectively. We
model the DC part of the network in Section 4.2.2. Lastly AC and DC are connected via
converters in the set C. The converters are modelled in Section 4.2.3.

4.2.1 AC network model


The AC part of the network consists of the set of AC buses Bac and the set of connections
between these buses Lac ⊆ Bac × Bac . When we model the converters in Section 4.2.3 we
are going to introduce extra AC buses contained in the set Cac . Some equations we define
here also hold for those buses. We define the equations in this section while already
taking these new buses into account. Each AC bus k has has a voltage vk and a net
power injection sk . The net power injection sk for each bus k in Bac depends on the
load sl and generation s at that bus: sk = s − sl (the buses in Cac have their power
g g

20 20
k k k k

21 21
injection defined differently as we will see later). We split the real and imaginary parts
to express the net power injection in real numbers:
pk = pg − pl k ∈ Bac (12)
k k
qk = q − q g l
k ∈ Bac (13)
k k

Whether voltage or powers are known for a bus depends on its type. We discussed the
bus types in Section 2.1.10: There is one mathematically necessary slack-bus; generator
connected buses are PV-buses; the rest of the buses are are PQ-buses. For all buses
the load plk is specified. PQ-buses have no generator connected so sg = 0, while for

other buses sgk is unknown. The voltage vk is unknown for PQ-buses, while only the
k
voltage magnitude |v|k is known for PV-buses and the entire voltage is known for the
slack-bus. Table 1 shows an overview of this. Each connection k, j ∈ Lac has several

Table 1: Known and Unknown information for different bus types in Bac

PQ-bus PV-bus slack-bus


known p l , q l , pg , q g pl , q l , |v|k pl , q l , |v|k , δk
k k k k k k k k
unknown |v|k , δk pgk, q gk, δk pgk, q gk

properties: It has a power transmission skj , an admittance ykj , a charging susceptance


ηkj and can have a transformer (a device can modify the voltage) with tap ratio τkj .
If a connection has no transformer then we set τkj = 1. For connections only the
power transmission skj is unknown. The model in in Section 2.1.10 did not include
charging susceptance or transformers. It goes out of the scope of this work to elabo-
rate on what these are and their exact mathematical workings. These can be found in
[9, 33]. Applying them to the model is easily done as we will see in the ensuing paragraph.

We now define the load flow equations for AC networks. In Section 2.1.10 we showed
how to derive the load flow equations. Now must incorporate charging susceptance ηkj
and transformer tap ratios τkj in the the load flow equations (Eqs. 10 and 11). We
include them in the model by replacing Eq. 11 with:
ykj + 0.5jηkj ykj
kj = vk vk k, j ∈ Lac (14)
τ 2 − vk v j
τ
s∗ ∗ ∗
kj kj

Note that this adjustment of Eq. 11 does not complicate the load flow equations. ykj ,
ηkj and τkj are all specified, so we simply swapped out a constant value in Eq. 11 with
another constant value in Eq. 14 that encompasses additional information. To prevent

22 22
cluttering in the coming equations we also define a few new real constants based on the
connection characteristics:
gkj gkj bkj + 0.5ηkj bkj
γ0 γkj = β0 = βkj = (15)
kj = 2 kj
τkj τkj kj
τ 2 τkj

23 23
By expressing Eqs. 10 and 14 in real numbers and substituting for defined constants in
Eq. 15 we get the load flow equations in real numbers:
X
pk = pkj k ∈ Bac ∪ Cac (16)
k,j∈ Lac

pkj = γ 0 e2 + f 2 − γkj (ek ej + fk fj ) + βkj (ek fj − ej fk ) k, j ∈ Lac (17)


kj k k
X
qk = qkj k ∈ Bac ∪ Cac (18)
k,j∈ Lac
qkj = − β 0 2
e + f 2 + βkj (ek ej + fk fj ) + γkj (ek fj − ej fk ) k, j ∈ Lac (19)
kj k k

An alternative way is to write voltages is in polar notation (v = |v| δ). By expressing Eq.
14 using real numbers in polar form and substuting for defined constants in Eq. 15 we
get:
0
pkj = γkj |v|2k− γkj |v|k |v|j cos(δk − δj ) − βkj |v|k |v|j sin(δk − δj ) k, j ∈ Lac (20)

0
qkj = − βkj |v|2k− γkj |v|k |v|j sin(δk − δj ) + βkj |v|k |v|j cos(δk − δj ) k, j ∈ Lac (21)

Eqs. 16 to 19 are the AC load flow equations. However, it is also possible to replace
Eqs. 17 and 19 with Eqs. 20 and 21 to get the load flow equations in polar coordinates.

Lastly we define safety constraints for AC. AC has two types of safety constraints.
The voltage safety constraints say that the voltage m agnitude at each bus |v |k is limited
by a predefined lower bound |v|k and upper bound |v|k . In real numbers this becomes:
q
|v|k ≤ ek2 + fk2 ≤ |v|k k ∈ Bac ∪ Cac (22)

For PV-buses we know |v| and therefore |v|k = |v|k . The second safety constraint says
that each connection has a maximum rating |s|kj which limits the magnitude of the
apparent power it can transmit. In real numbers this becomes:
q
2 + q 2 ≤ |s|
pkj k, j ∈ Lac (23)
kj kj

4.2.2 DC network model


The DC section of the network consists of the set of DC buses Bdc and the set of con-
nections between these buses Ldc ⊆ Bdc × Bdc . Similar to AC, we are going to introduce
extra DC buses contained in the set Cdc to model the converters in Section 4.2.3. Some

24 24
equations we define here also hold for those buses. We define the equations in this section
while already taking these new buses into account. Each bus k ∈ Bdc has an unknown
voltage ek and a known power injection pk (there are no different DC bus types). Each
connection k, j ∈ Ldc has a known conductance gkj

25 25
We give the load flow equations for the DC network. The load flow for DC is more
straightforward than AC because it has no shunt admittance, transformers or imaginary
aspect. We can therefore simply drop the imaginary components of Eqs. 10 and 11. The
only ’complication’ is that MATACDC models a a bipolar system. This means there are
two conducting ’wires’ within each connection. This is easy to model by adding a factor
2 to Eq. 11 (for an explanation, we refer to [32]). If we drop the imaginary component
from Eqs. 10 and 11 and we add the factor 2 then we get the following DC load flow
equations:
X
pk = pkj k ∈ Bdc ∪ Cdc (24)
k,j∈ Ldc

pkj = 2gkj (e2k − ek ej ) k, j ∈ Ldc (25)

Lastly we define safety constraints for DC. DC has the two safety constraints similar to
AC. The voltage safety constraints say that the voltage ek at each bus is limited by a
predefined lower bound ek and upper bound ek :

ek ≤ ek ≤ ek k ∈ Bdc ∪ Cdc (26)

The second safety constraint says that each connection has a maximum rating pkj which
limits the amount of power it can transmit:

pkj ≤ pkj k ∈ Ldc (27)

4.2.3 Converter model


We model each converter station according to the MATACDC model. This model is
described and motivated in [31, 32]. The converter we model is called a ’symmetric
monopole’. In this section we only detail how we merge it with our AC and DC network
models. In Appendix A we show the layout of the converter in more detail and we show
how it is modelled in MATACDC. This is meant for reader that are curious about the
technical layout of the converter.

Each converter station is connected on one side to an AC bus and on the other side
to a DC bus or another converter station. This is illustrated on the left side of Fig. 12.
On the AC side of the converter are two components (transformer and phase reactor)
that can be modelled by a single admittance. There are no such components on the
DC side of the converter. We want the converter model to tie in well with our AC and
DC network models. We therefore model each converter using only two buses and two
connections. The set C contains all converter stations in the network. For each converter c
∈ C, we introduce AC bus cac and DC bus cdc . We refer to this buses using the term
converter buses. We let set Cac contain the converter AC buses while the set Cdc contains
the converter DC buses. The active power injections pcac and pcdc of these buses are

26 26
unknown and represent the power that is being converted. Converted power leaves the
AC network via pcac and enters the DC network via pcdc and vice versa. By making these

27 27
power injections unknown we allow the converter to optimize its power throughput in the
optimization model. The voltages of all converter buses are unknown as well. The two
connections that originally went to the converter now go to the two converter buses. We
add thse connections to the sets Lac and Ldc . Before we add them, we first modify the
AC side connection to incorporate the admittance of the AC side components. The added
buses and connections are illustrated on the right side of Fig. 12. On the AC side, each
converter c was connected to an AC bus that we denote cnb (nb stands for ’neighbour’
here). We will refer to this bus at a later point. This bus is also shown in Fig. 12. By
modelling a converter in the form of buses and connections it is automatically included in
the load flow equations and safety constraints of both the AC and DC network models.

cnb cnb ycac ,cnb cac cdc


AC ∼ DC
=⇒
=

Converter icac cnb


station c
Converter station c

Figure 12: Converter station model.

To represent the conversion we must give a relation between the injected currents
of the AC bus pcac and the DC bus pcdc of each converter c. In this conversion process,
power is lost. The loss is a quadratic function of the injected converter current magnitude:
loss = Qc |i|2cac + Lc |i|cac + Cc . Here |i|cac is the injected current magnitude of bus cac

and Qc , Lc and Cc are the quadratic, linear and constant coefficients respectively. These

coefficients depend on the converter. In MATACDC, separate quadratic coefficients are


used for converters that function as an inverter (DC to AC) or a rectifier (AC to DC).
However, we average these into one coefficient since the deviation of the real losses is only
2% at maximum with the coefficient used in the test networks. From a network power
flow perspective the deviation will probably have even less influence since the deviations
of the inverter and rectifiers compensate each other. Using a single quadratic coefficient
makes optimization easier, since we can express converter losses in a single continuous
equation instead of two equations with conditional applicability. The relation between
pcac and pcdc of a converter c then becomes:

pcdc = − pcac − (Qc |i|c2ac + Lc |i|cac + Cc ) c∈C (28)

Note that if the power flows through the converter from AC to DC, then pcac is negative
(it consumes power on the AC side) while the power that comes out of the DC side pcdc is
positive (it generates power on the DC side). According to Eq. 28 the ’generated’ power

28 28
is the ’consumed’ power minus the losses (it also works when converting from DC to
AC). For Eq. 28 we need to define the injected converter current magnitude |i|cac . Note
that because of the single connection of cac , it is equal to |icac ,cnb | (connection illustrated

29 29
right side of Fig. 12 and equality holds due to Kirchoff ’s current law Eq. 7). We define
this current in terms of voltage and admittance using Ohm’s Law (Eq. 6) and express it
in real numbers:

|i|cac = |icac ,cnb |


= (|vcac − vcnb |) · |ycac ,cnb |
q
= b2cac ,cnb + gc2ac ,cnb ((ecac − ecnb )2 + (fcac − fcnb )2 ) c∈C (29)

The converter also has a safety constraint that imposes an upper bound |i|cac on the
converter current magnitude:

|i|cac ≤ |i|cac c∈C (30)

4.3 Minimizing losses


The first optimization problem is the minimization of losses. We dub this problem: the
loss problem. The loss of the network is the total power generation minus the total power
consumption. In other words, it is the sum of injected powers.
X X
pk + pk (31)
k∈ Bac
k∈ Bdc

Note that we explicitly do not include the converter buses in the summation. This is
because converters in truth do not generate or consume power. Converter loss is already
implicitly included in the equation (due to converter loss another bus must generate more
power or consume less power).

Minimization of losses is common in the literature, but most often the generator
power outputs are optimized. In the experiments we do not want the generator power
optimization to interfere with the effect of the converter optimization. It might sound
compelling to keep the generator powers fixed, but this is also not desirable. Any power
saved would then only reduce the power output of the slack-bus generator (which might
be far from the network location where the losses were improved). To solve this we only
allow generator active powers to decrease when optimizing. This way any saved power
can be beneficially distributed among the generators, without allowing a generator to
take on the work of another. It also removes the special status of the slack-bus in the
problem (which is good, because the slack-bus has no special physical properties and is
only a mathematical necessity).
0≤p ≤p
g g
k ∈ Bac (32)
k k

30 30
For PQ-buses pgk = 0 because they have no generation.

31 31
Putting the network equations Eqs. 12, 13, 16 to 19 and 22 to 30 together with
objective Eq. 31 and constraint Eq. 32 gives the following mathematical model for the
loss problem. We refer to this model using the Floss symbol:

minimize:
X X
pk + pk (33a)
k∈ Bac k∈ Bdc

sub ject to:


pk = pg − pl k ∈ Bac (33b)
k k
g
qk = q − q l
k ∈ Bac (33c)
k k
0≤p ≤p g g
k ∈ Bac (33d)
k k
X
pk = pkj k ∈ Bac ∪ Cac (33e)
k,j∈ Lac

pkj = γ 0 e2 + f 2 − γkj (ek ej + fk fj ) + βkj (ek fj − ej fk ) k, j ∈ Lac (33f )


kj k k
X
qk = qkj k ∈ Bac ∪ Cac (33g)
k,j∈ Lac
qkj = − β 0 2
e + f 2 + βkj (ek ej + fk fj ) + γkj (ek fj − ej fk ) k, j ∈ Lac (33h)
kj k k
q
|v|k ≤ ek2 + fk2 ≤ |v|k k ∈ Bac ∪ Cac (33i)

q
2 ≤ |s|
p2kj + qkj k, j ∈ Lac (33j)
kj
X
pk = pkj k ∈ Bdc ∪ Cdc (33k)
k,j∈ Ldc

pkj = 2gkj (ek2 − ek ej ) k, j ∈ Ldc (33l)


ek ≤ ek ≤ ek k ∈ Bdc ∪ Cdc (33m)
pkj ≤ pkj k ∈ Ldc (33n)
q
|i|cac = b2cac ,cnb + gc2ac ,cnb ((ecac − ecnb )2 + (fcac − fcnb )2 ) c∈C (33o)
2

pcdc = − pcac − (Qc |i|cac + Lc |i|cac + Cc ) c∈C (33p)

32 32
|i|cac ≤ |i|cac c∈C (33q)

This model has the following search space:

ek , fk , pk , qk ∈ Bac ∪ Cac pgk, q gk ∈ Bac pkj , qkj ∈ Lac


ek ∈ Bdc ∪ Cdc pk ∈ Cdc pkj ∈ Ldc |i|cac ∈ C

Floss (a) is the objective to minimize losses. Floss (b,c) defines the power injections for AC
buses. Floss (d) gives the generation maximum. Floss (e-h) gives the load flow equations
for AC. Floss (i,j) are safety constraints that impose bounds on the AC voltage and AC

33 33
power transmission. Floss (k,l) gives the load flow equations for DC. Floss (m,n) are safety
constraints that impose bounds on the DC voltage and DC power transmission. Floss (o)
defines the converter current magnitude. Floss (p) represents the conversion process with
losses. Floss (q) is a safety constraint for the converter current.

4.4 Minimizing shortage


The second optimization problem is to minimize power shortage in case of an AC connec-
tion failure. We dub this problem: the shortage problem. We clarify the meaning and
the idea behind ’shortage’ here.

The goal of the shortage problem is to find out to which extent optimized converter
set point control can help mitigate problems as a result of a connection failure. In the
shortage problem we assume that HVDC control is quick enough to leave negligible time
between a connection failure and the application of the optimized converter set points.
Therefore we may ignore any transition period between the original and the new set
points. Since this is such a small time frame, we do not optimize AC elements (because
AC control would need more time to react to the failure). This again supports the goal
of isolating the set point influence. It however also causes problems: If a connection
fails, then the connection capacity might reduce such that an AC bus can’t receive its
demanded power within all the safety constraints. An ideal simulation can then determine
the exact impact of this: Does it cause a power outage? Does another connection transmit
more than it can handle and fail as well? Or does that connection transmit more, but
without major issues? The exact impact is complex and depends on many factors. This
level of detail is unfortunately not possible to capture with any load flow model. This
is because AC load flow models function on the assumption of power balance, which
might not be possible. Furthermore it would require modelling of effects within a cycle
of the sinusoidal AC. Load flow models don’t do this (load flow models provide average
flows over an AC cycle). We therefore take a different approach: We make it possible for
buses not receive all demanded power. The non-delivered power of a bus is its shortage.
Shortage strongly relates to a power outage. A bus with shortage would have power
outages at its load(s). The shortage also shows the quantity of power that can’t be safely
transmitted to the bus. This gives an indication of the severity of a connection failure: If
optimized converter control can decrease shortage, then less power has to be transmitted
unsafely or the outages at the loads are less severe. We introduce ak to represent the
fraction of the load that gets its power delivered for bus k. Since ak represents a fraction
we require:
0 ≤ ak ≤ 1 k ∈ Bac (34)

The shortage at a bus k is therefore plk · (1 − ak ). Minimizing the total shortage of the
network becomes:
X l
p · (1 − ak ) (35)
k∈ Bac k

34 34
We explicitly do not include shortage for converter buses (because converters have no
power demand). Shortage also influences the power injection of a bus. This means
Floss (b, c) must be modified to:
pk = pg − ak pl k ∈ Bac (36)
k k
g
qk = q − ak q l
k ∈ Bac (37)
k k

Less power is delivered in case of shortage. To keep power balance, we again allow
generators to decrease their active power output. This means we reuse Floss (d) (exactly
as in the loss problem).

The model for the shortage problem is mostly the same as Floss . We change the
objective to Eq. 35 so we minimize shortage. Also we replace Floss (b,c) with Eqs. 34,
36 and 37 to allow for shortage at the buses. We refer to this model using the Fshortage
symbol:

minimize:
X l
p · (1 − ak ) (38a)
k
k∈ Bac

sub ject to:


pk = pg − ak pl k ∈ Bac (38b)
k k
k ∈ Bac
g l
qk = q − ak q (38c)
k k
0 ≤ ak ≤ 1 k ∈ Bac (38d)
Floss (d-q)

The shortage problem also has a very similar search space. It merely adds the shortage
variables:

ak ∈ Bac Floss search space

Shortage creates additional variables for the optimization problem, since we must deter-
mine shortage at each bus. To keep a good comparison between normal and optimized
control, we need to add an optimization step for normal control. With normal control,
we keep the converter set points fixed and only optimize the shortages and generators.
With optimized control we also include the converter set points in the optimization.

5 Algorithms

35 35
The algorithms in this section optimize instances of either the loss problem with mathe-
matical model Floss or the shortage problem with mathematical model Fshortage . Many of
our optimization strategies consist of two steps: First global search, then local search. The
global search aims to find or approximate a good solution by searching a wide

36 36
area of the search space. The local search takes this as a starting solution and searches
the neighbourhood to improve it to a local optimum. This procedure is visualized in
Fig. 13. We consider various global search algorithms: LP McCormick (Section 5.3),
Network Global Local Return
input search search solution

Figure 13: Flowchart optimization scheme

LP Koster-Lemkens (Section 5.4), LP hybrid (Section 5.5) and a genetic algorithm


(Section 5.6). We also consider two local search algorithms: IPOPT (Section 5.1) and
gradient descent (Section 5.2). In some cases we only run a single optimizer. This is the
case with the memetic algorithm (Section 5.7) we implemented. This memetic algorithm
incorporates local search within its global search strategy.

5.1 IPOPT
IPOPT is a local search NLP solver. It is an open source optimization tool written in
C++. The workings of IPOPT are described in [34], where the authors summarize it
as ’a primal-dual interior-point algorithm with a filter line-search method for nonlinear
programming’. Defining a model for this solver is easy, since it can handle any closed
form function as objective or constraint. The models for IPOPT are exactly the same as
Floss and Fshortage . We reduce the optimization precision of IPOPT to 10−4 (instead
of the standard 10−7 ), which reduces the run time without having much impact on the
solution. To optimize we simply build the model and run IPOPT. IPOPT then iteratively
improves the solution. If it is already close to a local optimum, then it will need less
iterations to reach this optimum, reducing its run time. When finished, IPOPT returns
the best solution it can find. This solution is not guaranteed to be feasible or optimal.

5.2 Gradient descent


The gradient descent algorithm is a local search algorithm that uses the derivative of an
objective function to optimize its variables. Gradient descent can only handle an objective
function, so the model for gradient descent may not contain constraints. However, we
can still make it enforce equality constraints by including them in the objective function
as described in [15]. If we have an equality function of the form h(x) = 0, then we can
add a term c · h(x)2 to the objective function where c is some penalty term. If we make
the penalty large enough, then the gradient descent converges to a configuration where
the equality constraint holds.

To define the gradient descent model for the loss problem we include equality con-
straints Floss (b-c,e-h,k-l,o,p) in the objective function. Also for PV-buses Floss (i) is an
equality constraint that we include. We do not include any inequality constraints. We
run the gradient descent algorithm until it reaches a local minimum or until it exceeds an

37 37
inequality constraint. If either happens, the algorithm stops and returns its best solution.
The parameters of the algorithm are the step size and the penalty term c. We picked the
step size to be 10−6 and the penalty term to be 10 when testing. A common technique
is to decrease the step size during the algorithm. Unfortunately gradient descent did
not perform well regardless of the parameters. We therefore did not experiment with
decreasing step sizes.
No
Network optimize New sol. Yes Violate Yes return
input one step better? inequality? solution
No

Figure 14: Flowchart gradient descent

5.3 LP McCormick envelop

We use a LP model as a global search strategy. A LP model may only contain linear
constraints. Unfortunately in the loss problem the constraints Floss (f,h-j,l,o,p) are all
nonlinear. Any LP model is therefore a linear approximation of the problem. In [24] the
McCormick envelop is described as a linear approximation to the load flow equations (it
also examines stronger approximations which are not linear, but suitable for semidefinite
programming). We describe the McCormick Envelop in Section 5.3.1. The McCormick
envelop is applied in Section 5.3.2 to linearize the load flow equations and converter
current Floss (f,h,i,l,o). However, the McCormick envelop does not linearize the maximum
power transmission or converter losses. We linearize the maximum power transmission
Floss (j) using piecewise linearization in Section 5.3.3. We linearize the converter loss
equation Floss (p) in Section 5.3.4 using a least squares approximation. The choices
for piecewise linearization and least squares are motivated in their respective sections.
Finally we summarize the complete LP model in Section 5.3.5.

5.3.1 McCormick envelop

The McCormick envelop can be used to linearize bilinear terms by creating linear bounds
around the solution space of this term. These linear bounds together are called the
envelop. For every bilinear term xy we need to have upper and lower bounds on x and
y to make the envelop. The bounds of the envelop can be derived using elementary
algebraic operations. Let xy be the bilinear term where:

x ≤x ≤x and y≤y≤y

38 38
We assume the values of x, x, y and y are known. We can create the first linear bound
of the envelop as follows:

(x − x)(y − y) ≥ 0

xy − xy − xy + xy ≥ 0

xy ≥ xy + xy − xy

The other linear bounds are derived in a similar way:

(x − x)(y − y) ≥ 0 −→ xy ≥ xy + xy − xy
(x − x)(y − y) ≥ 0 −→ xy ≤ xy + xy − xy
(x − x)(y − y) ≥ 0 −→ xy ≤ xy + xy − xy

These four bounds are the McCormick envelop around xy. A visual representation of
the envelop for a given value of xy is depicted in Fig. 15 (Although in our problem this
bilinear term is a variable as we will see in the next section). The grey area is the feasible
region of x and y given the envelop.

xy

y
xy ≤ xy + xy − xy
x x
x
xy ≥ xy + xy − xy
xy ≥ xy + xy − xy
xy ≤ xy + xy − xy

Figure 15: McCormick envelop for some value of xy

5.3.2 Load flow linearization

39 39
The constraints of Floss contain many bilinear terms for which a McCormick envelop
can be created. To create the envelops we need lower and upper bounds for the two
voltage related variables e and f . For a DC bus the bounds are already given in equation

40 40
Floss (m). For an AC bus the bounds can be derived from equation Floss (i):
q
|v| ≤ ek2 + fk2 ≤ |v|k
k
2
e2 2

k + fk ≤ |v|k2
ek2 ≤ |v|k
− |v|k ≤ ek ≤ |v|k k ∈ Bac ∪ Cac (39)

In a similar way we derive:

− |v|k ≤ fk ≤ |v|k k ∈ Bac ∪ Cac (40)

The bounds allow us to create a McCormick envelop for any bilinear terms that consist of
variables e and f . We introduce new variables to represent the bilinear terms: Ekj = ek ej ,
Fkj = fk fj and Hkj = ek fj . We denote and define the McCormick envelops for both AC
and DC as:

M(Ekj = ek ej ) M(Fkj = fk fj ) M(Hkj = ek fj ) k ∈ Bac ∪ Cac (41)


M(Ekj = ek ej ) k ∈ Bdc ∪ Cdc (42)

We give the bounds M(Hkj = ek fj ) represents as an example. We substitute these new


terms in the McCormick Envelop bounds we defined in Section 5.3.1:

Hkj ≥ − ek |v|j − |v|k fj − |v|k |v|j


Hkj ≥ ek |v|j + |v|k fj − |v|k |v|j Hkj
≤ ek |v|j − |v|k fj + |v|k |v|j Hkj ≤
− ek |v|j + |v|k fj + |v|k |v|j

The bounds of M(Ekj = ek ej ) and M(Fkj = fk fj ) are derived similarly, but also include
these constraints for the symmetry of multiplication:

Ekj = Ejk Fkj = Fjk

And they also include these non-negativity constraints for all bilinear terms that represent
a square term:
Ekk ≥ 0 Fkk ≥ 0
By substituting the newly introduced variables we linearize the load flow equations for
both AC and DC in the network Floss (f,h,l):
0
pkj = γkj (Ekk + Fkk ) − γkj (Ekj + Fkj ) + βkj (Hkj − Hjk )

41 41
0
qkj = − βkj (Ekk + Fkk ) + βkj (Ekj + Fkj ) + γkj (Hkj − Hjk )

pkj = 2gkj (Ekk − Ekj )

k, j ∈ Lac (43)
k, j ∈ Lac (44)
k, j ∈ Ldc (45)

42 42
Using substitution the same way we can almost linearize the voltage safety constraints
Floss (i) and converter current Floss (o). We just need to square on both sides after the
substitution.
2
|v|2k≤ Ekk + Fkk ≤ |v| k k ∈ Bac ∪ Cac (46)

|i| 2
cac = b2cac ,cnb + gc2ac ,cnb (Ecac ,cac − 2Ec ,cnb + Ecnb ,cnb
ac

+ Fcac ,cac − 2Fcac ,cnb + Fcnb ,cnb ) c∈C (47)

Since we now linearized the squared converter current, we must also square Floss (q) for
it to remain linear.
2
|i| 2
cac ≤ |i| cac c∈C (48)

5.3.3 Piecewise linearization


To linearize the maximum power transmission for each connection we use piecewise
linearization. In piecewise linearization a shape is bounded using an approximation
with linear bounds. We use piecewise linearization because it allows us to improve the
approximation at will by increasing the number of linear bounds (as we will show in
this section). The equation for the maximum power transmission Floss (j) describes a
circular feasible region with respect to the active power p and reactive power q. We can
approximate this circle with linear bounds as illustrated in Fig. 16. Here the dashed lines
tangent to the circle represent the linear bounds. The figure shows 12 linear bounds.
q

feasible region
p
0
s

Figure 16: Piecewise linearization of the maximum power transfer

The figure also shows how piecewise linearization permits a slight deviation from the
actual maximum power transmission. More linear bounds make the permitted deviation

43 43
smaller, but are additional constraints for the LP solver to compute. This is a trade-off.
In Fig. 17 we zoom in on Fig. 16 to calculate the maximum deviation. We add tangent

44 44
points t and t0 for two linear bounds, point d where the deviation is at its maximum and
point o for the origin. The maximum deviation is the distance between d and the circle,
which is the difference between between od and ot, where ot = s. We take the number of
linear bounds as n to derive the maximum deviation as follows:
q

t0

t p
o
s

Figure 17: Maximum piecewise linearization deviation


tot0 =
n
1 π
tod = tot0 =
2 n
ot
maximum deviation = od − ot = − ot
cos( tod)
−1 π
s ·cos
= − 1
n

We settled on 32 linear bounds to allow a maximum deviation of:


π
s · cos
−1
− 1 = s · 0.0048
32

Which is a maximum permitted power transfer increase of 0.5%. We denote piecewise


linearization of the maximum transmission constraint in the following way:
q
P 2 + q2 ≤ |s|
pkj kj kj k, j ∈ Ldc (49)

One might wonder if we could have applied piecewise linearization in place of the Mc-
Cormick envelop. One could use an integer linear program, in which integer variables
decide which linear bound should hold. Fig. 15 might suggest a piecewise linear approxi-
mation of the function is possible. Unfortunately this not so straightforward. Note that
Fig. 15 depicts the envelop for an example value of xy. In our problem however, this
bilinear term is a variable (For example in Hkj = ek fk , all three terms are variables).

45 45
This makes it such that the feasible space has 3 dimensions instead of 2. The piecewise
approximation would have to be performed by iterating over 2 dimensions instead of
1. This would lead to a large amount of linear bounds and integer variables, which
discouraged us from applying this technique.

46 46
5.3.4 Converter loss linearization

In Section 5.3.2 we linearized the squared converter current |i|2cac (even though this term
contains a square, it is linearly defined in the McCormick LP). In the converter loss
equation Floss (p) this leaves Lc |i|cac as the only non-linear term. When we plot the
loss as a function of the squared current (Fig. 18), then we can reason that piecewise
linearization is less practical here. Any linear bound tangent to the loss function would
give an upper bound on the converter loss. However, upper bounds are not useful because
low losses are probably more optimal. Therefore applying piecewise linearization to
this function is not possible for a LP. We can turn to an integer linear program at this
point, but since the loss function looks quite linear, we choose to approximate it with a
single line instead. We apply the least squares method for the approximation within he
bounds 0 and |i|cac . With the least squared method we minimize the average squared
distance of the actual loss and the approximated loss. The complete derivation is shown
in Appendix B.1. The approximation of the only non-linear term Lc |i|cac becomes:

15Lc 2 3Lc |i|cac


Lc |i|cac ≈ |i|cac +
16|i|cac 16

This linearizes the converter loss function Floss (p) to:


!
2 15Lc 2
3Lc | i|cac
pcdc = − pcac − Qc |i|cac + |i|cac + + Cc c∈C (50)
16 i| |cac 16

Fig. 18 depicts the approximate loss visually. Given the example loss coefficients in the
test networks we determined that the approximation never deviates more than 3%.
loss
|i|

loss
approximate loss

|i|2

Figure 18: Least squares linearization converter losses

47 47
5.3.5 McCormick LP model

To summarize this section we give the entire LP model. This is similar to the Floss model,
where we remove Floss (f,h-j,l,o-q) and replace them with Eqs. 39 to 50:

minimize:
X X
pk + pk (51a)
k∈ Bac k∈ Bdc

sub ject to:


pk = pg − pl k ∈ Bac (51b)
k k
qk = q − q g l
k ∈ Bac (51c)
k k
0≤p ≤p g g
k ∈ Bac (51d)
k k
X
pk = pkj k ∈ Bac ∪ Cac (51e)
k,j∈ Lac

0
pkj = γkj (Ekk + Fkk ) − γkj (Ekj + Fkj ) + βkj (Hkj − Hjk ) k, j ∈ Lac (51f )
X
qk = qkj k ∈ Bac ∪ Cac (51g)
k,j∈ Lac

0
qkj = − βkj (Ekk + Fkk ) + βkj (Ekj + Fkj ) + γkj (Hkj − Hjk ) k, j ∈ Lac (51h)
2
|v|2 ≤ Ekk + Fkk ≤ |v| k k ∈ Bac ∪ Cac (51i)
k

q
P 2 + q2 ≤ |s|
pkj kj kj k, j ∈ Lac (51j)

X
pk = pkj k ∈ Bdc ∪ Cdc (51k)
k,j∈ Ldc

pkj = 2gkj (Ekk − Ekj ) k, j ∈ Ldc (51l)


ek ≤ ek ≤ ek k ∈ Bdc ∪ Cdc (51m)
pkj ≤ pkj k ∈ Ldc (51n)
|i| 2
cac = b2cac ,cnb + gc2ac ,cnb (Ecac ,cac − 2Ec ,cnb + Ecnb ,cnb
ac

+ Fcac ,cac − 2Fcac ,cnb + Fcnb ,cnb ) c∈C (51o)

48 48
!
2 15Lc 2 3Lc | i|cac
pcdc = − pcac − Qc |i|cac + |i|cac + + Cc c∈C (51p)
16 i| |cac 16
2

|i| 2
cac ≤ |i| cac c∈C (51q)

− |v|k ≤ ek ≤ |v|k k ∈ Bac ∪ Cac (51r)


− |v|k ≤ fk ≤ |v|k k ∈ Bac ∪ Cac (51s)
M(Ekj = ek ej ) M(Fkj = fk fj ) M(Hkj = ek fj ) k, j ∈ Lac (51t)
M(Ekj = ek ej ) k, j ∈ Ldc
(51u)

49 49
with the following search space:

ek , fk , pk , qk ∈ Bac ∪ Cac p k, q k ∈ Bac pkj , qkj , Ekj , Fkj , Hkj ∈ Lac


g g

ek ∈ Bdc ∪ Cdc pk ∈ Cdc pkj , Ekj ∈ Ldc |i|2 cac∈ C

The shortage problem has no additional non-linear constraints, so it requires no further


techniques for its LP model. We can apply the same modifications to the loss model as
we did in Section 4.4.

5.4 LP model Koster-Lemkens


To linearly approximate load flow the DC load flow method is well known and often
used. This method is described and motivated in [9]. However, this method is limited,
because it only approximates the active power flow through the network, but not the
reactive power flow. In [23] Koster and Lemkens present a comparable linearization that
also provides the reactive power flows. We describe this approach in Section 5.4.1. We
create an LP model based around this linearization. To linearize the other non-linear
equations we use the same techniques as in the McCormick envelop: The maximum
power transmission Floss (j) is linearized using piecewise linearization, identical to the
method described in Section 5.3.3 (we reuse Eq. 49). The converter loss equation Floss (p) is
linearized using a least squares approximation as described in Section 5.4.2

5.4.1 Load flow linearization


The load flow approximation is based on the polar notation of the load flow in Eqs. 20
and 21. Similar to the DC load flow approximation we assume cos(δk − δj ) ≈ 1,
sin(δk − δj ) ≈ δk − δj and |v|k = |v|j = |v|slack . However we do not set |v|k − |v|j to 0. This
leads to the following derivations:
0
pkj = γkj |v|2k− γkj |v|k |v|j cos(δk − δj ) − βkj |v|k |v|j sin(δk − δj )

≈ |v|k (γ 0 kj |v|k − γkj |v|j ) − βkj |v|k |v|j (δk − δj )

≈ |v|slack (γ 0 kj |v|k − γkj |v|j ) − βkj |v|2 slack (δk − δj ) k, j ∈ Lac (52)

0
qkj = − βkj |v|2k− γkj |v|k |v|j sin(δk − δj ) + βkj |v|k |v|j cos(δk − δj )

≈ |v|k (− β 0 kj (|v|k + βkj |v|j ) − γkj |v|k |v|j (δk − δj )

≈ |v|slack (− β 0 kj (|v|k + βkj |v|j ) − γkj |v|2 slack (δk − δj ) k, j ∈ Lac (53)

Because we are using the polar notation for the AC load flow, we must update the AC
voltage safety constraint Floss (i) to:

50 50
|v|k ≤ |v|k ≤ |v|k k ∈ Bac ∪ Cac (54) We

linearize the DC load flow equations Floss (l) in a similar way to AC. This is experi-
mental since the approach was only applied to AC in the original work. For a DC network
we assume ek ≈ eslack , where eslack is the DC side voltage of the DC-slack operated

51 51
converter. We can justify this assumption due to the properties of HVDC. The high
voltage and low resistance (i.e. high conductance) of HVDC mean that ek and gkj are
both high. Because of the large factors a small voltage difference causes a large power
transfer. This makes the voltages approximately equal. We apply these assumptions DC
load flow equations Floss (l):

pkj = 2gkj (e2k − ek ej )


= 2gkj ek (ek − ej )
≈ 2gkj eslack (ek − ej ) k, j ∈ Ldc (55)

For this to be linear we have to assume that the voltage of the DC-slack operated
converter is equal to the average between its lower and upper bound.

5.4.2 Converter loss linearization

The Koster Lemkens approximation unfortunately does not calculate current magnitudes.
This means we omit equations Floss (o,q) in the Koster-Lemkens model and we approximate
the converter losses with a constant. To determine this constant we again use the least
squares approach described in Section 5.3.4, for which the calculation is performed in
Appendix B.2. This gives the following approximation of the quadratic and linear loss
terms of a converter c ∈ C:
1 2 1
Qc |i|2cac + Lc |i|cac ≈ 3 Qc |i| cac + 2 Lc |i|cac

The entire loss formula becomes:

1 2 1
pcdc = − pcac − ( Qc |i|cac + Lc |i|cac + Cc ) c∈C (56)
3 2

Given the example loss coefficients in the test networks we determined that the
approximation can never deviate more than 21% from the original loss in the problem
model Floss . Since the losses often make up only a small part of the transferred power,
this seemingly large deviation may still be quite acceptable.

5.4.3 Mathematical model

52 52
To summarize the Koster-Lemkens model we give the entire LP model. This is similar to
the Floss model, where we remove Floss (f,h-j,l,o-q) and replace them with Eqs. 49 and 52
to 56:

53 53
minimize:
X X
pk + pk (57a)
k∈ Bac k∈ Bdc

sub ject to:


pk = pg − pl k ∈ Bac (57b)
k k
g
qk = q − q l
k ∈ Bac (57c)
k k
0≤p ≤p g g
k ∈ Bac (57d)
k k
X
pk = pkj k ∈ Bac ∪ Cac (57e)
k,j∈ Lac

pkj = |v|slack (γ 0 kj |v|k − γkj |v|j ) − βkj |v|2 slack (δk − δj ) k, j ∈ Lac (57f )
X
qk = qkj k ∈ Bac ∪ Cac (57g)
k,j∈ Lac

qkj = |v|slack (− β 0 kj (|v|k + βkj |v|j ) − γkj |v|2 slack (δk − δj ) k, j ∈ Lac (57h)

|v|k ≤ |v|k ≤ |v|k k ∈ Bac ∪ Cac (57i)


q
P 2 + q2 ≤ |s|
pkj kj kj k, j ∈ Lac (57j)

X
pk = pkj k ∈ Bdc ∪ Cdc (57k)
k,j∈ Ldc

pkj = 2gkj eslack (ek − ej ) k, j ∈ Ldc (57l)


ek ≤ ek ≤ ek k ∈ Bdc ∪ Cdc (57m)
pkj ≤ pkj k ∈ Ldc (57n)
1 2 1
pcdc = − pcac − ( Qc |i|cac + Lc |i|cac + Cc ) c∈C (57o)
3 2
This formulation has the following search space:

|v|k , δk , pk , qk ∈ Bac ∪ Cac pg ,kq g k∈ Bac pkj , qkj ∈ Lac


ek ∈ Bdc ∪ Cdc pk ∈ Cdc pkj ∈ Ldc

54 54
The shortage problem has no additional non-linear constraints, so it requires no further
techniques for its LP model. We can apply the same modifications to the loss model as
we did in Section 4.4.

5.5 LP model hybrid


We implemented a hybrid LP model in which we use different models for the AC and DC
parts of the networks. For the AC components of the network we use the Koster-Lemkens
LP model, while for the DC components we use the McCormick envelop model.

55 55
We create this hybrid model because it applies each LP model to the network side
it works best for. We expect the Koster-Lemkens model to be better for AC than DC:
It was not created for DC networks in the original work and its application there is
experimental. On the other hand, we expect the McCormick envelop to be better for DC
than AC: We reason that the quality of a McCormick envelop around a bilinear term
depends on the tightness of the bounds on its two variables. The variable bounds for an
AC envelop are − |v| and |v|, while for a DC envelop they are e and e. The space between the
DC bounds is more narrow and therefore we expect the envelop to be tighter.

Modelling the hybrid LP is very straightforward. It takes the DC equations from the
McCormick LP model and the AC equations from the Koster-Lemkens LP model. The
converter equations must come from the Koster-Lemkens LP model (since the converter
current depends on the AC network). This means we have no equations for the converter
current in the hybrid LP model.

5.6 Genetic algorithm


A genetic algorithm is implemented as another approach to optimize the loss problem and
the shortage problem. The general setup of the genetic algorithm is illustrated in Fig. 19.
We start by generating a population of starting solutions (Section 5.6.2). We select
good parent solutions from this population (Section 5.6.4). We then perform crossover
(Section 5.6.5) and mutation (Section 5.6.6) on the solutions to create child solutions.
We add these child solutions to the population. If no child improves the population, then
we consider the population to be converged. If the population is not converged, then
we select parents again and repeat. If the population is converged, then we stop the
algorithm and return the best solution.
Network Return best
input solution
Yes
Generate Crossover Add to
Selection Converged?
population +mutation population
No

Figure 19: Flowchart GA

Before discussing the different operators we first mention two common tools that
operators use. The first tool is the normal distribution, which some operators use to
sample values. We denote a normal distribution with mean x and standard deviation y
as: Norm(x, y). The second tool is a procedure to compensate power. It was created
because many operators change either power generation or power consumption of network
elements. A recurring difficulty of such power modifications is the active power balance.
Any power change in the network requires a second power change to keep the balance.

56 56
For instance, if we want to reduce the power output of one generator, then we have to
increase the power output of another generator to compensate it. In load flow solvers
such as MATACDC the slack-bus generator automatically compensates. However, always
compensating with the slack-bus generator is undesirable while optimizing, since it can
be beneficial to keep this power fixed when we create new solutions (if it is already at the
optimal value for instance). We took this into account when designing the operators: If
we change an active power value, then we also select a random generator to compensate
for that change. With this mechanism we remove the special status of slack-bus and treat
it equal to other generator connected buses (it is therefore quite a logical tool). A very
similar effect occurs in DC networks with the converters. If one converter changes its
active power set point, then another converter in its DC network has to compensate to
keep the balance. A load flow solver automatically uses the DC-slack operated converter
for this (as was explained in Section 2.2.2), but this is again not desirable (for the
same reason as the slack-bus). To also put the converters on equal footing we use
the same random compensation mechanism for them. Whenever we use this random
compensation we write something like: ’We compensate the power at a randomly selected
generator/converter’.

5.6.1 Solution representation


Here we describe the representation of a solution of the GA. In Section 4.3 we denoted
what the search space of the loss-problem consists of. Fortunately, a GA solution does not
need to represent the entire search space. Given the converter set points, the generator
active powers and the shortage the load flow algorithm of MATACDC can determine
the values of all other variables in the search space. It determines these values such that
they satisfy the load flow constraints Floss (e-h,k-l) (MATACDC enforces power balance,
but no safety constraints). Each GA solution therefore represents: converter set points,
generator active powers and shortages.

What set points we must represent for a converter depends on its operation type.
We choose the following stable operation types for the converters of each DC network:
One random converter operates in DC-slack mode, while all other converters operate in
constant power mode. In Section 2.2.2 we explained this setup to be stable. These two
converter types have set points for active power, reactive power and DC voltage. We
group these variables under the name set point variables.

The generator active power representation is very straightforward. A solution has


a variable for each generator that represents its active power output. We name these
variables the generator variables.

In the shortage problem we additionally need to represent the shortage of power at


each AC bus. A solution has a variable for each AC bus that represent the shortage at
that bus. We name these the shortage variables.

57 57
GA Solution = { set point variables, generator variables, shortage variables }

5.6.2 Starting population


The size of the starting population is a parameter of the GA algorithm. In the exper-
iments we try various population sizes. The first solution of the starting population
represents normal control settings. This way the final solution of the GA can’t be worse
than normal control. All other solutions in the population are generated in a random
fashion. We consider two ways to generate the set points variables: A warm start which
builds upon a good starting solution and a cold start which assumes no such solution.
In the experiments we use the warm start, unless mentioned otherwise. We discuss the
random generation of the cold set point variables, warm set points variables, generator
variables and shortage variables separately.

cold set point variables A GA (or MA) has only has a cold start if specifically men-
tioned (otherwise it has a warm start). The cold start approach does not assume
useful set points in the input network. The set points variables are generated by
sampling from normal distribution based on the network.
• All active power set points are sampled from Norm(0, Avg({plk | k ∈ Bac })).

The standard deviation of this distribution is the average of the active power
demands at AC buses.
• Similarly all reactive power set points are sampled from Norm(0, Avg({q lk |
k ∈ Bac })). The standard deviation of this distribution is the average of the
reactive power demands at AC buses.
• DC voltage set points take on a random value between their minimum and
maximum (see safety constraint Floss (m)).
By sampling the power set points based on the network, we make sure that the
randomly generated values likely have a correct order of magnitude.

warm set point variables A GA (or MA) has a warm start, unless mentioned other-
wise. The warm start approach creates set points close to the set points of the
input network (it assumes the input network has decent set point values).
• An active power set point is sampled by Norm(x, x) where x is that set point
value of the input network. For instance: if a converter in the input network
has an active power set point of 50, then each starting solution samples that
set point from Norm(50, 50).
• A reactive power set point is sampled by Norm(x, x) where x is that set point
value of the input network. This is similar to the active power set point.
• DC voltage set points take on a random value between their minimum and
maximum (see safety constraint Floss (m)).

58 58
This approach ensures that every value is close to the input network, but still
proportionally random.

59 59
generator variables The generator variables always start at their maximum allowed
by Floss (d) (generator variables can still vary in the staring population, because
when generating the shortage variables, the generators might compensate for the
difference in power consumption).

shortage variables The shortage variables have a 50% chance to be 1 and are otherwise
sampled uniformly between 0 and 1. We generate 1 half the time because many
buses typically remain unaffected by a connection failure. By having lots of 1’s in
the starting population the algorithm can quickly find these unaffected buses with
the crossover operator in Section 5.6.5. Shortage changes power consumption. We
compensate the power at a randomly selected generator.

5.6.3 Evaluation
To determine the quality of a solution, each solution is evaluated with a score called
the fitness. To determine the fitness of a solution, we run MATACDC based on the
variables of the solution. MATACDC provides us with the remaining variables in the
search space. In some cases MATACDC does not converge, which means it can’t find
the other variables. The fitness of a solution consists of three criteria listed in order of
importance:
1. Convergence: If MATACDC did not converge, then it couldn’t find values of the
remaining variables. This only tends to happen if a solution is far from feasible.
Any solution that converges is better than a solution that does not converge.
2. Constraints: MATACDC does not enforce safety constraints (Floss (d,i,j,m,n,q)).
Therefore the fitness gets a penalty if safety constraints are violated. Between
solutions that both converge, the one with the least number of constraint violations
is considered best. This does not yet count the magnitude of each constraint
violation. We do this because the different safety constraints have different units
and are therefore not comparable in magnitude. If the number of violations is equal,
then we compare the magnitude of violations. This way the GA removes safety
violations from the population, without creating new violations in the process.
3. Ob jective: Between solutions with similar convergence and no constraint violations,
the one with the smallest objective value is best.
Using this setup makes sure that the population quickly converges to a (predominantly)
feasible search space. Only after this it optimizes towards a good objective value.

5.6.4 Selection
Selection determines which solutions survive in the population and it determines which
solutions become parent solutions. The population is first sorted from best to worst
fitness. In case of equal fitness, the oldest solution gets a better sorting spot. Then the
population is cropped to the population size by removing the worst sorted solutions. We
select the parents via tournament selection with size two. This means we make random

60 60
pairings of all solutions in the population. The best sorted solution of each pair becomes
a parent solution. This way half of the solutions are selected to become parents.

5.6.5 Crossover
Crossover takes two selected parent solutions and and generates two child solutions based
on these. The children created are opposites. If the first child inherits a property from
the first parent, then the second child inherits that property from the second parent. We
only describe the procedure to create one child, since the other follows logically. We
describe crossover of the set point variables, generator variables and shortage variables
separately.

set point variables For the converter set points we implemented two types of crossover.
• With uniform crossover Each set point variable is randomly copied from
the first or the second parent. The power in a DC network can change this
way. For each DC network we compensate the power at a randomly selected
converter.
• With grid crossover The set point variables of each DC network are randomly
copied from the first or the second parent. This means the set points of each
DC network remain together. The power in each DC network remains the
same this way, so no need to compensate for power.
Grid crossover is inspired by the idea that the converters in the same network
must cooperate to be successful. Performing crossover this way increases the
probability that a child inherits cooperating converter set points from its parent.
However, if there is only a single DC network, then grid crossover would not mix
the parents. We therefore choose grid crossover and uniform crossover with the
following probability ratio:

grid crossover : uniform crossover


n− 1 : c/n − 2

Here n is the total number of DC networks and c is the total number of converters.
If there is only 1 DC-network, then the left side of the ratio becomes 0 and uniform
crossover is selected. If there are only point to point connections, then the right
side becomes 0 and grid crossover is selected. If there is only a single point to point
connection, then the ratio would be 0 : 0 and we select uniform crossover as default.

generator variables The GA performs uniform crossover on the generator active power
variables. Each generator variable is randomly copied from the first or the second
parent. The total power generation can change this way. We compensate the power
at a randomly selected generator.

61 61
shortage variables The GA performs uniform crossover on the shortage variables. Each
shortage variable is randomly copied from the first or the second parent. The total

62 62
power consumption can change this way. We compensate the power at a randomly
selected generator.

5.6.6 Mutation
Mutation takes a selected parent solution and alters it slightly to create a child solution.
The mutation operator has two parameters: probability and amplitude. The probability
determines how many values are changed while the amplitude determines how much they
change. We experimentally decided to make both parameters equal to 0.1. We describe
crossover of the set point variables, generator variables and shortage variables separately.

set point variables To mutate set point variables we use same normal distributions
as we used to create the starting population in Section 5.6.2. We mutate each set
point value with a probability equal to the mutation probability. If we mutate a
set point, then its new value becomes: Norm(x, x · amplitude). Where x is its old
value.

generator variables We mutate each generator variable with a probability equal to the
mutation probability. If we mutate a generator variable, then we give it a random
value between its current value and its maximum. Power generation changes this
way. We compensate the power at a randomly selected generator. With this
mutation procedure we make sure that generators don’t exceed their maximum
generation bound (Floss (d)).

shortage variables We mutate each shortage variable with a probability equal to the
mutation probability. If we mutate, a shortage variable has a 50% change to
increase, in which case it becomes a random value between its current value and 1.
Otherwise it decreases and becomes a random value between it current value and 0.
This way each shortage variable stays between 0 and 1 (Fshortage (d))

5.7 Memetic algorithm


The memetic algorithm functions almost exactly the same as the genetic algorithm in
Section 5.6. The only difference is that the mutation operator is replaced by a local
search operator. The local search operator we chose was IPOPT, since the gradient
descent algorithm did not perform well in the tests. A schematic overview is depicted in
Fig. 20.

6 Computational results
In this section we describe how we set up the various experiments and analyse their
results. We start by describing the test network design in Section 6.1 and the different
optimization methods we experimented with in Section 6.2. Before we run the experiments
we give some technical information about the software we use in Section 6.3. Then in

63 63

Anda mungkin juga menyukai