PRIMAL AND DUAL BOUNDS FOR THE PRIZE

1 downloads 0 Views 280KB Size Report
algorithms to generate primal and dual bounds to PCSPG. The algorithms incorporate in- ...... [34] A. Volgenant and R. Jonker. “The symmetric traveling ...
PRIMAL AND DUAL BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE A BSTRACT. Given an undirected graph G with associated edge costs and vertex penalties, a Prize Collecting Steiner (PCS) tree is either an isolated vertex of G or else any tree of that graph. The weight of a PCS tree equals the sum of its edge costs plus the sum of the penalties for the vertices of G not spanned by the tree. The Prize Collecting Steiner Problem in Graphs (PCSPG) is to find a PCS tree of lowest weight. In this paper, we introduce Lagrangian Non Delayed Relax and Cut (NDRC) and Linear Programming based algorithms to generate primal and dual bounds to PCSPG. The algorithms incorporate ingredients such as a new PCSPG reduction test, an effective Local Search procedure and a modification in the NDRC framework which allowed additional reductions in duality gaps to be attained. The Lagrangian heuristic suggested here appears to dominate PCSPG heuristics and metaheuristics in the literature. The proposed Branch-and-Cut algorithm, however, despite the sharp PCSPG lower bounds it generates, does not appear competitive with the best exact solution algorithm in the literature.

1. I NTRODUCTION Assume that an undirected graph G = (V, E) with a set V of vertices and a set E of edges is given. Assume as well that penalties {di ≥ 0 : ∀i ∈ V } and costs {ce ≥ 0 : ∀e ∈ E} are respectively associated with the vertices and edges of G. A Prize Collecting Steiner (PCS) tree is defined as either an isolated vertex of G or else any tree of that graph, be it spanning or not. The weight of a PCS tree equals the sum of its edge costs plus the sum of the penalties for the vertices not spanned by the tree. The Prize Collecting Steiner Problem in Graphs (PCSPG) is to find a PCS tree of lowest weight. PCSPG generalizes the Steiner Problem in Graphs (SPG) [26, 35], where a given set of terminal vertices must be connected at minimum cost (possibly involving some nonterminal Steiner vertices, as well). In the literature, all SPG instances available have nonnegative edge costs. As a result, optimal SPG solutions correspond to trees of the associated graphs and not more general connected components, as would otherwise be the case. SPG may be recast as PCSPG by associating a sufficiently large positive penalty to every terminal vertex and zero valued penalties to nonterminal vertices. Thus, optimal PCS trees are guaranteed to contain all terminal vertices, as required in SPG. Given that SPG was proven to be NP-hard in [17] and since it is a particular case of PCSPG, then PCSPG must also be NP-hard. For the past few years, PCSPG has been the focus of considerable attention in the literature. A possible explanation, apart from the inherent interest the problem attracts, is the fact that Prize-Collecting appears to be a realistic model for various applications in network Date: January 18, 2006. Key words and phrases. Lagrangian relaxation, non-delayed relax and cut, branch-and-cut, prize-collecting Steiner problem in graphs. AT&T Labs Research Technical Report TD-6XL7KT. 1

2

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

