8.6. Level decomposition 85
The l1-norm distance (also called taxicab or manhattan distance) is defined as
k x − xkk1=
n X
i=1
|xi− xki|.
To use the absolute value in a linear problem it must be modeled explicitly with the introduction of new variables and constraints. The new variables w take the absolute value of |x − xk|. This is ensured via two types of constraints, for all i = 1, . . . , n, in conjunction with the objective function minww. The constraints wi+ xi≥ xki ensure that wi takes up
the slack if xi− xk
i < 0. This can be seen by rearranging the constraint to xi− xki ≥ −wi.
If xi − xki ≥ 0, the slack is taken up by wi via the constraints xi− xki ≤ wi, which is
equivalent to wi− xi ≥ −xki.
The projection problem in the case of the l1-norm reads min w w s.t. Ax = b Eix + θ ≥ ei ∀i ∈ Ik Ds,jx ≥ ds,j ∀j ∈ Jk, ∀s ∈ S(j) cTx + θ ≤ (1 − λ)Fk+ λF (x∗) w + x ≥ xk w − x ≥ − xk l ≤ x ≤ u 0 ≤ w ≤ ∞. (8.10)
The l∞-norm distance (also called infinity norm or maximum norm distance) is defined as
k x − xkk∞= max 1,··· ,n |x1− xk1|, . . . , |xn− xkn| .
The goal is to minimize the distance. Therefore it is possible to derive the LP formulation of minx k x − xk k∞, by using a scalar variable w instead of a vector, with modified
constraints from the l1-norm problem above, namely w + xi ≥ xki and w − xi ≥ −xki. Thus
w is chosen as the maximum over all component-wise absolute values |xi− xki|, while w is
The projection problem in the case of the l∞-norm reads min w w s.t. Ax = b Eix + θ ≥ ei ∀i ∈ Ik Ds,jx ≥ ds,j ∀j ∈ Jk, ∀s ∈ S(j) cTx + θ ≤ (1 − λ)Fk+ λF (x∗) w + x ≥ xk w − x ≥ − xk l ≤ x ≤ u 0 ≤ w ≤ ∞. (8.11)
From the three projection problems (8.9), (8.10), and (8.11), which stand for the euclidean, manhattan and infinity distances, respectively, only the euclidean projection problem requires a quadratic programming solver. The other two are pure linear programming problems. If no quadratic programming solver is available, level decomposition with the
l1 or l∞ norm can be used. Therefore a comparison of the computational results of the three different projection problems is interesting and done in Section 10.5.3. The complete algorithm for level decomposition combined with on-demand accuracy is given in Algorithm 17. CP S denotes the current projection problem solution value cx +PA
a=1θa.
8.7. Extending techniques to the multi-stage case
It would be ideal, if extensions and modifications of the two-stage L-shaped method that prove to be successful can also be applied to the nested L-shaped method. Cut consolidation, parallelization and cut aggregation can be readily used in the nested L-shaped method. The techniques for stabilizing the master problem can also be extended to the multi-stage case, but not unaltered. The same holds for on-demand accuracy cut generation. We explain why after the nested nature of the algorithm is explored.
The nested L-shaped method is in principle the extension of the two-stage L-shaped method to the multi-stage case by applying the two-stage L-shaped method in a nested fashion (Birge, 1985). This is done by viewing two-stage subtrees rooted at a node (t, v) as a two-stage problem, with the difference that the respective master problem is parameterized with its current parent solution and that the respective subproblems contain optimality and feasibility cuts. Figure 8.1 depicts the nested application of the two-stage L-shaped method. Nodes with solid lines act as master nodes, nodes with dotted lines act as subproblem nodes, and nodes with dashed lines act as a master problem to their subproblems and act as a subproblem to their master problem. The boxes around the nodes depict the different two-stage problems which are nested within each other.
The nested nature leads to two observations, namely the impact on the feasible region of the primal nested master problem and the existence of cuts in the nested subproblem. The master problem at node (t, v) is different from a master problem for a normal two-stage problem. Its feasible region is dependent on its current parent problem solution xa(t,v)t−1 .
8.7. Extending techniques to the multi-stage case 87
Initialization;
while U B − LB > optimality do
Solve Master problem (4.1) and store solution ¯x, ¯θ1, . . . , ¯θA; Set LB ← c¯x +PAa=1θ¯a;
if Master problem infeasible then return Problem infeasible;
Solve Projection problem (8.9), (8.11), or (8.10); Store solution of projection problem xk, θ1,k, . . . , θA,k; Set CP S ← cxk+PAa=1θa,k;
for every scenario s ∈ S do
Find index ¯is using equation (8.3);
Compute ˜q(xk) using equation (8.4);
if cxk+ ˜q(xk) ≥ κCP S + (1 − κ)U B then Compute Ea,k=P s∈SaEs,¯i s and ea,k=P s∈Saes,¯i s
for every aggregate a ∈ A; Generate optimality cuts Ea,kx + θa≥ ea,k, ∀a ∈ A and add them to Master
problem;
else
for every scenario s ∈ S do
Solve second-stage problem Q(xk, s) (4.2) for scenario s;
if Subproblem feasible then
Let ys,k be the primal solution and πs,k, λs,k, µs,k be the dual solution;
Generate optimality cut coefficients and right-hand side (4.4);
Es,k= psπs,kTs;
es,k = pshπs,khs+ λs,kls+ µs,kusi;
if Subproblem infeasible then
Let πs,k, λs,k, µs,k be the dual extreme ray;
Generate feasibility cut and add it to Master problem;
πs,kTsx ≥ πs,khs+ λs,kls+ µs,kus;
if No subproblem was infeasible then for every aggregate a ∈ A do
Form optimality cutP
s∈SaEs,kx + θa≥Ps∈Saes,k; if θa,k < ea− Eaxk then
Add generated optimality cut to Master problem; Compute current solution value zk= cx +PSs=1psqsys,k;
if U B > zk then
Set U B ← zk and store incumbent solution xk, y1,k, . . . , yS,k; Set k ← k + 1;
Return incumbent solution;