Skip to main content
Log in

A node formulation for multistage stochastic programs with endogenous uncertainty

  • Original Paper
  • Published:
Computational Management Science Aims and scope Submit manuscript

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.

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

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

    Google Scholar 

  • Apap RM, Grossmann IE (2016) Models and computational strategies for multistage stochastic programming under endogenous and exogenous uncertainties. Comput Chem Eng 103:233–274

    Article  Google Scholar 

  • Bansal S, Dyer JS (2020) Planning for end-user substitution in agribusiness. Oper Res 68(4):1000–1019

    Article  Google Scholar 

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

    Google Scholar 

  • Colvin M, Maravelias CT (2008) A stochastic programming approach for clinical trial planning in new drug development. Comput Chem Eng 32(11):2626–2642

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Goel V, Grossmann IE (2006) A Class of stochastic programs with decision dependent uncertainty. Math Program 108:355–394

    Article  Google Scholar 

  • Gupta V, Grossmann IE (2011) Solution strategies for multistage stochastic programming with endogenous uncertainties. Comput Chem Eng 35:2235–2247

    Article  Google Scholar 

  • Held H, Woodruff DL (2005) Heuristics for Multi-Stage Interdiction of Stochastic Networks. J Heuristics 11(5–6):483–500

    Article  Google Scholar 

  • Hellemo L (2016) Managing uncertainty in design and operation of natural gas infrastructure. Norwegian University of Science and Technology, Norway

    Google Scholar 

  • Hellemo L, Barton PI, Tomasgard A (2018) Decision-dependent probabilities in stochastic programs with recourse. CMS 15(3):369–395

    Article  Google Scholar 

  • Hooshmand F, MirHassani SA (2016) Efficient constraint reduction in multistage stochastic programming problems with endogenous uncertainty. Optim Methods Softw 31:359–376

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Jonsbråten TW, Wets RJ-B, Woodruff DL (1998) A class of stochastic programs withdecision dependent random elements. Ann Oper Res 82:83–106

    Article  Google Scholar 

  • Kall P, Wallace SW (1994) Stochastic programming. Wiley, Chichester

    Google Scholar 

  • Kaut M, Midthun KT, Werner AS, Tomasgard A, Hellemo L, Fodstad M (2014) Multi-horizon stochastic programming. CMS 11(1–2):179–193

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Pantuso G (2017) The football team composition problem: a stochastic programming approach. J Quant Anal Sports 13(3):113–129

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Peeta S, Salman FS, Gunnec D, Viswanath K (2010) Pre-disaster investment decisions for strengthening a highway network. Comput Oper Res 37:1708–1719

    Article  Google Scholar 

  • Pereira MV, Pinto LM (1991) Multi-stage stochastic optimization applied to energy planning. Math Program 52(1–3):359–375

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giovanni Pantuso.

Additional information

Publisher's Note

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

Appendices

A Notation table

Table 4 Notation of problem (1)

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

$$\begin{aligned}&\max r_0^Tx_{0}+\mathop {\sum }\limits _{{d\in {\mathcal {D}}_0}}q_{0d}\delta _{0d}+\theta _0 \end{aligned}$$
(7a)
$$\begin{aligned}&\text {s.t.} \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}\delta _{nd} = 1&n\in {\mathcal {N}}, \end{aligned}$$
(7b)
$$\begin{aligned}&A_nx_n + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}B_{nd}\delta _{nd}+ C_{a(n)}x_{a(n)} + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_{a(n)}}}D_{a(n),d}\delta _{a(n),d}= h_n&\quad n\in {\mathcal {N}}, \end{aligned}$$
(7c)
$$\begin{aligned}&\theta _n\le \mathop {\sum }\limits _{{m\in {\mathcal {N}}_{nd}}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{d\in {\mathcal {D}}_m}}q_{md}\delta _{md}+\theta _m) + M_{nd} (1 - \delta _{nd}\right)&\quad n\in {\mathcal {N}}{\setminus }{{\mathcal {N}}_T}, d\in {\mathcal {D}}_n \end{aligned}$$
(7d)
$$\begin{aligned}&\theta _{n} = \Theta _n&\quad n\in {\mathcal {N}}_{T}, \end{aligned}$$
(7e)
$$\begin{aligned}&x_n \in X_{t(n)}&\quad n\in {\mathcal {N}}, \end{aligned}$$
(7f)
$$\begin{aligned}&\delta _{nd} \in \{0,1\}&\quad n\in {\mathcal {N}},d\in {\mathcal {D}}_n, \end{aligned}$$
(7g)
$$\begin{aligned}&\theta _{n} \in {\mathcal {R}}&\quad n\in {\mathcal {N}}. \end{aligned}$$
(7h)

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:

$$\begin{aligned} \theta _{n} - \mathop {\sum }\limits _{{m\in {\mathcal {N}}_{nd}}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{d\in {\mathcal {D}}_m}}q_{md}\delta _{md}+\theta _m\right) \le M_{nd} \end{aligned}$$

Let us introduce \(\phi _{nd}\) to represent the expectation at the children of node n for distribution d, that is:

$$\begin{aligned} \phi _{nd} = \mathop {\sum }\limits _{{m\in {\mathcal {N}}_{nd}}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{d\in {\mathcal {D}}_m}}q_{md}\delta _{md}+\theta _m\right) \end{aligned}$$

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\).

Table 5 Numerical example for the calculation of constants \(M_{nd}\)

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

$$\begin{aligned} \phi _{{\bar{n}}{\bar{d}}} = \mathop {\sum }\limits _{{m\in {\mathcal {N}}_{{\bar{n}}{\bar{d}}}}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{d\in {\mathcal {D}}_m}}q_{md}\delta _{md}+\theta _m\right) \end{aligned}$$

Now, the highest difference can be found solving the following optimization problem:

$$\begin{aligned}&M_{{\bar{n}}{\bar{d}}}^*=\max \theta _{{\bar{n}}} - \sum _{m\in {\mathcal {N}}_{{\bar{n}}{\bar{d}}}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{k\in {\mathcal {D}}_m}}q_{mk}\delta _{mk}+\Theta _m\right) \end{aligned}$$
(8a)
$$\begin{aligned}&\text {s.t.} \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}\delta _{nd} = 1&\quad n\in {\mathcal {N}}, \end{aligned}$$
(8b)
$$\begin{aligned}&A_nx_n + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}B_{nd}\delta _{nd}+ C_{a(n)}x_{a(n)} +\mathop {\sum }\limits _{{d\in {\mathcal {D}}_{a(n)}}}D_{a(n),d}\delta _{a(n),d}= h_n&\quad n\in {\mathcal {N}}, \end{aligned}$$
(8c)
$$\begin{aligned}&\theta _{{\bar{n}}} \le \Theta _{{\bar{n}}{\bar{d}}}^*,&\quad \end{aligned}$$
(8d)
$$\begin{aligned}&x_n \in X_{t(n)}&\quad n\in {\mathcal {N}}, \end{aligned}$$
(8e)
$$\begin{aligned}&\delta _{nd} \in \{0,1\}&\quad n\in {\mathcal {N}},d\in {\mathcal {D}}_n, \end{aligned}$$
(8f)
$$\begin{aligned}&\delta _{{\bar{n}}{\bar{d}}} = 0&\end{aligned}$$
(8g)

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):