design. An example is mentioned in [25] where one wants to build a fiber-optics network to provide broadband connections to business and residential customers. As such, for that application, G represents a local street map, V corresponds to potential client premises and street intersections, and E represents street segments. Another application reported in [19], deals with the planning of the expansion of electricity and gas facilities. For that application, vertex penalties are discounted cash flows associated with the estimated heating demands to be supplied. Edges costs are associated with laying (or expanding) pipes and/or electrical cables. The term Prize-Collecting was coined in Balas [1], in the context of the Traveling Salesman Problem. Since then it is being used to designate various combinatorial optimization problems. A common characteristic in all of these problems is a clear trade-off between paying an edge cost to include a vertex into the solution or else incurring into a penalty for leaving it out. References to problems closely related to PCSPG could be traced back to Segev [33]. In that reference, the term Node-weighted Steiner Tree Problem (NWSTP) is used to describe a variant of SPG where, in additional to the usual edge costs, vertex penalties are also present. Solution algorithms are proposed and tested in [33] for a single terminal vertex version of NWSTP. Another exact solution algorithm for NWSTP is proposed in [11]. This algorithm is based on a formulation which is similar to the SPG formulation in [21]. In turn, the SPG formulation in [21] could be seen as a strengthened version of the SPG formulation in [3]. Likewise, it could also be seen as a reformulation of that suggested in [13, 20, 27] (see [24] or [23], for details). NWSTP lower bounds in [11] are generated as suggested in [21]. Thus, likewise the algorithm in [21], the Lagrangian relaxation algorithm in [11] could be seen as a Non Delayed Relax-and-Cut algorithm (see [23] for details). PCSPG, in the minimization form described here, could be polynomially approximated [8, 14]. The very first approximation algorithm for PCSPG (see Bienstock [8], for details) attains an approximation factor of 3. Later on, Goemans and Williamson [14] proposed a general primal-dual approximation framework for a family of NP-hard problems, PCSPG included. Specializing that framework to PCSPG, resulted in an algorithm with an approximation factor of 2 and complexity O(|V |2 log(|V |)). That algorithm is geared to a rooted version of PCSPG, with a pre-specified vertex being required to be part of any feasible solution. Thus, for the general case, where no root vertex exists, the algorithm in [14] must be run for |V | times, one for every vertex in V playing the role of root. As such, an approximation factor of 2 is maintained (albeit at a O(|V |3 log(|V |) complexity). More recently, Minkoff [28] improved upon the Goemans and Williamson algorithm (GWA) by dropping the rooted vertex requirement, preserving the (asymptotic) approximation factor, and reducing the worst case complexity to O(|V |2 log(|V |)). An additional contribution in [28] is the development of a pruning (or post processing) strategy based on Dynamic Programming. That strategy dominates the one suggested in [14]. Lucena and Resende [25] specialized the SPG formulation in [13, 21, 27] to PCSPG. The resulting formulation relies on a generalization of the Subtour Elimination Constraints (SECs), introduced by Dantzig, Ford and Fulkerson [7]. Associated with that formulation, a cutting plane algorithm, based on the separation of Generalized SECs (GSECs), was used in [25] to generate PCSPG lower bounds. Computational results for test instances from the literature indicate that the PCSPG formulation in [25] is quite strong. Some effective reduction tests, adapted from the SPG literature, were also proposed in [25]. These tests help to reduce instance input size.

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

3

Another PCSPG formulation was proposed in Ljubic et al. [19]. It relies on a digraph induced by G and involves an artificial root vertex, as well. A branch-and-cut algorithm based on that formulation was implemented in [19]. The algorithm underwent extensive computational testing and proved to be very effective. It managed to solve to proven optimality all test instances from the literature. Additionally, optimality certificates were also obtained for some of the new harder-to-solve instances introduced in the study. CPU times involved in the experiments were very acceptable. Recently, Haouari and Siala [15] studied the Quota PCSPG (QPCSPG). For that variant of the problem, previously defined vertex penalties are not used. Instead, a vertex prize is collected whenever the corresponding vertex appears in a feasible PCS tree. Furthermore, for a PCS tree to be feasible to QPCSPG, at least a given minimum amount of prizes must have been collected. That translates into a knapsack inequality, within a formulation of the problem,. Thus the QPCSPG is more in tune with the idea of prize collecting, as originally introduced in [1]. A hybrid solution approach, involving a genetic algorithm and Lagrangian relaxation, was proposed for QPCSPG in [15]. The approach was tested on instances of the problem with up to 500 vertices and 5000 edges. A PCSPG metaheuristic was proposed in Canuto et. al. [5]. It combines a multi start implementation of GWA (operating under randomly perturbed input costs), Local Search (LS), Variable Neighborhood Search (VNS) and Path-Relinking (PR). Comprehensive computational experiments in [5] indicate that the proposed metaheuristic is capable of attaining nearly optimal solutions under acceptable CPU times. In this paper we compute primal and dual bounds for PCSPG. These bounds originate from Lagrangian and Linear Programming (LP) relaxations of the PCSPG formulation in [25]. In particular, we propose a Lagrangian heuristic to PCSPG. As such, the heuristic uses Lagrangian dual information (i.e. Lagrangian relaxation solutions) to guide the generation of primal (i.e. feasible integral) solutions to PCSPG. As mentioned earlier, the PCSPG formulation in [25] is used. However, at first sight, that formulation does not appear amenable to be decomposed in a Lagrangian fashion. We thus reformulate it with a new set of variables and give the resulting PCSPG formulation a more convenient graph theoretical interpretation. In doing so, we essentially follow similar ideas suggested for the SPG in [3, 21, 24]. Under this more convenient interpretation, the PCSPG formulation becomes very attractive to be decomposed in a Lagrangian fashion and a Non Delayed Relaxand-Cut (NDRC) algorithm is applied to it. The suggested Lagrangian PCSPG heuristic involves a construction algorithm and a Local Search procedure. These components are repeatedly called throughout the Relax-and-Cut algorithm. In addition, preprocessing and variable fixing tests are also applied. We also introduce in this paper, a Branch-and-Cut algorithm for PCSPG that is based on the cutting plane approach suggested in [25]. Within this Branch-and-Cut algorithm, LP relaxation analogs to the Lagrangian relaxation primal bounds are used. This paper is organized as follows. In Section 2, the PCSPG formulation in [25] is made amenable to be treated by Lagrangian relaxation. In Section 3, we describe the main features of a NDRC algorithm. In Section 4, we show how we adapted the general NDRC framework to obtain lower and upper bounds for PCSPG. Reduction tests for the problem and the pricing out of suboptimal variables are presented in Section 5. In Section 6, we present the computational experiments we carried out to evaluate the NDRC algorithm. In Section 7, we compare the proposed heuristic with the Branch-and-Cut algorithm. Finally, the paper is closed in Section 8 with some concluding remarks.

4

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

2. A N I NTEGER P ROGRAMMING F ORMULATION

FOR

PCSPG

The PCSPG formulation in [25] involves two different sets of variables. Namely, variables {yi ∈ {0, 1} : i ∈ V }, to select vertices for a PCS tree, and edge variables {xe ≥ 0 : e ∈ E}, to connect selected tree vertices. In relation with that formulation, we denote by E(S) ⊆ E the set of edges with both endpoints in S ⊆ V . Accordingly, x(E(S)) := ∑e∈E(S) xe denotes the sum of the variables associated with the edges in E(S). Likewise, y(S) := ∑i∈S yi denotes the sum of the variables associated with the vertices in S. The PCSPG formulation in [25] is given by

(1)

min

(

∑ ce xe + ∑

e∈E

|E| dv (1 − yv ) : (x, y) ∈ R0 ∩ (R+ , B|V | )

v∈V

)

,

where B|V | stands for {0, 1}|V | and polyhedral region R0 is defined as (2)

x(E) = y(V ) − 1,

(3)

x(E(S)) ≤ y(S \ { j}), ∀ j ∈ S, ∀S ⊆ V,

(4)

0 ≤ xe ≤ 1, ∀e ∈ E,

(5)

0 ≤ yi ≤ 1, ∀i ∈ V.

For the formulation above, constraint (2) imposes that the number of edges in a feasible solution equals the number of vertices minus one, very much as one would expect from a PCS tree. Constraints (3) are GSECs and guarantee that the resulting solution is cycle free. Notice that if yi = 1, for all i ∈ S, then (3) reduces to an ordinary SEC. The set of feasible solutions to (1) thus corresponds to PCS trees, as previously defined. Clearly, single vertex solutions to PCSPG could be efficiently computed by straightforward enumeration. Bearing that in mind, Lucena and Resende [25] concentrated on feasible PCSPG solutions involving one or more edges. Such a restricted version of the problem follows from (1) and is given by ( ) (6)

min

|E|

∑ ce xe + ∑ dv (1 − yv ) : (x, y) ∈ R1 ∩ (R+ , B|V | )

e∈E

,

v∈V

where polyhedral region R1 is defined by the set of constraints in R0 plus (7)

x(δ(i)) ≥ yi , ∀i ∈ V with di > 0,

(8)

x(δ(i)) ≥ 2yi , ∀i ∈ V with di = 0.

To prevent single vertex PCSPG solutions from appearing, inequalities (7) need not be restricted to positive-valued penalty vertices. Indeed, to attain that goal, it suffices to impose that (9)

x(δ(i)) ≥ yi , ∀i ∈ V.

However, since PCSPG test instances in the literature only use nonnegative vertex penalties and edges costs, one could go one step further in (8), for zero-valued penalty vertices. We thus impose that no such vertex may imply an optimal PCS tree leaf. Validity of this condition comes from the fact that a PCS tree of lower weight would otherwise be obtained after eliminating such leaves (thus contradicting any optimality assumption).

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

5

2.1. Exchanging variables and uncovering structure. Typically, for the application of Lagrangian relaxation, one looks for an easy to solve problem, obtained after dropping a set of complicating constraints from the formulation in hand. Ideally, such an easy problem should be capable of returning, for our specific application, a reasonable quality bound on (6). In principle, R1 does not appear to contain structure meeting these requirements. However, as we shall see next, such a structure is actually hidden and could be uncovered by following a two steps procedure. Firstly, binary 0 − 1 variables {yi : i ∈ V } should be replaced by their complements in 1. Then, the new variables should be re-interpreted in terms of a graph which expands G = (V, E) with the introduction of an artificial vertex together with some edges incident on that vertex. To implement the first of the two steps indicated above, let {zi = 1 − yi : i ∈ V } be the set of variables to replace {yi : i ∈ V } in (6). The substitution results in a polyhedral region R2 , in a one-to-one correspondence with R1 , given by (10)

x(E) + z(V ) = |V | − 1,

(11)

x(δ(i)) + zi ≥ 1, ∀i ∈ V with di > 0,

(12)

x(δ(i)) + 2zi ≥ 2, ∀i ∈ V with di = 0,

(13)

x(E(S)) + z(S \ { j}) ≤ |S| − 1, ∀ j ∈ S, ∀S ⊆ V,

(14)

0 ≤ xe ≤ 1, ∀e ∈ E,

(15)

0 ≤ zi ≤ 1, ∀i ∈ V.

Re-written as above, GSECs (13) now appear very clearly as a lifting of ordinary SECs. A reformulation of (6) is thus given by ( ) (16)

min

|E|

∑ ce xe + ∑ dv zv : (x, z) ∈ R2 ∩ (R+ , B|V | )

e∈E

.

v∈V

At this point, let us give an interpretation to the meaning of variables {zi : i ∈ V }. Assume that an artificial vertex n + 1, where n = |V | + 1, has been introduced into G = (V, E) and that every variable zi , i ∈ V , represents an edge of cost di linking vertex i ∈ V to vertex n + 1. Denoting by G′ = (V ′ , E ′ ) the graph that results from this expansion of G, then V ′ = V ∪ {n + 1} and E ′ = E ∪ {(i, n + 1) : i ∈ V }. Notice that |V ′ | − 2 (or, alternatively, |V | − 1) edges of G′ must appear at any feasible solution to (10)–(15). Notice as well that such a solution must violate no GSECs. It is thus not difficult to check that any feasible solution to (10)–(15) corresponds to a certain GSEC restricted spanning forest of G′ with exactly two connected components. One of these components must either be a star centered on vertex n + 1 (i.e., a set of one or more edges of G′ , all of which are incident on vertex n + 1) or else vertex n + 1 in isolation. GSECs xe + zi ≤ 1 and xe + z j ≤ 1, defined for a set S = {i, j} ∈ V , where e = (i, j) ∈ E, imply the topology of the first component. The other component must be a PCS tree involving at least one edge of G and having no vertex i ∈ V with di = 0 as a leaf (as enforced by inequalities (11) and (12)). A typical example of such a solution is depicted in Figure 1. Within a Lagrangian framework, the remarks above provide us with an attractive structure to work with: a unrestricted spanning forest of G′ with exactly |V ′ | − 2 edges. Provided such a spanning forest does not violate degree constraints (11)–(12) nor GSECs (13),

6

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

11 00 00 11 00 11 11 00 00 11 00 11

n+1

11 00 00 11 00 11 11 00 00 11 00 11

11 00 i: di > 0 00 11 00 11

11 00 00 11 00 11

11 00 00 11 00 11 00 11

i: di = 0

F IGURE 1. A feasible solution for the PCSPG under the expanded graph G′ .

it must imply a feasible PCSPG solution. In accordance with that, consider a polyhedral region R3 given by (17)

x(E) + z(V ) = |V ′ | − 2,

(18)

x(E(S)) ≤ |S| − 1, ∀S ⊆ V ′ ,

(19)

0 ≤ xe ≤ 1, ∀e ∈ E,

(20)

0 ≤ zi ≤ 1, ∀i ∈ V,

where (18) are ordinary SECs. A forest of G′ with exactly |V ′ | − 2 edges is associated with any point in R3 where z ∈ B|V | . Additionally, if such a point does not violate (7)–(8) and (13), it must clearly imply a PCS tree. Therefore, if one attaches nonnegative multipliers to inequalities (7)–(8) and (13) and brings them to the objective function in (16), optimizing |E| the resulting Lagrangian modified objective function over (x, z) ∈ R3 ∩ (R+ , B|V | ) returns a valid PCSPG lower bound. Since exponentially many inequalities exist in (13), dualizing them in a Lagrangian fashion is not as straightforward as it would otherwise be for (7)–(8). Thus, in Section 3, a description is given of NDRC algorithms. As mentioned before, NDRC allows one to deal with the nonstandard Lagrangian relaxation application suggested above. 3. N ON D ELAYED R ELAX

AND

C UT

The NDRC algorithm in [21, 22] is based upon the use of SM and, throughout this paper, we follow [21, 22, 23] in using SM to describe and test NDRC. For the sake of clarity, the material presented in this section, which essentially follows from [23], is focused on binary 0-1 problems.

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

7

Assume that a formulation for a N P -hard combinatorial optimization problem is given. Assume as well that exponentially many inequalities are included in it. Such a formulation can be generically described as (21)

w = min{cx : Ax ≤ b, x ∈ X},

where, for simplicity, x denotes binary 0 − 1 variables (i.e. x ∈ B p , for positive integral values of p). Accordingly, for positive integral values of m, we have c ∈ R p , b ∈ Rm , A ∈ Rm×p and X ⊆ B p . Assume, as it is customary in Lagrangian relaxation, that (22)

min{cx : x ∈ X}

is an easy problem to solve. On the other hand, in what is unusual for the application of Lagrangian relaxation, assume that m is an exponential function of p, i.e. (21) contains exponentially many inequalities. Assume as well that one dualizes (23)

{ai x ≤ bi : i = 1, 2, . . . , m}

in a Lagrangian fashion (regardless of the difficulties associated with the dualization of exponentially many inequalities) and let λ ∈ Rm + be the corresponding vector of Lagrangian multipliers. A valid lower bound on (21) is given by the solution to the Lagrangian Relaxation Problem (LRP) (24)

wλ = min{(c + λA)x − λb : x ∈ X}.

Subgradient Optimization (SO) could then be used to solve the corresponding Lagrangian Dual Problem (LDP) (25)

wd = maxm {wλ } λ∈R+

and obtain the best possible Lagrangian bound on (21). Optimization is typically conducted here in an interactive way with multipliers being updated so that (25) is attained. For the sake of completeness, let us briefly review SM, as implemented in [4]. That implementation is precisely the one which is adapted in this paper to produce the computational results in Section 6. 3.1. A brief description of the Subgradient Method. At iteration k of SM, for a feasible vector λk of Lagrangian multipliers, let xk be an optimal solution associated with wλk and w be a known upper bound on (21). Additionally, let gk ∈ Rm be a subgradient associated with the relaxed constraints at xk . Corresponding entries for gk are (26)

gki = (bi − ai xk ), i = 1, 2, . . . , m.

In the literature (see [4], for instance), to update Lagrangian multipliers, one first generates a step size (27)

θk =

α[w − wλk ] , ∑ (gki )2

i=1,...,m

where α is a real number assuming values in (0, 2], and then computes (28)

λk+1 ≡ max{0; λki − θk gki }, i = 1, . . . , m. i

After Lagrangian multipliers are updated, one moves on to iteration k + 1 of SM. Under the conditions imposed here, the straightforward use of updating formulas (27)– (28) is not as simple as it might appear. The reason being the exceedingly large number of inequalities that one would have typically to deal with.

8

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

3.2. NDRC modifications to the Subgradient Method. Inequalities in (23), at iteration k of SM, may be classified into three sets. The first one contains inequalities that are violated by xk . The second set is for those inequalities that have nonzero multipliers currently associated with them. Notice that an inequality may simultaneously be in the two sets just defined. Finally, the third set consists of the remaining inequalities. Following [23], we will refer to these sets of inequalities respectively as the Currently Violated Active set, the Previously Violated Active set, and the Currently Inactive set. Accordingly, they are respectively denoted by CA(k), PA(k), and CI(k). For the traditional use of Lagrangian relaxation, say when m is a polynomial function of p, Beasley [4] reported good practical convergence of SM to (25), while, arbitrarily setting gki = 0 whenever gki > 0 and λki = 0, for i ∈ {1, . . . , m}. In our context, all subgradient entries that are candidates to that modification belong to CI(k). In spite of the exponentially many inequalities one is faced with, we follow Beasley’s advice. The reasoning behind the SM modifications suggested above comes from two observations. The first one is that, irrespective of the suggested changes, from (28), multipliers for CI(k) inequalities would not change their present null values at the end of the current SM iteration. Clearly, CI(k) inequalities do not directly contribute to Lagrangian costs (at the current SM iteration). On the other hand, they do play a decisive role in determining the value of θk and this fact brings us to the second observation. Typically, for the application being described, the number of strictly positive subgradient entries associated with CI(k) inequalities, tends to be huge. If all these subgradient entries are explicitly used in (27), the value of θk would result extremely small, leaving multiplier values virtually unchanged from iteration to iteration and SM convergence problems should be expected. By following Beasley’s suggestion, we are capable of dealing adequately, within a SM framework, with the exceedingly large number of inequalities in CI(k). However, we may still face problems arising from a potentially large number inequalities in (CA(k) \ PA(k)), i.e. those inequalities that will become effectively dualized (i.e. have a nonzero multiplier associated with them) at iteration k of SM. Assume that a large number of inequalities exist in (CA(k) \ PA(k)). These inequalities must therefore be violated at the solution associated with wλk and have zero valued Lagrangian multipliers currently associated with them. Typically, such inequalities may be partitioned into subsets (associated, for instance, with a partitioning of the set of vertices in an associated graph, if that applies) and, according to some associated criteria, a maximal inequality would exist for each subset. In order to avoid repeatedly penalizing the same variables, again and again, we only dualize one maximal inequality per subset of inequalities. Remaining inequalities in (CA(k) \ PA(k)) have their subgradient entries arbitrarily set to 0, thus becoming, in effect, inequalities of CI(k). One should notice that, under the classification proposed above, inequalities may change groups from one SM iteration to another. It should also be noticed that the only multipliers that may directly contribute to Lagrangian costs (c + λk+1 A), at the end of iteration k of SM, are the ones associated with active inequalities, i.e., inequalities in (CA(k) ∪ PA(k)). An important step, in the dynamic scheme outlined above, is the identification of inequalities violated at xk . That problem must be solved at every iteration of SM and is equivalent to the separation problems found in Branch-and-Cut algorithms. However, NDRC separation problems typically involve lower complexity algorithms than their Branch-andCut counterparts. This follows from the fact that LRP is normally chosen so that one will be separating over integral structures.

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

9

3.3. Extending the life of dynamically dualized inequalities. For the NDRC algorithm outlined above, assume that a given inequality is dynamically dualized at, say iteration k ≥ 1 of SM. Accordingly, that inequality is dropped from (27) at the very first SM iteration k1 > k for which, simultaneously, the inequality is not violated at the solution xk1 to the LRP associated with bound wλk1 and its associated Lagrangian multiplier entry drops to zero. For the computational experiments in this study, we tested an alternative to the rule above. Namely, we extend the life of an inequality in (27) past iteration k1 , for k1 as previously defined. Accordingly, denote the age of a dynamically dualized inequality, the number of consecutive SM iterations past k1 where the inequality is not violated by corresponding LRP solutions. Under the rule proposed here, such an inequality is allowed to be used in (27) for as long as its age does not exceed a given parameter MAXAGE > 0. Clearly, whenever an inequality is aged over 1, and is violated at solution xk2 , where (k2 −k1 ) ≤ MAXAGE, the inequality will enter CI(k2 ). As a result, no need would exist for keeping track of it. Obviously that situation would prevail until eventually the inequality would reach a point where it becomes aged 1, once again, and monitoring of it would be required, yet again. The use of the alternative rule above, within our NDRC algorithm for PCSPG, proved quite helpful. As we shall see later on, for the computational results in Section 6, for many test instances, the scheme suggested here allowed NDRC to generate stronger PCSPG lower bounds than it would otherwise be the case. 4. NDRC

BOUNDS TO

PCSPG

We have implemented a NDRC algorithm for PCSPG where GSECs (13) are dynamically dualized, as suggested in the previous section, and degree-inequalities (11)–(12) are dualized in a traditional Lagrangian fashion (i.e. they remain dualized throughout SM, irrespective of being active or not). At iteration k of SM, for a conformable value q > 0, q assume that Lagrangian multipliers λk ∈ R+ are associated with the dualized inequalities. Following the developments in Section 3, a valid lower bound on (16) is thus given by the Lagrangian Relaxation Problem (LRP) ) ( (29)

wλk = min

∑ cke xe + ∑ dvk zv + const(λk ) : (x, z) ∈ R3 ∩ (ZZ|E| , B|V | )

e∈E

,

v∈V

where {cke : e ∈ E} and {dvk : v ∈ V } are respectively Lagrangian modified edge costs and vertex penalties, and const(λk ) is a constant implied by λk . Notice that an optimal solution to (29), i.e. a minimum cost forest of G′ with exactly (|V ′ | − 2) edges, is easy to obtain. It suffices to adapt Kruskal’s [18] algorithm to stop immediately after the first (|V ′ | − 2) edges are selected. Let us now concentrate on the feasible solutions associated with wλk which are infeasible to PCSPG. A typical support graph (i.e. the subgraph of G′ induced by the nonzero variables) for this kind of solution is depicted in Figure 2. From previous arguments, it is clear that feasible solutions to (29) which happen to be feasible to (16), must either contain vertex n + 1 appearing in isolation or else have that vertex as the center of a star, as previously defined. For the solution in Figure 2, vertex i ∈ V contains two edges incident on i, namely (i, n + 1) and (i, l). Thus, the corresponding LRP solution is infeasible to PCSPG and must involve violated GSECs. Examples for such inequalities are the 4 maximal violated GSECs which are induced by the set of 5 encircled vertices in the figure.

10

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

At a feasible solution associated with wλk , say (xk , zk ), the identification of maximal violated GSECs could be carried out efficiently. Assume that such a solution and its corresponding support graph are given. Assume as well that edge (i, n + 1), for i ∈ V , is implied by zki . In addition, denote by Si the set of vertices in V (i itself included) that could be reached from i without crossing edge (i, n + 1). Whenever |Si | ≥ 2, violated GSECs must necessarily be associated with Si . Vertices in Si could be identified in O(n) time. That is attained after conveniently adapting any algorithm that computes shortest paths from a given vertex (i.e. vertex i in our case) to all other vertices in a graph. For our application, after the elimination of edge (i, n + 1) from the support graph, we are specifically interested in finding all vertices reachable from i in the resulting connected component containing i. One should notice that, whenever |Si | ≥ 2, |Si | − 1 maximal violated GSECs are induced by Si . After some computational experiments, it proved advantageous to dualize in a traditional Lagrangian fashion, in addition to (11)–(12), all 2 × |E| GSECs with |S| = 2. These inequalities are small in number and are the ones, among all GSECs, that contribute the most to the Lagrangian bound. Apart from them, we only dualize maximal violated GSECs (notice that, for a given LRP solution, cardinality 2 GSECs may or may not be maximal). Furthermore, from our experiments for Si as described above, it proved advantageous to only dualize one out of the |Si | − 1 corresponding maximal violated GSECs. We thus only dualize that inequality in (13) for which S = Si and vertex j is chosen as j ∈ arg maxl∈(S\ j) {dlk }. Ties are broken arbitrarily. Si

l

n+1

i

F IGURE 2. An infeasible solution of (29). 4.1. PCSPG upper bounds. Our upper bounding strategy attempts to use Lagrangian dual information in a heuristic to generate feasible integral solutions to PCSPG. The basic motivation behind this is the intuitive idea (validated by primal-dual algorithms) that (Lagrangian) dual solutions must carry relevant information for generating good quality primal solutions. Operating within a Lagrangian relaxation framework, the implementation of that idea involves two main steps. The first is a constructive algorithm based on Minkoff’s [28] variant of GWA. The second is a Local Search (LS) procedure. GWA and the Minkoff Algorithm (MA) are primal-dual based factor of 2 approximation schemes for PCSPG. They both rely on a constructive algorithm (where a forest of G is greedily built) followed by pruning (where one attempts to find an attractive PCS

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

11

tree from within forest components). One difference between GWA and MA is that, for GWA, a given pre-specified root vertex r ∈ V must be passed to the constructive algorithm as an input data. Furthermore, only that connected component containing r may be subjected to pruning. As a result, |V | runs must be made in GWA before an approximation factor of 2 could be guaranteed. Contrary to GWA, the constructive phase in MA, called UnrootedGrowthPhase, involves no root vertex. Additionally, all connected components resulting from it may be submitted to pruning. Thus, as a consequence, MA has a better running time complexity than GWA, i.e. O(n2 log(n)) against O(n3 log(n)). Furthermore, the pruning algorithm in MA, called BestSubTree, which is based on Dynamic Programming, dominates the corresponding algorithm in GW (BestSubTree returns the best possible PCS tree for the subgraph of G induced by the connected component under inspection). Due to the advantages quoted above, MA was selected to be used within our NDRC framework for PCSPG. Essentially, at an iteration k of SM, complementary costs {(1 − xke )ce : e ∈ E} and complementary penalties {zki di : i ∈ V } are computed and used as input data to UnrootedGrowthPhase, instead of the original edge costs and vertex penalties. In doing so, one attempts to make it more attractive to MA to select as many edges in the solution associated with wλk , as possible. Accordingly, we thus use (Lagrangian) dual information to guide the construction of primal feasible solutions. MA is only called for those SM iterations where an overall improvement on the PCSPG Lagrangian relaxation lower bound occurs. For every such call, pruning algorithm BestSubTree is then run under the original edge costs and vertex penalties, instead of corresponding complementary ones. Solutions thus obtained are then subject to Local Search improvements, explained next. 4.2. Local search. Given a PCS tree T = (VT , ET ), we are essentially interested in investigating PCS trees that differ from T by including (resp. excluding) a vertex into (resp. from) it. However, it should be noticed that, for a given vertex, say i ∈ V , the best possible way of inserting i into T may involve the use of vertices other than those already in VT . Accordingly, the same applies to the operation of excluding a vertex j ∈ VT from T . The search neighborhood we aim for is thus formed by those PCS trees that result from an optimized inclusion (resp. exclusion) of a vertex into (resp. from) T . On implementing our Local Search (LS) procedure, a vertex inclusion (resp. exclusion) move was conducted in a procedure involving two steps. Firstly, a minimal cost tree spanning the enlarged (resp. contracted) vertex set should be computed. Then, as the second step, BestSubTree should be applied to the resulting PCS tree. Only after the output of that procedure is available, the benefits of vertex inclusion (resp. exclusion) may be evaluated. Another key feature of our LS procedure is the effort to keep run time low (and allow LS to be called after every call of MA). In an attempt to attain that, several dominance tests are performed to hopefully avoid full evaluation of non-profitable movements. Time required by the two steps procedure just outlined, is bounded from above by the time to compute, from scratch, a Minimum Spanning Tree (MST) of G, i.e. O(mlog(n)). To avoid incurring that price, we implemented dominance tests suggested in the SPG Tabu Search algorithm proposed by Ribeiro and Souza [30]. As we shall see next, these tests are easily adapted to PCSPG. 4.3. Dominance tests. For our LS algorithm, it is assumed that no subtree of the input tree

T exists with a lower weight than that of T . This is called the optimality condition (OC) of T with respect to the graph induced by itself. Accordingly, when a tree T satisfying OC is submitted to BestSubTree then T itself is returned as an output.

12

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

Let us first concentrate on dominance tests for insertion moves. Consider a vertex i 6∈ VT and the set of edges connecting i to VT , i.e., δT (i) := {e ∈ E : e ∈ δ(i) ∩ δ(VT )}. Assume that the edges in δT (i), i.e. {e1 , e2 , ...., e|δT (i)| }, are ordered in nondecreasing value of their edge costs. The following tests can be applied for evaluating the desirability of inserting vertex i ∈ V into T : (1) If |δT (i)| = 0, no PCS tree exists spanning VT ∪ {i}. The corresponding move is thus discarded. (2) If |δT (i)| = 1, inserting i into T is profitable iff di > ce1 . In this case, since the original tree satisfies OC, the new one must also satisfy that condition. (3) If |δT (i)| = 2, two cases must be considered: (a) If di > ce1 , inserting i is profitable and the resulting tree satisfies OC. (b) Otherwise, inserting i may still be profitable. To understand why, let us define a key-path [10] between two vertices k, j ∈ VT as one edge in the (unique) path from k to j in T , or, alternatively, as a subpath in the path from k to j, in the support graph induced by T , where all internal vertices (those that are not endpoints) have edge degree 2 in T . One should notice that, in both cases, the endpoints of the key-path may be vertices other than j and k. The net weight of a key-path is given by the difference between the sum of its edges and the sum of the penalties of its internal vertices. Note that if we introduce edges e1 = (i, k) and e2 = ( j, k) and if we eliminate a key-path between j and k, the implied subgraph still induces a PCS tree. To find a key-path with maximum net weight between two possible vertices in a PCS tree, we implemented a Dynamic-Programming-based algorithm, running in O(|VT |) time. Now suppose that a key-path of maximal weight W (KP) has been found. If (ce1 + ce2 − di ) < W (KP), the PCS tree resulting by replacing the key-path by edges e1 and e2 has a lesser cost than the original tree and also satisfies OC. (4) If |δT (i)| ≥ 3, we first introduce edge e1 in T . Later on, we try to reduce the cost of the resulting PCS tree, by checking whether edges in {e2 , ...., e|δT (i)| } are cost-improving. If a cost-improving edge does exist, a basis exchange movement is carried out (i.e., we remove the maximum cost edge in the unique path between the endpoints of the just introduced cost-improving edge). After checking the inclusion of all edges in {e2 , ...., e|δT (i)| }, the resulting tree is then submitted to the BestSubTree procedure. If the returned PCS tree has a lesser cost than the input PCS tree (before introducing edge e1 ), the new PCS tree substitutes the previous one. Although evaluating the insertion of edges in {e2 , ...., e|δT (i)| } may take O(|VT |2 ) time, in practice, much lower CPU times should be expected. This is true since |δT (i)| is typically much smaller than |VT | and also because of the use of the data structures in [12] (for evaluating Linear Programming reduced costs for variables associated edges in G′ ). Our LS procedure is initiated with the insertion moves described above. Provided no weight improving PCS trees could be obtained from insertion moves, (more expensive) exclusion moves should be attempted. To understand the dominance tests we applied to exclusion movements, let us focus for a while on the analysis of elimination moves of a Steiner vertex, say j, from a Steiner Tree S = (VS , ES ) (see [30] for further details). Assume that {(i1 , j), (i2 , j), ..., (ik , j)} are k ≥ 1 edges of S incident to vertex j ∈ VS . Removing vertex j and its incident edges thus creates k subtrees of S , clearly identified by {Sl : l = 1, . . . , k}. Note that for each tree Sl , l = 1, . . . , k,

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

13

il ∈ VSl is a vertex that shares one edge with j. Assume as well, that (p, q) is the lowest cost edge that reconnects subtree Sl to any of the remaining other k − 1 subtrees defined above. It was previously proved (see Theorem 1 in [30]) that η( j) := c(p,q) − c(il , j) − c(iv , j) , where v ∈ {1, . . . , l − 1, l + 1, . . . , k} is a lower bound on the increase of weight that results from eliminating vertex j from VS . Clearly, whenever η( j) ≥ 0, such elimination movement of a Steiner vertex j is non-profitable. The above result can be adapted to PCSPG. For this purpose, let’s now redefine η( j) as c(p,q) − c(il , j) − c(iv , j) + d j . It’s now easy to see that η( j) is a lower bound on the increase of cost due to the elimination of any vertex j from a PCS tree T . Based on these arguments, before applying the two-step procedure suggested previously to fully evaluate the movement associated with the exclusion of a candidate vertex j, we first determine η( j) in linear time. In our approach, the choices of vertices il and iv are performed exactly as suggested in [30]. According to these policies, iv is chosen as the predecessor of j in the path between the root of T and j and il is taken as the endpoint (apart from iv ) of the maximum cost edge incident to j in T . 5. R EDUCTION

TESTS AND THE PRICING OUT OF SUBOPTIMAL VARIABLES

Prior to running the PCSPG lower and upper bound procedures in Section 4, some tests are applied to reduce problem input size. Additionally, throughout SM, tests which attempt to price out suboptimal edges are also used. Details of these two types of tests are presented next. 5.1. Reduction tests. A reduction test for PCSPG attempts to determine vertices and edges that are guaranteed not to be in any optimal solution. The reduction tests that follow are adapted from tests previously suggested to SPG (see Duin [9], for instance). The first four of them come from [25], the fifth comes from [19] and the last is introduced in this study. 5.1.1. Shortest path test. The shortest path test is only applied if c(i, j) > 0, for all (i, j) ∈ E. Let dist(i, j) be the length of the shortest path between vertices i, j ∈ V . If dist(i, j) < c(i, j) , then edge (i, j) ∈ E can be eliminated from G. 5.1.2. Cardinality-one test. Assume that a given vertex, say vertex i ∈ V , has an edge cardinality of one, i.e. |δ(i)| = 1. Denote by e the only edge incident to i. If ce > di , then vertex i and, consequently, edge e cannot be in any optimal PCSPG tree. 5.1.3. Cardinality-two test. Assume that a given vertex i ∈ V has an edge cardinality |δ(i)| = 2, and denote respectively by (i, i1 ) and (i, i2 ), the two edges incident to i. If di = 0 and edges (i, i1 ) and (i, i2 ) have positive costs, either these two edges appear simultaneously in an optimal PCSPG solution or else neither can be in an optimal solution. The reasoning follows (as explained before) from the suboptimality of any PCSPG tree containing vertex i as a leaf. Vertex i could be pseudo eliminated by being replaced by an edge (i1 , i2 ) of cost c(i,i1 ) + c(i,i2 ) . In case multiple edges between two vertices result from this operation, among these, only the least cost edge is kept. 5.1.4. Cardinality-larger-than-two test. The previous test can be extended to vertices i ∈ V with di = 0 and |δ(i)| ≥ 3, where all edges incident to i have positive costs. For simplicity, assume that vertex i, under consideration, has |δ(i)| = 3. The basic idea of this test is that if certain conditions are fulfilled, then vertex i is guaranteed to be either absent from an optimal tree or else to be in an optimal tree and have an edge degree equal to two.

14

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

For a vertex i as defined above, let i1 , i2 , and i3 be the only three vertices that share edges with i. Accordingly, let e1 , e2 , and e3 be the corresponding edges. If, (30)

min{dist(i1 , i2 ) + dist(i1 , i3 ), dist(i2 , i1 ) + dist(i2 , i3 ), dist(i3 , i1 ) + dist(i3 , i2 )} ≤ ce1 + ce2 + ce3 ,

then vertex i is guaranteed not to have an edge degree of three in any optimal PCSPG tree and could be pseudo eliminated. As explained before, this is achieved by conveniently replacing every different combination of pairs of edges incident to i by an adequately chosen edge, as explained in the cardinality-two test. This test can also be extended to vertices i ∈ V with |δ(i)| > 3 where all edges incident to i have positive costs. One should notice that the right hand side of (30) gives the MST cost for the subgraph of G induced by vertices i1 , i2 and i3 under edge costs given by the shortest path lengths in G: dist(i1 , i2 ), dist(i1 , i3 ) and dist(i2 , i3 ) (note that when |δ(i)| = 3, such a spanning tree must have exactly two edges). The test would then amount to computing MSTs (under shortest path edge costs) for every possible combination (with three or more elements) of the vertices incident to i. Analogously to (30), MST costs should, in turn, be compared with the sum of the costs for the edges that link i directly to the MST vertices (in G). To be successful, MST costs should not exceed their sum of edge costs counterparts for any of the combinations tested. Due to the combinatorial nature of the test, in practice we limit it only to vertices with small edge cardinalities. 5.1.5. Minimum adjacency test. Assume that an edge (i, j) ∈ E exists linking two positive penalty vertices i, j ∈ V . If min{di , d j } − c(i, j) > 0 and c(i, j) = min{c(i,k) : (i, k) ∈ E}, then vertices i and j may be shrunk into a single vertex of penalty di + d j − c(i, j) . As a result of this shrinking, whenever edges (i, l) and ( j, l) belong to E, two parallel edges linking l to the new vertex will result. These should then be merged into a single edge of cost min{c(i,l) ; c( j,l) }. 5.1.6. Net weight gain cardinality two path test (NWGC2). For three given vertices in V , say i, j, and k, assume that edges (i, j), (i, k), and ( j, k) belong to E. Assume as well that c(i,k) + c( j,k) − dk < c(i, j) and c(i, j) ≥ min{c(i,k) ; c( j,k) } apply. Then, edge (i, j) must be suboptimal. That applies since, as an alternative to spanning vertices i and j through edge (i, j), the path given by edges (i, k) and ( j, k) may be used instead, at a positive net weight gain of (c(i, j) − c(i,k) − c( j,k) + dk ). It should be noticed that the NWGC2 test improves on the minimum distance test. That applies since it may eventually eliminate an edge (i, j) ∈ E such that dist(i, j) = c(i, j) . In Figure 3, we show an example where the NWGC2 test allows the elimination of edge (i, j). Notice that, in this case, dist(i, j) = c(i, j) . In Figure 4, however, we show an example where the test is not conclusive. Notice for this example that, although c(i,k) + c( j,k) − dk < c(i, j) , the fact that c(i, j) < min{c(i,k) ; c( j,k) } implies that edge (i, j) is required to build a minimal cost tree spanning vertices i, j, k. 5.2. Variable fixing tests. LRPs formulated in Section 4 correspond to the problem of finding a minimum cost forest of G′ with exactly |V ′ | − 2 edges. For such a problem, it is straightforward to compute LP reduced costs. It suffices to perform some conveniently defined edge exchanges. These follow directly from the edge exchanges used to compute LP reduced costs for the Minimum Spanning Tree problem.

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

15

F IGURE 3. An example where the net weight gain cardinality two path test improves on the minimum distance test.

For the sake of simplicity, let’s now denote by xk ∈ B|E|+|V | the incidence vector of an optimal solution to the LRP formulated at the k-th iteration of SM. This way, the first |E| components of xk are associated to the edges in E while the last |V | components are associated to edges {(n + 1, i) : i ∈ V } of the expanded graph, each of them in a one-to-one correspondence to variables {zi : i ∈ V }, i.e. zi = x(n+1,i) . For such a solution, assume as well that cke , for e = (i, j) ∈ E ′ , is the corresponding LP reduced cost for variable xe . Then, cke is computed as (31)

cke = cke − cke0 ,

where e0 is an edge which is dependent on i and j being or not in the same component of the forest implied by xk . Whenever i and j share a same component, e0 is an edge of maximum (Lagrangian) cost in the unique path in that component linking i and j. Alternatively, if i and j lie in different forest components, e0 is a maximum (Lagrangian) cost forest edge.

16

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

F IGURE 4. An example where the net weight gain cardinality two path test is non conclusive The variable fixing test we will now present became standard in the literature and could be traced back at least to [34, 32]. Accordingly, if cke + wλk > w, then variable xe is guaranteed to be out of any PCSPG optimal solution. In that case, variable xe could be priced out of our PCSPG formulation and edge e could be eliminated from G′ . It should also be pointed out that, under integer costs and penalties, condition ⌈cke + wλk ⌉ > w is sufficient to price out the variable. 6. C OMPUTATIONAL

EXPERIMENTS WITH THE

L AGRANGIAN

HEURISTIC

To evaluate the lower and upper bounding algorithms proposed in this paper, different sets of instances were used in our computational experiments. In total, 168 instances from PCSPG literature were used. These instances are grouped in the following sets: • Sets P and K, totalling respectively 11 and 23 instances, as proposed in [16]. • Sets C and D, totalling 40 instances each, as proposed in [5]. These instances originate from SPG test sets C and D, from the OR-Library [2] and were obtained by randomly assigning penalties in the range [1, max] to SPG terminal vertices.

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

17

For each SPG instance, two PCSGP instances were generated: one of type A and another of type B. For type A instances, max was set to 10, while for type B instances, that value was set to 100. • Set E, totalling 40 instances, as proposed in [19]. Instances in this set also originate from the OR-Library and were generated exactly as indicated above for sets C and D instances. As such, two types of set E instances, respectively denoted by A and B, exist. • Set H, totalling 14 instances, as proposed in [19]. These instances originate from the SPG hypercube instances introduced in [31]. Zero-valued penalties are assigned to SPG non-terminal vertices while, for terminal vertices, integer-valued penalties are randomly chosen in the ranges [1, 2] and [100, 200] respectively for unperturbed (u) and perturbed (p) instances. Instances in this set are associated with d-dimensional graphs, where d ∈ {6, . . . , 12}. In turn, these graphs are associated with hypercubes with respectively 2d vertices and d2d−1 edges. The graphs are bipartite, with corresponding SPG terminals defining a bipartition set. PCSPG instances in this group are the hardest to solve to proven optimality. All algorithms used in our computational experiments were coded in C. Experiments described in this Section were conducted on a Pentium IV machine running at 3GHz and having 512 Mb of RAM memory. GNU compiler gcc was used (with flag -O3 activated), under the Linux operating system. 6.1. Computational results. Computational results for PCSPG pre-processing tests and NDRC lower and upper bounding algorithms are presented here. Computational results for a PCSPG Branch-and-Cut algorithm are presented in Section 7. In all 168 instances from the literature are used. Results associated with the computational experiments thus resulted in a large amount of data. For convenience, we have thus chosen to present detailed results in Tables 6 - 18 in Appendix A. Condensed aggregate results, which indicate more general trends, are presented throughout the main text body. However, whenever necessary, we will also discuss Appendix A results in the main text body. 6.1.1. Pre-processing results. Table 1 presents a summary of the pre-processing results obtained for each of the test sets quoted above. Results in Table 1 originate from the more detailed results presented in Tables 6 - 9 of Appendix A, for each individual test instance. ′| |E ′ | For Table 1, entries appearing under the headings |V |V | and |E| , respectively give the proportion of vertices and edges remaining after the instances are submitted to the preprocessing tests in Section 5. These results are associated with two different kinds of experiments. For the first one, all pre-processing tests are applied. For the second one, test NWGC2 was not applied. In doing so, the benefits of using pre-processing test NWGC2 become easier to evaluate. Average CPU times are presented in each case. Similar results are quoted in Tables 6 - 9, for each individual test instance. The impact resulting from the use of the NWGC2 test is most pronounced for K set instances, where, on the average, 24% more edges ended up being eliminated. Among the instances in sets C,D and E, the test performed better for instances where their SPG counterparts have a higher proportion of terminal vertices (as compared to the total number of vertices involved). The significantly smaller average CPU times quoted for test sets C and D are strongly influenced by the vigorous performance of the test on the largest instances considered, namely, C20A, C20B, D20A, D20B. Our preprocessing tests fail for all H instances and no reductions were attained for them.

18

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 1. Summary of preprocessing results With NWGC2 test

P K C D E

Without NWGC2 test

|V ′ | |V |

|E ′ | |E|

t(s)

|V ′ | |V |

|E ′ | |E|

t(s)

0.84 0.44 0.70 0.72 0.72

0.79 0.38 0.39 0.44 0.20

0.17 0.23 0.75 3.04 33.0

0.84 0.47 0.71 0.72 0.72

0.79 0.50 0.42 0.46 0.21

0.14 0.27 1.17 4.31 31.98

6.1.2. NDRC computational results. In Table 2, we present a summary of the computational results for our NDRC algorithm for all sets of instances tested in this study, when up to MAXITER=2000 SM iterations are performed. These results were obtained under a parameter MAXAGE value of one. Likewise, parameter α, to compute the step size in (27), has an initial value of 2 which is progressively halved after every ξ = 100 consecutive SM iterations without an overall improvement on the best Lagrangian lower bound so far obtained. The first column in Table 2 indicates the set of instances and the following columns indicate, respectively: the number of instances in each set, the number of instances where NDRC proved the optimality of the best upper bound (wd = w), the number of instances where NDRC upper bounds matched known optimal solution values (w = w), the average duality gap (in percentage values) and, finally, the average CPU times spent by NDRC algorithm. TABLE 2. Average Relax-and-Cut results - MAXITER=2000, ξ = 100, MAXAGE = 1

Number of instances in the wd = w w = w test set .

P K C D E H (d ≤ 10) H (d = 11, 12)

11 23 40 40 40 10 4

5 11 17 9 6 -

11 22 40 40 36 -

Average gap [%] t(s) 0.324 3.053 3.829 1.540 0.916 5.914 1.256 34.832 1.480 427.775 6.746 21.630 10.46 1603.480

Detailed computational results for each instance in each set (under the same control parameters MAXAGE, α and ξ) are presented in Tables 10 - 14 of Appendix A. The first column in each of these Tables identifies the instance, and, the next columns give, respectively, the best NDRC lower bound (wd ), the best upper bound found (w), the corresponding duality d gap ( w−w wd ), CPU time (in seconds) to either perform MAXITER SM iterations, or else, to prove optimality of the best upper bound obtained. Table 14 additionally gives the preprocessing time spent on each individual instance. The last column in Tables 10 - 13 give optimal solution values (w), while the last column in Table 14 indicate best known upper

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

19

bounds. Symbol ”*” in Table 14 indicates that the corresponding upper bound has been proven to be optimal. Symbol ”+” indicates that the corresponding best upper bound was found in this study. As it can be appreciated, for instances P,K,C,D and E our upper bounds are always very sharp. Indeed, for 149 out of the 154 instances involved, our upper bounds matched known optimal solution values. For the remaining three instances, the difference between our upper bounds and corresponding optimal solution values amount to one unity cost! Our results compare favorably with those reported in [5] for P,K,C and D instances. By focusing exclusively on these instances, our algorithm managed to find optimal solutions for 113 out of a total of 114 instances. By comparison, the algorithm in [5] only managed to find optimal solutions for 91 out of the 114 instances tested. We also believe that our algorithm is competitive with that in [5] in terms of CPU times. Comparing average NDRC CPU times (indicated in the last column of Table 2) to average CPU times of 202.45, 71.52, 875.77 and 5875.93 respectively obtained in [5] for instances P,K,C and D (with a 400 Mhz, 64 Mb of RAM memory based Pentium II machine), we can see that our algorithm is between 46 up to 167 times faster than that in [5]. We believe that these CPU times ratios are compatible with the differences in the hardware used to conduct both sets of experiments. Thus, these results suggest our results do not seem to be dominated by those in [5], in terms of CPU times. As it can be appreciated, the lower bounds returned by our NDRC algorithm appear quite reasonable. Instances in set K are the only exceptions. As previously mentioned in a conference version of this paper [6], existing symmetries in set K instances make them harder for our NDRC algorithm, which relies on SM, to generate the tightest possible lower bounds. For all instances in sets K and P, and for almost all instances in the sets C and D, corresponding Linear Programming relaxations in [25] are naturally integral. In turn, theoretical values for wd are those returned by the LP relaxation of (1). However, for K400 instances, higher-than-expected duality gaps were obtained. From the one hand, the larger distance between wd and the best theoretical bounds for these instances may be associated with difficulties of the Subgradient Method in dealing with symmetries. Such difficulties may explain the erratic behavior of our NDRC algorithm for them. From the other hand, the distances between these bounds may be associated to, say, a difficulty in choosing good candidate GSECs to dualize, within our NDRC approach. Recall from Section 4 that we only dualize one GSEC for each set Si , when, in turn, |Si | − 1 maximal violated GSECs exist for each Si . Other strategies we tested in an attempt to obtain stronger lower bounds for K instances were: • dualizing all |Si | − 1 GSECs for all sets Si , at every SM iteration. • dualizing a normalized surrogate inequality obtained when we added up all |Si |−1 GSECs from set Si , at every SM iteration. None of these alternative strategies resulted in improved bounds. However, another approach that allowed us to go over this undesirable SM behavior and also to evaluate the lower bounding capabilities of our NDRC algorithm was to extend the life of dynamically dualized GSECs, as described in Section 3.3. Additional experiments were performed for K200 and K400 instances with different values of MAXAGE being used. Corresponding results appear in Table 3. As it can be appreciated from that table, (absolute) average lower bound improvements of 2.32% and 2.54% were obtained after MAXAGE was respectively set to 5 and 10. Motivated by these results, we performed similar experiments for those instances in sets K,P,C,D and E set for which a duality gap greater or equal to 1% was previously attained. However, now, parameters MAXITER=5000, ξ = 250 and MAXAGE =

20

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

5 were used. Under this experiment, 4 additional optimality certificates were obtained. Furthermore, average duality gaps were reduced by one third. TABLE 3. Sensitivity of NDRC bound to MAXAGE value for K200 and K400 Instances - MAXITER = 2000, ξ= 100 MAXAGE= 1

K200 K400 K400.1 K400.2 K400.3 K400.4 K400.5 K400.6 K400.7 K400.8 K400.9 K400.10

MAXAGE= 5

MAXAGE= 10

wd

t(s)

wd

t(s)

wd gain [%]

wd

t(s)

wd gain [%]

316673.9170 326913.4753 448931.0463 426979.2349 391085.1170 366707.8591 495385.8162 352497.1554 441518.7576 398891.5238 357336.0506 350741.3267

0.74 2.73 2.75 5.57 2.39 2.07 2.33 3.34 3.07 3.42 3.00 2.76

325021.7152 335354.6354 456311.7096 441538.5219 401146.9746 373036.3271 502802.1897 358232.1295 451524.8872 404459.2169 371505.2503 359434.9675

0.87 3.42 4.00 6.87 2.78 2.84 3.45 3.93 4.44 4.26 4.16 3.77

2.64 2.58 1.64 3.41 2.57 1.73 1.50 1.63 2.27 1.40 3.97 2.48

323684.0345 335059.1583 463199.9214 443030.7666 399468.6341 375097.5467 505274.0306 358363.4084 453673.8149 404816.8895 371384.5287 359876.6518

1.16 4.03 6.18 9.88 3.95 3.90 5.33 5.35 7.01 6.13 6.44 6.13

2.21 2.49 3.18 3.76 2.14 2.29 2.00 1.66 2.75 1.49 3.93 2.60

Instances in set H are considered the hardest to solve to proven optimality. In [19], set H instances with d up to 10 were used in computational tests for the exact solution algorithm in that reference. A time limit of 1800 CPU seconds was imposed on every run carried out. For a few of the instances tested, proven optimal solutions were obtained. Results for d = 11 and d = 12 instances are not reported in [19]. Taking the results of [19] as a basis for comparisons, it can be observed from Table 14 (see Appendix A) that, for d ≤ 10 instances, good quality NDRC upper bounds were obtained within CPU times. For three of these instances, new best upper bounds were attained. For the other instances in the set, i.e. d = 11 and d = 12 instances, duality gaps with a quality similar to those reported in [19] for d = 10, were obtained in the same order of CPU time magnitude. As it can be appreciated from the results quoted above, our Lagrangian algorithm generates nearly optimal solutions for almost all instances in the literature. Even for set H instances, our algorithm was capable of generating acceptable quality solutions. Finally, the quality of our upper bounds does not appear to be very sensitive to the maximum number of SM iterations, allowed. We also compared our NDRC CPU times with those reported in [19] for instances in sets C, D and E. Average CPU times (with a 2.8 Ghz Intel Pentium IV based machine with 2 Mb of RAM memory) spent by the Branch-and-cut algorithm in [19] to solve all instances on these sets were respectively 4.9, 22.3 and 253.4 seconds. Comparing these times with those required by our NDRC heuristic to attain the duality gaps we have reported, we can see that the algorithm in [19] is around 1.7 times faster than ours. This result clearly indicates the quality of the formulation and the implementation work done in [19]. Although our NDRC algorithm compares badly to the exact solution approach in [19] for sets C, D and E, we must stress that it performed much better for instances in set H, the hardest known in the literature. As a general rule, for instances in set H, our heuristic managed to find better

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

21

solutions in CPU times that were up to 2 orders of magnitude smaller than those reported in [19]. Typically, a NDRC algorithm should be a good algorithmic choice when, at the same time, the underlying formulation is strong, and computing the LP relaxation bound of an equivalent formulation is time consuming. In order to evaluate how the NDRC algorithm we introduced here compares with an exact algorithm based on the same formulation, we also implemented and tested a Branch-and-Cut algorithm. This experiment also allow us to understand why NDRC compared badly to the exact solution algorithm in [19]. 7. C OMPARING NDRC

TO

B RANCH - AND - CUT

The Branch-and-Cut (BC) algorithm presented in this Section is based on the PCSPG formulation and the cutting plane algorithm introduced in [25]. In turn, formulation (1), originally introduced in [25], is the basis for the PCSPG reformulation presented here. In the next Section, we briefly describe the main ingredients of our Branch-and-Cut algorithm. 7.1. A Branch-and-cut algorithm for PCSPG. An initial LP Relaxation for our BC algorithm is given by ) ( (32)

wLP = min

∑ ce xe + ∑ dv (1 − yv ) : (x, y) ∈ P ∩ (R|E| , B|V | )

e∈E

,

v∈V

where polyhedral region P is defined by inequalities (2), (4)-(5) and (7)-(8). Assume that (x, y) denotes the solution to (32). If (x, y) does not violate any GSEC, we are done since (x, y) must be an optimal PCSPG solution. Otherwise, one or more violated GSECs may be introduced into (32) as cutting planes. In doing so, a new, possibly stronger, LP relaxation lower bound wLP is obtained after optimizing over the new resulting polyhedral region, P . Whenever one is unable to find GSECs that are violated at a fractional solution (x, y), one must resort to branching. In order to solve the separation problem associated with GSECs, an algorithm in Padberg and Wolsey [29] is used. That algorithm is intended for the separation of ordinary SECs, such as the ones in (18). However, Lucena and Resende [25] adapted it for the exact separation of GSECs. We will refrain from going into implementation details of the algorithm. However, it must be mentioned that it requires |V | max flow problems to be solved. Each of these problems are defined over a companion capacitated network associated with (x, y). A separation algorithm for GSECs could thus be implemented to run in O(|V |4 ) time. In our computational experiments, it was found advantageous to tackle, in separate, the separation of GSECs associated with subsets S ⊂ V where |S| = 2. As such, a specific algorithm is used here to separate these inequalities. The algorithm checks, for edges e = (i, j) ∈ E where 0 < x(i, j) ≤ 1, whether or not corresponding GSEC violation conditions x(i, j) > yi and x(i, j) > y j occur. Only after that algorithm fails to return a violated GSEC, the more general separation algorithm is used. In an attempt to prevent tailing off effects, we followed the suggestion in [25] to only use orthogonal GSEC cutting planes. In that reference, the authors indicated that CPU times were cut down by a factor of 60 after orthogonal cutting planes are used. In our implementation, firstly we introduce the most violated GSEC found, provided such an inequality exists. Assume for a while that Smax is the vertex set associated with that inequality. Next, remove from the support graph implied by (x, y) all edges in E(Smax ). Then apply the GSEC separation algorithm, again. This basic procedure is repeated for as long as violated GSECs are found.

22

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

Additional implementation details for our BC algorithm are: • Reduction tests in Section 5.1 are used before the BC algorithm is called. • Right after performing the reduction tests, MA and LS are called to find initial PCSPG upper bounds. We attempt to improve on these upper bounds by calling MA and LS again and again, at every BC tree node, at the end of the corresponding tree node cutting plane algorithm. LP complementary costs and penalties {ce (1 − xe ) : e ∈ E} and {di (1 − yi ) : i ∈ V } are used as input data for the constructive phase of MA. • XPRESS [36] (release 16) provided the LP solver and the BC tree manager we used. • We have branched on variables in accordance with XPRESS default settings. • A depth-first search strategy is used. • A CPU time of limit of 3600 seconds was imposed on the BC algorithm, for any test instance. That limit is approximately equal to twice as much the time spent by the NDRC algorithm on the most demanding of these test instances. 7.2. Branch-and-cut computational results. A comparison of BC and NDRC follows. Since, for test set H, our NDRC heuristic performed better than the exact solution algorithm in [19], we restrict the comparison carried out here to test sets P, K, C, D and E. The BC algorithm (as well as the other procedures we implemented) was coded in C. GNU compiler gcc (with optimization flags -O3 activated) was used, under the Linux Operating System. BC experiments were conducted on a 3.0 Ghz AMD ATHLON based machine with 1 Gb of RAM memory. Although BC and NDRC computational experiments were conducted on different machines, their processing speeds appear to be roughly the same. Detailed computational results for the BC algorithm are given in Tables 15 - 18, in Appendix A. Columns in these Tables indicate, respectively, the instance under study, best global lower bound (considering all branch-and-bound nodes explored) wG , best upper G bound w, corresponding duality gap w−w wG (in percentage values), CPU time in seconds, and, finally, total number of Branch-and-Cut tree nodes explored. A direct comparison of the results obtained by the BC and the NDRC algorithms appear in Table 4. For the first row in that Table, the number of instances solved to proven optimality by each algorithm is indicated. The following rows give, respectively, the number of instances where best upper bounds matched known optimal solutions (w = w), the average duality gap (in percentage values) for all instances in each set, the average duality gap (also in percentage values) considering only the instances that were not solved to proven optimality by each algorithm (i.e., gap NR), the average CPU time t(s), the average CPU time tR (s) considering only those instances solved to proven optimality by each algorithm, and, finally, the average CPU time tNR (s) when only those instances that were not solved to proven optimality are taken into account. All CPU times are quoted in seconds. Our BC algorithm solved to proven optimality, 112 out of 154 test instances considered. For only one of these 112 instances (i.e. instance d9a), more than one BC tree node was required to prove optimality. Note that for all other 42 instances, CPU times quoted were all spent at BC tree root nodes, in spite of the tailing off control strategy we implemented. These results suggest that, although the lower bounds given by the LP relaxation of (1) appear quite strong, attaining them, at least for our implementation, appear to be very time consuming (see Lucena and Resende [25] for further details). For the test sets used, the NDRC algorithm returned lower bounds that are close to the theoretical best. Similarly, the NDRC Lagrangian heuristic was capable of returning good

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

23

TABLE 4. Comparison of NDRC and Branch-and-cut Set of instances P

K

C

NDRC BC NDRC BC NDRC BC Instances solved w=w gap [%] gap NR [%] t(s) tR (s) tNR (s)

D NDRC

E BC

NDRC

BC

5 11 11 23 17 38 9 26 6 13 11 11 22 23 40 38 40 37 36 15 0.31 0 3.83 0 0.92 0.43 1.26 0.72 1.48 2.97 0.62 7.34 1.59 2.63 1.62 2.41 1.74 4.41 3.05 12.75 1.54 64.55 5.91 304.25 34.83 1394.53 427.78 2608.59 0.26 12.75 0.11 64.55 0.85 130.53 5.45 332.63 32.16 392.82 5.38 2.85 9.65 3600 43.36 3600 497.60 3600

quality PCSPG upper bounds, in acceptable CPU times, if compared to the exact solution BC algorithm. Focusing specifically on the difference between NDRC lower bounds wd and BC bounds wG , it appears evident that the NDRC algorithm delivered what one would expect from it. To illustrate that, consider the detailed results for the last 10 instances in test set E, as shown in Table 13 (for NDRC) and Table 18 (for BC). For all of these instances, wd was stronger than wG . Moreover, CPU times for NDRC are between 3 and 36 times smaller than the CPU time limit allowed for BC. Furthermore, recall that, for only 5 of the instances in test sets P,K,C,D and E, our Lagrangian heuristic did not find corresponding optimal solutions. Clearly, BC average CPU times depend heavily on the time limit the algorithm is allowed to run. As such, a direct comparison between NDRC and BC relying only on CPU time tR (s), does not seem appropriate. This remark applies since the number of instances each algorithm solved to proven optimality differs significantly (112 for BC and only 48 for NDRC). Moreover, NDRC typically managed to solve smaller instances. Therefore, in an attempt to establish a fair comparison between the two algorithms, it appears reasonable to only concentrate on those instances that were solved to proven optimality by BC and that were not solved to proven optimality by NDRC. This comparison is presented in Table 5. The first two columns in that Table indicate, respectively, the test set and the number of instances considered in it. The next two columns respectively give average NDRC duality gaps (in percentage values) and CPU times, in seconds. The next column gives the average BC CPU time required to solve the corresponding group of instances to proven optimality. Finally, the last column gives the ratio between NDRC and BC CPU times. As it can be appreciated, average CPU times required by the NDRC algorithm to attain the duality gaps in Table 5 were between 2 and 29 times smaller than those required by the BC algorithm to solve, to proven optimality, the corresponding sets of instances. As pointed out before, NDRC duality gaps are basically defined by the NDRC lower bounds returned. Based on the results discussed above, our NDRC algorithm behaved very much in accordance with what one would expect from it (when compared with an exact BC algorithm, based on the same formulation). It represents a good trade off between solution quality and CPU time requirements. As such, the fact that NDRC compares badly with the algorithm

24

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 5. A comparison between NDRC and BC restricted to those instances that were solved to proven optimality by BC and that were not solved by NDRC.

Test set

No. of instances in the test set

P K C D E

6 12 21 18 6

NDRC gap % t (s) 0.62 5.38 7.34 2.85 1.59 7.24 2.52 26.12 3.85 65.42

BC t (s) 12.75 64.55 211.47 472.08 821.99

CPU time ratio 2.4 22.7 29.2 18.1 12.6

in [19] should be credited to the quality of the PCSPG formulation and the associated solution algorithm in [19]. Given the difficulties met by the algorithm in [19] for test set H instances, the Lagrangian heuristic introduced in this study clearly appears relevant. 8. C ONCLUSIONS Algorithms to generate primal and dual PCSPG bounds were proposed in this paper. The algorithms originate from Lagrangian NDRC and LP based approaches and incorporate ingredients such as a new PCSPG reduction test, an effective Local Search procedure and a modification in the NDRC framework which allowed additional reductions in duality gaps to be attained. PCSPG NDRC upper bounds turned out to be very sharp for almost all instances tested. In particular, optimal solutions were generated for 149 out of the 154 instances tested in sets K,P,C,D and E. The Lagrangian heuristic that produced these bounds thus appear to dominate the best PCSPG heuristics and metaheuristics in the literature [5]. On the other hand, in terms of CPU time and PCSPG lower bound quality, for test sets C, D, and E, NDRC performed poorly when compared with the Branch-and-Cut algorithm in [19], which is the best exact solution algorithm in the PCSPG literature. However, for test set H, the hardest to solve to provenPrize Collecting Steiner (PCS) tree is defined as either an isolated vertex of G or else any tree of that graph, be it spanning or not optimality, NDRC outperformed the algorithm in [19]. In particular, in less CPU time than that quoted for the algorithm in [19], NDRC generated new best upper bounds for 7 set H instances. NDRC was also compared with a Branch-and-Cut algorithm based on its underlying PCSPG formulation. Results for this comparison indicate that the NDRC PCSPG heuristic delivers what is expect from it. Namely, good quality upper bounds are obtained in much less CPU time than that required by its companion Branch-and-Cut algorithm. In general, lower bounds returned by the NDRC algorithm were, in quality terms, close to the ones returned by the Branch-and-Cut algorithm. In turn, the Branch-and-Cut algorithm was capable of returning sharp PCSPG lower bounds, albeit at a high CPU time price. However, at least as we implemented it, that algorithm does not appear competitive with the one in [19]. R EFERENCES [1] E. Balas. “The prize collecting traveling salesman problem”. Networks, 19:621–636, 1989. [2] J.E. Beasley. “OR-Library: Operations Research Library”. http://people.brunel.ac.uk/ mastjjb/jeb/info.html. [3] J.E. Beasley. “An SST-based Algorithm for the Steiner Problem in Graphs”. Networks, 19:1–16, 1989.

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

25

[4] J.E. Beasley. “Lagrangean Relaxation”. In Collin Reeves, editor, Modern Heuristic Techniques. Blackwell Scientific Press, Oxford, 1993. [5] S.A. Canuto, M.G.C. Resende, and C.C. Ribeiro. “Local search with perturbations for the prize collecting Steiner tree problem in graphs”. Networks, 38:50–58, 2001. [6] A. S. Cunha, A. Lucena, N. Maculan, and M.G.C Resende. “A Relax-and-cut algorithm for the Prize Collecing Steiner Problem in Graphs”. In Mathematical Programming in Rio: a conference in honour of Nelson Maculan, pages 72–78, Buzios, Rio de Janeiro, November 9-12, 2003. [7] G. B. Dantzig, R. Fulkerson, and S. Johnson. “Solution of a Large Scale Traveling Salesman Problem”. Operations Research, 2:393–410, 1954. [8] D.Bienstock, M. Goemans, D. Simchi-Levi, and D.P. Williamson. “A note on the prize collecting travelling salesman problem”. Mathematical Programming, 59:413–420, 1993. [9] C. Duin. Steiner’s Problem in Graphs. PhD thesis, University of Amsterdam, 1993. [10] C. Duin and Stefan Voss. “Efficient Path and Vertex Exchange in Steiner Tree Algorithms”. Networks, 29:89–105, 1997. [11] S. Engewall, M.Gothe-Lundgren, and P. Varbrand. “A Strong Lower Bound for the Node Weighted Steiner Tree Problem”. Networks, 31:11–17, 1998. [12] F. Glover and D. Klingman. “Recent developments in computer implementation technology for network flow algorithms”. INFOR, 20:433–452, 1982. [13] M. Goemans. “The Steiner tree polytope and related polyhedra”. Mathematical Programming, 63:157–182, 1994. [14] M. Goemans and D.P. Williamson. “The primal dual method for approximation algorithms and its applications to network design problems”. In Dorit S. Houchbaum, editor, Approximation algorithms for NP-hard problems, pages 144–191. P.W.S Publishing Co., 1996. [15] M. Haouari and J. C. Siala. “A hybrid Lagrangian genetic algorithm for the prize collecting Steiner tree problem”. Computers and Operations Research, 33:1274–1288, 2006. [16] D.S. Johnson, M. Minkoff, and S. Phillips. “The prize collecting Steiner tree problem: Theory and Practice”. In Proc. 11th ACM-SIAM Symp. on Discrete Algorithms, 2000. [17] R.M. Karp. “Reductibility among combinatorial problems”. In E. Miller and J.W. Thatcher, editors, Complexity of Computer Computations, pages 85–103. Plenum Press, 1972. [18] J.B. Kruskal. “On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem”. Proceedings of the American Mathematical Society, 7:48–50, 1956. [19] I. Ljubic, R. Weiskircher, U. Pferschy, G. Klau, P. Mutzel, and M. Fischetti. Solving the Prize-Collecting Steiner Problem to Optimality. Technical report, Technische Universitat Wien, Institut fur Computergraphik und Algorithmen, 2004. [20] A. Lucena. Tight bounds for the Steiner problem in graphs. Talk given at the TIMS-XXX - SOBRAPO XXIII Joint International Meeting, Rio de Janeiro, July 15-17 1991. [21] A. Lucena. “Steiner Problem in Graphs: Lagrangean Relaxation and Cutting Planes”. COAL Bulletin, 21:2– 8, 1992. [22] A. Lucena. Tight bounds for the Steiner problem in graphs. Technical Report TR-21/93., Dipartimento di Informatica. Univesitat degli Studi di Pisa, Pisa, Italy, 1993. [23] A. Lucena. “Non Delayed Relax-and-Cut Algorithms”. Annals of Operations Research, 140:375–410, 2005. [24] A. Lucena and J.E. Beasley. “A Branch and Cut Algorithm for the Steiner Problem in Graphs”. Networks, 31:39–59, 1998. [25] A. Lucena and M.G.C. Resende. “Strong lower bounds for the prize-collecting Steiner problem in Graphs”. Discrete Applied Mathematics, 141:277–294, 2004. [26] N. Maculan. “The Steiner problem in graphs”. Annals of Discrete Mathematics, 31:185–212, 1987. [27] F. Margot, A. Prodon, and Th. M. Liebling. “Tree polytope on 2-trees”. Mathematical Programming, 63:183–192, 1994. [28] M.Minkoff. The Prize Collecting Steiner Tree Problem. Master’s thesis, Departament of Electrical Engineering and Computer Science, Massachusetts Insitute of Technology, 2000. [29] M. Padberg and L. Wolsey. “Trees and cuts”. Annals of Discrete Mathematics, 17:511–517, 1983. [30] C.C. Ribeiro and M.C. de Souza. “Tabu Search for the Steiner Problem in Graphs”. Networks, 36(2):138– 146, 2000. [31] I. Rosseti, M. Poggi de Arag˜ao, C.C. Ribeiro, E. Uchoa, and R.F. Werneck. “New benchmark instances for the Steiner problem in graphs”. In Extended Abstracts of the 4th Metaheuristics International Conference, pages 557–561, 2001. [32] M. Savelsbergh and A. Volgenant. “Edge exchanges in the degree constrained minimum spanning tree problem”. Computers and Operations Research, 12(4):341–348, 1985.

26

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

[33] A. Segev. “The Node-Weighted Steiner Tree Problem”. Networks, 17:1–17, 1987. [34] A. Volgenant and R. Jonker. “The symmetric traveling salesman problem and edge exchanges in minimal 1-trees”. European Journal of Operational Research, 12:394–403, 1983. [35] P. Winter. “Steiner Problem in Networks: a survey”. Networks, 17:129–167, 1987. [36] XPRESS-MP. “XPRESS-MP Release 16”. www.dashoptimization.com.

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

Appendix A. D ETAILED

27

COMPUTATIONAL RESULTS

TABLE 6. Preprocessing results - Sets P and K After preprocessing Original graph With NWGC2 test Without NWGC2 test Instance |V |

|E| |V ′ | |E ′ |

P100 P100.1 P100.2 P100.3 P100.4

100

317 284 297 316 284

P200

200

587 167 438

P400 P400.1 P400.2 P400.3 P400.4

400

1200 1212 1196 1175 1144

347 325 341 342 344

K100 100 K100.1 K100.2 K100.3 K100.4 K100.5 K100.6 K100.7 K100.8 K100.9 K100.10

351 348 339 407 364 358 307 315 343 333 319

36 35 27 18 30 36 28 21 42 17 36

K200

200

691

K400 400 K400.1 K400.2 K400.3 K400.4 K400.5 K400.6 K400.7 K400.8 K400.9 K400.10

1515 1470 1527 1492 1426 1456 1576 1442 1516 1500 1507

66 87 78 91 69

0.01 0.01 0.01 0.01 0.02

0.05 167 440

0.05

1007 980 994 980 943

0.23 0.30 0.41 0.41 0.41

347 325 341 342 344

1008 986 997 983 946

0.23 0.30 0.32 0.31 0.32

109 112 86 65 81 118 76 51 130 37 93

0.03 0.05 0.04 0.25 0.02 0.03 0.01 0.01 0.02 0.01 0.02

40 35 27 19 36 36 28 23 43 20 37

169 120 96 86 132 135 80 65 144 64 111

0.03 0.05 0.05 0.24 0.02 0.03 0.01 0.01 0.02 0.01 0.02

67 193

0.23

85 295

0.39

663 562 592 537 490 495 745 609 849 601 621

0.01 0.01 0.01 0.01 0.01

0.40 0.31 3.28 0.32 0.26 0.32 0.42 0.29 0.28 0.54 0.42

66 87 78 91 69

t(s)

163 200 192 236 181

202 184 186 173 159 179 215 208 227 181 181

159 200 192 235 176

t(s) |V ′ | |E ′ |

222 201 212 184 181 204 236 215 236 189 196

865 762 897 643 717 701 972 810 989 746 795

0.39 0.26 4.22 0.31 0.22 0.33 0.46 0.32 0.29 0.76 0.55

28

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 7. Preprocessing results - Set C After preprocessing Original graph With NWGC2 test Without NWGC2 test Instance |V |

|E| |V ′ | |E ′ |

t(s) |V ′ | |E ′ |

c1A c1B c2A c2B c3A c3B c4A c4B c5A c5B

500

625 116 125 110 111 167 185 198 222 210 205

214 226 208 209 284 303 321 345 326 317

0.17 0.17 0.17 0.17 0.21 0.23 0.24 0.30 0.26 0.32

116 125 110 111 167 185 198 222 210 205

214 226 208 209 285 304 321 345 328 322

0.17 0.17 0.16 0.18 0.20 0.24 0.24 0.29 0.26 0.29

c6A c6B c7A c7B c8A c8B c9A c9B c10A c10B

500

1000 356 356 366 365 372 369 400 392 385 327

823 823 843 842 853 848 889 881 865 789

0.18 0.18 0.18 0.27 0.28 0.38 0.42 0.40 0.51 0.50

356 356 366 365 372 369 400 392 385 327

823 823 843 842 855 850 891 882 871 804

0.18 0.18 0.18 0.28 0.28 0.38 0.42 0.41 0.41 0.43

c11A c11B c12A c12B c13A c13B c14A c14B c15A c15B

500

2500 489 489 484 484 473 472 466 458 406 369

2143 2143 2185 2185 2104 2095 2052 2006 1808 1632

0.21 0.22 0.40 0.41 0.76 0.76 0.75 0.74 0.77 0.70

489 489 484 484 473 472 466 458 405 368

2143 2143 2186 2186 2120 2119 2081 2044 1861 1735

0.22 0.21 0.40 0.41 0.58 0.58 0.57 0.57 0.65 0.59

c16A c16B c17A c17B c18A c18B c19A c19B c20A c20B

500

12500 500 500 498 498 468 464 426 389 287 7

4730 4729 4639 4638 3860 3761 2790 2059 1415 10

0.92 0.93 2.79 2.84 2.28 2.35 1.75 1.93 1.63 1.41

500 500 498 498 468 464 433 412 316 185

4740 4740 4685 4685 4318 4270 3706 3150 2631 1172

0.49 0.49 1.66 1.66 2.04 2.11 1.61 2.26 9.07 15.47

t(s)

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

29

TABLE 8. Preprocessing results - Set D After preprocessing Original graph With NWGC2 test Without NWGC2 test |V |

|E|

|V ′ |

|E ′ |

t(s)

|V ′ |

|E ′ |

t(s)

d1A d1B d2A d2B d3A d3B d4A d4B d5A d5B

1000

1250

233 233 261 264 333 378 358 395 444 418

443 443 485 488 564 612 591 629 687 654

0.74 0.74 0.73 0.74 0.82 0.94 0.93 0.97 1.16 1.31

233 233 261 264 333 378 358 395 444 418

443 443 485 488 564 612 591 629 688 657

0.72 0.73 0.73 0.73 0.81 0.94 0.91 0.97 1.16 1.30

d6A d6B d7A d7B d8A d8B d9A d9B d10A d10B

1000

2000

741 741 735 736 786 780 775 761 733 635

1708 1708 1706 1707 1764 1758 1738 1718 1698 1580

0.79 0.78 0.79 0.78 1.74 1.72 1.72 1.68 2.47 2.43

741 741 735 736 786 780 775 761 733 635

1708 1708 1706 1707 1764 1759 1741 1722 1704 1593

0.77 0.78 0.77 0.77 1.72 1.72 1.24 1.68 2.05 2.11

d11A d11B d12A d12B d13A d13B d14A d14B d15A d15B

1000

5000

986 986 991 991 965 960 946 930 841 748

4658 4658 4639 4639 4517 4503 4470 4429 4076 3696

0.90 0.89 1.75 1.75 4.12 4.10 4.04 3.93 4.11 3.54

986 986 991 991 965 960 946 930 841 748

4658 4658 4639 4639 4541 4532 4499 4467 4200 3891

0.89 0.88 1.75 1.74 3.33 3.30 3.27 3.19 3.45 3.04

d16A d16B d17A d17B d18A d18B d19A d19B d20A d20B

1000

25000 1000 1000 999 999 946 928 897 861 652 276

10588 10588 10518 10518 9089 8586 7958 7020 4096 879

4.36 1000 10595 4.31 1000 10595 8.78 999 10531 7.88 999 10531 7.46 946 9601 6.80 928 9256 8.39 897 8906 8.42 861 8248 6.44 658 5872 5.66 413 2752

2.75 2.70 5.36 5.30 6.31 6.52 8.06 8.60 10.96 68.23

Instance

30

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 9. Preprocessing results - Set E After preprocessing Original graph

With NWGC2 test

|V |

|E|

|V ′ |

e1A e1B e2A e2B e3A e3B e4A e4B e5A e5B

2500

3125

653 655 695 697 885 970 951 991 1095 1053

e6A e6B e7A e7B e8A e8B e9A e9B e10A e10B

2500

5000 1821 1821 1864 1865 1928 1914 1955 1924 1816 1610

4283 4283 4340 4341 4406 4390 4431 4399 4279 4042

5.62 5.61 5.63 5.65 11.94 12.29 12.71 12.52 17.83 18.53

1821 1821 1864 1865 1928 1914 1955 1924 1816 1610

4283 4283 4340 4341 4406 4390 4435 4404 4289 4060

5.60 6.02 5.69 5.63 12.17 12.09 12.32 11.96 17.12 15.00

e11A e11B e12A e12B e13A e13B e14A e14B e15A e15B

2500

12500 2491 2491 2490 2490 2430 2407 2369 2311 2055 1862

12063 12063 12089 12089 11897 11847 11844 11695 10755 9993

8.30 9.85 15.62 15.37 28.76 29.72 35.22 34.08 37.74 31.97

2491 2491 2490 2490 2430 2407 2369 2311 2056 1862

12063 12063 12090 12090 11923 11880 11876 11747 10919 10279

7.78 8.35 8.55 7.87 22.29 22.70 27.88 27.86 29.38 26.04

e16A e16B e17A e17B e18A e18B e19A e19B e20A e20B

2500

62500 2500 2500 2500 2500 2378 2347 2180 2031 1652 779

29331 29331 29086 29084 27044 26508 20845 13168 12884 2825

66.42 62.88 61.30 63.36 113.56 113.98 132.68 127.46 83.36 72.53

2500 2500 2500 2500 2378 2347 2183 2075 1661 1171

29332 29332 29090 29090 27680 27304 23005 18283 17044 8398

43.54 48.42 44.66 47.52 105.24 99.09 128.51 203.10 89.76 108.09

Instance

|E ′ |

Without NWGC2 test |E ′ |

t(s)

1248 5.21 653 1248 1250 5.18 655 1250 1305 5.15 695 1305 1307 5.13 697 1307 1495 6.41 885 1495 1582 7.51 970 1582 1558 6.66 951 1558 1599 7.53 991 1599 1712 9.02 1096 1714 1668 10.05 1053 1669

5.26 5.48 5.38 5.64 6.73 7.66 6.72 7.52 9.00 9.93

t(s)

|V ′ |

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

31

TABLE 10. Relax-and-Cut results - Sets K,P - MAXITER=2000, ξ = 100, MAXAGE = 1 Instance

wd

w

P100 P100.1 P100.2 P100.3 P100.4

803300.0000 926238.0000 401641.0000 659644.0000 827419.0000

803300 926238 401641 659644 827419

gap [%]

t(s)

w

Opt Opt Opt Opt Opt

0.25 0.32 0.31 0.23 0.18

803300 926238 401641 659644 827419

P200

1311970.4538 1317874

0.450 1.58 1317874

P400 P400.1 P400.2 P400.3 P400.4

2450885.8128 2776739.1010 2512006.9007 2938688.2638 2827694.8332

2459904 2808440 2518577 2951725 2852956

0.368 1.142 0.262 0.444 0.893

5.74 7.52 5.18 5.99 6.28

2459904 2808440 2518577 2951725 2852956

K100 K100.1 K100.2 K100.3 K100.4 K100.5 K100.6 K100.7 K100.8 K100.9 K100.10

135511.0000 124108.0000 200262.0000 115953.0000 87498.0000 119078.0000 132886.0000 172457.0000 210869.0000 122917.0000 133567.0000

135511 124108 200262 115953 87498 119078 132886 172457 210869 122917 133567

Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt

0.11 0.09 0.18 0.25 0.04 0.06 0.02 0.10 0.34 0.02 0.03

135511 124108 200262 115953 87498 119078 132886 172457 210869 122917 133567

K200

316673.9170

329211

3.959 0.74

329211

K400 K400.1 K400.2 K400.3 K400.4 K400.5 K400.6 K400.7 K400.8 K400.9 K400.10

326913.4753 448931.0463 426979.2349 391085.1170 366707.8591 495385.8162 352497.1554 441518.7576 398891.5238 357336.0506 350741.3267

350093 490771 477073 415328 389451 519526 374849 474466 418614 383105 395413

(Alexandre S. da Cunha) D EPARTAMENTO DE C I Eˆ NCIA M INAS G ERAIS , B ELO H ORIZONTE , MG, B RAZIL E-mail address: [email protected]

DA

7.090 9.320 11.732 6.199 6.202 4.873 6.341 7.462 4.944 7.211 12.736

2.73 2.75 5.57 2.39 2.07 2.33 3.34 3.07 3.42 3.00 2.76

350093 490771 477073 415328 389451 519526 374849 474466 418614 383105 394191

˜ , U NIVERSIDADE F EDERAL C OMPUTAC¸ AO

˜ , U NIVERSIDADE F EDERAL (Abilio Lucena) D EPARTAMENTO DE A DMINISTRAC¸ AO AV. PASTEUR 250, 22290-240 R IO DE JANEIRO , RJ, B RAZIL E-mail address: [email protected] (Nelson Maculan) P ROGRAMA DE E NGENHARIA DE S ISTEMAS R IO DE JANEIRO , R IO DE JANEIRO , RJ, B RAZIL E-mail address: [email protected]

E

DO

R IO

DO

DE JANEIRO ,

˜ , U NIVERSIDADE F ED C OMPUTAC¸ AO

ERAL DO

(Mauricio G. C. Resende) I NTERNET AND N ETWORK S YSTEMS R ESEARCH , AT&T L ABS R ESEARCH , 180 PARK AVENUE , ROOM C241, F LORHAM PARK , NJ 07932 USA. E-mail address: [email protected]

32

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 11. Relax-and-Cut results - Set C - MAXITER=2000, ξ = 100, MAXAGE = 1 Instance

wd

w

gap [%]

t(s)

w

c1A c1B c2A c2B c3A c3B c4A c4B c5A c5B

18.0000 18 83.0874 85 49.4865 50 139.4014 141 413.1276 414 733.5273 737 616.9955 618 1054.3364 1063 1079.0071 1080 1525.6234 1528

Opt 2.302 Opt 1.147 Opt 0.473 0.163 0.822 Opt 0.156

0.18 18 0.84 85 0.18 50 0.85 141 0.50 414 2.16 737 1.60 618 3.49 1063 1.48 1080 2.56 1528

c6A c6B c7A c7B c8A c8B c9A c9B c10A c10B

17.5147 18 50.4103 55 49.2453 50 101.0692 102 359.7694 361 496.5290 500 530.0124 533 689.9805 694 856.9452 859 1067.1803 1069

Opt 0.21 18 9.105 3.28 55 Opt 0.38 50 Opt 2.36 102 0.342 4.78 361 0.699 6.52 500 0.564 6.57 533 0.583 10.28 694 0.240 5.90 859 0.171 6.67 1069

c11A c11B c12A c12B c13A c13B c14A c14B c15A c15B

17.0926 29.7161 37.0331 43.8827 234.7131 255.9738 290.1036 315.1460 498.1160 549.0151

18 32 38 46 236 258 293 318 501 551

Opt 7.686 Opt 4.825 0.548 0.792 0.998 0.906 0.579 0.362

1.00 5.50 2.24 6.38 11.08 14.71 13.20 13.69 16.49 14.89

18 32 38 46 236 258 293 318 501 551

c16A c16B c17A c17B c18A c18B c19A c19B c20A c20B

10.0490 10.5539 17.0040 17.0590 109.3350 111.1436 145.0291 145.0766 265.0154 266.0868

11 11 18 18 111 113 146 146 266 267

Opt 5.09 Opt 9.38 Opt 7.84 Opt 7.80 1.523 15.52 1.670 16.75 Opt 5.58 Opt 4.33 Opt 2.88 Opt 1.41

11 11 18 18 111 113 146 146 266 267

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

TABLE 12. Relax-and-Cut results - Set D - MAXITER=2000, ξ = 100, MAXAGE = 1 Instance

gap [%]

t(s)

w

18 106 50 218 807 1509 1203 1881 2157

Opt 1.837 Opt Opt Opt 0.323 0.242 0.159 0.089

0.75 2.34 0.74 1.98 2.75 8.21 5.10 7.46 8.07

18 106 50 218 807 1509 1203 1881 2157

3135 18 67 50 103 755 1036 1070 1420 1671 2079

0.348 Opt 8.662 Opt 2.269 0.403 0.416 0.412 0.321 0.172 0.195

10.16 0.93 11.40 1.78 11.11 17.84 33.46 22.52 47.73 37.11 43.25

3135 18 67 50 103 755 1036 1070 1420 1671 2079

wd

w

d1A d1B d2A d2B d3A d3B d4A d4B d5A

18.0000 104.0882 49.2103 217.0053 806.0212 1504.1409 1200.0942 1878.0088 2155.0896

d5B d6A d6B d7A d7B d8A d8B d9A d9B d10A d10B

3124.1323 17.2068 61.6590 49.2524 100.7147 751.9670 1031.7074 1065.6080 1415.4595 1668.1245 2074.9530

d11A d11B d12A d12B d13A d13B d14A d14B d15A d15B

17.2934 18 25.9028 29 40.4884 42 40.6799 42 442.7795 445 483.9459 486 598.2902 602 662.3140 665 1038.9896 1042 1105.9666 1108

d16A d16B d17A d17B d18A d18B d19A d19B d20A d20B

12.0134 12.0453 21.8721 21.8639 216.1264 221.5386 304.9376 308.6635 534.9921 535.9886

13 13 23 23 218 223 306 310 536 537

Opt 4.82 18 11.957 20.58 29 3.733 28.64 42 3.245 23.98 42 0.501 58.28 445 0.424 81.47 486 0.620 86.95 602 0.406 121.85 665 0.290 105.53 1042 0.184 92.06 1108 Opt Opt 5.157 5.196 0.867 0.660 0.348 0.433 0.188 0.189

22.83 23.47 43.90 47.58 76.55 71.48 89.42 71.23 38.75 9.21

13 13 23 23 218 223 306 310 536 537

33

34

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 13. Relax-and-Cut results - Set E - MAXITER=2000, ξ = 100, MAXAGE = 1 Instance

gap [%]

t(s)

13 109 30 170 2231 3806 3151 4888 5657 7998

Opt 3.627 Opt 3.453 0.141 0.255 0.143 0.230 0.091 0.090

5.25 13.81 5.25 16.25 24.81 82.52 35.57 94.24 57.24 103.73

13 109 30 170 2231 3806 3151 4888 5657 7998

18.3809 67.3600 39.3128 130.2630 1872.8424 2547.5657 2781.8277 3535.8632 4580.8285 5496.8508

19 70 40 136 1878 2555 2787 3541 4586 5502

Opt 3.919 Opt 4.404 0.275 0.292 0.186 0.145 0.113 0.094

5.79 66.35 8.34 70.47 152.55 424.04 196.88 761.16 439.38 696.69

19 70 40 136 1878 2555 2787 3541 4586 5502

e11A e11B e12A e12B e13A e13B e14A e14B e15A e15B

20.2059 31.6056 48.0288 64.1235 1167.0608 1266.1192 1575.6258 1712.9595 2607.9719 2764.9737

21 34 49 68 1169 1270 1579 1716 2610 2767

Opt 7.576 Opt 6.045 0.166 0.307 0.214 0.177 0.078 0.073

67.74 190.08 164.91 214.32 933.14 1075.74 875.29 1732.24 1355.50 1315.38

21 34 49 67 1169 1269 1579 1716 2610 2767

e16A e16B e17A e17B e18A e18B e19A e19B e20A e20B

13.9277 15 13.9762 15 23.7220 25 23.8987 25 552.5118 557 562.0238 566 745.6350 747 756.1145 758 1329.9984 1331 1340.9730 1342

wd

w

e01A e01B e02A e02B e03A e03B e04A e04B e05A e05B

13.0000 105.1852 30.0000 164.3261 2227.8590 3796.3260 3146.5045 4876.7883 5651.8605 7990.8468

e06A e06B e07A e07B e08A e08B e09A e09B e10A e10B

w

7.699 330.50 15 7.325 341.25 15 5.387 371.07 25 4.608 373.75 25 0.812 1264.09 555 0.707 1274.03 564 0.183 908.66 747 0.249 528.91 758 0.075 429.85 1331 0.077 104.21 1342

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

35

TABLE 14. NDRC results - Set H |V |

|E|

hc6p hc6u hc7p hc7u hc8p hc8u hc9p hc9u hc10p hc10u

64 64 128 128 256 256 512 512 1024 1024

192 192 448 448 1024 1024 2304 2304 5120 5120

hc11p hc11u hc12p hc12u

2048 2048 4096 4096

Instance

wd

w

3822.49 35.46 7551.41 70.48 14955.75 140.43 29598.42 278.78 58865.31 551.28

3985 37 8134 73 16023 151 32151 296 64974 594

11264 116751.68 130252 11264 1099.82 1199 24576 231727.31 257833 24576 2184.48 2403

gap [%]

4.25 4.33 7.72 3.57 7.13 7.53 8.62 6.18 10.38 7.75

t(s) best known total pre-proc upper bound 0.50 0.48 1.49 1.17 5.20 4.14 16.06 13.13 114.36 59.77

11.56 629.92 9.02 360.61 11.27 3507.70 10.00 1915.72

0.00 0.00 0.01 0.00 0.05 0.04 0.22 0.19 0.95 0.81

3908 (*) 36 (*) 7739 72 (*) 15274 150 32151 (+) 296 (+) 64974 (+) 594

5.24 130252 (+) 4.41 1199 (+) 30.18 257833 (+) 27.56 2403 (+)

36

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 15. Branch-and-cut results, sets P and K Instance

wG

w

gap [%]

t(s) No. of nodes

P100 P100.1 P100.2 P100.3 P100.4

803300.0000 926238.0000 401641.0000 659644.0000 827419.0000

803300 926238 401641 659644 827419

Opt Opt Opt Opt Opt

0.10 0.09 0.10 0.07 0.06

1 1 1 1 1

P200

1317874.0000 1317874

Opt

0.59

1

P400 P400.1 P400.2 P400.3 P400.4

2459904.0000 2808440.0000 2518577.0000 2951725.0000 2852956.0000

2459904 2808440 2518577 2951725 2852956

Opt Opt Opt Opt Opt

3.44 83.09 2.71 5.88 44.13

1 1 1 1 1

K100 K100.1 K100.2 K100.3 K100.4 K100.5 K100.6 K100.7 K100.8 K100.9 K100.10

135511.0000 124108.0000 200262.0000 115953.0000 87498.0000 119078.0000 132886.0000 172457.0000 210869.0000 122917.0000 133567.0000

135511 124108 200262 115953 87498 119078 132886 172457 210869 122917 133567

Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt

0.11 0.14 0.19 0.47 0.05 0.11 0.05 0.06 0.20 0.04 0.07

1 1 1 1 1 1 1 1 1 1 1

K200

329211.0000

329211

Opt

1.33

1

K400 K400.1 K400.2 K400.3 K400.4 K400.5 K400.6 K400.7 K400.8 K400.9 K400.10

350093.0000 490771.0000 477073.0000 415328.0000 389451.0000 519526.0000 374849.0000 474466.0000 418614.0000 383105.0000 394191.0000

350093 490771 477073 415328 389451 519526 374849 474466 418614 383105 394191

Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt

117.57 160.90 188.84 55.04 48.09 94.43 150.98 245.59 180.44 54.00 185.94

1 1 1 1 1 1 1 1 1 1 1

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

37

TABLE 16. Branch-and-cut results, set C Instance

wG

w

gap [%]

t(s)

No. of nodes

c1A c1B c2A c2B c3A c3B c4A c4B c5A c5B

18.0000 18 85.0000 85 50.0000 50 141.0000 141 414.0000 414 737.0000 737 618.0000 618 1063.0000 1063 1080.0000 1080 1528.0000 1528

Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt

0.38 0.58 0.38 0.60 0.52 7.19 0.83 82.02 2.03 33.05

1 1 1 1 1 1 1 1 1 1

c6A c6B c7A c7B c8A c8B c9A c9B c10A c10B

18.0000 18 55.0000 55 50.0000 50 102.0000 102 361.0000 361 500.0000 500 533.0000 533 694.0000 694 859.0000 859 1069.0000 1069

Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt

0.56 16.63 0.61 1.34 3.90 55.39 23.62 415.88 23.00 23.41

1 1 1 1 1 1 1 1 1 1

c11A c11B c12A c12B c13A c13B c14A c14B c15A c15B

18.0000 32.0000 38.0000 46.0000 236.0000 258.0000 293.0000 318.0000 500.6715 551.0000

18 32 38 46 236 258 293 318 501 551

Opt 7.22 Opt 19.91 Opt 2.11 Opt 44.87 Opt 34.94 Opt 205.15 Opt 438.75 Opt 538.59 Opt 470.12 Opt 2002.48

1 1 1 1 1 1 1 1 1 1

c16A c16B c17A c17B c18A c18B c19A c19B c20A c20B

11.0000 11.0000 18.0000 18.0000 110.5000 112.2085 146.0000 146.0000 266.0000 267.0000

11 11 18 18 118 118 146 146 266 267

Opt 40.18 Opt 49.26 Opt 268.11 Opt 119.42 6.79 3600.00 5.17 3600.00 Opt 8.46 Opt 8.63 Opt 5.34 Opt 4.62

1 1 1 1 1 1 1 1 1 1

38

A.S. DA CUNHA, A. LUCENA, N. MACULAN, AND M.G.C. RESENDE

TABLE 17. Branch-and-cut results, set D Instance

t(s)

No. of nodes

18 106 50 218 807 1509 1203 1881 2157 3136

Opt 1.59 Opt 2.16 Opt 1.64 Opt 1.71 Opt 1.91 Opt 118.05 Opt 5.06 Opt 115.70 Opt 20.62 0.09 3600.00

1 1 1 1 1 1 1 1 1 1

18 67 50 103 755 1036 1070 1426 1671 2083

Opt Opt Opt Opt Opt Opt Opt 0.53 Opt 0.25

2.20 87.23 2.10 59.99 40.20 1343.00 796.33 3600.00 1457.52 3600.00

1 1 1 1 1 1 3 1 1 1

18.0000 18 29.0000 29 42.0000 42 42.0000 42 445.0000 445 486.0000 486 599.3863 607 663.3465 667 1037.4422 1043 1105.9807 1110

Opt Opt Opt Opt Opt Opt 1.27 0.55 0.53 0.36

7.72 666.19 77.00 148.04 2480.34 1053.64 3600.00 3600.00 3600.00 3600.00

1 1 1 1 1 1 1 1 1 1

Opt 8.33 Opt Opt 3.95 3.79 3.91 3.85 1.51 Opt

143.05 3600.00 128.31 139.19 3600.00 3600.00 3600.00 3600.00 3600.00 20.78

1 1 1 1 1 1 1 1 1 1

wG

w

d1A d1B d2A d2B d3A d3B d4A d4B d5A d5B

18.0000 106.0000 50.00000 218.0000 807.0000 1509.0000 1203.0000 1881.0000 2157.0000 3132.9963

d6A d6B d7A d7B d8A d8B d9A d9B d10A d10B

18.0000 67.0000 50.0000 103.0000 755.000 1036.0000 1070.0000 1418.4209 1671.0000 2077.8573

d11A d11B d12A d12B d13A d13B d14A d14B d15A d15B d16A d16B d17A d17B d18A d18B d19A d19B d20A d20B

13.0000 12.9232 23.0000 23.0000 216.4312 222.5573 305.0647 309.1020 529.9888 537.0000

13 14 23 23 225 231 317 321 538 537

gap [%]

BOUNDS FOR THE PRIZE-COLLECTING STEINER PROBLEM IN GRAPHS

39

TABLE 18. Branch-and-cut results, set E Instance

gap [%]

t(s)

No. of nodes

13 109 30 170 231 3841 3151 3165 5668 8002

Opt Opt Opt Opt Opt 1.13 Opt 0.62 0.27 0.38

13.47 30.39 13.66 33.95 27.76 3600.00 248.37 3600.00 3600.00 3600.00

1 1 1 1 1 1 1 1 1 1

19.0000 70.0000 40.0000 136.0000 1874.3750 2538.3942 2781.0790 3520.1056 4562.2062 5474.3695

19 70 40 136 1908 2609 2799 3573 4597 5508

Opt Opt Opt Opt 1.79 2.78 0.64 1.50 0.76 0.61

19.92 295.16 19.75 2880.89 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00

1 1 1 1 1 1 1 1 1 1

e11A e11B e12A e12B e13A e13B e14A e14B e15A e15B

21.0000 34.0000 49.0000 66.0714 1162.3343 1256.2098 1565.2133 1702.0033 2586.3414 2747.6183

21 34 49 70 1192 1296 1596 1739 2620 2777

Opt Opt Opt 5.95 2.55 3.17 1.97 2.17 1.30 1.07

230.70 1443.21 1886.64 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00

1 1 1 1 1 1 1 1 1 1

e16A e16B e17A e17B e18A e18B e19A e19B e20A e20B

13.3749 15 13.3749 15 22.0637 27 22.0637 27 547.7920 581 557.9737 593 737.8453 769 750.0713 773 1327.7833 1338 1340.7833 1352

12.15 12.15 22.37 22.37 6.06 6.28 4.22 3.06 0.77 0.84

3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00

1 1 1 1 1 1 1 1 1 1

wG

w

e1A e1B e2A e2B e3A e3B e4A e4B e5A e5B

13.0000 109.0000 30.0000 170.0000 231.000 3798.0914 3151.0000 3145.3770 5652.8586 7971.4277

e6A e6B e7A e7B e8A e8B e9A e9B e10A e10B