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 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
(νj + fj)/sj, where<br />
<br />
<br />
νj = min<br />
x<br />
i∈I<br />
cijxij : <br />
i∈I<br />
<br />
dixij = sj , 0 ≤ xij ≤ 1 ∀ i ∈ I .<br />
The <strong>branch</strong> that results from requiring <strong>the</strong> selected plant to be open is <strong>the</strong>n always<br />
investigated first.<br />
We used a FORTRAN code of Ryu <strong>and</strong> Guignard, but replaced <strong>the</strong> out-ofkilter<br />
method used in this code <strong>for</strong> solving <strong>the</strong> transportation problems by calls<br />
to <strong>the</strong> network simplex <strong>algorithm</strong> of CPLEX’s callable library. The code was <strong>the</strong>n<br />
compiled <strong>and</strong> run on <strong>the</strong> same machine as BB-SG. Table 3 compares CAPLOC<br />
<strong>and</strong> BB-SG on <strong>the</strong> test problem instances from Klose <strong>and</strong> Görtz (2007) <strong>and</strong> Table 4<br />
summarizes <strong>the</strong>se results by again averaging over <strong>the</strong> capacity ratio r. As can be seen<br />
from Table 3 <strong>and</strong> 4, BB-SG is far superior to CAPLOC. (The number of enumerated<br />
nodes reported <strong>for</strong> CAPLOC in this table does not include <strong>the</strong> <strong>branch</strong>es investigated<br />
in <strong>the</strong> Lagrangean probing.) On <strong>the</strong> test problems of Table 3, BB-SG was on average<br />
about 55 times faster than CAPLOC. Basically, both <strong>algorithm</strong>s are <strong>based</strong> on <strong>the</strong><br />
same methodology; <strong>the</strong>y apply <strong>the</strong> same Lagrangean relaxation <strong>and</strong> use <strong>subgradient</strong><br />
optimization <strong>for</strong> lower <strong>bound</strong>ing. BB-SG however greatly benefits from, firstly, <strong>the</strong><br />
best lower <strong>bound</strong> search <strong>and</strong>, secondly <strong>and</strong> mostly, from better <strong>branch</strong>ing decisions<br />
<strong>based</strong> on a reasonable estimate of a primal solution.<br />
Since also <strong>the</strong> test problem instances from <strong>the</strong> OR-library are of a size <strong>and</strong><br />
difficulty that can be managed by CAPLOC, we also compared both methods on<br />
<strong>the</strong>se test problems. Each of <strong>the</strong>se problem instances is of size |I| × |J| = 1000 ×<br />
100. Table 5 shows <strong>the</strong> results, which again indicate <strong>the</strong> superiority of BB-SG. The<br />
ORLIB instances are easier to solve than <strong>the</strong> instances of Table 3, but still BB-SG<br />
is about 17 times faster than CAPLOC on <strong>the</strong>se instances.<br />
4.3 Comparison with CPLEX <strong>and</strong> <strong>the</strong> <strong>branch</strong>-<strong>and</strong>-cut method of Avella <strong>and</strong> Boccia<br />
(2007)<br />
We used CPLEX’s MIP solver in <strong>the</strong> following way <strong>for</strong> solving <strong>the</strong> CFLP (1)–(7).<br />
We started with <strong>the</strong> weaker aggregate <strong>for</strong>mulation that is obtained by taking <strong>for</strong> each<br />
j ∈ J <strong>the</strong> sum of constraints (5) over all i ∈ I. Additional variable upper <strong>bound</strong>s (5)<br />
were <strong>the</strong>n included “on <strong>the</strong> fly” whenever violated by <strong>the</strong> current LP solution. The<br />
model <strong>for</strong>mulation found this way was <strong>the</strong>n passed to <strong>the</strong> MIP solver, after removing<br />
be<strong>for</strong>eh<strong>and</strong> those added constraints (5) that showed a positive slack at <strong>the</strong> final<br />
LP solution. We also passed a feasible solution <strong>and</strong> upper <strong>bound</strong> to CPLEX’s MIP<br />
solver. The solution was obtained using a simple rounding procedure, which was<br />
applied each time <strong>the</strong> current LP relaxation was solved. To this end, <strong>the</strong> facilities<br />
j ∈ J are sorted according to non-decreasing LP value of <strong>the</strong> associated variable yj<br />
<strong>and</strong> <strong>the</strong>n opened as long as yj ≥ 0.9 or <strong>the</strong> capacity of <strong>the</strong> open facilities is smaller<br />
than <strong>the</strong> total dem<strong>and</strong>. CPLEX’s MIP solver was called with default option values<br />
except that (i) CPLEX’s internal primal heuristic was switched off; (ii) <strong>the</strong> relative<br />
optimality tolerance was set to 10 −6 ; (iii) <strong>the</strong> parameters CutsFactor, CutPass <strong>and</strong><br />
AggCutLim respectively controlling <strong>the</strong> number of cuts CPLEX may add, <strong>the</strong> number<br />
of cutting rounds CPLEX may per<strong>for</strong>m, <strong>and</strong> <strong>the</strong> number of constraints that can<br />
9