Skip to main content
Log in

Combining stochastic programming and optimal control to decompose multistage stochastic optimization problems

  • Regular Article
  • Published:
OR Spectrum Aims and scope Submit manuscript

Abstract

The paper suggests a possible cooperation between stochastic programming and optimal control for the solution of multistage stochastic optimization problems. We propose a decomposition approach for a class of multistage stochastic programming problems in arborescent form (i.e. formulated with implicit non-anticipativity constraints on a scenario tree). The objective function of the problem can be either linear or nonlinear, while we require that the constraints are linear and involve only variables from two adjacent periods (current and lag 1). The approach is built on the following steps. First, reformulate the stochastic programming problem into an optimal control one. Second, apply a discrete version of Pontryagin maximum principle to obtain optimality conditions. Third, discuss and rearrange these conditions to obtain a decomposition that acts both at a time stage level and at a nodal level. To obtain the solution of the original problem we aggregate the solutions of subproblems through an enhanced mean valued fixed point iterative scheme.

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.

Institutional subscriptions

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. An optimal control problem is said to be in Bolza form when the objective function is of the form \(J=\sum _{0}^{T-1}F_t(x_t,u_t) \, + \, F_T(x_T,T)\), (see, for example, Sethi and Thompson 2000). Whereas, the problem is said to be in Lagrangian form when \(F_T \equiv 0\). Furthermore, it is in Mayer form when \(F_t \equiv 0\ \ \forall t=0,\ldots ,T-1\). For a more detailed discussion on historical issues and on the possibility of converting the different formulation into each other, see Stengel (1994).

  2. The computational experiments have been carried out on a PC with Pentium 4, 3.2 Mhz CPU and 1 GB RAM. The algorithm has been coded using Gauss (Aptech Systems, Inc.).

  3. The utility function is of the form \(U(W)=-\alpha W^2+W\) where the parameter \(\alpha \) is chosen in such a way that the range of reachable final wealth levels, W, is in the domain of the utility function \([0,1/2\alpha ]\).

  4. t.l. is reported when computational time exceeded the 240, 000 s.

  5. For the time and nodal decomposition approach we set the following tolerance parameters \(\epsilon _1=0.5\times 10^{-5}\) and \(\epsilon _2=10^{-3}\). For the Global the tolerance parameter of the Gauss solver cannot be changed, so we accept the default value which depends on the machine accuracy. For the PHA we set a tolerance parameter equal to \(10^{-7}\), the penalty parameter in the PHA algorithm was chosen in the range [0.01, 0.1].

