Difference between revisions of "Control of Transmission Lines"

From mintOC
Jump to: navigation, search
(Parameters, Discretization, Source Code)
 
(7 intermediate revisions by one other user not shown)
Line 15: Line 15:
 
</math>
 
</math>
 
</p>
 
</p>
and formulate the coupling between the lines and the continuously controlled power inflow <math>\boldsymbol{u}(t)</math> as boundary conditions involving distribution matrices <math>\mathbf{D}^\pm(v)</math>, which depend on a discrete switching signal <math>\boldsymbol{v}(t)</math>, and constant distribution matrices <math>\mathbf{\Lambda}^\pm</math> of size <math>m \times m</math> according to
+
and formulate the coupling between the lines and the continuously controlled power inflow <math>\boldsymbol{u}(t)</math> as boundary conditions involving distribution matrices <math>\mathbf{D}^\pm(v)</math>, which depend on a discrete switching signal <math>\boldsymbol{v}(t)</math>, and constant matrices <math>\mathbf{\Lambda}^\pm</math> of size <math>m \times m</math> according to
 
<p>
 
<p>
 
<math>
 
<math>
Line 48: Line 48:
 
== Discretization ==
 
== Discretization ==
  
The mixed-integer variables <math>\boldsymbol{v}(t)</math> are transcribed via Partial Outer Convexification and the dynamics are discretized using Finite Volumes with upwind fluxes for the characteristic variables and explicit first-order time-stepping.
+
The mixed-integer variables <math>\boldsymbol{v}(t)</math> are transcribed via Partial Outer Convexification, i.e. the coupling conditions read
 +
<p>
 +
<math>
 +
\begin{align}
 +
\begin{pmatrix}
 +
\boldsymbol{\Lambda}^+ & 0\\
 +
0 & \sum_{c \in \Omega}\mathbf{D}_c^- b_c(t)
 +
\end{pmatrix} \boldsymbol{\xi}(0,t)
 +
&=
 +
\begin{pmatrix}
 +
\sum_{c \in \Omega} \mathbf{D}_c^+ b_c(t)) & 0\\
 +
0 & \boldsymbol{\Lambda}^-
 +
\end{pmatrix} \boldsymbol{\xi}(l,t) +
 +
\begin{pmatrix}
 +
\boldsymbol{\Lambda}^+ & 0\\
 +
0 & 0
 +
\end{pmatrix} \boldsymbol{u}(t), \\
 +
\sum_{c \in \Omega} b_c(t) &= 1, \\
 +
b_c(t) &\in \{0,1\} \quad \forall c \in \Omega,
 +
\end{align}
 +
</math>
 +
</p>
 +
where each outer control <math>b_c(t)</math> contains the status of all switches and <math>\boldsymbol{D}_c^+, \boldsymbol{D}_c^-</math> are the constant distribution matrices for the configuration <math>c \in \Omega</math>.
 +
 +
The dynamics are discretized using Finite Volumes with upwind fluxes for the characteristic variables and explicit first-order time-stepping.  
  
 
== Reference Solution ==
 
== Reference Solution ==
 +
 +
We consider an extended tree network with 2 producers, 5 consumers and real-world demand data.
 +
After partial outer convexification (POC) and discretization, Ipopt delivers an NLP solution with objective value 2.804 and the following relaxed POC multipliers:
 +
[[File:translines_relaxed_control.png|500px|Relaxed POC multipliers for switched controls]]
 +
 +
Sum-Up Rounding with SOS1-constraint delivers the following integer feasible POC multipliers:
 +
[[File:translines_switched_control.png|500px|POC multipliers for switched controls after Sum-Up-SOS1-Rounding]]
 +
 +
Reoptimization with fixed Sum-Up Rounding decisions delivers an objective value of 3.152 and the following controls:
 +
[[File:translines_cont_control.png|500px|Continuous controls]]
 +
 +
The next figure compares the consumer demands (red) with the obtained power delivery (blue).
 +
[[File:translines_demand_delivery.png|500px|Demand and delivery]]
  
 
==Source Code==
 
==Source Code==
  
