1 Erratum to: Math. Program. Ser. A 106, 423–432 (2006) DOI 10.1007/s10107-005-0597-0

Hanasusanto et al. [HKW] has pointed out an error in the original publication of the article. To be precise, the error occurs in the first formula on page 429. We gratefully acknowledge their careful reading of our paper. We have rectified the error and the corrected Sect. 3.2 is given below. We have done this so that the correction can be read almost independently of the rest of the paper and to take the opportunity to improve the exposition.

1.1 Continuous distributions

For two-stage stochastic programming problems with continuously distributed parameters, \(\sharp \text {P}\)-hardness of obtaining the optimal solution can be established under even the mildest conditions on the distributions. For the proof, we use a reduction from the problem of computing the volume of a knapsack polytope, proved \(\sharp \text {P}\)-hard in [3].

Let \(\mathbb {Z}_+\) denote the nonnegative integers and \(\mathbb {Q}_+\) the rational numbers.

Definition 3.2

Let \(P = \{w \in [0, 1]^n \mid {\textstyle \sum }_{j=1}^n \alpha _j w_j \le \beta \}\) be the knapsack polytope, where \(\alpha _j\in \mathbb {Z}_+\) (\(j=1,\ldots ,n\)) and \(\beta \in \mathbb {Q}_+\). We consider the following two computational problems.

  1. (i)

    Counting knapsack solutions. Compute \(N(P)=|\{0,1\}^n\cap P|\).

  2. (ii)

    Volume of knapsack polytope. Compute \(\text {Vol}(P)\), the volume of P.

These problems are \(\sharp \text {P}\)-hard. In [3],  Volume of knapsack polytope was proved \(\sharp \text {P}\)-hard by reduction from the known \(\sharp \text {P}\)-hard problem Counting knapsack solutions.

Claim 1

Counting knapsack solutions remains \(\sharp \text {P}\)-hard if \(\alpha _n=\lfloor \beta \rfloor +1\).

Proof