References

  • Barro D, Canestrelli E (2005) Dynamic portfolio optimization: time decomposition using the maximum principle with a scenario approach. Eur J Oper Res 163:217–229

    Article  Google Scholar 

  • Barro D, Canestrelli E (2006) Time and nodal decomposition with implicit non-anticipativity constraints in dynamic portfolio optimization. Math Methods Econ Financ 1:1–24

    Google Scholar 

  • Barro D, Canestrelli E (2009) Tracking error: a multistage portfolio model. Ann Oper Res 165(1):47–66

    Article  Google Scholar 

  • Bertsekas DP (1999) Nonlinear programming, 2nd edn. Athena Scientific, Belmont

    Google Scholar 

  • Birge JR (1985) Decomposition and partitioning methods for multistage stochastic programs. Oper Res 33:989–1007

    Article  Google Scholar 

  • Birge JR, Louveaux F (1997) Introduction to stochastic programming. Springer, New York

    Google Scholar 

  • Borwein J, Reich S, Shafrir I (1992) Krasnoleski–Mann iterations in normed spaces. Can Math Bull 35:21–28

    Article  Google Scholar 

  • Brezinski C, Chehab J-P (1998) Nonlinear hybrid procedures and fixed point iterations. Numer Funct Anal Optim 19:465–487

    Article  Google Scholar 

  • Canon MD, Cullum CD Jr, Polak E (1970) Theory of optimal control and mathematical programming. McGraw Hill, New York

    Google Scholar 

  • Cheng L, Subrahamanian E, Westerberg AW (2004) A comparison of optimal control and stochastic programming from a formulation and computation perspective. Comput Chem Eng 29:149–164

    Article  Google Scholar 

  • Combettes PL, Pennanen T (2002) Generalized Mann iterates for constructing fixed points in Hilbert spaces. J Math Anal Appl 275:521–536

    Article  Google Scholar 

  • Consigli G (2007) Asset-liability management for individual investors. In: Zenios SA, Ziemba WT (eds) Handbook of asset and liability management, applications and case studies, vol 2. North-Holland, Amsterdam

  • Dentcheva D, Römisch W (2004) Duality gaps in nonconvex stochastic optimization. Math Program 101(3):515–535

    Article  Google Scholar 

  • Dunn JC, Bertsekas DP (1989) Efficient dynamic programming implementations of Newton’s method for unconstrained optimal control problems. J Optim Theory Appl 63:23–38

    Article  Google Scholar 

  • Dupačová J, Consigli G, Wallace SW (2000) Scenarios for multistage stochastic programming. Ann Oper Res 100:25–53

    Article  Google Scholar 

  • Dupačová J, Sladský K (2001) Comparison of multistage stochastic programs with recourse and stochastic dynamic programs with discrete time. ZAMM 81:1–15

    Google Scholar 

  • Evtushenko YG (1985) Numerical optimization techniques. Optimization Software Inc., New York

    Book  Google Scholar 

  • Fisher ME, Jennings LS (1992) Discrete-time optimal control problems with general constraints. ACM Trans Math Softw 18:401–413

    Article  Google Scholar 

  • Franks RL, Marzec RP (1971) A theorem on mean-value iterations. Proc Am Math Soc 30:324–326

    Article  Google Scholar 

  • Friesz TL (2010) Dynamic optimization and differential games. In: International series in operations research and management science, vol 135. Springer, New York

  • Hadjiyiannis MJ, Goulart PJ, Kuhn D (2011) An efficient method to estimate the suboptimality of affine controllers. IEEE Trans Autom Control 56(12):2841–2853

    Article  Google Scholar 

  • Helmer J-Z (1972) La commande optimal en economie. Dunod, Paris

    Google Scholar 

  • Intriligator MD (2002) Mathematical optimization and economic theory. SIAM, Philadelphia

    Book  Google Scholar 

  • Konicz AK, Pisinger D, Rasmussen K, Steffensen M (2015) A combined stochastic programming and optimal control approach to personal finance and pensions. OR Spectr 37:583–616

    Article  Google Scholar 

  • Kuhn D, Wiesemann W, Georghiou A (2011) Primal and dual linear decision rules in stochastic and robust optimization. Math Program 130(1):177–209

    Article  Google Scholar 

  • Luenberger DG (1979) Introduction to dynamic systems. In: Theory, models, and applications. Wiley, New York

  • Mann WR (1953) Mean value methods in iteration. Proc Am Math Soc 4:506–510

    Article  Google Scholar 

  • Mann WR (1979) Averaging to improve convergence of iterative processes. In: Zuhair Nashed M (ed) Functional analysis methods in numerical analysis. LNM, vol 701. Springer, Berlin, pp 169-179

  • Mulvey JM, Ruszczyński A (1992) A diagonal quadratic approximation method for large scale linear programming. Oper Res Lett 12:205–215

    Article  Google Scholar 

  • Murray DM, Yakowitz SJ (1981) The application of optimal control methodology to nonlinear programming problems. Math Program 21:331–347

    Article  Google Scholar 

  • Nowak MP, Römisch W (2000) Stochastic Lagrangian relaxation applied to power scheduling in hydro-thermal system under uncertainty. Ann Oper Res 100:251–272

    Article  Google Scholar 

  • Ortega AJ, Leake RS (1977) Discrete maximum principle with state constrained control. SIAM J Control Optim 15:119–147

    Article  Google Scholar 

  • Polak E (1971) Computational methods in optimization. Academic Press, New York

    Google Scholar 

  • Powell WB (2012) AI, OR and control theory: a Rosetta stone for stochastic optimization working paper. Computational Stochastic Optimization and Learning Lab, Department of Operations Research and Financial Engineering, Princeton University, pp 1–44

  • Pytlak R, Vinter RB (1999) Feasible direction algorithm for optimal control problems with state and control constraints: implementations. J Optim Theory Appl 101:623–649

    Article  Google Scholar 

  • Rhoades BE (1974) Fixed point iterations using infinite matrices. Trans Am Math Soc 196:161–176

    Article  Google Scholar 

  • Rockafellar RT (1999) Duality and optimality in multistage stochastic programming. Ann Oper Res 85:1–19

    Article  Google Scholar 

  • Rockafellar RT, Wets RBJ (1990) Generalized linear quadratic problems of deterministic and stochastic optimal control in discrete time. SIAM J Control Optim 28:810–822

    Article  Google Scholar 

  • Rockafellar RT, Wets RBJ (1991) Scenario and policy aggregation in optimization under uncertainty. Math Oper Res 16:119–147

    Article  Google Scholar 

  • Rockafellar RT, Zhu CY (1993) Primal-dual projected gradient algorithms for extended linear quadratic programming. SIAM J Optim 3:751–783

    Article  Google Scholar 

  • Rosa C, Ruszczyński A (1996) On augmented Lagrangian decomposition methods for multistage stochastic programs. Ann Oper Res 64:289–309

    Article  Google Scholar 

  • Ruszczyński A (1986) A regularized decomposition for minimizing a sum of polyhedral functions. Math Program 35:309–333

    Article  Google Scholar 

  • Ruszczyński A (1989) An augmented Lagrangian decomposition method for block diagonal linear programming problems. Oper Res Lett 8:287–294

    Article  Google Scholar 

  • Ruszczyński A (1993) Parallel decomposition of multistage stochastic programming problems. Math Program 58:201–228

    Article  Google Scholar 

  • Ruszczyński A (1997) Decomposition methods in stochastic programming. Math Program 79:333–353

    Google Scholar 

  • Schwarz HR (1989) Numerical analysis: a comprehensive introduction. Wiley, Chichester

    Google Scholar 

  • Sethi SP, Thompson GL (2000) Optimal control theory: applications to management science and economics. Kluwer Academic Publishers, Boston

    Google Scholar 

  • Stengel RF (1994) Optimal control and estimation. Dover Publications, New York

    Google Scholar 

  • Van Slyke R, Wets RBJ (1969) L-shaped linear programs with applications to optimal control and stochastic linear programs. SIAM J Appl Math 17:638–663

    Article  Google Scholar 

  • Wright SJ (1993) Interior point methods for optimal control of discrete time systems. J Optim Theory Appl 77:161–187

    Article  Google Scholar 

