You are on page 1of 3

46750 - Optimization in Modern Energy Systems

Exercise 2

Name: Victor Schmitt

Student Number: s233241

1. Economic dispatch

We consider a power system with 3 generators (G1 , G2 , G3 ) and 1 inflexible load (D1 ).
The production costs (in DKK/MWh), generation capacity and demand (in MWh) are
summarized in Figure 1. The system operator wants to dispatch the generators in order to
cover this load at the lowest possible cost.

Figure 1: Economic dispatch parameters

(a) Formulate this economic dispatch problem as an optimization problem. Specify the
number of variables and constraints of this optimization problem. What do the dual
variables associated with each constraint of the economic dispatch represent?
In order to formualte this economic dispatch problem, with need to identify :
• the decision variables, which are here : x1 , x2 and x3 , representing respectively
the production of the G1, G2 and G3;
• the objective function, which is here :

minx1,x2,x3 Z = cG G G
1 x1 + c2 x2 + c3 x3 (1)

where cG G G
1 = 70 DKK/kWh, c2 = 15 DKK/kWh and c3 = 150 DKK/kWh are
respectively the variables production costs of G1, G2 and G3;
• the constraints, which are here :


 x1 ≥ 0



 x2 ≥ 0
x3 ≥ 0



QG1 ≥ x1 (2)
QG ≥ x2



 2

 Q G ≥ x3

 3
= QD

x1 + x2 + x3 1

where QG G G
1 = Q2 = Q3 = 150 kWh are the maximum capacity of respectively G1,
G2 and G3, and QD
1 kWh is the capacity of the inflexible load D1.
In this primal problem, we have 3 variables (x1 , x2 and x3 ), and 4 constraints. The
dual variables associated with each constraints are representing the sensitivity of the
primal problem with respect to the constraints : in other words, the marginal effect
on the cost per unit change in production (in each primal constraint limit).
(b) Solve this optimization problem using Python. Provide the values of the optimal primal
variables, objective value, and dual variables associated with each constraint. What
do you observe w.r.t. to the values (zero or non-zero) taken by the dual variables at
optimality and the constraints they are associated with?
We now solve the problem with Python. We find the optimal solution of the problem :

Zmin = 5750
(3)
(x1 , x2 , x3 ) = (50, 150, 0)

The dual variables associated with each constraints are taking respectively the value :
0, -55, 0 and 70. The first three dual variables are negatives because they are associated
with the constraints at line 4, 5 and 6 of (2), which are less or equal constraints. The
last dual variable is not constrained, because it is associated with the constraint at line
7 of (2).
(c) Formulate the dual of the economic dispatch problem. What do the dual variables
associated with each constraint of the dual problem represent?
The dual of the the economic dispatch problem is the following :
• the variables are : y1 , y2 , y3 and y4 ;
• the objective function :

maxy1,y2,y3,y4 Z̃ = QG G G D
1 y1 + Q2 y2 + Q3 y3 + Q1 y4 (4)

• the constraints, which are here :




 y1 ≤ 0



 y2 ≤ 0
y3 ≤ 0



y4 f ree (5)
y1 + y4 ≤ c1




y + y4 ≤ c2


 2


y3 + y4 ≤ c3
(d) Solve this optimization problem using Python. Provide the optimal values of its primal
variables and objective value, as well as the values of the dual variables associated with
each constraint.

Page 2
We now solve the problem with Python. We find the optimal solution of the problem :

Z̃max = 5750
(6)
(y1 , y2 , y3 , y4 ) = (0, −55, 0, 70)

The dual variables associated with each constraints are taking respectively the value :
50, 150 and 0.
(e) Formulate the strong-duality theorem for the economic dispatch, and provide its primal-
dual formulation.
Because x∗ is an optimal solution for the primal problem and y∗ is an optimal solution
for the dual problem, we can formulate the strong-duality theorem :

   
    0 150
50 70 −55 150
x∗ = 150 c =  15  y∗ = 
 0 
 b=
150
 (7)
0 150
70 200

which gives :
cT x∗ = bT y∗ = 5750 (8)

Page 3

You might also like