Jump to content

Fermenter: Difference between revisions

From mintOC
Created page with "{{Dimensions |nd = 1 |nx = 9 |nw = 3 }} The '''Fermenter problem''' describes a fermentation process with two substrates <math>S_1</math> and <math>S_2</math> , and two products <math>P</math> and <math>G</math>. Enzyme biomass concentration is modeled by a state <math>E</math>. Further states are the fermentation volume <math>V</math> and the accumulated product <math>P_{\text{acc}}</math> and substrates <math>S_{1,\text{acc}}</math> and <math>S_{2..."
 
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:


The '''Fermenter problem''' describes a fermentation process with two substrates <math>S_1</math> and <math>S_2</math> , and two products <math>P</math> and <math>G</math>. Enzyme biomass concentration is modeled by a state <math>E</math>. Further states are the fermentation volume <math>V</math> and the accumulated product <math>P_{\text{acc}}</math> and substrates <math>S_{1,\text{acc}}</math> and <math>S_{2,\text{acc}}</math>.
The '''Fermenter problem''' describes a fermentation process with two substrates <math>S_1</math> and <math>S_2</math> , and two products <math>P</math> and <math>G</math>. Enzyme biomass concentration is modeled by a state <math>E</math>. Further states are the fermentation volume <math>V</math> and the accumulated product <math>P_{\text{acc}}</math> and substrates <math>S_{1,\text{acc}}</math> and <math>S_{2,\text{acc}}</math>.
<math>S_1<math> and <math>S_2</math> can be fed into the reactor. This is described by two controls <math>u_{S_1}</math> and <math>u_{S_2}</math>. Furthermore, <math>P</math> can be harvested with rate <math>u_P<math> . The dynamics are given by an [[:Category:ODE model|ODE model]].
<math>S_1</math> and <math>S_2</math> can be fed into the reactor. This is described by two controls <math>u_{S_1}</math> and <math>u_{S_2}</math>. Furthermore, <math>P</math> can be harvested with rate <math>u_P</math> . The dynamics are given by an [[:Category:ODE model|ODE model]].
 