Download references

Acknowledgments

The authors are grateful for the valuable suggestions and comments of the anonymous reviewers.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Diana Barro.

Appendix

Appendix

This “Appendix‘’ provides proofs to the results not proven in the paper.

1.1 Proposition 3.1

Proof

Assumptions A1-1 and A1-2 define the state and control variables for each node in the tree. The state variables, x(t), and control variables, u(t), at time t in the OC problem, are defined as the collections of all states and control variables related to nodes at time t in the scenario tree as follows:

$$\begin{aligned} x(0)= & {} ( \begin{array}{c} x_{k_0} \\ \end{array} ) \quad x(t)=\left( \begin{array}{c} x_{K_{t-1}+1} \\ \vdots \\ x_{K_t}\\ \end{array} \right) \ \ t=1,\ldots ,T \quad x(T+1)=\left( \begin{array}{c} x_{K_{T}+1} \\ \vdots \\ x_{K_{T+1}}\\ \end{array} \right) \\ u(0)= & {} ( \begin{array}{c} u_{k_0} \\ \end{array} ) \quad u(t)=\left( \begin{array}{c} u_{K_{t-1}+1} \\ \vdots \\ u_{K_t}\\ \end{array} \right) \quad t=1,\ldots ,T. \end{aligned}$$

Assumption A1-4 defines the objective function (7a) for the OC problem. In what follows we provide the construction of the matrices and vectors of coefficients in the constraints of the OC problem.

