238 5 Two-Stage Recourse Problems
Step 1.Set
ν
=
ν
+ 1 and solve the linear program in (6.1)–(6.3). Let the solution
be (
ρ
ν
,
σ
ν
,
π
ν
) with a dual solution, (x
ν
,
θ
ν
) .
Step 2.For k = 1,...,K ,solve(6.4). If any infeasible problem (6.4) is found, stop
and evaluate the formulation. If an unbounded solution with extreme ray
σ
ν
is
found for any k , then form new columns ( d
r+1
=(
σ
ν
)
T
h
k
, D
r+1
=(
σ
ν
)
T
T
k
), set
r = r + 1 , and return to Step 1.
If all problems (6.4) are solvable, then form new columns, E
s+1
and e
s+1
,asin
(1.10)and(1.11). If e
s+1
−E
s+1
x
ν
−
θ
ν
≤0 , then stop; (
ρ
ν
,
σ
ν
,
π
ν
) and (x
ν
,
θ
ν
)
are optimal in the original problem (1.2).
If e
s+1
−E
s+1
x
ν
−
θ
ν
> 0,set s = s+ 1,andreturntoStep1.
Clearly, the inner linearization method follows the same steps as the L -shaped
method, except that we solve the duals of the problems instead of the primals.
Hence, convergence follows directly from the L -shaped method. We could also
view this approach directly as in Dantzig-Wolfe decomposition by stating that (6.1)–
(6.3) is an inner linearization of the dual of the basic L -shaped problem in (1.2)and
that the subproblems (6.4) generate new extreme points and rays to add to this inner
linearization (see Exercise 2).
If, as in many problems, n
1
>> m
1
, the primal version has smaller basis ma-
trices, at most of order m
1
+ m
2
, than the n
1
×n
1
bases for the dual. Hence, the
L -shaped implementation is usually preferred. Inner linearization can, however, be
applied directly to the primal by assuming T is fixed using the form in (3.1.5),
which we repeat here:
min z = c
T
x +
Ψ
(
χ
) (6.5)
s. t. Ax = b ,
Tx−
χ
= 0 ,
x ≥ 0 ,
where
Ψ
(
χ
)=E
ω
ψ
(
χ
,
ξ
(
ω
)) and
ψ
(
χ
,
ξ
(
ω
)) = min{q(
ω
)
T
y | Wy = h(
ω
) −
χ
,y ≥ 0}. Note that, in this form, we assume that T is fixed but q and h may
still be functions of
ω
. For this reason, we revert to the use of
Ψ
for the recourse
function.
In this case, we wish to build an inner linearization of the function
Ψ
(
χ
) us-
ing the generalized programming approach as in Dantzig [1963, Chapter 24]. The
basic idea is to replace
Ψ
(
χ
) by the convex hull of points
Ψ
(
χ
) chosen in each
iteration of the algorithm. Each iteration generates a new extreme point of a region
of linearity for
Ψ
, which is polyhedral as we showed in Theorem 3.6. Thus, finite
convergence is assured with finite numbers of realizations. The algorithm follows.
Generalized Programming Method for Two-Stage Stochastic Linear Programs
Step 0.Set s = t =
ν
= 0.