The C++ code for the results in the paper are not publicly available, but a more user-friendly Python/CasADi-Version is available on [https://github.com/apotschka/poc-transmission-lines GitHub/poc-transmission-lines].
+
The C++ code for the results in the paper is not publicly available, but a more user-friendly Python/CasADi-Version (without dwell-time constraints) is available on [https://github.com/apotschka/poc-transmission-lines GitHub/poc-transmission-lines]. A Python/Gurobi-Version (including dwell-time constraints) that solves the problem to global optimality is available on [https://github.com/jhelgert/pyTranslines GitHub/pyTranslines]. The latter also contains a specialized heuristic based on the CIAP decomposition in order to quickly find feasible solutions.
  
 
==References==
 
==References==

Latest revision as of 08:07, 16 July 2021

This problem was provided by Göttlich, Potschka, and Teuber [Goettlich2018]Author: G{\"o}ttlich, Simone; Potschka, Andreas; Teuber, Claus
Institution: University of Mannheim
Note: Optimization Online 6312
Title: A partial outer convexification approach to control transmission lines
Url: http://www.optimization-online.org/DB_HTML/2017/11/6312.html
Year: 2018
Link to Google Scholar
. It is governed by a 2x2-system of conservation laws based on the telegraph equations for single transmission lines, which are then connected to form a network. The objective is to minimize the quadratic deviation of the load delivered to customer nodes from their demand by continuously controlling the power inflow to the network at the energy producer nodes and by discrete but time-varying switches at the coupling nodes inside the network.

Mathematical formulation

The dynamics on the r-th transmission line with spatial variable x \in [0, l_r], temporal variable t \in [0, T], and state variable \xi_r(x,t) = (\xi^+_r(x, t), \xi^-_r(x, t)) containing the characteristic variables for right-traveling and left-traveling components are given by the hyperbolic PDE system


\partial_t \xi_r(x,t) + \Lambda_r \xi_r(x,t) + B_r \xi_r(x,t) = 0,

with a diagonal 2x2-matrix \Lambda_r and a symmetric matrix B_r. We combine all m single line states to a large state vector \boldsymbol{\xi}(x,t) to obtain the system


\partial_t \boldsymbol{\xi} + \boldsymbol{\Lambda} \partial_x \boldsymbol{\xi} + \mathbf{B} \boldsymbol{\xi} = 0

and formulate the coupling between the lines and the continuously controlled power inflow \boldsymbol{u}(t) as boundary conditions involving distribution matrices \mathbf{D}^\pm(v), which depend on a discrete switching signal \boldsymbol{v}(t), and constant matrices \mathbf{\Lambda}^\pm of size m \times m according to


\begin{pmatrix}
\boldsymbol{\Lambda}^+ & 0\\
0 & \mathbf{D}^-(\boldsymbol{v}(t))
\end{pmatrix} \boldsymbol{\xi}(0,t) = 
\begin{pmatrix}
\mathbf{D}^+(\boldsymbol{v}(t)) & 0\\
0 & \boldsymbol{\Lambda}^-
\end{pmatrix} \boldsymbol{\xi}(l,t) + 
\begin{pmatrix}
\boldsymbol{\Lambda}^+ & 0\\
0 & 0
\end{pmatrix} \boldsymbol{u}(t).

The continuous control \boldsymbol{u}(t) is subject to simple bounds.

The objective is to track the given demands Q_s(t) of consumers, which can be formulated as


  \displaystyle \min_{\boldsymbol{v} \in \mathcal{V}, \boldsymbol{u} \in \mathcal{U}} \frac{1}{2}\sum_{s \in V_S} \int_0^{T} \left( Q_s(t) - \sum_{r \in \delta_{s}} \xi_r^+(l_r,t) \right)^2 dt,

where V_S is the set of consumer nodes and \delta_s is the set of all lines adjacent to vertex s.

Parameters

A detailed account of the network structures and parameter settings can be found in [Goettlich2018]Author: G{\"o}ttlich, Simone; Potschka, Andreas; Teuber, Claus
Institution: University of Mannheim
Note: Optimization Online 6312
Title: A partial outer convexification approach to control transmission lines
Url: http://www.optimization-online.org/DB_HTML/2017/11/6312.html
Year: 2018
Link to Google Scholar
and in the source code below.

Discretization

The mixed-integer variables \boldsymbol{v}(t) are transcribed via Partial Outer Convexification, i.e. the coupling conditions read


\begin{align}
\begin{pmatrix}
\boldsymbol{\Lambda}^+ & 0\\
0 & \sum_{c \in \Omega}\mathbf{D}_c^- b_c(t)
\end{pmatrix} \boldsymbol{\xi}(0,t)
&= 
\begin{pmatrix}
\sum_{c \in \Omega} \mathbf{D}_c^+ b_c(t)) & 0\\
0 & \boldsymbol{\Lambda}^-
\end{pmatrix} \boldsymbol{\xi}(l,t) + 
\begin{pmatrix}
\boldsymbol{\Lambda}^+ & 0\\
0 & 0
\end{pmatrix} \boldsymbol{u}(t), \\
\sum_{c \in \Omega} b_c(t) &= 1, \\
b_c(t) &\in \{0,1\} \quad \forall c \in \Omega,
\end{align}

where each outer control b_c(t) contains the status of all switches and \boldsymbol{D}_c^+, \boldsymbol{D}_c^- are the constant distribution matrices for the configuration c \in \Omega.

The dynamics are discretized using Finite Volumes with upwind fluxes for the characteristic variables and explicit first-order time-stepping.

Reference Solution

We consider an extended tree network with 2 producers, 5 consumers and real-world demand data. After partial outer convexification (POC) and discretization, Ipopt delivers an NLP solution with objective value 2.804 and the following relaxed POC multipliers: Relaxed POC multipliers for switched controls

Sum-Up Rounding with SOS1-constraint delivers the following integer feasible POC multipliers: POC multipliers for switched controls after Sum-Up-SOS1-Rounding

Reoptimization with fixed Sum-Up Rounding decisions delivers an objective value of 3.152 and the following controls: Continuous controls

The next figure compares the consumer demands (red) with the obtained power delivery (blue). Demand and delivery

Source Code

The C++ code for the results in the paper is not publicly available, but a more user-friendly Python/CasADi-Version (without dwell-time constraints) is available on GitHub/poc-transmission-lines. A Python/Gurobi-Version (including dwell-time constraints) that solves the problem to global optimality is available on GitHub/pyTranslines. The latter also contains a specialized heuristic based on the CIAP decomposition in order to quickly find feasible solutions.

References

[Goettlich2018]G{\"o}ttlich, Simone; Potschka, Andreas; Teuber, Claus (2018): A partial outer convexification approach to control transmission lines. University of Mannheim.Link to Google Scholar