For each node \(k_t\) we define a matrix \(B^*_{k_t}\) as the collection of all matrices \(B_{i}\), where \(i=1,\ldots ,D(k_t)\) denotes the descendant nodes from node \(k_t\):

$$\begin{aligned}&B^*_{k_t}=\left( \begin{array}{c} B_{1} \\ \vdots \\ B_{D(k_t)} \\ \end{array} \right) . \end{aligned}$$
(27)

The matrices and vector of coefficients in (7b) are defined as follows

$$\begin{aligned} A(t)\equiv & {} 0 \quad q(t) \equiv 0 \quad \forall t=0,1,\ldots ,T-1 \end{aligned}$$
(28a)
$$\begin{aligned} B(0)= & {} \left( \begin{array}{c} B_{k_1} \\ \vdots \\ B_{K_1} \\ \end{array} \right) \end{aligned}$$
(28b)
$$\begin{aligned} B(t)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} B^*_{K_{t-1}+1} &{} 0 &{} \ldots &{} 0\\ 0 &{} B^*_{K_{t-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{} \ddots &{} 0 \\ 0 &{} 0 &{} \ldots &{} B^*_{K_t} \end{array} \right) \quad t=1,\ldots ,T-1 \end{aligned}$$
(28c)
$$\begin{aligned} B(T)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} A_{K_{T-1}+1} &{} 0 &{}\ldots &{} 0\\ 0 &{} A_{K_{T-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{} \ddots &{} 0 \\ 0 &{} 0 &{} \ldots &{} A_{K_T} \end{array} \right) . \end{aligned}$$
(28d)

The initial condition on the state variables, Eq. (7c), does not affect subsequent stages and can be defined in an arbitrary way.

Let us define, for each node \(k_t\), the matrices \(C_{k_t}\) and \(D_{k_t}\)

$$\begin{aligned}&C_{k_t}=\left( \begin{array}{c@{\quad }c} I &{} 0 \\ 0 &{} -I \end{array} \right) \quad \text {and} \quad D_{k_t}=\left( \begin{array}{c@{\quad }c} A_{k_t} &{} 0 \\ 0 &{} -A_{k_t} \end{array} \right) \end{aligned}$$
(29)

where I denotes the identity matrix with dimension determined by the dimension of the vector \(x_{k_t}\), and \(A_{k_t}\) are the matrices from constraints (2d).

Using assumption A1-3 and the position in (29), the matrices C(t) and D(t) in (7d), for all t, are defined as: s

$$\begin{aligned} C(t)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} C_{K_{t-1}+1} &{} 0 &{} \ldots &{} 0\\ 0 &{} C_{K_{t-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{}\ddots &{} 0 \\ 0 &{} 0 &{} 0 &{} C_{K_{t}} \end{array} \right) \end{aligned}$$
(30a)
$$\begin{aligned} D(t)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} D_{K_{t-1}+1} &{} 0 &{} \ldots &{} 0\\ 0 &{} D_{K_{t-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{}\ddots &{} 0 \\ 0 &{} 0 &{} 0 &{} D_{K_{t}} \end{array} \right) \end{aligned}$$
(30b)

while the vectors r(t), for all t, are

$$\begin{aligned}&r(t)= \left( \begin{array}{c} c_{K_{t-1}+1} \\ -c_{K_{t-1}+1} \\ \vdots \\ c_{K_{t}} \\ -c_{K_{t}} \end{array} \right) . \end{aligned}$$
(31)

Non-negativity conditions on u(t), Eq. (7e), are a direct consequence of (2f) and assumption A1-1. \(\square \)

1.2 Proposition 3.2

Proof

Assumptions A2-1 and A2-2 define the state and control variables for each node in the tree. The state variables, x(t), and control variables, u(t), at time t in the OC problem, are defined as the collections of all states and control variables related to nodes at time t in the scenario tree as follows:

$$\begin{aligned} x(0)= & {} \left( \begin{array}{c} x_{k_0} \\ \end{array} \right) \quad x(t)=\left( \begin{array}{c} x_{K_{t-1}+1} \\ \vdots \\ x_{K_t}\\ \end{array} \right) \quad t=1,\ldots ,T \\ u(0)= & {} \left( \begin{array}{c} u_{k_0} \\ \end{array} \right) \quad u(t)=\left( \begin{array}{c} u_{K_{t-1}+1} \\ \vdots \\ u_{K_t}\\ \end{array} \right) \quad t=1,\ldots ,T-1. \end{aligned}$$

Assumption A2-4 defines the objective function (3a) for the OC problem. In what follows we provide the construction of the matrices and vectors of coefficients in the constraints of the OC problem.

Under assumptions A2-1–A2-2, the general constraints for node \(k_t\) of the stochastic programming problem

$$\begin{aligned}&B_{k_t}z_{b(k_t)}+A_{k_t}z_{k_t}=c_{k_t} \end{aligned}$$
(32)

can be rewritten as

$$\begin{aligned}&x_{k_t}= (A^s_{k_t})^{-1}[-B^s_{k_t}x_{b(k_t)}-B^c_{k_t}u_{b(k_t)}+c_{k_t}] \end{aligned}$$
(33)

which represents the dynamics of the state variables in the optimal control framework.

Recall that \(d_i(k_t), i=1,\ldots ,D(k_t)\) denotes the descendant nodes from node \(k_t\). We define, for all \(k_t=k_0,k_1,\ldots , K_{T-1}\), the matrices \(A^*_{k_t}\), \(B^*_{k_t}\) and the vector \(q^*_{k_t}\), as follows

$$\begin{aligned} A^*_{k_t}= & {} \left( \begin{array}{c} -(A_{1}^s)^{-1}B_{1}^{s} \\ \vdots \\ -(A_{D(k_t)}^s)^{-1}B_{D(k_t)}^{s} \\ \end{array} \right) \end{aligned}$$
(34a)
$$\begin{aligned} B^*_{k_t}= & {} \left( \begin{array}{c} -(A_{1}^s)^{-1}B_{1}^{c} \\ \vdots \\ -(A_{D(k_t)}^s)^{-1}B_{D(k_t)}^{c} \\ \end{array} \right) \end{aligned}$$
(34b)
$$\begin{aligned} q^*_{k_t}= & {} \left( \begin{array}{c} (A_{1}^s)^{-1}c_{1} \\ \vdots \\ (A_{D(k_t)}^s)^{-1}c_{D(k_t)} \\ \end{array} \right) . \end{aligned}$$
(34c)

The matrices and vector of coefficients in (3b) are defined as follows

$$\begin{aligned} A(0)= & {} A^*_{k_0}\quad \ B(0)=B^*_{k_0} \quad q(0)=q^*_{k_0} \end{aligned}$$
(35a)
$$\begin{aligned} A(t)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} A^*_{K_{t-1}+1} &{} 0 &{} \ldots &{} 0\\ 0 &{} A^*_{K_{t-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{} \ddots &{} 0 \\ 0 &{} 0 &{} \ldots &{} A^*_{K_t} \end{array} \right) \quad t=1,\ldots , T-1 \end{aligned}$$
(35b)
$$\begin{aligned} B(t)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} B^*_{K_{t-1}+1} &{} 0 &{}\ldots &{} 0\\ 0 &{} B^*_{K_{t-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{} \ddots &{} 0 \\ 0 &{} 0 &{} \ldots &{} B^*_{K_t} \end{array} \right) \quad t=1,\ldots , T-1\end{aligned}$$
(35c)
$$\begin{aligned} q(t)= & {} \left( \begin{array}{c} q^*_{K_{t-1}+1} \\ \vdots \\ q^*_{K_t} \end{array} \right) \quad t=1,\ldots , T-1. \end{aligned}$$
(35d)

The initial condition on the state variables, Eq. (3c), are obtained from (2b) using assumption A2-1.

Using assumption A2-3, the matrices C(t), D(t) and the vector r(t) of coefficients in the constraints (3d) are defined as

$$\begin{aligned} C(0)= & {} A^*_{k_0}\quad \ D(0)=B^*_{k_0} \quad r(0)=q^*_{k_0} \end{aligned}$$
(36a)
$$\begin{aligned} C(t)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} A^*_{K_{t-1}+1} &{} 0 &{} \ldots &{} 0\\ 0 &{} A^*_{K_{t-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{} \ddots &{} 0 \\ 0 &{} 0 &{} \ldots &{} A^*_{K_t} \end{array} \right) \quad t=1,\ldots , T-1 \end{aligned}$$
(36b)
$$\begin{aligned} D(t)= & {} \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c} B^*_{K_{t-1}+1} &{} 0 &{}\ldots &{} 0\\ 0 &{} B^*_{K_{t-1}+2} &{} \ldots &{} 0 \\ 0 &{} 0 &{} \ddots &{} 0 \\ 0 &{} 0 &{} \ldots &{} B^*_{K_t} \end{array} \right) \quad t=1,\ldots , T-1 \end{aligned}$$
(36c)
$$\begin{aligned} r(t)= & {} \left( \begin{array}{c} q^*_{K_{t-1}+1} \\ \vdots \\ q^*_{K_t} \end{array} \right) \quad t=1,\ldots , T-1 \end{aligned}$$
(36d)