$$\begin{aligned} \Phi _{{\bar{n}}d'}^*&=\max ~ \sum _{m\in {\mathcal {N}}_{{\bar{n}}d'}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{k\in {\mathcal {D}}_m}}q_{mk}\delta _{mk}+\Theta _m\right) \end{aligned}$$
(9a)
$$\begin{aligned} \text {s.t.}&\mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}\delta _{nd} = 1&\quad n\in {\mathcal {N}}, \end{aligned}$$
(9b)
$$\begin{aligned}&A_nx_n + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}B_{nd}\delta _{nd}+ C_{a(n)}x_{a(n)} + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_{a(n)}}}D_{a(n),d}\delta _{a(n),d}= h_n&\quad n\in {\mathcal {N}}, \end{aligned}$$
(9c)
$$\begin{aligned}&x_n \in X_{t(n)}&\quad n\in {\mathcal {N}}, \end{aligned}$$
(9d)
$$\begin{aligned}&\delta _{nd} \in \{0,1\}&\quad n\in {\mathcal {N}},d\in {\mathcal {D}}_n, \end{aligned}$$
(9e)
$$\begin{aligned}&\delta _{{\bar{n}}d'} = 1&\end{aligned}$$
(9f)

Therefore, when calculating \(M_{{\bar{n}}{\bar{d}}}\), the upper bound \(\Theta _{{\bar{n}}}^*\) in (8d) is given by:

$$\begin{aligned} \Theta _{{\bar{n}}{\bar{d}}}^* = \max _{ d\in \mathcal {D}_{{\bar{n}}} : d\ne {\bar{d}}}\Phi _{{\bar{n}}d}^* \end{aligned}$$

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.

figure a

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

$$\begin{aligned}&M_{{\bar{n}}{\bar{d}}}^*=\max \theta _{{\bar{n}}} - \sum _{m\in {\mathcal {N}}_{{\bar{n}}{\bar{d}}}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{k\in {\mathcal {D}}_m}}q_{mk}\delta _{mk}+\theta _m\right) \end{aligned}$$
(10a)
$$\begin{aligned}&\text {s.t.}\mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}\delta _{nd} = 1&\quad n\in {\mathcal {N}}, \end{aligned}$$
(10b)
$$\begin{aligned}&A_nx_n + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}B_{nd}\delta _{nd}+ C_{a(n)}x_{a(n)} +\mathop {\sum }\limits _{{d\in {\mathcal {D}}_{a(n)}}}D_{a(n),d}\delta _{a(n),d}= h_n&\quad n\in {\mathcal {N}}, \end{aligned}$$
(10c)
$$\begin{aligned}&\theta _{n} \ge \sum _{m\in {\mathcal {N}}_{nd}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{k\in {\mathcal {D}}_m}}q_{mk}\delta _{mk}+\theta _m\right) \nonumber \\&\quad - M_{nd} (1 - \delta _{nd}) t={\bar{t}}+1,\ldots ,T-1,&\quad n\in \mathcal {N}_t,d\in {\mathcal {D}}_{n}, \end{aligned}$$
(10d)
$$\begin{aligned}&\theta _{n} = \Theta _{n}&\quad n\in \mathcal {N}_T \end{aligned}$$
(10e)
$$\begin{aligned}&\theta _{{\bar{n}}} \le \Theta _{{\bar{n}}{\bar{d}}}^*,&\quad \end{aligned}$$
(10f)
$$\begin{aligned}&x_n \in X_{t(n)}&\quad n\in {\mathcal {N}}, \end{aligned}$$
(10g)
$$\begin{aligned}&\delta _{nd} \in \{0,1\}&\quad n\in {\mathcal {N}},d\in {\mathcal {D}}_n, \end{aligned}$$
(10h)
$$\begin{aligned}&\delta _{{\bar{n}}{\bar{d}}} = 0&\end{aligned}$$
(10i)

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)

$$\begin{aligned}&\Phi _{{\bar{n}}d'}^*=\max \sum _{m\in {\mathcal {N}}_{{\bar{n}}d'}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{k\in {\mathcal {D}}_m}}q_{mk}\delta _{mk}+\theta _m\right) \end{aligned}$$
(11a)
$$\begin{aligned}&\text {s.t.} \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}\delta _{nd} = 1&\quad n\in {\mathcal {N}}, \end{aligned}$$
(11b)
$$\begin{aligned}&A_nx_n + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_n}}B_{nd}\delta _{nd}+ C_{a(n)}x_{a(n)} + \mathop {\sum }\limits _{{d\in {\mathcal {D}}_{a(n)}}}D_{a(n),d}\delta _{a(n),d}= h_n&\quad n\in {\mathcal {N}}, \end{aligned}$$
(11c)
$$\begin{aligned}&\theta _{n} \le \sum _{m\in {\mathcal {N}}_{nd}}\pi _m\left( r_m^Tx_{m}+\mathop {\sum }\limits _{{k\in {\mathcal {D}}_m}}q_{mk}\delta _{mk}+\theta _m\right) \nonumber \\&\quad +M_{nd} (1 - \delta _{nd}) t={\bar{t}}+1,\ldots ,T-1,&\quad n\in \mathcal {N}_t,d\in {\mathcal {D}}_{n}, \end{aligned}$$
(11d)
$$\begin{aligned}&\theta _{n} = \Theta _{n}&\quad n\in \mathcal {N}_T \end{aligned}$$
(11e)
$$\begin{aligned}&x_n \in X_{t(n)}&\quad n\in {\mathcal {N}}, \end{aligned}$$
(11f)
$$\begin{aligned}&\delta _{nd} \in \{0,1\}&\quad n\in {\mathcal {N}},d\in {\mathcal {D}}_n, \end{aligned}$$
(11g)
$$\begin{aligned}&\delta _{{\bar{n}}d'} = 1&\quad \end{aligned}$$
(11h)

Therefore, the upper bound \(\Theta _{{\bar{n}}{\bar{d}}}^*\) in (10f) is given by:

$$\begin{aligned} \Theta _{{\bar{n}}}^* = \max _{d\in \mathcal {D}_{{\bar{n}}}:d\ne {\bar{d}}}\Phi _{{\bar{n}}d}^* \end{aligned}$$

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.

figure b

D Computation time for finding big-M values for the FTCP

Table 6 Average elapsed time in seconds for the computations of big-M values using the procedure in Sect. 4.2

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10287-021-00390-z

Navigation