Skip to main content
Log in

Adjustable robust optimal control for industrial 2-Mercaptobenzothiazole production processes under uncertainty

  • Research Article
  • Published:
Optimization and Engineering Aims and scope Submit manuscript

Abstract

This paper focuses on the adjustable robust optimal control for industrial 2-Mercaptobenzothiazole (MBT) production processes. To overcome the computational intractability associated with solving the model of robust optimal control, a continuous affine decision rule to approximate the causal dependence of the wait-and-see decision variables on the infinite dimensional uncertainty factors is proposed. Subsequently, a simplified expression of the continuous affine decision rule is proposed to further release the computational burden. The adjustable robust dynamic counterpart of the adjustable robust optimal control model is discretized by backward difference and solved by NLP solver. The capability of the proposed adjustable robust optimal control model in achieving the satisfied objective value while retaining robustness under uncertainty is demonstrated by the case studies including two batch production modes and one continuous production mode.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

Download references

Acknowledgements

We appreciate National Nature Science Foundation of China (Grant No. 21978150) for the financial support for this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhihong Yuan.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix 1: Type-I batch process model

The material balance of each component in batch reactor is defined as follows,

$$\begin{aligned} \frac{{dn_{Ani} }}{dt} & = \left( { - 2r_{1} + r_{4} - d \cdot r_{5} } \right)V \\ \frac{{dn_{S} }}{dt} & = \left( { - r_{2} + r_{4} - r_{3} - a \cdot r_{5} } \right)V \\ \frac{{dn_{{CS_{2} }} }}{dt} & = \left( { - r_{1} - r_{3} - c \cdot r_{5} } \right)V \\ \end{aligned}$$
(31)
$$\begin{aligned} \frac{{dn_{MBT} }}{dt} & = \left( {2r_{3} - 2r_{5} } \right)V \\ \frac{{dn_{BT} }}{dt} & = r_{4} V \\ \frac{{dn_{ABT} }}{dt} & = \left( {r_{2} - r_{3} - r_{4} } \right)V \\ \frac{{dn_{DPTU} }}{dt} & = \left( {r_{1} - r_{2} } \right)V \\ \frac{{dn_{{H_{2} S,liq}} }}{dt} & = \left( {r_{1} + r_{2} - r_{4} - b \cdot r_{5} } \right)V \\ \frac{{dn_{Tar} }}{dt} & = r_{5} V \\ \end{aligned}$$

where \({n}_{j}\) denotes the molar amount of component \(j\).

In addition, the pressure is calculated by the following differential equation that is reformulated from P–V-T equation to avoid high-order DAE problem,

$$\frac{dP}{dt}=\frac{\frac{ZR}{V}T\left[\left({k}_{P2}P+{b}_{2}\right)\frac{d{n}_{{H}_{2}S}}{dt}+\left({k}_{P1}P+{b}_{1}\right)\frac{d{n}_{{CS}_{2}}}{dt}\right]+\frac{ZR}{V}\frac{dT}{dt}\left({n}_{{CS}_{2}vap}+{n}_{{H}_{2}S,vap}\right)}{1-{k}_{P}{T}_{K}\left({k}_{P1}{n}_{{CS}_{2}}+{k}_{P2}{n}_{{H}_{2}S}\right)}$$
(32)

where \(R\) is the universal gas constant while \(Z=Z(P)\) is the compressibility factor of vapor phase related with pressure. Note that Eqs. (31) and (32) represent type-I electrical-heating batch reactor.

The material balance and pressure equation of type-II jacket-heating batch reactor are same with type-I. However, the reactor temperature of type-II batch is indirectly controlled by jacket temperature. As a result, the change of reactor temperature can be defined as,

$$\frac{dT}{dt}=\frac{V{\sum }_{k=1}^{5}\Delta {H}_{k}{r}_{k}+UA\left({T}_{j}-T\right)}{{C}_{v,liq}V}$$
(33)

where \(\Delta {H}_{k}\) is the heat of corresponding reaction (\(j\)), \({C}_{v,liq}\) is the average volume heat capacity of liquid phase, and \({T}_{j}\) represents jacket temperature. Based on the evaluations of reaction heat and formation enthalpy, the main reactions (i)(ii)(iii) are endothermal reactions while the side reactions (iv)(v) are exothermic. The average heat capacity \({C}_{v,liq}\) of liquid phase is calculated as \({C}_{v,liq}=\frac{\sum_{j=1}^{9}{n}_{j}{C}_{m,j}}{V}\), where \({n}_{j}\) is the molar amount of each component and \({C}_{m,j}\) is the molar heat capacity of component \(j\) in the liquid phase. Note that Eqs. (3133) represent type-II batch reactor.