where the quantities \(A^*_{k_t}\), \(B^*_{k_t}\) and \(q^*_{k_t}\) are the ones defined in (34a)–(34c).

Non-negativity conditions on the control variables, Eq. (3e), are a direct consequence of constraints (2f) and of assumption A2-3. \(\square \)

1.3 Proposition 4.4

Proof

For each \(t,\ t=0,\ldots ,T-1\), conditions (16a)–(16f) are equivalent to the optimality conditions of the following pair of optimization problems

$$\begin{aligned} \max _{u(t)}&{\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t)) \end{aligned}$$
(37a)
$$\begin{aligned}&\frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial \lambda (t)}\ge 0 \end{aligned}$$
(37b)
$$\begin{aligned}&u(t)\ge 0 \end{aligned}$$
(37c)
$$\begin{aligned} \min _{\lambda (t)}&{\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t)) \end{aligned}$$
(38a)
$$\begin{aligned}&\frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial u(t)}\le 0 \end{aligned}$$
(38b)
$$\begin{aligned}&\lambda (t)\ge 0. \end{aligned}$$
(38c)

In more detail, optimality conditions for problem (37a)–(37c) are

$$\begin{aligned} \frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial u(t)}\le & {} 0 \end{aligned}$$
(39a)
$$\begin{aligned} \frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial \lambda (t)}\ge & {} 0 \end{aligned}$$
(39b)
$$\begin{aligned} u(t)'\left[ \frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial u(t)}\right]= & {} 0 \end{aligned}$$
(39c)
$$\begin{aligned} u(t)\ge & {} 0. \end{aligned}$$
(39d)

