I am facing a problem understanding the L-shaped algorithm in a two-stage stochastic problem.
$$\operatorname{Min} z=100 x_1+150 x_2+E_{\xi}\left(q_1 y_1+q_2 y_2\right)$$ subject to $$ \begin{aligned} &x_1+x_2 \leq 120 \\ &6 y_1+10 y_2 \leq 60 x_1 \\ &8 y_1+5 y_2 \leq 80 x_2 \\ &x_1 \geq 40, x_2 \geq 20, y_1 \leq d_1, y_2 \leq d_2 \\ &y_1, y_2 \geq 0 \end{aligned} $$ where $\xi^T=\left(d_1, d_2, q_1, q_2\right)$ takes the values $(400,100,-20,-24)$ with probability $0.4$ and $(300,200,-24,-28)$ with probability $0.6$. Use an L-shaped algorithm and carry out one iteration.
I have the solution,
Step 1. Ignoring $\theta$, the master program is simply $z=\min \left\{100 x_1+150 x_2 \mid x_1+x_2 \leq\right.$ $\left.120, x_1 \geq 40, x_2 \geq 20\right\}$ with solution $x^1=(40,20)^T$ and $\theta^1=-\infty$. Step 3.
- For $\xi=\xi_1$, solve the program $$ \begin{array}{r} w=\min \left\{-24 y_1-28 y_2 \mid 6 y_1+10 y_2 \leq 2400,8 y_1+5 y_2 \leq 1600,\right. \\ \left.0 \leq y_1 \leq 500,0 \leq y_2 \leq 100\right\} . \end{array} $$ The solution is $w_1=-6100, y^T=(137.5,100), \pi_1^T=(0,-3,0,-13)$.
- For $\xi=\xi_2$, solve the program $$ \begin{array}{r} w=\min \left\{-28 y_1-32 y_2 \mid 6 y_1+10 y_2 \leq 2400,8 y_1+5 y_2 \leq 1600\right. \\ \left.0 \leq y_1 \leq 300,0 \leq y_2 \leq 300\right\} . \end{array} $$ The solution is $w_2=-8384, \quad y^T=(80,192), \quad \pi_2^T=(-2.32,-1.76$, $0,0)$. Using $h_1=(0,0,500,100)^T$ and $h_2=(0,0,300,300)^T$, one obtains $$ e_1=0.4 \cdot \pi_1^T \cdot h_1+0.6 \cdot \pi_2^T \cdot h_2=0.4 \cdot(-1300)+0.6 \cdot(0)=-520 . $$ The matrix $T$ is identical in the two scenarios. It consists of two columns $(-60,0,0,0)^T$ and $(0,-80,0,0)^T$. Thus, $$ \begin{aligned} E_1=0.4 \cdot \pi_1^T T+0.6 \cdot \pi_2^T T &=0.4(0,240)+0.6(139.2,140.8) \\ &=(83.52,180.48) \end{aligned} $$ Finally, as $x^1=(40,20)^T, w^1=-520-(83.52,180.48) \cdot x^1=-7470.4$. Thus, $w^1=-7470.4>\theta^1=-\infty$, add the cut $83.52x_1+180.48x_2+\theta ≥ −520 $
I couldn't understand the solution (Introduction to Stochastic Programming, 2nd edition. John R. Birge and Francois Louveaux. Springer, page: 185, Section: 5.1). There was no clear explanation.
What the algorithm was doing and how the steps were taken was unclear.
Update
To get the shadow price, $$\tau^T=c_B (A^B)^{-1}$$
Hence, I got,
$$ \begin{pmatrix}0&-24&0&-28\end{pmatrix}\begin{pmatrix}1&-0.75&0&0\\ \:\:0&0.125&0&0\\ \:\:0&-0.125&1&0\\ \:\:0&0&0&1\end{pmatrix}=\begin{pmatrix}0&-3&0&-28\end{pmatrix} $$
Where I did mistake to get the shadow price?