Appendix 2: CSTR start-up process model

In CSTR process, the material balance equations in CSTR start-up process are defined as,

$$\begin{aligned} \frac{{dn_{Ani} }}{dt} & = n_{Ani,in} - \frac{{F_{out} n_{Ani} }}{V} + \left( { - 2r_{1} + r_{4} - d \cdot r_{5} } \right)V \\ \frac{{dn_{S} }}{dt} & = n_{S,in} - \frac{{F_{out} n_{S} }}{V} + \left( { - r_{2} + r_{4} - r_{3} - a \cdot r_{5} } \right)V \\ \frac{{dn_{{CS_{2} }} }}{dt} & = n_{{CS_{2} ,in}} - \frac{{F_{out} n_{{CS_{2} }} }}{V} + \left( { - r_{1} - r_{3} - c \cdot r_{5} } \right)V \\ \frac{{dn_{MBT} }}{dt} & = - \frac{{F_{out} n_{MBT} }}{V} + \left( {2r_{3} - 2r_{5} } \right)V \\ \frac{{dn_{BT} }}{dt} & = - \frac{{F_{out} n_{BT} }}{V} + r_{4} V \\ \frac{{dn_{ABT} }}{dt} & = - \frac{{F_{out} n_{ABT} }}{V} + \left( {r_{2} - r_{3} - r_{4} } \right)V \\ \frac{{dn_{DPTU} }}{dt} & = - \frac{{F_{out} n_{DPTU} }}{V} + \left( {r_{1} - r_{2} } \right)V \\ \frac{{dn_{{H_{2} S}} }}{dt} & = - \frac{{F_{out} n_{{H_{2} S}} }}{V} + \left( {r_{1} + r_{2} - r_{4} - b \cdot r_{5} } \right)V \\ \frac{{dn_{Tar} }}{dt} & = - \frac{{F_{out} n_{Tar} }}{V} + r_{5} V \\ \end{aligned}$$
(34)

where \({n}_{Ani,in}\), \({n}_{S,in}\) and \({n}_{{CS}_{2},in}\) are the molar flowrates of inletting aniline, sulfur and CS2 respectively while \({F}_{out}\) denotes the volume flowrate of outlet stream. Note that the total time of CSTR start-up process is different with batch process. In addition, the liquid and vapor phase are discharged simultaneously with same residence time, therefore, the outlet amount of all the components can be expressed as \(\frac{{F}_{out}{n}_{j}}{V}\).

Additionally, the liquid volume in the CSTR is decided by the flowrates of inlet and outlet stream as follows,

$$\frac{dV}{dt}={F}_{in}-{F}_{out}$$
(35)

where \({F}_{in}={F}_{in}({n}_{Ani,in},{n}_{S,in},{n}_{{CS}_{2},in})\) denotes the volume flowrate of feed, which is relevant with the molar flowrate of reactants. Note that the molar ratio of the inlet reactants is fixed as \({n}_{Ani,in}:{n}_{S,in}:{n}_{{CS}_{2},in}\) = 1:\({x}_{S}:{x}_{{CS}_{2}}\), hence the volume flowrate of inlet is only decided by the molar flowrate of feeding aniline, namely \({F}_{in}={F}_{in}\left({n}_{Ani,in}\right)\).

The change of reactor temperature is determined by the energy balance, which is defined as,

$$\frac{dT}{dt}=\frac{V{\sum }_{j=1}^{5}\Delta {H}_{j}{r}_{j}+Q+{H}_{in}-{H}_{out}}{{C}_{v,liq}V}$$
(36)

where \(T\) represents the temperature of CSTR, \({H}_{in}\) and \({H}_{out}\) are the enthalpies of feed and outlet stream respectively, while \(Q\) is the amount of heat transfer. Note that \({H}_{in}\) and \({H}_{out}\) should be calculated independently as the heat capacities of feeding reactants and discharged crude product are rather different, i.e. \({C}_{v,in}\ne {C}_{v,liq}\). With the assumption that the reference temperature \({T}^{ref}=\) 0, the enthalpy of inlet stream can be calculated by \({H}_{in}={F}_{in}{C}_{v,in}{T}_{in}\) while the enthalpy of outlet stream is defined as \({H}_{out}={F}_{out}{C}_{v,liq}T\).