While, optimality conditions for problem (38a)–(38c) are

$$\begin{aligned} \frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial \lambda (t)}\ge & {} 0 \end{aligned}$$
(40a)
$$\begin{aligned} \frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial u(t)}\le & {} 0\end{aligned}$$
(40b)
$$\begin{aligned} \lambda (t)'\left[ \frac{\partial {\tilde{H}}(x(t),u(t),\psi (t+1),\lambda (t))}{\partial \lambda (t)}\right]= & {} 0 \end{aligned}$$
(40c)
$$\begin{aligned} \lambda (t)\ge & {} 0. \end{aligned}$$
(40d)

Solving only one subproblem at time does not guarantee the satisfaction of all optimality conditions. The equivalence is preserved when the conditions are solved simultaneously and thus the two optimization problems have to be solved jointly.

Equation (39c) defines the complementarity conditions for problem (37a)–(37c). Taking into account (11) and (12), Eq. (39c) can be written as follows

$$\begin{aligned}&u(t)'\left[ \dfrac{\partial F_t(x(t),u(t))}{\partial u(t)}+B(t)'\psi (t+1)+D(t)'\lambda (t)\right] =0. \end{aligned}$$

Multiplying and rearranging the terms we have

$$\begin{aligned}&u(t)'D(t)'\lambda (t)=-u(t)'\left[ \dfrac{\partial F_t(x(t),u(t))}{\partial u(t)}+B(t)'\psi (t+1)\right] . \end{aligned}$$
(41)