This model description is taken from the PhD thesis of Dennis Janka [[#JankaPhD|[1]]].


The optimal control function exhibits a [[:Category:Sensitivity-seeking arcs|singular arc]].
The optimal control function exhibits a [[:Category:Sensitivity-seeking arcs|singular arc]].
Line 14: Line 16:
<math>
<math>
  \begin{array}{lll}
  \begin{array}{lll}
  \displaystyle \min_{w} && y(t_f) \\
  \displaystyle \min_{u_{S_1}, u_{S_2}, u_P} && \frac{2 \cdot S_{1,\text{acc}}(t_f) \cdot S_{2,\text{acc}}(t_F)}{P_{\text{acc}}(t_f)} \\
  \text{subject to} \\
  \text{subject to} \\
\quad \dot{y}(t) & = &  \exp(-\rho \cdot t) \cdot (U(t)- A(t) - u_1(t) \cdot C(t) - D(t)),\\
\quad \dot{P}(t) &=& \mu_p \cdot E(t) \cdot S_1(t) \cdot S_2(t) - P(t) \cdot \frac{u_{S_1}(t) + u_{S_2}(t)}{25 \cdot V(t)} \\
\quad \dot{S}(t) & = & u_1(t) - u_2(t) - \gamma \cdot (S(t) - \omega \cdot D_L(t)),\\
  \quad \dot{S_1}(t) &=& -\gamma_{x,1} \cdot E(t) \cdot S_1(t) \cdot S_2(t) \cdot G(t) - \gamma_{p,1} \cdot E(t) \cdot S_1(t) \cdot S_2(t) \\
\quad \dot{R}(t) & = & -u_1(t) \\
\quad & & + 0.42 \cdot \frac{u_{S_1}(t)}{25 \cdot V(t)} - S_1(t) \cdot \frac{u_{S_1}(t) + u_{S_2}(t)}{25 \cdot V(t)} \\
\quad y(0) &=& 0, \\
\quad \dot{S_2}(t) &=& -\gamma_{x,2} \cdot E(t) \cdot S_1(t) \cdot S_2(t) \cdot G(t) - \gamma_{p,2} \cdot E(t) \cdot S_1(t) \cdot S_2(t) \\
\quad S(0) &=& 2 \cdot 10^3, \\
\quad  & & + 0.333 \cdot \frac{u_{S_2}(t)}{25 \cdot V(t)} - S_2(t) \cdot \frac{u_{S_1}(t) + u_{S_2}(t)}{25 \cdot V(t)} \\
\quad R(0) &=& 10^4 \\
\quad \dot{E}(t) &=& \mu_x \cdot E(t) \cdot S_1(t) \cdot S_2(t) \cdot G(t) - E(t) \cdot \frac{u_{S_1} + u_{S_2}}{25 \cdot V(t)} \\
\quad S(t), R(t) & \in & [0,10^5], \\
\quad \dot{V}(t) &=& u_{S_1}(t) + u_{S_2}(t) - u_p(t) \\
\quad u_1(t), u_2(t) & \in & [0,40] \\
\quad \dot{G}(t) &=& -\gamma_{x,g} \cdot E(t) \cdot S_1(t) \cdot S_2(t) \cdot G(t) - G(t) \cdot \frac{u_{S_1} + u_{S_2}(t)}{25 \cdot V(t)} \\
\quad \dot{P_{\text{acc}}}(t) &=& u_P(t) \cdot P(t) + \frac{u_{S_1}(t) + u_{S_2}(t) - u_P(t)}{25} \cdot P(t) + V(t) \cdot \dot{P}(t) \\
\quad \dot{S_{1, \text{acc}}}(t) &=& 0.0168 \cdot u_{S_1}(t) \\
\quad \dot{S_{2, \text{acc}}}(t) &=& 0.01332 \cdot u_{S_2}(t)
   \end{array}
   \end{array}
</math>
</math>
</p>
</p>


with auxiliary functions
with bounds for the control functions given by
 
<p>
<math>
\begin{align}
  u_{S_1} \in [0,15], \quad \quad
  u_{S_2} \in [0,1], \quad \quad
  u_{P} \in [0,30]
  \end{align}
</math>
</p>
 
and bounds for the states given by


<p>
<p>
<math>
<math>
  \begin{align}
  \begin{align}
   &U(t) = b \cdot u_1(t) - \mu \cdot u_1(t)^2, \quad \quad  
   & P(t) \in [0, 0.1], \quad \quad
   && D(t) = \nu \cdot (0.3 \cdot S(t) - S_{\text{preind}})^2, \\
  && S_1(t) \in [0, 0.04],\quad \quad  
   &A(t) = a_1 \cdot u_2(t) + a_2 \cdot u_2(t)^2, \quad \quad
   && S_2(t) \in [0, 0.03], \\
   && D_L(t) = D_{L, 0} + R_0 + S_0 - R(t) - S(t), \\
  &  E(t) \in [0, 0.1], \quad \quad
   &C(t) = c_1 - c_2 \cdot R(t). &
   && V(t) \in [0.3, 0.45],\quad \quad
  && G(t) \in [0, 0.1], \\
  &  P_{\text{acc}}(t) \in [0, 0.05], \quad \quad  
   && S_{1,\text{acc}}(t) \in [0, 0.2],\quad \quad
   && S_{2,\text{acc}}(t) \in [0, 0.025].
  \end{align}
  \end{align}
</math>
</math>
Line 44: Line 65:
== Parameters ==
== Parameters ==


{| class="wikitable"
{| border="1" align="center" cellpadding="5" cellspacing="0"
|+Parameters
|- bgcolor=#c7c7c7
!Symbol !! Value
|-
|-
|Symbol
|<math>t_f</math>
|Value
|<math>1</math>
|-
|-
|<math>\rho</math>
|<math>\mu_x</math>
|<math>0.03</math>
|<math>2\cdot 10^5</math>
|-
|-
|<math>\gamma</math>
|<math>\mu_p</math>
|<math>0.001</math>
|<math>5000</math>
|-
|-
|<math>\omega</math>
|<math>\gamma_{x,g}</math>
|<math>0.1</math>
|<math>5 \cdot 10^4</math>
|-
|-
|<math>b</math>
|<math>\gamma_{x,1}</math>
|<math>50</math>
|<math>10^5</math>
|-
|-
|<math>\mu</math>
|<math>\gamma_{p,1}</math>
|<math>0.5</math>
|<math>2 \cdot 10^4</math>
|-
|-
|<math>a_1</math>
|<math>\gamma_{x,2}</math>
|<math>2</math>
|<math>1500</math>
|-
|-
|<math>a_2</math>
|<math>\gamma_{p,2}</math>
|<math>2</math>
|<math>5 \cdot 10^4</math>
|-
|<math>\nu</math>
|<math>1</math>
|-
|<math>c_1</math>
|<math>50</math>
|-
|<math>c_2</math>
|<math>0.004</math>
|-
|<math>S_{\text{preind}}</math>
|<math>600</math>
|-
|<math>S_0</math>
|<math>2000</math>
|-
|<math>R_0</math>
|<math>10^4</math>
|-
|<math>D_{L,0}</math>
|<math>2.3 \cdot 10^4</math>
|}
|}


== Reference Solutions ==
== Reference Solutions ==
Line 98: Line 98:
Here is one local solution to the above control problem.
Here is one local solution to the above control problem.


<gallery caption="Reference solution plots" widths="180px" heights="140px" perrow="1">
<gallery caption="Reference solution plots" widths="500px" heights="300px" perrow="1">
  Image:Ocean.png| States and discretized control for a local optimum. Due to the explicit time dependence the time <math>t</math> was added as an additional state.
  Image:Fermenter.png| States and discretized control for a local optimum.
</gallery>
</gallery>
== Miscellaneous and Further Reading ==
The problem description and further references can be found in the PhD thesis of Dennis Janka [[#JankaPhD|[2]]].


== References ==
== References ==
<span id="PersonalComm">[1]</span> W. Rickels and S. Sager. Personal communication. 2015. <br>
<span id="JankaPhD">[1]</span> Janka, D.: Sequential quadratic programming with indefinite Hessian approximations for nonlinear optimum experimental design for parameter estimation in differential-algebraic equations. Ph.D. thesis, Ruprecht-Karls-Universität Heidelberg (2015). URL https://mathopt.de/publications/Janka2015.pdf <br>
<span id="JankaPhD">[2]</span> Janka, D.: Sequential quadratic programming with indefinite Hessian approximations for nonlinear optimum experimental design for parameter estimation in differential-algebraic equations. Ph.D. thesis, Ruprecht-Karls-Universität Heidelberg (2015). URL https://mathopt.de/publications/Janka2015.pdf <br>




[[Category:MIOCP]]
[[Category:MIOCP]]
[[Category:Sensitivity-seeking arcs]]
[[Category:Sensitivity-seeking arcs]]

Latest revision as of 13:45, 28 November 2025

Fermenter
State dimension: 1
Differential states: 9
Discrete control functions: 3


The Fermenter problem describes a fermentation process with two substrates S1 and S2 , and two products P and G. Enzyme biomass concentration is modeled by a state E. Further states are the fermentation volume V and the accumulated product Pacc and substrates S1,acc and S2,acc. S1 and S2 can be fed into the reactor. This is described by two controls uS1 and uS2. Furthermore, P can be harvested with rate uP . The dynamics are given by an ODE model.

This model description is taken from the PhD thesis of Dennis Janka [1].

The optimal control function exhibits a singular arc.

Mathematical formulation

minuS1,uS2,uP2S1,acc(tf)S2,acc(tF)Pacc(tf)subject toP˙(t)=μpE(t)S1(t)S2(t)P(t)uS1(t)+uS2(t)25V(t)S1˙(t)=γx,1E(t)S1(t)S2(t)G(t)γp,1E(t)S1(t)S2(t)+0.42uS1(t)25V(t)S1(t)uS1(t)+uS2(t)25V(t)S2˙(t)=γx,2E(t)S1(t)S2(t)G(t)γp,2E(t)S1(t)S2(t)+0.333uS2(t)25V(t)S2(t)uS1(t)+uS2(t)25V(t)E˙(t)=μxE(t)S1(t)S2(t)G(t)E(t)uS1+uS225V(t)V˙(t)=uS1(t)+uS2(t)up(t)G˙(t)=γx,gE(t)S1(t)S2(t)G(t)G(t)uS1+uS2(t)25V(t)Pacc˙(t)=uP(t)P(t)+uS1(t)+uS2(t)uP(t)25P(t)+V(t)P˙(t)S1,acc˙(t)=0.0168uS1(t)S2,acc˙(t)=0.01332uS2(t)

with bounds for the control functions given by

uS1[0,15],uS2[0,1],uP[0,30]

and bounds for the states given by

P(t)[0,0.1],S1(t)[0,0.04],S2(t)[0,0.03],E(t)[0,0.1],V(t)[0.3,0.45],G(t)[0,0.1],Pacc(t)[0,0.05],S1,acc(t)[0,0.2],S2,acc(t)[0,0.025].

Parameters

Symbol Value
tf 1
μx 2105
μp 5000
γx,g 5104
γx,1 105
γp,1 2104
γx,2 1500
γp,2 5104

Reference Solutions

Here is one local solution to the above control problem.

References

[1] Janka, D.: Sequential quadratic programming with indefinite Hessian approximations for nonlinear optimum experimental design for parameter estimation in differential-algebraic equations. Ph.D. thesis, Ruprecht-Karls-Universität Heidelberg (2015). URL https://mathopt.de/publications/Janka2015.pdf