On the other hand, the jacket temperature \({T}_{j}(t)\) is decided by the inlet temperature of heat-transfer oil \({T}_{j,in}(t)\). Hence, energy balance for heating jacket can be defined as,

$$\frac{d{T}_{j}}{dt}=\frac{-Q+{\rho }_{oil}{C}_{m,oil}{F}_{j}\left({T}_{j,in}-{T}_{j}\right)}{{\rho }_{oil}{C}_{m,oil}{V}_{j}}$$
(37)

where \({\rho }_{oil}\) is the mass density of heat-transfer oil, \({C}_{m,oil}\) is the mass heat capacity of the oil, \({V}_{j}\) is the volume of jacket and \({F}_{j}\) is the flowrate of heat-transfer oil.

The amount of heat transfer \(Q\) is defined as follows,

$$Q=UA\Delta T=UA\left(\frac{{T}_{j,in}+{T}_{j}}{2}-T\right)$$
(38)

where \(U\) represents the heat transfer coefficient, \(A\) represents the heat transfer area, \(\Delta T\) is the driving force that is defined as the difference of average jacket temperature and reactor temperature. Note that Eq. (32) and Eqs. (3338) describe the CSTR process.

The objective function that represents the total production of MBT during the start-up is defined as,

$${\phi }_{III}=-\int_{0}^{{t}_{f}}{r}_{MBT}^{net}Vdt=-\int_{0}^{{t}_{f}}(2{r}_{3}-2{r}_{5})Vdt$$
(39)

where \({r}_{MBT}^{net}\) denotes the net generation rate of MBT while \({r}_{3}\) and \({r}_{5}\) denote the reaction rates of reaction (iii) and (v) respectively.

Appendix 3: Adjustable robust dynamic counterpart of ARDO model

The adjustable robust dynamic counterpart is deduced through linearization on the neighborhood of nominal point. It is underlined here that the linearization is only conducted for uncertainty. Hence, the model equations are still nonlinear to state and control variables.

The matrix \(S\left(t\right)\in {\mathbb{R}}^{{n}_{x}\times {n}_{\zeta }}\) is defined as the sensitivity of state variables \(x(t)\) to revealed sequence of primitive uncertainty \(\xi\). The basic idea of linearization is introduced here that all the derivatives should be evaluated at the nominal point (Diehl et al. 2005). As a result, the sensitivity of state variable with respect to uncertainty is defined as \(S\left(t\right)=\frac{\partial \overline{x }(t)}{\partial \overline{\xi }}\), where \(\overline{\xi }=\frac{1}{2}\left({\xi }^{UB}+{\xi }^{LB}\right)\) is time-invariant nominal point of uncertainty. The time derivative of \(S\left(t\right)\) can be calculated by the chain rule as:

$$\dot{S}(t)=\left(\frac{\partial f\left(\overline{x },\overline{u },t,\overline{\xi }\right)}{\partial \overline{\xi }}\right)+\left(\frac{\partial f\left(\overline{x },\overline{u },t,\overline{\xi }\right)}{\partial \overline{x} }\right)S\left(t\right)+\left(\frac{\partial f\left(\overline{x },\overline{u },t,\overline{\xi }\right)}{\partial \overline{u} }\right)\left(\frac{\partial \overline{u}}{\partial \overline{\xi } }\right)$$
(40)

where \(\left(\frac{\partial f}{\partial \left(\cdot \right)}\right)\) denotes the partial derivative of differential equation to the corresponding variable. Note that \(\left(\frac{\partial \overline{u}}{\partial \overline{\xi } }\right)\) is a non-zero value because C-ADR expression requires the wait-and-see control variable can be adjusted based on specific causal relationship to the uncertainty realization.

Then, the inequality constraint \(g\le 0\) can be reformulated as,