Using (11) and (12), substituting (41) into (38a), and discarding the terms that do not depend on the optimizing variables \(\lambda (t)\), problem (38a)–(38c) can be rewritten as

$$\begin{aligned} \min _{\lambda (t)}&\{\left[ C(t)x(t) + r(t)\right] '\lambda (t)\} \end{aligned}$$
(42a)
$$\begin{aligned}&D(t)'\lambda (t)\le -\dfrac{\partial F_t(x(t),u(t))}{\partial u(t)}-B(t)'\psi (t+1) \end{aligned}$$
(42b)
$$\begin{aligned}&\lambda (t)\ge 0. \end{aligned}$$
(42c)

Analogous considerations can be applied to the first optimization problem. Equation (40c) defines the complementarity conditions for problem (38a)–(38c). Taking into account (11) and (12), Eq. (40c) can be written as follows

$$\begin{aligned}&\lambda (t)'\left[ C(t)x(t)+D(t)u(t)+r(t)\right] =0. \end{aligned}$$

Multiplying and rearranging the terms we obtain

$$\begin{aligned}&\lambda (t)'D(t)u(t)=-\lambda (t)'\left[ C(t)x(t)+r(t)\right] . \end{aligned}$$
(43)

Substituting (43) into (37a), and discarding the terms that do not depend on the optimizing variables u(t), problem (37a)–(37c) can be rewritten as

$$\begin{aligned} \max _{u(t)}&\{F_t(x(t),u(t))+\psi (t+1)'B(t)u(t) \} \end{aligned}$$
(44a)
$$\begin{aligned}&D(t)u(t)\ge -C(t)x(t)-r(t) \end{aligned}$$
(44b)
$$\begin{aligned}&u(t)\ge 0. \end{aligned}$$
(44c)

\(\square \)

1.4 Proposition 4.5

Proof

Recall that the state variables x(t), the control variables u(t), and the multipliers \(\lambda (t)\) and \(\psi (t+1)\), at time t, in the OC problem, are defined as the collections of all states, controls and multipliers related to nodes at time t in the scenario tree as follows:

$$\begin{aligned} x(0)= & {} \left( \begin{array}{c} x_{k_0} \\ \end{array} \right) \quad x(t)=\left( \begin{array}{c} x_{K_{t-1}+1} \\ \vdots \\ x_{K_t}\\ \end{array} \right) \quad t=1,\ldots ,T \nonumber \\ u(0)= & {} \left( \begin{array}{c} u_{k_0} \\ \end{array} \right) \quad u(t)=\left( \begin{array}{c} u_{K_{t-1}+1} \\ \vdots \\ u_{K_t}\\ \end{array} \right) \ \ t=1,\ldots ,T-1 \nonumber \\ \psi (0)= & {} \left( \begin{array}{c} \psi _{k_0} \\ \end{array} \right) \quad \psi (t)=\left( \begin{array}{c} \psi _{K_{t-1}+1} \\ \vdots \\ \psi _{K_t}\\ \end{array} \right) \quad t=1,\ldots ,T \nonumber \\ \lambda (0)= & {} \left( \begin{array}{c} \lambda _{k_0} \\ \end{array} \right) \quad \lambda (t)=\left( \begin{array}{c} \lambda _{K_{t-1}+1} \\ \vdots \\ \lambda _{K_t}\\ \end{array} \right) \quad t=1,\ldots ,T-1. \end{aligned}$$

Expanding conditions (20a)–(20j) we obtain the result. The matrices \({\tilde{A}}_{k_t}\), \({\tilde{B}}_{k_t}\), \({\tilde{C}}_{k_t}\), \({\tilde{D}}_{k_t}\) are obtained rearranging from the matrices A(t), B(t), C(t), D(t) and the vectors q(t) and r(t) defined either in Proposition 3.1 or in Proposition 3.2. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Barro, D., Canestrelli, E. Combining stochastic programming and optimal control to decompose multistage stochastic optimization problems. OR Spectrum 38, 711–742 (2016). https://doi.org/10.1007/s00291-015-0427-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00291-015-0427-6

Keywords

Mathematics Subject Classification

JEL Classification

Navigation