<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mintoc.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JonathanHelgert</id>
	<title>mintOC - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mintoc.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JonathanHelgert"/>
	<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Special:Contributions/JonathanHelgert"/>
	<updated>2026-06-09T07:58:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://mintoc.de/index.php?title=Control_of_Transmission_Lines&amp;diff=2337</id>
		<title>Control of Transmission Lines</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Control_of_Transmission_Lines&amp;diff=2337"/>
		<updated>2021-07-16T07:07:25Z</updated>

		<summary type="html">&lt;p&gt;JonathanHelgert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This problem was provided by Göttlich, Potschka, and Teuber &amp;lt;bib id=&amp;quot;Goettlich2018&amp;quot; /&amp;gt;. 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.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The dynamics on the &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;-th transmission line with spatial variable &amp;lt;math&amp;gt;x \in [0, l_r]&amp;lt;/math&amp;gt;, temporal variable &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, and state variable &amp;lt;math&amp;gt;\xi_r(x,t) = (\xi^+_r(x, t), \xi^-_r(x, t))&amp;lt;/math&amp;gt; containing the characteristic variables for right-traveling and left-traveling components are given by the hyperbolic PDE system&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\partial_t \xi_r(x,t) + \Lambda_r \xi_r(x,t) + B_r \xi_r(x,t) = 0,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
with a diagonal 2x2-matrix &amp;lt;math&amp;gt;\Lambda_r&amp;lt;/math&amp;gt; and a symmetric matrix &amp;lt;math&amp;gt;B_r&amp;lt;/math&amp;gt;. We combine all &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; single line states to a large state vector &amp;lt;math&amp;gt;\boldsymbol{\xi}(x,t)&amp;lt;/math&amp;gt; to obtain the system&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\partial_t \boldsymbol{\xi} + \boldsymbol{\Lambda} \partial_x \boldsymbol{\xi} + \mathbf{B} \boldsymbol{\xi} = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
and formulate the coupling between the lines and the continuously controlled power inflow &amp;lt;math&amp;gt;\boldsymbol{u}(t)&amp;lt;/math&amp;gt; as boundary conditions involving distribution matrices &amp;lt;math&amp;gt;\mathbf{D}^\pm(v)&amp;lt;/math&amp;gt;, which depend on a discrete switching signal &amp;lt;math&amp;gt;\boldsymbol{v}(t)&amp;lt;/math&amp;gt;, and constant matrices &amp;lt;math&amp;gt;\mathbf{\Lambda}^\pm&amp;lt;/math&amp;gt; of size &amp;lt;math&amp;gt;m \times m&amp;lt;/math&amp;gt; according to&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\boldsymbol{\Lambda}^+ &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; \mathbf{D}^-(\boldsymbol{v}(t))&lt;br /&gt;
\end{pmatrix} \boldsymbol{\xi}(0,t) = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\mathbf{D}^+(\boldsymbol{v}(t)) &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; \boldsymbol{\Lambda}^-&lt;br /&gt;
\end{pmatrix} \boldsymbol{\xi}(l,t) + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\boldsymbol{\Lambda}^+ &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0&lt;br /&gt;
\end{pmatrix} \boldsymbol{u}(t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The continuous control &amp;lt;math&amp;gt;\boldsymbol{u}(t)&amp;lt;/math&amp;gt; is subject to simple bounds.&lt;br /&gt;
&lt;br /&gt;
The objective is to track the given demands &amp;lt;math&amp;gt;Q_s(t)&amp;lt;/math&amp;gt; of consumers, which can be formulated as &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \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,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;math&amp;gt;V_S&amp;lt;/math&amp;gt; is the set of consumer nodes and &amp;lt;math&amp;gt;\delta_s&amp;lt;/math&amp;gt; is the set of all lines adjacent to vertex &amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
A detailed account of the network structures and parameter settings can be found in &amp;lt;bib id=&amp;quot;Goettlich2018&amp;quot; /&amp;gt; and in the source code below.&lt;br /&gt;
&lt;br /&gt;
== Discretization ==&lt;br /&gt;
&lt;br /&gt;
The mixed-integer variables &amp;lt;math&amp;gt;\boldsymbol{v}(t)&amp;lt;/math&amp;gt; are transcribed via Partial Outer Convexification, i.e. the coupling conditions read&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\boldsymbol{\Lambda}^+ &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; \sum_{c \in \Omega}\mathbf{D}_c^- b_c(t)&lt;br /&gt;
\end{pmatrix} \boldsymbol{\xi}(0,t)&lt;br /&gt;
&amp;amp;= &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\sum_{c \in \Omega} \mathbf{D}_c^+ b_c(t)) &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; \boldsymbol{\Lambda}^-&lt;br /&gt;
\end{pmatrix} \boldsymbol{\xi}(l,t) + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\boldsymbol{\Lambda}^+ &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0&lt;br /&gt;
\end{pmatrix} \boldsymbol{u}(t), \\&lt;br /&gt;
\sum_{c \in \Omega} b_c(t) &amp;amp;= 1, \\&lt;br /&gt;
b_c(t) &amp;amp;\in \{0,1\} \quad \forall c \in \Omega,&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
where each outer control &amp;lt;math&amp;gt;b_c(t)&amp;lt;/math&amp;gt; contains the status of all switches and &amp;lt;math&amp;gt;\boldsymbol{D}_c^+, \boldsymbol{D}_c^-&amp;lt;/math&amp;gt; are the constant distribution matrices for the configuration &amp;lt;math&amp;gt;c \in \Omega&amp;lt;/math&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
The dynamics are discretized using Finite Volumes with upwind fluxes for the characteristic variables and explicit first-order time-stepping. &lt;br /&gt;
&lt;br /&gt;
== Reference Solution ==&lt;br /&gt;
&lt;br /&gt;
We consider an extended tree network with 2 producers, 5 consumers and real-world demand data.&lt;br /&gt;
After partial outer convexification (POC) and discretization, Ipopt delivers an NLP solution with objective value 2.804 and the following relaxed POC multipliers:&lt;br /&gt;
[[File:translines_relaxed_control.png|500px|Relaxed POC multipliers for switched controls]]&lt;br /&gt;
&lt;br /&gt;
Sum-Up Rounding with SOS1-constraint delivers the following integer feasible POC multipliers:&lt;br /&gt;
[[File:translines_switched_control.png|500px|POC multipliers for switched controls after Sum-Up-SOS1-Rounding]]&lt;br /&gt;
&lt;br /&gt;
Reoptimization with fixed Sum-Up Rounding decisions delivers an objective value of 3.152 and the following controls:&lt;br /&gt;
[[File:translines_cont_control.png|500px|Continuous controls]]&lt;br /&gt;
&lt;br /&gt;
The next figure compares the consumer demands (red) with the obtained power delivery (blue).&lt;br /&gt;
[[File:translines_demand_delivery.png|500px|Demand and delivery]]&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:PDE model]]&lt;br /&gt;
[[Category:Hyperbolic]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;br /&gt;
[[Category:Mesh-dependent integer variables]]&lt;br /&gt;
[[Category:Energy Networks]]&lt;br /&gt;
[[Category:Mesh-independent integer variables]]&lt;br /&gt;
[[Category:Casadi]]&lt;/div&gt;</summary>
		<author><name>JonathanHelgert</name></author>
	</entry>
</feed>