$$\begin{aligned} 0 & \ge g\left( {\overline{x},\overline{u},t,\overline{\xi }} \right) + \left\| {\nabla_{\xi } g\left( {\overline{x},\overline{u},t,\overline{\xi }} \right)\Delta \xi } \right\|_{1} \\ \nabla_{\xi } g\left( {\overline{x},\overline{u},t,\overline{\xi }} \right) & = \left( {\frac{\partial g}{{\partial \overline{x}}}} \right)S\left( t \right) + \left( {\frac{\partial g}{{\partial \overline{u}}}} \right)\left( {\frac{{\partial \overline{u}}}{{\partial \overline{\xi }}}} \right) + \left( {\frac{\partial g}{{\partial \overline{\xi }}}} \right) \\ \end{aligned}$$
(41)

where \(\Delta \xi =\left({\xi }^{UB}-{\xi }^{LB}\right)\) represents the width of box uncertainty set.

Similarly, to deal with the min–max two-level objective function, the inner level of maximizing the objective value is approximated by linearization with the assumption that worst-case scenario is on the boundary of uncertainty set (Diehl et al. 2008), which is a popularly used assumption

$$\begin{aligned} \mathop {\max }\limits_{\zeta \in Z} \Phi \left( {x\left( {t_{f} } \right),t_{f} } \right) & = \Phi \left( {\overline{x}\left( {t_{f} } \right),t_{f} ,\overline{\xi }} \right) + \left\| {\nabla_{\xi } \Phi \left( {\overline{x}\left( {t_{f} } \right),t_{f} ,\overline{\xi }} \right)\Delta \xi } \right\|_{1} \\ \nabla_{\xi } \Phi \left( {\overline{x}\left( {t_{f} } \right),t_{f} ,\overline{\xi }} \right) & = \left( {\frac{\partial \Phi }{{\partial \overline{\xi }}}} \right) + \left( {\frac{\partial \Phi }{{\partial \overline{x}}}} \right)S\left( t \right) \\ \end{aligned}$$
(42)

where \({\nabla }_{\xi }\Phi (\cdot )\) denotes the gradient of objective function to uncertainty. The wait-and-see control variable does not appear in the Mayer-type objective function, thus the term of partial derivative of objective function to control variable is zero. Note that the assumption of worst-case scenario located on the boundary of uncertainty set might not be valid in some nonlinear problems. As a remediation to the limitation of this assumption, an extra step to check the sensitivity may be useful to deal with the limitation. In detail, we can evaluate the local sensitivity of objective function with respect to uncertainty and check out whether the worst-case may be inside the uncertainty set before solving the adjustable robust counterpart. Since the model function of real process are usually at least one-order continuous, the local sensitivity can disclose whether local extremum would exist inside the uncertainty set.

As a summary, the whole formulation of adjustable robust dynamic counterpart can be defined as

$$\begin{aligned} \mathop {{\text{minimize}}}\limits_{u\left( t \right)} & \Phi \left( {\overline{x}\left( {t_{f} } \right),t_{f} ,\overline{\xi }} \right) + \left\| {\nabla_{\xi } \Phi \left( {\overline{x}\left( {t_{f} } \right),t_{f} ,\overline{\xi }} \right)\Delta \xi } \right\|_{1} \\ s.t.\quad \dot{x} & = f\left( {\overline{x},\overline{u},t,\overline{\xi }} \right), \\ 0 & \ge g\left( {\overline{x},\overline{u},t,\overline{\xi }} \right) + \left\| {\nabla_{\xi } g\left( {\overline{x},\overline{u},t,\overline{\xi }} \right)\Delta \xi } \right\|_{1} , \\ \dot{S}\left( t \right) & = f_{S} \left( {\overline{x},\overline{u},t,\overline{\xi }} \right) = \left( {\frac{\partial f}{{\partial \overline{\xi }}}} \right) + \left( {\frac{\partial f}{{\partial \overline{x}}}} \right)S\left( t \right) + \left( {\frac{\partial f}{{\partial \overline{u}}}} \right)\left( {\frac{{\partial \overline{u}}}{{\partial \overline{\xi }}}} \right) \\ \nabla_{\xi } G\left( {\overline{x},\overline{u},t,\overline{\xi }} \right) & = \left( {\frac{\partial G}{{\partial \overline{\xi }}}} \right) + \left( {\frac{\partial G}{{\partial \overline{x}}}} \right)S\left( t \right) + \left( {\frac{\partial G}{{\partial \overline{u}}}} \right)\left( {\frac{{\partial \overline{u}}}{{\partial \overline{\xi }}}} \right) \\ \nabla_{\xi } \Phi \left( {\overline{x}\left( {t_{f} } \right),t_{f} ,\overline{\xi }} \right) & = \left( {\frac{\partial \Phi }{{\partial \overline{\xi }}}} \right) + \left( {\frac{\partial \Phi }{{\partial \overline{x}}}} \right)S\left( {t_{f} } \right) \\ \overline{x}\left( 0 \right) & = x_{0} ,\quad t \in \left[ {0,t_{f} } \right] \\ \end{aligned}$$
(43)

