Jump to content

Double Tank: Difference between revisions

From mintOC
No edit summary
No edit summary
Line 1: Line 1:
The two states of the system correspond to the fluid levels of an upper and a lower tank.
The double tank problem is a basic example for a switching system. It contains the dynamics of an upper and a lower tank, connected to each other with a pipe. The goal is to minimize the deviation of a certain fluid level <math>k_2</math> in the lower tank.
The output of the upper tank flows into the lower tank, the output of the lower
 
tank exits the system, and the flow into the upper tank is restricted to either 1[lt/s]
 
or 2[lt/s].  The dynamics in each mode are then derived using Torricelli’s law, as
shown in Table xxx. The objective of the optimization is to have the fluid level in the
lower tank equal to 3[m], as reflected in the cost function in xxx
== Mathematical formulation ==
== Mathematical formulation ==


<math>
<math>
\begin{array}{ll}
\begin{array}{ll}
  \displaystyle \min_{\sigma} &  \displaystyle \int_{0}^{T}2(x_2-3)^2 \quad \text{d}t \\[1.5ex]
  \displaystyle \min_{\sigma} &  \displaystyle \int_{0}^{T}k_1(x_2-k_2)^2 \; \text{d}t \\[1.5ex]
  \mbox{s.t.} &  \displaystyle \dot{x}_1(t) = c_{\sigma(t)}-\sqrt{x_1(t)}, \\[1.5ex]
  \mbox{s.t.} &  \displaystyle \dot{x}_1(t) = c_{\sigma(t)}-\sqrt{x_1(t)}, \\[1.5ex]
  &  \displaystyle \dot{x}_2(t) = \sqrt{x_2(t)}-\sqrt{x_2(t)} , \\[1.5ex]
  &  \displaystyle \dot{x}_2(t) = \sqrt{x_2(t)}-\sqrt{x_2(t)} , \\[1.5ex]
  &  \displaystyle x(0)=(2,2)' \\[1.5ex]
  &  \displaystyle x(0)=x_0 \\[1.5ex]
  &  \displaystyle \sigma \in \{1,2\},\\[1.5ex]
  &  \displaystyle \sigma \in \{1,2\},\\[1.5ex]
  &  \displaystyle T=10\\
  &  \displaystyle T=10\\
\end{array}  
\end{array}  
</math>
</math>
with data <math>c_1=1</math> and <math>c_2=2</math>. The two states of the system correspond to the fluid levels of an upper and a lower tank.
The output of the upper tank flows into the lower tank, the output of the lower
tank exits the system, and the flow into the upper tank is restricted to either 1[lt/s]
or 2[lt/s].  The dynamics in each mode are then derived using Torricelli’s law, as
shown in Table xxx. The objective of the optimization is to have the fluid level in the
lower tank equal to 3[m], as reflected in the cost function in xxx
== Parameters ==
<math>k_1=2, k_2=3,  x_0=(2,2)',</math>
== Reference Solution ==
By introducing the lifts <math>l_i=\sqrt{x_i}</math> , algebraically constrained as <math>l_i^2=x_i, \; l_i\geq 0,</math> the problem is easily recast with polynomial data. In this way way switch in connection with GloptiPoly3 can be applied.

Revision as of 14:03, 10 December 2015

The double tank problem is a basic example for a switching system. It contains the dynamics of an upper and a lower tank, connected to each other with a pipe. The goal is to minimize the deviation of a certain fluid level k2 in the lower tank.


Mathematical formulation

minσ0Tk1(x2k2)2dts.t.x˙1(t)=cσ(t)x1(t),x˙2(t)=x2(t)x2(t),x(0)=x0σ{1,2},T=10

with data c1=1 and c2=2. The two states of the system correspond to the fluid levels of an upper and a lower tank. The output of the upper tank flows into the lower tank, the output of the lower tank exits the system, and the flow into the upper tank is restricted to either 1[lt/s] or 2[lt/s]. The dynamics in each mode are then derived using Torricelli’s law, as shown in Table xxx. The objective of the optimization is to have the fluid level in the lower tank equal to 3[m], as reflected in the cost function in xxx

Parameters

k1=2,k2=3,x0=(2,2),


Reference Solution

By introducing the lifts li=xi , algebraically constrained as li2=xi,li0, the problem is easily recast with polynomial data. In this way way switch in connection with GloptiPoly3 can be applied.