Abstract
This paper introduces a node formulation for multistage stochastic programs with endogenous (i.e., decision-dependent) uncertainty. Problems with such structure arise when the choices of the decision maker determine a change in the likelihood of future random events. The node formulation avoids an explicit statement of non-anticipativity constraints and, as such, keeps the dimension of the model sizeable. An exact solution algorithm for a special case is introduced and tested on a case study. Results show that the algorithm outperforms a commercial solver as the size of the instances increases.
Similar content being viewed by others
References
Ahmed S (2000) Strategic planning under uncertainty: stochastic integer programming approaches. University of Illinois at Urbana-Champaign, Urbana-Champaign
Apap RM, Grossmann IE (2016) Models and computational strategies for multistage stochastic programming under endogenous and exogenous uncertainties. Comput Chem Eng 103:233–274
Bansal S, Dyer JS (2020) Planning for end-user substitution in agribusiness. Oper Res 68(4):1000–1019
Birge JR, Louveaux F (1997) Introduction to stochastic programming. Springer, New York
Colvin M, Maravelias CT (2008) A stochastic programming approach for clinical trial planning in new drug development. Comput Chem Eng 32(11):2626–2642
Colvin M, Maravelias CT (2010) Modeling methods and a branch and cut algorithm for pharmaceutical clinical trial planning using stochastic programming. Eur J Oper Res 203(1):205–215
da Costa Flach B (2010) Stochastic programming with endogenous uncertainty: an application in humanitarian logistics. PhD thesis, PUC-Rio
Escudero LF, Garín MA, Monge JF, Unzueta A (2018) On preparedness resource allocation planning for natural disaster relief under endogenous uncertainty with time-consistent risk-averse management. Comput Oper Res 98:84–102
Goel V, Grossmann IE (2004) A stochastic programming approach to planning of offshore gas field developments under uncertainty in reserves. Comput Chem Eng 28:1409–1429
Goel V, Grossmann IE (2006) A Class of stochastic programs with decision dependent uncertainty. Math Program 108:355–394
Gupta V, Grossmann IE (2011) Solution strategies for multistage stochastic programming with endogenous uncertainties. Comput Chem Eng 35:2235–2247
Held H, Woodruff DL (2005) Heuristics for Multi-Stage Interdiction of Stochastic Networks. J Heuristics 11(5–6):483–500
Hellemo L (2016) Managing uncertainty in design and operation of natural gas infrastructure. Norwegian University of Science and Technology, Norway
Hellemo L, Barton PI, Tomasgard A (2018) Decision-dependent probabilities in stochastic programs with recourse. CMS 15(3):369–395
Hooshmand F, MirHassani SA (2016) Efficient constraint reduction in multistage stochastic programming problems with endogenous uncertainty. Optim Methods Softw 31:359–376
Hooshmand F, MirHassani SA (2018) Reduction of nonanticipativity constraints in multistage stochastic programming problems with endogenous and exogenous uncertainty. Math Methods Oper Res 87(1):1–18
Jonsbråten TW, Wets RJ-B, Woodruff DL (1998) A class of stochastic programs withdecision dependent random elements. Ann Oper Res 82:83–106
Kall P, Wallace SW (1994) Stochastic programming. Wiley, Chichester
Kaut M, Midthun KT, Werner AS, Tomasgard A, Hellemo L, Fodstad M (2014) Multi-horizon stochastic programming. CMS 11(1–2):179–193
Laumanns M, Prestwich S, Kawas B (2014) Distribution shaping and scenario bundling for stochastic programs with endogenous uncertainty. In: Higle JL, Römisch W, Sen S (eds) Stochastic Programming E-Print Series. Stochastic Programming E-Print Series, Institut für Mathematik
Mercier L, Van Hentenryck P (2011) An anytime multistep anticipatory algorithm for online stochastic combinatorial optimization. Ann Oper Res 184(1):233–271
Pantuso G (2017) The football team composition problem: a stochastic programming approach. J Quant Anal Sports 13(3):113–129
Pantuso G, Hvattum LM (2020) Maximizing performance with an eye on the finances: a chance-constrained model for football transfer market decisions. TOP. https://doi.org/10.1007/s11750-020-00584-9
Peeta S, Salman FS, Gunnec D, Viswanath K (2010) Pre-disaster investment decisions for strengthening a highway network. Comput Oper Res 37:1708–1719
Pereira MV, Pinto LM (1991) Multi-stage stochastic optimization applied to energy planning. Math Program 52(1–3):359–375
Pineda S, Morales JM (2019) Solving linear bilevel problems using big-ms: Not all that glitters is gold. IEEE Trans Power Syst 34(3):2469–2471. https://doi.org/10.1109/TPWRS.2019.2892607
Tarhan B, Grossmann IE (2008) A multistage stochastic programming approach with strategies for uncertainty reduction in the synthesis of process networks with uncertain yields. Comput Chem Eng 32:766–788
Tarhan B, Grossmann IE, Goel V (2009) stochastic programming approach for the planning of offshore oil or gas field infrastructure under decision-dependent uncertainty. Ind Eng Chem Res 48:3078–3097
Tarhan B, Grossmann IE, Goel V (2013) Computational strategies for non-convex multistage MINLP models with decision-dependent uncertainty and gradual uncertainty resolution. Ann Oper Res 203(1):141–166
Tong K, Feng Y, Rong G (2012) Planning under demand and yield uncertainties in an oil supply chain. Ind Eng Chem Res 51(2):814–834
Viswanath K, Srinivas P, and Sibel SF (2004) Investing in the Links of a Stochastic Network to Minimize Expected Shortest Path Length. URL https://www.krannert.purdue.edu/programs/phd/working-papers-series/2004/1167.pdf
Zou J, Ahmed S, Sun XA (2019) Stochastic dual dynamic integer programming. Math Program 175(1–2):461–502
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
A Notation table
B A big-M reformulation
In this appendix a big-M reformulation that linearizes model (1) is introduced. In addition to the notation introduced in Sect. 2, let \(M_{nd}\in {\mathbb {R}}^1\) be a suitably high constant. The linearized MSPEU is thus
Note, particularly, that constraints (7d) are equivalent to (1d). Consider a given node n, other than a leaf node. Observe that only for one distribution d there will be a \(\delta _{nd}\) which takes value one at n (see (7b)). For the same n and for the same d, the second term on the right-hand-side of (7d) will be zero (i.e., the big-M will not be enforced), and the resulting right-hand-side will be the most binding among the \(|{\mathcal {D}}_n|\) constraints for node n. Since we are maximizing, at optimality \(\theta _n\) will take value of the expectation according to the distribution d for which \(\delta _{nd}=1\), as it happens in model (1).
C Finding big-M values
An efficient implementation of model (7) requires tight big-M values. Observe that, for \(n\in \mathcal {N}{\setminus }\mathcal {N}_T\) and \(d\in \mathcal {D}_n\), constant \(M_{nd}\) must be a valid upper bound for constraints (7d), that is:
Let us introduce \(\phi _{nd}\) to represent the expectation at the children of node n for distribution d, that is:
Consider the numerical example shown in Table 5 for a given node n and three possible distributions d. The table reports the highest and lowest values the expectation at the following stage can take for each possible distribution, and the corresponding value of \(\theta _n\) should a specific distribution be chosen. When choosing \(M_{n,d_1}\), notice that the maximum value \(\theta _n\) can reach for other distributions is 9, and that the least value \(\phi _{n,d_1}\) can reach is 5. Therefore, we can set \(M_{n,d_1}=9-5\). In fact, if distribution \(d_2\) is chosen, \(\theta _n\) will be at most 9 and \(\phi _{n,d_1}\) at least 5, thus adding 4 to \(\phi _{n,d_1}\) will ensure that \(\theta _n\) is correctly set to 9. Similarly, we choose \(M_{n,d_2}=6\) as the highest value \(\theta _n\) can take if \(d_2\) is not selected is 10, while the least value of \(\phi _{n,d_2}\) is 4. Finally, with a similar reasoning we can set \(M_{n,d_3}=7\).
From the example in Table 5 we understand that finding values for \(M_{nd}\) amounts to finding highest values for \(\phi _{nd}\) and differences \(\theta _n - \phi _{nd}\). In what follows we illustrate how these values can be found for \(t=T-1\) in Section C.1 and \(t=T-2,\ldots ,1\) in Section C.2.
1.1 C.1 Big-M values for stages \(t=T-1\)
We start at the second-last stage, \(t=T-1\). Our task is that of finding, for each node \({\bar{n}}\in {\mathcal {N}}_{T-1}\) and for each distribution \({\bar{d}}\in {\mathcal {D}}_{{\bar{n}}}\), a constant \(M_{{\bar{n}}{\bar{d}}}\) which is slightly higher than the highest difference \(\theta _{{\bar{n}}}-\phi _{{\bar{n}}{\bar{d}}}\), where again
Now, the highest difference can be found solving the following optimization problem:
Problem (8) consists of finding the feasible solution to problem (7) which yields the highest value for the left-hand-side of constraint (7d) for \({\bar{n}}\) and \({\bar{d}}\). The following two elements must be noted in (8). Constraints (7d) of the original problem, which determine the correct expectations at the stages before \(T-1\), are not included as they are irrelevant for stage \(T-1\). The second element to note is constraint (8d) which sets an upper bound \(\theta _{{\bar{n}}}\). This upper bound represents the highest value \(\theta _{{\bar{n}}}\) can take for the distributions other than \({\bar{d}}\). This value can, in turn, be obtained solving optimization problems. The highest expectation for stage T, given distribution \(d'\in {D}_{{\bar{n}}}\) is the optimal value to problem (9):
Therefore, when calculating \(M_{{\bar{n}}{\bar{d}}}\), the upper bound \(\Theta _{{\bar{n}}}^*\) in (8d) is given by:
Clearly, solving problems (8) and (9) amounts to solving integer programs of size comparable with the original problem (7). However, the tightest \(\Theta _{{\bar{n}}{\bar{d}}}^*\) and \(M_{{\bar{n}}{\bar{d}}}\) are not necessary, and higher values would still provide correct results. A suitable value for \(M_{{\bar{n}}{\bar{d}}}\) can be obtained by solving any relaxation of problem (8), yielding \(M_{{\bar{n}}{\bar{d}}}^{R}\), and (9), yielding \(\Phi _{{\bar{n}}{\bar{d}}}^{R}\) and in turn \(\Theta _{{\bar{n}}{\bar{d}}}^{R}\). As an example, one might solve the linear programming relaxation of problems (8) and (9) or, if the size of the problems is excessively high, one might choose to relax constraints (8c) and (9c) for some stages. Finally, since the procedure outlined might return negative values for some \(M_{nd}\), we set \(M_{nd}=\max \{0,M_{nd}^{R}\}\) to reduce, when possible, high big-M absolute values. The procedure is summarized in Algorithm 1.
1.2 C.2 Big-M values for stages \(t=T-2,\ldots ,1\)
Once constants \(M_{nd}\) are available for every \(n\in \mathcal {N}_{T-1}\) and \(d\in \mathcal {D}_n\) we can proceed in a similar way to calculate big-Ms for stages \(T-2,\ldots ,1\). Given a stage \({\bar{t}}\in \{T-2,\ldots ,1\}\), a node at that stage, \({\bar{n}}\in \mathcal {N}_{{\bar{t}}}\), and distribution available at that node \({\bar{d}}\in \mathcal {D}_{{\bar{n}}}\), the tightest value of constant \(M_{{\bar{n}}{\bar{d}}}\), namely \(M_{{\bar{n}}{\bar{d}}}^*\), is
Problem (10) consists of finding the feasible solution to problem (7) which yields the highest value of the left-hand-side of constraint (7d) for node \({\bar{n}}\) and distribution \({\bar{d}}\). Notice that, unlike in problem (8), problem (10) includes constraints (10d) which are necessary to ensure that \(\theta _n\) values are set to the lowest expectation for all stages between \({\bar{t}}\) and \(T-1\). Note that constant \(M_{nd}\) in constraints (10d) is also an upper bound to the quantity \(\theta _{n} - \sum _{m\in {\mathcal {N}}_{nd}}\pi _m\left( r_m^Tx_{m}+\sum _{k\in {\mathcal {D}}_m}q_{mk}\delta _{mk}+\theta _m\right) \) and can be thus set to the quantities determined at previous iterations. Also in this case, \(\Theta _{{\bar{n}}}^*\) in (10f) represents the highest possible value \(\theta _{{\bar{n}}}\) can take for distributions other than \({\bar{d}}\). The highest expectation for stage \({\bar{t}}+1\), given distribution \(d'\in {D}_{{\bar{n}}}\) is the optimal value to problem (11)
Therefore, the upper bound \(\Theta _{{\bar{n}}{\bar{d}}}^*\) in (10f) is given by:
Similarly to Section C.1, calculating the optimal \(M_{{\bar{n}}{\bar{d}}}^*\) is cumbersome as well as not strictly necessary. Therefore, any computationally suitable relaxation to problems (10) and (11) can be adopted. The procedure for obtaining constants \(M_{nd}\) for stages \(T-2,\ldots ,1\) is sketched in Algorithm 2.
D Computation time for finding big-M values for the FTCP
Rights and permissions
About this article
Cite this article
Pantuso, G. A node formulation for multistage stochastic programs with endogenous uncertainty. Comput Manag Sci 18, 325–354 (2021). https://doi.org/10.1007/s10287-021-00390-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10287-021-00390-z