The decision rule \({\mathcal{d}}_{t}\left(\cdot \right)\) in Eq. (43) can be replaced by the C-ADR expression or simplified C-ADR expression.

Appendix 4: Why introducing decision rule to the DAE system first?

The reason of why we introduce decision rule before discretizing is explained in this section.

Method (I) denotes the approach of introducing the continuous decision rule to the DAE system before discretizing, which is used in this work. The continuous adjustable robust counterpart of dynamic system is defined as Eq. (18). Correspondingly, the discretized adjustable robust dynamic counterpart is described as Eq. (19). On the other hand, method (II) discretizes the DAE system first and then introduces decision rule. Both approaches can reach a discretized nonlinear programming problem for NLP solver in the end. Therefore, the difference between method (I) and (II) can be revealed by comparing the formulations of resulted discretized adjustable robust counterpart.

The method (II) discretizes the original dynamic problem before introducing decision rule. Applying with same discretization scheme (Patterson 2013), the discretized dynamic optimization problem under uncertainty can be given as:

$$\begin{aligned} \mathop {{\text{minimize}}}\limits_{{u_{k} }} & \mathop {\max }\limits_{\xi \in Z} \Phi \left( {{\varvec{x}}\left( {t_{N} } \right),t_{N} } \right) \\ s.t.\quad x_{k + 1} & = F\left( {x_{k} ,u_{k} ,t_{k} ,\xi ,f} \right) = x_{k} + \mathop \int \limits_{{t_{k} }}^{{t_{k + 1} }} f\left( {x,u,t,\xi } \right)dt,\quad \forall \xi \in {Z} \\ 0 & \ge g\left( {x_{k} ,u_{k} ,t_{k} ,\xi } \right),\quad \forall \xi \in {Z} \\ {\varvec{x}}(0) & = x_{0} ,\quad k = 0, \ldots ,N - 1 \\ \end{aligned}$$
(44)

where \({x}_{k}\) denotes the discretized state variable at instant \({t}_{k}\).

The discretized formulation of simplified C-ADR can be written as:

$${u}_{k}={u}_{k}^{0}+{v}_{k}\sum_{j=0}^{k}{\xi }_{j}\left({t}_{j+1}-{t}_{j}\right), \forall {\xi }_{j}\in {Z}$$
(45)

where \({u}_{k}\) denotes the input variable, \({\xi }_{j}\) denotes the revealed time-varying uncertainty, \({u}_{k}^{0}\) denotes the intercept and \({v}_{k}\) denotes the slope of the discretized ADR at kth stage that \(t\in [{t}_{k},{t}_{k+1}]\). Fortunately, because all the sensitivity should be evaluated at the nominal point of uncertainty, the realized sequence of uncertainty \(\left[{\xi }_{0},{\xi }_{1},\dots ,{\xi }_{N-1}\right]\) can be handled as a whole.

The adjustable robust counterpart of the discretized problem can be derived by the linearization technique as:

