06.08.2013 Views

A subgradient-based branch-and-bound algorithm for the ...

A subgradient-based branch-and-bound algorithm for the ...

A subgradient-based branch-and-bound algorithm for the ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2 Computation of a lower <strong>bound</strong><br />

Dualizing <strong>the</strong> dem<strong>and</strong> constraints (2) with multipliers λi, i ∈ I, yields <strong>the</strong> Lagrangean<br />

subproblem<br />

ZD(λ) = <br />

λi + min (cij − λi)xij +<br />

x,y<br />

i∈I<br />

i∈I j∈J<br />

<br />

fjyj<br />

j∈J<br />

s.t.: (3), (4), (5), (6), (7).<br />

Let ji ∈ arg min{cij : j ∈ J}. It is straight<strong>for</strong>ward to show that optimal Lagrangean<br />

multipliers can be found in <strong>the</strong> interval [λ min , λ max ], where<br />

λ min<br />

i<br />

= min <br />

cij : j ∈ J \ {ji} <br />

<strong>and</strong> λ max<br />

i = max <br />

cij : j ∈ J <br />

. (9)<br />

Moreover, it is well-known that (8) reduces to <strong>the</strong> binary knapsack problem<br />

where<br />

<br />

<br />

λ0 = min<br />

y<br />

j∈J<br />

<br />

<br />

vj = max<br />

x<br />

i∈I<br />

(fj − vj)yj : <br />

(λi − cij)xij : <br />

i∈I<br />

j∈J<br />

(8)<br />

<br />

sjyj ≥ d(I) , yj ∈ {0, 1} ∀ j ∈ J , (10)<br />

<br />

dixij ≤ sj , 0 ≤ xij ≤ 1 ∀ i ∈ I , j ∈ J .<br />

The Lagrangean function ZD(λ) = λ0 + <br />

i∈I λi <strong>and</strong> thus also <strong>the</strong> Lagrangean dual<br />

<strong>bound</strong><br />

ZD = max <br />

ZD(λ) : λ ∈ [λ min , λ max ] <br />

can <strong>the</strong>re<strong>for</strong>e be computed in pseudo-polynomial time (Cornuejols et al., 1991).<br />

A broad range of different methods is available <strong>for</strong> exactly solving <strong>the</strong> Lagrangean<br />

dual (11) <strong>and</strong> obtaining a corresponding primal solution. A stabilized column generation<br />

method <strong>for</strong> solving <strong>the</strong> corresponding primal linear master problem is applied<br />

in (Klose <strong>and</strong> Drexl, 2005) <strong>and</strong> extended to a <strong>branch</strong>-<strong>and</strong>-price <strong>algorithm</strong> <strong>for</strong> <strong>the</strong><br />

CFLP in (Klose <strong>and</strong> Görtz, 2007). Alternatively, regularized decomposition or bundle<br />

methods (Lemaréchal, 1989; Ruszczyński, 1995; Ruszczyński <strong>and</strong> ´ Swi¸etanowski,<br />

1997) may be used <strong>for</strong> solving (11). The main principle of a bundle method is to keep<br />

an inner polyhedral approximation to <strong>the</strong> ɛ-subdifferential ∂ɛZD(λ) of <strong>the</strong> piecewise<br />

linear <strong>and</strong> concave function ZD(λ). A trial step is <strong>the</strong>n taken into <strong>the</strong> best direction<br />

found in this set (which requires to solve a quadratic master program). If this gives<br />

a sufficient increase in ZD(λ), a “serious step” is taken to <strong>the</strong> next iterate; o<strong>the</strong>rwise<br />

a “null step” is per<strong>for</strong>med <strong>and</strong> <strong>the</strong> current approximation of ∂ɛZD(λ) improved by<br />

adding fur<strong>the</strong>r <strong>subgradient</strong>s. The Volume Algorithm of Barahona <strong>and</strong> Anbil (2000)<br />

can be seen as a heuristic version of a bundle method. The procedure keeps an estimate<br />

of a primal solution to <strong>the</strong> Lagrangean dual. This estimated solution is an<br />

exponentially weighted average of <strong>the</strong> solutions obtained to <strong>the</strong> Lagrangean subproblem<br />

in <strong>the</strong> course of <strong>the</strong> <strong>algorithm</strong>. Fur<strong>the</strong>rmore, this estimated primal solution<br />

is also used <strong>for</strong> determining <strong>subgradient</strong>-like search directions. If a move into such a<br />

direction gives an ascent, a serious step is taken <strong>and</strong> <strong>the</strong> new dual iterate accepted;<br />

3<br />

(11)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!