If \(\alpha _n= \lfloor \beta \rfloor +1\), let \(P'=\{w^{n-1} \in [0, 1]^{n-1} \mid {\textstyle \sum }_{j=1}^{n-1}\alpha _j w_j \le \lfloor \beta \rfloor \}|\). Then \(N(P')=N(P)\), since \(\alpha _j\in \mathbb {Z}_+\) (\(j=1,\ldots ,n-1\)), and \(w\in \{0,1\}^n\cap P\) implies \(w_n=0\). Clearly, computing \(N(P')\) is \(\sharp \text {P}\)-hard. Hence computing N(P) is \(\sharp \text {P}\)-hard when \(\alpha _n=\lfloor \beta \rfloor +1\). \(\square \)

Claim 2

Volume of knapsack polytope remains \(\sharp \text {P}\)-hard if \(\alpha _n> \beta \).

Proof

For P as in Claim 1, let \(P_i=\{w \in \{0, 1\}^n \mid {\textstyle \sum }_{j=1}^n\alpha _j w_j \le \lfloor \beta \rfloor +i/n\}\), where (\(0\le i<n\)). So \(N(P_i)=N(P)\) for all \(0\le i<n\), since \(\alpha _j\in \mathbb {Z}_+\) (\(j=1,\ldots ,n\)), and \(\lfloor \beta \rfloor \le \lfloor \beta \rfloor +i/n<\lfloor \beta \rfloor +1\). Thus computing \(N(P_i)\) is \(\sharp \text {P}\)-hard.

The reduction on p. 970 of [3] implies that, if computing N(P) is \(\sharp \text {P}\)-hard, then computing \(\text {Vol}(P_k)\) is \(\sharp \text {P}\)-hard, for some \(0\le k<n\). It follows that computing \(\text {Vol}(P)\) is \(\sharp \text {P}\)-hard if \(\beta =\lfloor \beta \rfloor +k/n<\lfloor \beta \rfloor +1=\alpha _n\). \(\square \)

Theorem 3.2

Determining the optimal solution of a two-stage stochastic programming problem with continuously distributed parameters is \(\sharp \text {P}\)-hard, even if all the stochastic parameters have the uniform [0, 1] distribution.

Proof

Define i.i.d. random variables \(\varvec{q}_{1},\ldots ,\varvec{q}_{n-1}\), each uniformly distributed on [0, 1], and write \(\mathbf {q}^{n-1}=(\varvec{q}_1,\ldots ,\varvec{q}_{n-1})\). Now, given an instance of computing the volume of a knapsack polytope as in Claim 2, consider the following two-stage stochastic programming problem with continuously distributed parameters:

$$\begin{aligned} \max \{ -cx +Q(x)\mid 0\le x \le 1\}, \end{aligned}$$

where

$$\begin{aligned} Q(x) = \mathbb {E}_{\mathbf {q}^{n-1}}\left[ \max \left\{ \beta y -\sum \limits _{i=1}^{n-1} \varvec{q}_j y_j \mid 0\le y \le x,\, y_j\ge \alpha _jy\ \, (j=1,\ldots ,n)\right\} \right] . \end{aligned}$$

For any realisation \(q^{n-1}\) of \(\mathbf {q}^{n-1}\), the optimal solution of the second-stage problem is \(y_{j}=\alpha _jy\ge 0\), \((j=1,\ldots ,n-1)\), so

$$\begin{aligned} Q(x) = \mathbb {E}_{\mathbf {q}^{n-1}}\left[ \max \left\{ (\beta -\sum \limits _{i=1}^{n-1}\varvec{q}_j \alpha _j)y \mid 0\le y \le x\right\} \right] \,. \end{aligned}$$

Thus \(y=x\) if \(\sum _{j=1}^{n-1}q_{j}\alpha _{j}\le \beta \), and \(y=0\) if \(\sum _{j=1}^{n-1}q_{j}\alpha _{j}> \beta \).

Notice that, since \(\alpha _n>\beta \), the constraint \(w_n\le 1\) is redundant in P in Claim 2. Define \(\varphi (w^{n-1})= (\beta -{\textstyle \sum }_{j=1}^{n-1}\alpha _{j}w_j)/\beta \). Thus \(\varphi (w^{n-1})\le 1\) in \(P'\) as defined in the proof of Claim 1. In P this implies that \(\alpha _nw_n/\beta \le \varphi (w^{n-1})\).

Now the solution value of the two-stage problem can be written as

$$\begin{aligned} \max \big \{ \big (\beta \Phi -c\big )x\mid 0\le x \le 1\big \},\text { where }\Phi \,=\, \mathbb {E}_{\mathbf {q}^{n-1}}\big [\max (\varphi (\mathbf {q}^{n-1}),0)\big ]\,. \end{aligned}$$

Thus \(x=1\), with optimal objective value \(\beta \Phi -c\), if \(\Phi >c/\beta \), and \(x=0\), with optimal objective value 0, otherwise. Therefore computing the optimal solution to the stochastic program requires determining whether or not \(\Phi =\mathbb {E}_{\mathbf {q}^{n-1}}\big [\max (\varphi (\mathbf {q}^{n-1}),0)\big ]>c/\beta \).

Claim 3

Computing \(\Phi \) is \(\sharp \text {P}\)-hard.

Proof

Since, from Claim 2 above, computing \(\text {Vol}(P)\) is \(\sharp \text {P}\)-hard, this claim follows from

$$\begin{aligned} \Phi&=\mathbb {E}_{\mathbf {q}^{n-1}}\big [\max (\varphi (\mathbf {q}^{n-1}),0)\big ] =\int _{P'}\, \varphi (w^{n-1})\,\text {d}w^{n-1},\ \text {since}\ 0\le \varphi (w^{n-1})\le 1\text { in } P',\\&=\,\int _{P'}\,\int _{0}^{\varphi (w^{n-1})} 1 \ \text {d}(\alpha _nw_n/\beta )\,\text {d}w^{n-1}, \\&=\,(\alpha _n/\beta )\int _{P}\, 1 \ \text {d}w_n\,\text {d}w^{n-1},\ \, \text {since}\ 0\le \alpha _nw_n/\beta \le \varphi (w^{n-1}) \text { in } P, \\&=\, (\alpha _n/\beta )\text {Vol}(P). \end{aligned}$$

\(\square \)

Now, from [3], it follows that \(\text {Vol}(P)\) is a rational number with known denominator, when P is a knapsack polytope. Hence we can compute \(\text {Vol}(P)\) exactly if we can compute it to a close enough approximation. Hence there must exist values of c for which deciding \(\Phi \,>\,c/\beta \) is \(\sharp \text {P}\)-hard. Otherwise we could use bisection to compute the \(\sharp \text {P}\)-hard quantity \(\text {Vol}(P)\) exactly, in a polynomial number of iterations, a contradiction. \(\square \)

Showing that this problem is in \(\text {P}^{\sharp \text {P}}\) would require additional conditions on the input distributions. We note that a result of Lawrence [9] implies that exact computation may not even be in pspace.

2 References

  1. [3]

    Dyer, M.E., Frieze, A.M.: On the complexity of computing the volume of a polyhedron. SIAM J. Comput. 17, 967–974 (1988)

  2. [9]

    Lawrence, J.: Polytope volume computation. Math. Comput. 57, 259–271 (1991)

  3. [HKW]

    Hanasusanto, G.A., Kuhn, D., Wiesemann, W.: A comment on Computational complexity of stochastic programming problems. 2015. http://www.optimization-online.org/DB_HTML/2015/03/4825.html