$$\begin{aligned} \mathop {{\text{minimize}}}\limits_{{u_{k} }} & \quad \Phi \left( {{\varvec{x}}\left( {t_{N} } \right),t_{N} } \right) + \left\| {\nabla_{\xi } \Phi \left( {\overline{x}_{k} ,\overline{u}_{k} ,t,\overline{\xi }} \right)\Delta \xi } \right\|_{1} \\ s.t.\quad \overline{x}_{k + 1} & = F\left( {\overline{x}_{k} ,\overline{u}_{k} ,t,\overline{\xi },\dot{\overline{x}}_{k} } \right) = \overline{x}_{k} + \mathop \int \limits_{{t_{k} }}^{{t_{k + 1} }} f\left( {\overline{x},\overline{u},t,\overline{\xi }} \right)dt \\ \left( {\frac{{d\overline{x}_{k + 1} }}{{d\overline{\xi }}}} \right) & = \frac{{dF\left( {\overline{x}_{k} ,\overline{u}_{k} ,t,\overline{\xi },\dot{\overline{x}}_{k} } \right)}}{{d\overline{\xi }}} \\ 0 & \ge g\left( {\overline{x}_{k} ,\overline{u}_{k} ,t,\overline{\xi }} \right) + \left\| {\nabla_{\xi } g\left( {\overline{x}_{k} ,\overline{u}_{k} ,t,\overline{\xi }} \right)\Delta \xi } \right\|_{1} \\ \nabla_{\xi } g\left( {\overline{x}_{k} ,\overline{u}_{k} ,t,\overline{\xi }} \right) & = \left( {\frac{\partial g}{{\partial \overline{\xi }}}} \right) + \left( {\frac{\partial g}{{\partial \overline{x}_{k} }}} \right)\left( {\frac{{d\overline{x}_{k} }}{{d\overline{\xi }}}} \right) + \left( {\frac{\partial g}{{\partial \overline{u}_{k} }}} \right)\left( {\frac{{d\overline{u}_{k} }}{{d\overline{\xi }}}} \right) \\ \nabla_{\xi } \Phi \left( {x\left( {t_{N} } \right),t_{f} ,\overline{\xi }} \right) & = \left( {\frac{\partial \Phi }{{\partial \overline{\xi }}}} \right) + \left( {\frac{\partial \Phi }{{\partial x}}} \right)S\left( {t_{N} } \right) \\ {\varvec{x}}(0) & = x_{0} ,\quad k = 0, \ldots ,N - 1 \\ \end{aligned}$$
(46)

Note that the sensitivity of \({\overline{x} }_{k}\) with respect to \(\overline{\xi }\) is defined as \({S}_{k}=\left(\frac{\partial {\overline{x} }_{k}}{\partial \overline{\xi }}\right)\). Comparing Eq. (19) and Eq. (46) given by method (I) and (II) respectively, the only difference between these methods method is the expression of sensitivity \({S}_{k+1}.\)

The expression of \({S}_{k+1}\) from method (II) can be interpreted as:

$${S}_{k+1}=\left(\frac{d{\overline{x} }_{k+1}}{d\overline{\xi }}\right)=\frac{d\left({\overline{x} }_{k}+ \int_{{t}_{k}}^{{t}_{k+1}}f\left(\overline{x },\overline{u },t,\overline{\xi }\right)dt\right)}{d\overline{\xi }}=\frac{d{\overline{x} }_{k}}{d\overline{\xi }}+\frac{d\left(\int_{{t}_{k}}^{{t}_{k+1}}f\left(\overline{x },\overline{u },t,\overline{\xi }\right)dt\right)}{d\overline{\xi }}= {S}_{k}+\int_{{t}_{k}}^{{t}_{k+1}}\frac{df\left(\overline{x },\overline{u },t,\overline{\xi }\right)}{d\overline{\xi }}dt$$
(47)

Note that the derivation and integral symbols in Eq. (47) can be exchanged when both \(f(\cdot )\) and \(\frac{df}{d\xi }\) are continuous (Rudin 1964), which can be satisfied in most real industrial process.

It is fairly clear that Eq. (47) from method (II) is in consistent with the expression of \({S}_{k+1}\) in Eq. (19) from method (I). In other words, the discretized formulation of adjustable robust dynamic counterpart derived from method (I) and (II) are actually equivalent if same discretization scheme is applied and if both \(f(\cdot )\) and \(\frac{df}{d\xi }\) are continuous.

However, when evaluating numerical solution, we notice that method (I) can flexibly change to other discretization schemes with auto-discretization code in pyomo.dae (Nicholson et al. 2018) while method (II) has to rewrite the whole discretization expressions manually.

Therefore, it can be summarized that method (I) is equivalent with (II) while the formulation of method (I) is more flexible in programming. Hence, method (I) is used in the main text.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liang, E., Yuan, Z. Adjustable robust optimal control for industrial 2-Mercaptobenzothiazole production processes under uncertainty. Optim Eng 23, 1987–2024 (2022). https://doi.org/10.1007/s11081-021-09704-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11081-021-09704-1

Keywords

Navigation