SCIP-Jack – A massively parallel STP solver - OPUS 4

8 downloads 0 Views 439KB Size Report
Sep 8, 2014 - Gerald Gamrath†· Thorsten Koch · Daniel Rehfeldt · Yuji Shinano. Abstract ... In this section, we present the solver SCIP-Jack. To this end, we ...
Konrad-Zuse-Zentrum fur ¨ Informationstechnik Berlin

Takustraße 7 D-14195 Berlin-Dahlem Germany

G ERALD G AMRATH , T HORSTEN KOCH , DANIEL R EHFELDT, Y UJI S HINANO

SCIP-Jack – A massively parallel STP solver

This article was submitted to the 11th DIMACS Implementation Challenge on Steiner Tree Problems

ZIB Report 14-35 (September 2014)

Herausgegeben vom Konrad-Zuse-Zentrum f¨ ur Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Telefon: 030-84185-0 Telefax: 030-84185-125 e-mail: [email protected] URL: http://www.zib.de ZIB-Report (Print) ISSN 1438-0064 ZIB-Report (Internet) ISSN 2192-7782

SCIP-Jack – A massively parallel STP solver∗ Gerald Gamrath†· Thorsten Koch · Daniel Rehfeldt · Yuji Shinano

Abstract In this article we describe the impact from embedding a 15 year old model for solving the Steiner tree problem in graphs in a state-of-the-art MIP-Framework, making the result run in a massively parallel environment and extending the model to solve as many variants as possible. We end up with a high-perfomance solver that is capable of solving previously unsolved instances and, in contrast to its predecessor, is freely available for academic research.

1

Introduction

The Steiner tree problem in graphs (STP) is one of the classical N P-hard problems [1]. Given an undirected connected graph G = (V, E), costs c : E → Q+ and a set T ⊂ V of terminals, the problem is to find a minimum weight tree S ⊆ G which spans T . While the STP is said to have numerous applications, it is hard to find a pure one in the wild. The authors have collected more than a thousand instances in the SteinLib [2], but extremly few of them originate from real-world applications. In this the STP resembles the Traveling Salesmen Problem for which Vasel Chvatal said in an Interview: The traveling salesman problem is to mathematical programming what chess is to artificial intelligence: thoroughly useless and fiercely competitive sport that serves as a testing ground of your techniques.[3] We would claim the same to be true for the STP. Nevertheless, there are many applications which include STPs as a subproblem or in some variant. When the 11th DIMACS Challenge, dedicated to the study of Steiner tree problems, was announced, the starting point of our investigation was the model and code described in [4]. Taking this and the developments of the last 15 years, we will show: • in Section 2 the impact of the transition from a simple self-made branch-and-cut code to the use of a full fledged, state-of-the-art MIP-Framework. • in Section 3 how to use the versatility of MIP models to solve a class of related problem variations. • in Section 4 the possible gains from using hundredes of CPU cores to solve a single problem. As we will see in the end, it is worthwhile to revisit topics after some time. Further details on this can be found in [5, 6]. ∗ This † Zuse

article was submitted to the 11th DIMACS Implementation Challenge on Steiner Tree Problems Institute Berlin, Takustr. 7, 14195 Berlin, Germany, {gamrath, koch, rehfeldt, shinano}@zib.de

1

2

From simple hand tailored to off-the-shelf state-of-theart

In this section, we present the solver SCIP-Jack. To this end, we first describe the model that we use and the simple self-made branch-and-cut code Jack-III. Then, we will show how the MIP solving framework SCIP can be extended by STP specific plugins to a full-scale branch-and-cut based STP solver which profits from the state-of-the-art MIP solving algorithms implemented within SCIP. Their impact is then analyzed and computational results are discussed. The model we will use in the following is the directed cut formulation: We replace each edge {u, v} ∈ E by two anti-parallel arcs (u, v) and (v, u). Let A denote this set of arcs and D = (V, A) the resulting digraph. We chose some terminal r ∈ T , which we call root. A Steiner arborescence rooted at r is a subgraph S ⊆ D such that (VS , AS ) contains exactly one directed path from r to t for all t ∈ T \ {r}. Obviously, there is a one-to-one correspondence between (undirected) Steiner trees in G and Steiner arborescences in D which contain at most one of two anti-parallel arcs. Thus, if we choose arc weights ~c(u,v) := ~c(v,u) := c{u,v} , for {u, v} ∈ E, the Steiner tree problem can be solved by finding the minimal Steiner Arborescence with respect to ~c. Introducing variables ya for a ∈ A with the interpretation ya := 1, if a is in the Steiner arborecence, and ya := 0 otherwise, we obtain the integer program: Formulation 1. Cut Formulation min ~cT y

(1)

+

≥   = = y(δ − (v))  ≤

1, ∀W ⊂ V, r ∈ W, (V \ W ) ∩ T 6= ∅ 0, if v = r; 1, if v ∈ T \ r; 1, if v ∈ N ;

(2)

y(δ − (v))

y(δ + (v)), ∀v ∈ N ;

(4)

y(δ (W ))





+

(3)

y(δ (v))



ya , ∀a ∈ δ (v), v ∈ N ;

(5)

0 ≤ ya



1, ∀a ∈ A;

(6)

ya



{0, 1}, ∀a ∈ A,

(7)

where N = V \ T , δ + (X) := {(u, v) ∈ A|u ∈ X, v ∈ V \ X} for X ⊂ V , i.e. the set of arcs with tail in X and head in its complement. The details are given in [4]. It is shown in [7] that the flow-cuts described are indeed facets. Since the model contains a potentially exponential number of constraints, we use a branchand-cut approach and separate constraints during the execution of the algorithm, if they are violated. Jack-III uses this model and implements its own branch-and-bound search. It uses strong branching, a depth-first search node selection, and tries to generate feasible solutions with a primal heuristic. Our reimplementation is based on the academic MIP solver SCIP [8]. Besides being one of the fastest non-commercial MIP solvers [9], SCIP is a framework for several branch-and-bound based algorithm types including branch-and-cut. Thereby, its plugin-based design allows to easily extend SCIP to handle specific problem classes more effectively. In the case of SCIP-Jack, the first thing to be implemented was a reader to read in an instance and a problem data to store the graph and build the model within SCIP. Thereby, we re-used the reading methods, data structures, and preprocessing algorithms of Jack-III. The heart of the new implementation is a constraint handler which checks solutions for feasibility and separates the model constraints, if needed. Again, we re-use the separation methods of the 2

15-year old code, while SCIP provides a separation storage which filters the cuts and dynamic aging of the generated cuts. Additionally, we also use the general-purpose separation methods that come with SCIP, which create, e.g., Gomory or mixed-integer rounding cuts. The preprocessing of SCIP-Jack mainly relies on STP-specific reduction techniques [4]. Those techniques strive to reduce the size of an original problem instance in terms of both vertices and edges, without changing the optimal solution value. They exert a dramatic effect on the solving time for many instances, see [10, 7]. There have been only slight changes concerning the reduction techniques implemented in SCIP-Jack compared to those of the 15 years old solver Jack-III. For more detail on the applied reduction techniques see [4]. Much remains to be done here, taking into account for example the much stronger reduction techniques deployed by [7]. The branch-and-bound search is organized by SCIP: we use the default hybrid branching rule [11] which combines strong branching and pseudo costs with history information like conflict and inference scores. Node selection is done with respect to a best estimate criterion with interleaved best bound and depth-first search phases [12]. Additionally, two STP-specific primal heuristics have been implemented, a constructive heuristic based on [13] and an improvement heuristic [14]. The constructive heuristic is both coherent and empirically successful: Starting with one vertex, in each step the current subtree is connected to a nearest terminal by a shortest path. This procedure is reiterated until all terminals are spanned. Finally, in a pruning step a minimum spanning tree is constructed on the vertices of the computed tree and nonterminals of degree one are removed. The heuristic has already been implemented in Jack-III, where it is used not only as an initial heuristic but also, with altered edge weights, during the branch-and-cut: Having solved an LP with x ∈ QE being the optimal solution, the heuristic is called with the edge weights (1 − xe ) · c(e) for all e ∈ E. Thus, a stimulus for the heuristic to choose edges contained in the LP solution is provided. Moreover, the heuristic is started from several distinct vertices, making it empirically much more potent (100 start vertices for the intial call, 10 after each LP). For the SCIP-based solver this heuristic is used in the same way, with the exception that terminals are prefered as starting points, which has turned out to bring a slight empirical advantage. However, for problems for which at least ten percent of the vertices are terminals (after presolving) a variation based on the concept of Voronoi regions (see [7]) is used, following the same scheme but often providing a computational advantage. The improvement heuristic is called whenever a new incumbent solution has been found. It is in fact a combination of the three local search heuristics: vertex insertion, key-path exchange and key-vertex elimination, as described in [14], with the most impact by far being achieved by the latter two. Although some alterations had to be made in order to adapt the algorithms originally designed for undirected problems to our model (Formulation 1). The basic idea of vertex insertion is to connect further vertices to an existing Steiner tree in such a way that expensive edges can be removed from it. Key-vertices with respect to a tree S are either terminals or vertices of degree at least three in S. Correspondingly, a key-path is a path in S, connecting two key-vertices and containing none else. In key-path exchange attempts are made to replace existing key-paths by less costly ones. Similarly, for key-vertex elimination in each step a non-terminal key-vertex and all adjoining key-paths (except for the key-vertices at their respective ends) are extracted and an attempt is made to reconnect the so disconnected subtrees at lower costs. The combination of the constructive and the local heuristic considerably helps generate good primal solutions quickly and even finds optimal solutions to many problems. Further primal heuristics for SCIP-Jack are currently being implemented. Most promising among them is a recombination approach, where several good solutions are merged, the STP on the corresponding graph is solved and finally the improvement heuristic is applied on top. This

3

Table 1: Computational results for STP instances test set

size

solved

nodes

time

SP I640 PUC vienna-i-simple vienna-i-advanced

8 100 50 85 85

6 65 8 58 61

2.8 9.4 1708.5 1.8 1.8

4.7 62.8 330.1 2673.0 1727.5

approach can be implemented using SCIP without much difficulty as the latter not only stores a number of best found solutions, but also allows to create and solve a subproblem during the superordinate solving process. 2.0.1

Computational Results

We present computational experiments showing the solving capabilities of SCIP-Jack for STP instances included in the DIMACS Challenge. All computational experiments described in this and the next section were performed on a cluster of Intel Xeon E5-2670 CPUs with 2.50 GHz and 32 GB RAM, running Kubuntu 14.4. We used a development version of SCIP 3.1 (git hash 4eca267) with SoPlex [15] version 2.0.1 (git hash 708d128) as underlying LP solver and a time limit of 12 hours. We average over results by taking the shifted geometric mean [12] with a shift of 1.0. Table 1 summarizes the solving capabilities of SCIP-Jack for some of the DIMACS Challenge test sets. Detailed results are presented in the appendix. The test sets SP, I640, and PUC are all relatively hard test sets from SteinLib and contain still unsolved instances. SCIP-Jack solves most of the instances of the SP test set and about two thirds of the I640 set. On average, this needs just a couple of nodes and a few minutes, although there are also instances which need a significant amount of branching or several hours to solve. The PUC test set is even harder and more than half of the instances in the set are still unsolved. SCIP-Jack can only solve eight of 50 instances, none of them at the root node. The vienna test sets [16] were newly submitted to the DIMACS Challenge. We can solve about two thirds of the instances, most of them at the root node or after a couple of branchings, but still a lot of time is spent in the separation process. Nevertheless, SCIP-Jack seems to be competitive to the results presented in [16] at least for test set vienna-i-simple.

3

From single problem to class solver

In this section several variants of the Steiner problem, as described in the previous section, are introduced and transformations to render them tractable for our solver are presented. For most of the discussed variants we show computational results in order to evaluate the effectiveness of our generic STP solver for the respective variant. Throughout this section the weights of an edge e and an arc a are denoted by c(e) and c(a) respectively and the weight of a vertex v by p(v).

The Steiner Arborescence Problem Since the Steiner tree solver transforms each Steiner tree problem to a Steiner arborescence problem (SAP ) in the first place, as described in section 2, the branch-and-cut substruction and the constructive heuristic can be used without much furter ado. However, the same does not hold for the presolving and the local heuristics. There have (yet) been no Steiner arborescence problems published in the DIMACS Challenge, so this section goes without computational evaluations. 4

Nevertheless, the Steiner arborescence problem is of importance in the context of the DIMACS Challenge as several of the following Steiner variants are reduced to Steiner arborescence problems.

The Rectilinear Steiner Minimum Tree Problem Perhaps the most famous of all Steiner problem variants, the rectilinear Steiner minimum tree problem (RSMTP ) can be described as follows: given a number of n ∈ N points in the plane, the task is to find a shortest tree consisting only of vertical and horizontal line segments and containing all n points. The RSMTP is N P-hard, as proved in [17], and has been the subject of various publications, [18, 19, 20]. In addition to this two-dimensional variant, a generalisation of the problem to the d-dimensional case with d ≥ 2 will be considered, having real-world applications in up to eight dimensions, e.g. in cancer research, see [21]. Hanan [22] proved that the RSMTP can be restricted to the grid obtained by constructing vertical and horizontal lines through each given point of the RSMTP. Subsequently, this observation and its multi-dimensional generalisation [23] is exploited in order to adapt the RSMTP to our solver: Given a d−dimensional, d ∈ N \ {1}, RSMTP represented by a set of n ∈ N points in Qd , first a d−dimensional Hanan grid is built. Thereafter, a STP P = (V, E, T, c) is constructed in a straightforward way: The vertex set V is constructed by assigning each intersection point of the grid a vertex. Analogously, E is obtained by interconnecting the vertices V according to the grid structure, i.e. in such a way that two vertices in V are adjacent if and only if their corresponding intersection points are adjacent in the grid. The set of terminals T consists of all vertices in V corresponding to one of the original n RSMTP points. Finally, the cost of an edge {v, w} ∈ E is defined by the (euclidean) distance of the two d-dimensional points in the grid corresponding to v and w respectively. Claim 1. Each solution to the STP obtained from a RSMTP as delineated above, can be transformed to the original RSMTP, by applying the described bijective mapping. Optimality is preserved. A few remarks concerning the implementation: presolving is by default not used for our solver in the case of RSMTP problems, as it performs exceptionally poorly for this structure. Also, we do not expect this simple approach to be competitive with highly specialized solvers, such as GeoSteiner [18] in the cases d = 2 and d = 3. However, in dimensions d ≥ 4 there seems to be a lack of specialized solvers, so this approach might be of help here. Still, it is not practical to apply the grid transformation for large instances in high dimension, as the number of both vertices and edges increases exponentially with the number of dimensions. Finally, it shall be noted that the related Euclidean Steiner tree problem, which differs from the RSMTP insofar as the rectilinear distance is replaced with the Euclidean distance, cannot be handled by our solver. It seems difficult to render this problem solvable for SCIP-Jack, as a clear structure, such as the Hanan grid for the RSMTP, is ostensibly missing here. 3.0.2

Computational Results

For the DIMACS Challenge, multiple test sets of RSMTP instances were posted, which range from very small instances in two dimensions with only two or three terminals to eight-dimensional instances with 70 or more terminals. In our experiments, we focused on the two-dimensional estein instances with up to 60 nodes, the solids test set with three-dimensional instances whose terminals are the vertices of the five platonic solids, and the cancer instances with up to eight dimensions. Computational results

5

Table 2: Computational results for RSMTP instances test set

size

solved

nodes

time

estein1 estein10 estein20 estein30 estein40 estein50 estein60 solids cancer

46 15 15 15 15 15 15 5 14

46 15 15 15 14 13 10 5 11

1.0 1.0 1.4 1.2 1.0 1.5 1.0 14.4 1.0

0.3 0.2 8.6 172.4 1216.5 5881.0 11602.2 7.2 132.7

are summarized in Table 2, detailed results are listed in the appendix. We see that the estein instances of these small sizes need just a few nodes to solve, but solving times increase significantly with increasing number of nodes. The solids instances can all be solved to optimality, but the dodecahedron instance needs a significant amount of branching. Finally, the cancer instances show that SCIP-Jack can handle and solve instances of dimension up to eight. However, we also see that the grid can lead to a huge number of nodes and edges, in particular in high dimension, so that some the transformed instances could not be handled with the available memory.

The Obstacle-Avoiding Rectilinear Steiner Minimum Tree Problem The slightly awkwardly named obstacle-avoiding rectilinear Steiner minimum tree problem (OARSMTP ) is a variation of the RSMTP in such a way that the required minimum-length rectilinear tree is not allowed to go through the interior of any of the given axis-aligned rectangles, denoted obstacles. The Hanan grid approach applied for the RSMTP can be naturally altered to fit this new problem by just removing all vertices located in the interior of an obstacle together with their incident edges.

The Node-Weighted Steiner Tree Problem The node-weighted Steiner tree problem (NWSTP ) is a generalization of the Steiner tree problem in graphs insofar as not only the edges but also the vertices are assigned nonnegative weights. The objective is to interconnect all terminals while minimizing the weight summed over both vertices and edges spanned by the corresponding tree. Formally stated, given an undirected graph G = (V, E), node costs p : V → Q≥0 , edge costs c : E → Q≥0 , and a set T ⊂ V of terminals, the objective is to find a tree S = (VS , ES ) that spans T while minimizing X X C(S) := c(e) + p(v). e∈ES

v∈VS

Transforming a node-weighted Steiner tree problem in such a way that it can be solved by our solver is straightforward: First, each edge is substituted by two anti-parallel arcs, then, observing that in a tree there cannot be more than one arc going into the same vertex, we add the weight of each vertex to the weight of each of its ingoing arcs. Transformation 1 (NWSTP to SAP). Let P = (V, E, T, c, p) be a NWSTP, construct a transformed Steiner arborescence problem P 0 = (V 0 , A0 , T 0 , c0 , r0 ) as follows: 1. Set V 0 := V , T 0 := T , A0 := {(v, w) ∈ V 0 × V 0 : {v, w} ∈ E}. 6

2. Define c0 : A0 → Q≥0 by c0 (a) = c({v, w}) + p(w), for a = (v, w) ∈ A0 . 3. Choose a root r0 ∈ T 0 arbitrarily. Claim 2. Let S 0 be a solution to the SAP P 0 = (V 0 , A0 , T 0 , c0 ) obtained from a NWSTP P = (V, E, T, c, p) by applying Transformation 1. S 0 can be reduced to a solution S to P defined by VS := {v ∈ V : v ∈ VS0 0 } ES := {{v, w} ∈ E : (v, w) ∈ A0S 0 or (w, v) ∈ A0S 0 }. Optimality is preserved by the reduction. The resulting problem is a SAP, so for SCIP-Jack the configurations described in the Steiner arborescence section are used. 3.0.3

Computational Results

Two NWSTP instances derived from a computational biology application are part of the DIMACS Challenge, which differ drastically in their size: the first instance has more than 200,000 nodes—55,000 of them terminals—and 2.4 million edges, while the smaller instance comprises 386 nodes, 1477 edges, and 35 terminals. Solving the first instance with our generic solver is beyond hope since SCIP-Jack currently cannot apply its preprocessing routines to the transformed problem and we soon run out of memory for the complete unpreprocessed problem. The second instance, however, proves that smaller instances can easily be solved: our constructive heuristic finds the optimal solution right away and optimality is proven after 4 rounds of separation at the root node. Altogether this needs less then 0.1 seconds.

The Prize-Collecting Steiner Tree Problem As opposed to the classical Steiner tree problem, the required tree for the the prize-collecting Steiner tree problem (PCSTP ) needs only to span a (possibly empty) subset of the terminals; however, for each terminal not contained in the tree a nonnegative penalty is charged. So the objective is to find a tree of minimum weight, given by both the sum of its edge costs and the prizes of all terminals not spanned by the tree. For a profound discussion, real-world applications and a sophisticated specialized solver, see [24]. A formal definition of the problem might be stated as follows: Given an undirected graph G = (V, E), edge-weights c : E → Q≥0 , and node-weights p : V → Q≥0 , a tree S = (VS , ES ) in G is required such that: X X P (S) := c(e) + p(v) (8) e∈ES

v∈V \VS

is minimized. Before discussing the prize-collecting Steiner tree problem, we introduce a variation, the rooted prize-collecting Steiner tree problem (RPCSTP ), which incorporates the additional condition that one distinguished node, denoted root, must be part of every feasible solution to the problem. In order to adapt this problem to our solver, the following transformation is applied: Transformation 2 (RPCSTP to SAP). For a RPCSTP P = (V, E, p, r), construct a Steiner arborescence problem P 0 = (V 0 , A0 , T 0 , c0 , r0 ) as follows: 7

1. Set V 0 := V , A0 := {(v, w) : {v, w} ∈ E}, r0 := r and c0 : A0 → Q≥0 with c0 (a) = c({v, w}) for a = (v, w) ∈ A0 . 2. Denote the set of all v ∈ V with p(v) > 0 by T = {t1 , ..., ts }. For each node ti ∈ T , a new node t0i and an arc a = (ti , t0i ) with c0 (a) = 0 is added to V 0 and E 0 respectively. 3. Add arcs (r0 , t0i ) for each i ∈ {1, ..., s}, setting their respective weight to p(ti ). 4. Define the set of terminals T 0 := {t0 1 , ..., t0 s }. Claim 3. Let P 0 = (V 0 , A0 , T 0 , c0 ) be a SAP obtained from a RPCSTP P = (V, E, c, p) by applying Transformation 2. Each solution S 0 to P 0 can be reduced to a solution S to P by setting VS := {v ∈ V : v ∈ VS0 0 } and ES := {{v, w} ∈ E : (v, w) ∈ A0S 0 or (w, v) ∈ A0S 0 }. If S 0 is an optimal solution to P 0 , S is optimal with respect to P . The resulting problem is a SAP, so for SCIP-Jack the configurations described in the Steiner arborescence section are used. The transformation used for the (unrooted) PCSTP is only a slight variation of the above. Transformation 3 (PCSTP to SAP). Let P = (V, E, p) be a PCSTP, construct a SAP P 0 = (V 0 , A0 , T 0 , c0 , r0 ) as follows: 1. Add a vertex v0 to V and set r := v0 . 2. Apply Transformation 2 to obtain P 0 = (V 0 , A0 , T 0 , c0 , r0 ). 3. Add arcs a = (r0 , ti ) with c0 (a) := 0 for each ti ∈ T . Each SAP P 0 = (V 0 , A0 , T 0 , c0 , r0 ), obtained from a PCSTP P = (V, E, c, p) by applying Transformation 3, that incorporates the following constraint into the cut-formulation (Formulation 1): X ya ≤ 1 (9) a∈δ + (r 0 ),c0 (a)=0

is henceforth referred to as root constrained Steiner arborescence problem. Claim 4. Let S 0 be a solution to the root constrained SAP P 0 = (V 0 , A0 , T 0 , c0 , r0 ), obtained from a PCSTP P = (V, E, c, p) by applying Transformation 3. S 0 can be reduced to a solution S to P defined by VS := {v ∈ V : v ∈ VS0 0 )} ES := {{v, w} ∈ E : (v, w) ∈ A0S 0 or (w, v) ∈ A0S 0 }. If S 0 is an optimal solution to P 0 , so is S to P . To enforce the root condition (9) for a root constrained SAP obtained from a PCSTP as described above, a new constraint is added to the SCIP-Jack model. Further, neither reduction techniques are currently applied by SCIP-Jack nor any of the heuristics presented so far. However, a variation of the constructive heuristic is deployed: Instead of starting from different vertices, the starting point is always the (artficial) root but in each run all arcs between the root and non-terminals (denoted by (r0 , t) in Transformation 3) are temporarily removed, except for one. A tree is then computed as before on the new graph; in each run the choice of the one edge not removed is varied. It shall be remarked, that some diligence is required to ensure that the shortest path computations are always up to date before starting a new run. 8

Table 3: Computational results for PCSTP instances

3.0.4

test set

size

solved

nodes

time

JMP CRR PUCNU

34 80 18

34 72 6

1.0 1.7 4.5

2.1 20.9 30.5

Computational Results

The currently available collection of instances for the DIMACS Challenge contains several test sets of PCSTP instances, but no RPCSTP instances. Table 3 shows aggregated results for some of the PCSTP test sets of the DIMACS Challenge. For each test set, we list the number of instances and the number of instances solved to optimality as well as the shifted geometric mean of branch-and-bound nodes and solving time for the subset of instances solved to optimality. Test set JMP seems to be rather easy: all instances are solved without any branching in just a couple of seconds. Test set CRR is more challenging: still, most instances are solved at the root node, but some instances need a significant amount of branching—most of those cannot be solved within the time limit. The third test set we regard is the PUCNU test set. We cannot solve many of the instances of the PUC test set from which these instances originated, and this behaviour recurs for the PCSTP versions of the instances. Some of the instances are solved, mostly with only few branchings, but many cannot be solved within the time limit.

The Maximum-Weight Connected Subgraph Problem At first glance, the maximum-weight connected subgraph problem (MWCSP ) bears little resemblance to the Steiner problems introduced so far: Given an undirected graph endowed with (possibly negative) node weights, the objective is to find a tree that maximizes the sum of its node weights. However, a transformation as described by [25] allows to transform this problem to a prize-collecting Steiner tree problem. Yet, having performed this tranformation, a great number of vertices are usually assigned strictly positive weights, which can set the stage for a strenuous PCST computation. In order to avoid this issue a different transformation is introduced here (note that at least one edge may be assumed to be assigned negative cost, otherwise the problem is reduced to finding a minimum spanning tree): Transformation 4 (MWCSP to SAP). Let P = (V, E, p) be a MWCSP, construct a SAP P 00 = (V 00 , A00 , T 00 , c00 , r00 ): 1. Set V 0 := V , A0 := {(v, w) : {v, w} ∈ E}, 0 2. c0 : A0 → Q≥0 such that for a = (v, w) ∈ A : −p(w), if p(w) < 0 c0 (a) = 0, otherwise 0 3. p0 : V 0 →  Q≥0 such that for v ∈ V : p(v), if p(v) > 0 p0 (v) = 0, otherwise

4. Perform Transformation 3 to (V 0 , A0 , c0 , p0 ), slightly changed in such a way, that in step 2 instead of constructing a new arc set, A0 is being used.

9

Table 4: Number of terminals after transforming instance

Transformation 4

transformation from [25]

71 194 250 55 67 150 85 114

5226 5226 5226 3863 2034 3523 3514 2853

drosophila001 drosophila005 drosophila0075 HCMV lymphoma metabol expr mice 1 metabol expr mice 2 metabol expr mice 3

Claim 5. Let P = (V, E, p) be a MWCSP instance and P 00 its transformation obtained by Transformation 4 (which is a SAP incorporating the constraint (9) ), then each solution S 00 to P 00 corresponds to a solution S to P . The latter is obtained by the set of vertices VS = {v ∈ V : v ∈ VS0000 } and the set of edges ES = {{v, w} ∈ E : (v, w) ∈ A00S 00 or (w, v) ∈ A00S 00 }. If S 00 is optimal with respect to P 00 , so is S to P . Furthermore the objective value C(S) of S can be computed out of the objective value C 00 (S 00 ) of S 00 : X C(S) = −C 00 (S 00 ) + p(v) v∈V :p(v)>0

For all (real-world) DIMACS instances, Transformation 4 results in problems with fewer terminals by far compared to the tranformation described in [25], as most of the vertex weights are nonpositive, see Table 4. 3.0.5

Computational Results

We performed computational experiments on the ACTMOD test set of the DIMACS Challenge. Since the test set consists of only eight instances, we present detailed computational results in Table 5. We see that for all but the three largest instances, SCIP-Jack was able to solve the problem to optimality, the five smaller instances are solved without branching in less then 200 seconds. It should be noted that the performance of SCIP-Jack on the ACTMODPC test set which contains the same problems, but already transformed to PCSTP by the transformation described in [25], is significantly worse. Thus, at least for SCIP-Jack, our transformation is clearly superior. Table 5. Detailed computational results for test set ACTMOD. Instance drosophila001 drosophila005 drosophila0075 HCMV lymphoma metabol expr mice 1 metabol expr mice 2 metabol expr mice 3

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

5298 5421 5477 3919 2102 3674 3600 2968

187214 187952 188288 58916 15914 9590 9174 7354

72 195 251 56 68 151 86 115

24.8802052 179.291307 261.034691 7.55431486 70.1663087 544.94837 241.077524 508.260877

23.6640647 113.379745 260.523557 7.55431486 70.1663087 544.94837 241.077524 508.260877

5.1 58.1 0.2 0.0 0.0 0.0 0.0 0.0

8350 65 93 1 1 1 1 1

timeout timeout timeout 186.9 21.1 89.1 9.0 20.8

The Degree-Constrained Steiner Tree Problem The degree-constrained Steiner tree problem (DCSTP ), is a STP with an additional degree constraint for each node. The objective is to find a minimum solution to the STP such that the

10

degree of each node in the Steiner tree is not larger than the given limit. The DCSTP is implemented by just adding the additional degree constraints for each node as linear constraints to the directed-cut-formulation (Formulation 1). 3.0.6

Computational Results

We did computational experiments for the 20 instances in the TreeFam test set of the DIMACS Challenge. Our current constructive heuristic does not take the degree constraints into account and therefore does not find any feasible solutions. We are currently in the process of implementing a DCSTP specific primal heuristic in order to change this situation. With the current version, a primal bound is found for only 8 of the 20 instances in the test set, and only 5 instances can be solved to optimality. This shows how important good primal heuristics are in the context of STP. Table 6. Detailed computational results for test set TreeFam. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

TF101057-t1 TF101057-t3 TF101125-t1 TF101125-t3 TF101202-t1 TF101202-t3 TF102003-t1 TF102003-t3 TF105035-t1 TF105035-t3 TF105272-t1 TF105272-t3 TF105419-t1 TF105419-t3 TF105897-t1 TF105897-t3 TF106403-t1 TF106403-t3 TF106478-t1 TF106478-t3

52 52 304 304 188 188 832 832 237 237 476 476 55 55 314 314 119 119 130 130

2652 2652 92112 92112 35156 35156 691392 691392 55932 55932 226100 226100 2970 2970 98282 98282 14042 14042 16770 16770

35 35 155 155 72 72 407 407 104 104 223 223 24 24 133 133 46 46 54 54

3477.12274 2756 66252.2458 53680.8338 79447.8948 77800.9395 190335.559 176175.97 34479.267 32460.0283 131751.126 122822.143 18668 18223 105499.898 96168.5484 54124 53760 55041.963 54757.8148

– 2756 – – – 78043 – – – – – – 18668 18223 – – 54124 53760 55192 54849

– 0.0 – – – 0.3 – – – – – – 0.0 0.0 – – 0.0 0.0 0.3 0.2

519787 1861 1176 3232 10178 22467 29 100 6141 4232 231 305 17901 53 1082 2637 853 94 88895 101916

timeout 71.1 timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout 806.6 12.3 timeout timeout 738.9 181.2 timeout memout

The Group Steiner Tree Problem The group Steiner tree problem (GSTP ) is another generalization of the Steiner tree problem, where the concept of terminals as a set of vertices to be interconnected is extended to a set of vertex groups: Given an undirected graph G = (V, E), edge costs c : E → Q≥0 and a series of vertex subsets T1 , ...Ts ⊂ V , s ∈ N, a minimum cost tree spanning at least one vertex of each subset is required. Since by substituting each terminal t by {t} every STP can be considered as a GSTP, the latter is N P-hard as well. Altough a generalization, each GSP instance (V, E, T1 , .., TS , c) can be transformed to a STP following the subsequent scheme: Enlarge the graph by adding for each group Ti a new vertex ti and edges {ti , v} of high cost to each v ∈ V . Regarding the set {t1 , ..., ts } as terminals, each solution to the STP on the enlarged graph corresponds to a solution to the GSP , obtained by removing all artificial edges {ti , v}, i = 1, ..., s, v ∈ V . This approach has already been deployed by [26] to solve group Steiner tree problems and proved to be competitive with specialized solvers at the time of publishing. Since no GSTP instances have been published in the course of the DIMACS Challenge yet and the raison d’ˆetre of the GSTP as a part of this paper might therefore be questioned anyway, we refrain from presenting a more formal delineation of the transformation and refer to [26] instead.

11

The Length-Constrained Steiner Tree Problem The length-constrained Steiner tree problem (LCSTP ) as compared to a STP incorporates the additional condition, that for a Steiner tree to be feasible the number of its edges may not exceed a predetermined bound. The cut formulation (Formulation 1) used by SCIP-Jack can be easily extended to cover this variation by adding one extra inequality bounding the sum of all (binary) arc variables (denoted by ya ). No LCSTP instances have yet been published in the DIMACS Challenge, but shall be in the near future.

4

From single core to distributed parallel

SCIP has two parallel extensions ParaSCIP [27] and FiberSCIP [28], which are built by using the Ubiquity Generator Framework ( UG) [28]. We have developed libraries of them to preserve the extendability of SCIP also for ParaSCIP and FiberSCIP. In order to make a solver for a specific problem, users of SCIP need to write their own user defined plugin code. When using the libraries, this problem specific code can be used as it is for a parallelization by adding a small glue code and linking to one of the libraries. In this way, users obtain their own problem specific parallel optimization solver, which can do parallel tree search basically on a distributed memory computing environment. The user gets the three main features of UG: several ramp-up mechanisms (the ramp-up is the process from the begining of the computation until all available solvers become busy), a dynamic load balancing mechanism for parallel tree search, and a check-pointing and restarting mechanism. For more details about the parallelization, see [27, 28]. This has been developed and tested for several problem specific parallel optimization solvers based on SCIP and with both libraries. The parallel version of SCIP-Jack is one of them. Therefore, we did not need to describe anything about parallelization in the previous sections and realized it by just using the libraries. However, there is one major difference in the parallelization of SCIP-Jack compared to ParaSCIP for general MIP: When a branch-and-bound node is transferred from one solver to the other via the work load coordinating process, local cuts generated within the first solver are transferred to the receiving solver. For general MIP, we only transfer bound changes of variables in the default setting. We present computational results for the open instances of the PUC test set from SteinLib. The main purpose of the parallel runs is to provide the optimal solutions to as many instances as possible. The development of the sequential and the parallel version of SCIP-Jack had been continuing concurrently, so our results for the open instances were obtained by using the intermediate development code. When the development code made a significant improvement in the sequential version, we just restarted the computation by giving the best incumbent solution found so far and when the code change was not significant, we continued the computation from a check point of the previous run. For the computations, we used PC clusters and supercomputers as they were available. We conducted a few big jobs which used over 4,000 solvers, but still, most of the computations were conducted with less than 192 solvers. In contrast to the previous experiments, we used CPLEX 12.6 as the underlying LP solver. The biggest scale computation we did with ParaSCIP before was a 35,200 cores run on Titan which is located at Oak Ridge National Laboratory. We expect SCIP-Jack to also run on such a large scale computing environment, though we have conducted relatively small scale computational experiments so far. Table 7 shows the improvements on the open instances of the PUC test set as of 11th September. We list the number of nodes, edges, and terminals, as well as the best known primal bound and the primal solution value obtained by our experiments with the parallel SCIP-Jack version. For 13 of the 32 unsolved instances, we were able to to improve the best known solution. In this

12

Table 7: Primal bound improvements for unsolved PUC instances instance

|V |

|E|

|T |

best

SCIP-Jack

instance

|V |

|E|

|T |

best

SCIP-Jack

bip52p bip52u bip62p bip62u bipa2p bipa2u cc10-2p cc10-2u cc11-2p cc11-2u cc12-2p cc12-2u cc3-10p cc3-10u cc3-11p cc3-11u

2200 2200 1200 1200 3300 3300 1024 1024 2048 2048 4096 4096 1000 1000 1331 1331

7997 7997 10002 10002 18073 18073 5120 5120 11263 11263 24574 24574 13500 13500 19965 19965

200 200 200 200 300 300 135 135 244 244 473 473 50 50 61 61

24535 234 22870 220 35379 341 35379 342 63826 614 121106 1179 12860 125 15609 153

24526 234 22843 219 35337 339 35531 345 63968 623 122910 1199 12915 126 15729 153

cc3-12p cc3-12u cc6-3p cc6-3u cc7-3p cc7-3u cc9-2p cc9-2u hc10p hc10u hc11p hc11u hc12p hc12u hc9p hc9u

1728 1728 729 729 2187 2187 512 512 1024 1024 2048 2048 4096 4096 512 512

28512 28512 4368 4368 15308 15308 2304 2304 5120 5120 11264 11264 24576 24576 2304 2304

74 74 76 76 222 222 64 64 512 512 1024 1024 2048 2048 256 256

18838 186 20456 197 57088 552 17296 167 60494 581 119779 1154 236949 2275 30258 292

19144 188 20270? 197? 59210 562 17221 167? 59839 575 119689 1153 237000 2274 30242 292

case, our result is printed bold, the three instances for which we also proved optimality of the solution are marked by an asterisk.

5

Conclusions

We have shown that incorporating the mathematical progress of the last 15 years into a wellknown model for Steiner trees can have a significant impact in several dimensions. First, the amount of problem specific code is notably reduced while at the same time the number of general solution methods available, e.g., cutting planes, has increased and will be kept up-to-date just by the continous improvements in the framework. Furthermore, the opportunity to solve instances in a massively parallel distributed memory enviroment has been added at minimal cost. The use of a general MIP solver allows us to be extremly flexible with the model to be solved. We were able to support solving seven variants of the Steiner Tree problem with the same code, and the support of further restrictions in the model is straightforward. Using all this prebuildtechnology we were able to solve three previously unsolved instances and improve the best known solution for another 11 instances. And finally, to our best knowledge this is the first time that a powerful exact Steiner tree solver code is available in source code to the scientific community. We hope that this will foster the use of Steiner trees in modelling real-world phenomena as it has already been the case in genetics.

References [1] Karp, R.: Reducibility among combinatorial problems. In Miller, R., Thatcher, J., eds.: Complexity of Computer Computations. Plenum Press (1972) 85–103 [2] Koch, T., Martin, A., Voß, S.: SteinLib: An updated library on Steiner tree problems in graphs. In Du, D.Z., Cheng, X., eds.: Steiner Trees in Industries. Kluwer (2001) 285–325 ZIB-Report 00-37. [3] Chvatal, V.: A farmer’s daughter in our midst: An interview with vasek chvatal (1996) http://www.cs.rutgers.edu/~mcgrew/Explorer/1.2/. [4] Koch, T., Martin, A.: Solving Steiner tree problems in graphs to optimality. Networks 32 (1998) 207–232 ZIB-Report SC 96-42. 13

[5] Bornd¨ orfer, R., Ho` ang, N.D., Karbstein, M., Koch, T., Martin, A.: How many Steiner terminals can you connect in 20 years? In J¨ unger, M., Reinelt, G., eds.: Facets of Combinatorial Optimization. Springer (2013) 215–244 ZIB-Report 13-57. [6] Koch, T., Martin, A., Pfetsch, M.E.: Progress in academic computational integer programming. In J¨ unger, M., Reinelt, G., eds.: Facets of Combinatorial Optimization. Springer (2013) 483–506 [7] Polzin, T.: Algorithms for the Steiner problem in networks. PhD thesis, Saarland University (2004) [8] Achterberg, T.: SCIP: Solving constraint integer programs. Mathematical Programming Computation 1(1) (2009) 1–41 [9] Mittelmann, H.: Benchmarks for optimization software (last accessed Sep. 8, 2014) http: //plato.asu.edu/bench.html. [10] Duin, C.: Steiner Problems in Graphs. PhD thesis, University of Amsterdam (1993) [11] Achterberg, T., Berthold, T.: Hybrid branching. In van Hoeve, W.J., Hooker, J.N., eds.: Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, 6th International Conference, CPAIOR 2009. Volume 5547 of Lecture Notes in Computer Science., Springer (May 2009) 309–311 [12] Achterberg, T.: Constraint Integer Programming. PhD thesis, Technische Universit¨at Berlin (2007) [13] Takahashi, H., A., M.: An approximate solution for the steiner problem in graphs. Math. Jap. 24 (1980) 573 – 577 [14] Uchoa, E., Werneck, R.F.F.: Fast local search for steiner trees in graphs. In Blelloch, G.E., Halperin, D., eds.: ALENEX, SIAM (2010) 1–10 [15] Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. PhD thesis, Technische Universit¨ at Berlin (1996) [16] Leitner, M., Ljubic, I., Luipersbeck, M., Prossegger, M., Resch, M.: New real-world instances for the steiner tree problem in graphs. Technical report, ISOR, Uni Wien (2014) [17] Garey, M., Johnson, D.: The rectilinear Steiner tree problem is np-complete. SIAM Journal of Applied Mathematics 32 (1977) 826–834 [18] Warme, D., Winter, P., Zachariasen, M.: Exact algorithms for plane Steiner tree problems: A computational study. In Du, D.Z., Smith, J., Rubinstein, J., eds.: Advances in Steiner Trees. Kluwer (2000) 81–116 [19] Zachariasen, M., Rohe, A.: Rectilinear group steiner trees and applications in VLSI design. Technical Report 00906, Institute for Discrete Mathematics (2000) [20] Emanet, N.: The rectilinear steiner tree problem (2010) [21] Chowdhury, S.A., Shackney, S., Heselmeyer-Haddad, K., Ried, T., Schffer, A.A., Schwartz, R.: Phylogenetic analysis of multiprobe fluorescence in situ hybridization data from tumor cell populations. Bioinformatics 29(13) (2013) 189–198

14

[22] Hanan, M.: On Steiner’s problem with rectilinear distance. SIAM Journal of Applied Mathematics 14(2) (1966) 255–265 [23] Snyder, T.L.: On the exact location of steiner points in general dimension. SIAM J. Comput. 21(1) (1992) 163–180 [24] Ljubi, I.: Exact and memetic algorithms for two network design problems (2004) [25] Dittrich, M.T., Klau, G.W., Rosenwald, A., Dandekar, T., Mller, T.: Identifying functional modules in protein-protein interaction networks: an integrated exact approach. In: ISMB. (2008) 223–231 [26] Duin, C.W., Volgenant, A., Vo, S.: Solving group steiner problems as steiner problems. European Journal of Operational Research 154(1) (2004) 323–329 [27] Shinano, Y., Achterberg, T., Berthold, T., Heinz, S., Koch, T.: Parascip: a parallel extension of scip. In Bischof, C., Hegering, H.G., Nagel, W., Wittum, G., eds.: Competence in High Performance Computing 2010. (2012) 135 – 148 [28] Shinano, Y., Heinz, S., Vigerske, S., Winkler, M.: Fiberscip - a shared memory parallelization of scip. Technical Report 13-55, ZIB, Takustr.7, 14195 Berlin (2013)

A

Detailed Computational Results

Here, we present instance-wise results for the STP (Tables 8–12), RSMTP (Tables 13–21), and PCSPG (Tables 22–24) test sets discussed in Sections 2 and 3. For all instances, we list the number of nodes, arcs, and terminals in the presolved graph, together with the dual bound, primal bound, and optimality gap in percent at the end of the solving process, i.e., after the instance was solved or the time or memory limit was reached. Additionally, we show the number of nodes and the solution time. We print “timeout” and “memout” if the time or memory limit was reached, respectively. For the STP instances (Tables 8–12), we additionally depict the presolving results. This includes the number of nodes, arcs, and terminals in the presolved problem together with the presolving time. Table 8. Detailed computational results for test set SP.

Instance antiwheel5 design432 oddcycle3 oddwheel3 se03 w13c29 w23c23 w3c571

|V |

Original |A|

10 8 6 7 13 783 1081 3997

30 40 18 18 42 4524 6348 20556

|T |

|V |

5 4 3 4 4 406 552 2284

10 8 8 7 13 783 1081 3997

Presolved |A| |T | 30 38 0 18 42 4524 6348 20556

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

0.0 0.0 0.0 0.0 0.0 0.2 0.4 1.9

7 9 4 5 12 507 689 2853

7 9 4 5 12 507 697 2856

0.0 0.0 0.0 0.0 0.0 0.0 1.2 0.1

1 1 0 1 1 185 152 1

0.0 0.0 0.0 0.0 0.0 33826.8 timeout timeout

5 4 0 4 4 406 552 2284

Table 9. Detailed computational results for test set I640.

15

Instance

|V |

Original |A|

|T |

|V |

i640-001 i640-002 i640-003 i640-004 i640-005 i640-011 i640-012 i640-013 i640-014 i640-015 i640-021 i640-022 i640-023 i640-024 i640-025 i640-031 i640-032 i640-033 i640-034 i640-035 i640-041 i640-042 i640-043 i640-044 i640-045 i640-101 i640-102 i640-103 i640-104 i640-105 i640-111 i640-112 i640-113 i640-114 i640-115 i640-121 i640-122 i640-123 i640-124 i640-125 i640-131 i640-132 i640-133 i640-134 i640-135 i640-141 i640-142 i640-143 i640-144 i640-145 i640-201 i640-202 i640-203 i640-204 i640-205 i640-211 i640-212 i640-213 i640-214 i640-215 i640-221 i640-222

640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640

1920 1920 1920 1920 1920 8270 8270 8270 8270 8270 408960 408960 408960 408960 408960 2560 2560 2560 2560 2560 81792 81792 81792 81792 81792 1920 1920 1920 1920 1920 8270 8270 8270 8270 8270 408960 408960 408960 408960 408960 2560 2560 2560 2560 2560 81792 81792 81792 81792 81792 1920 1920 1920 1920 1920 8270 8270 8270 8270 8270 408960 408960

9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 50 50 50 50 50 50 50 50 50 50 50 50

314 301 301 303 318 640 640 640 640 640 640 640 640 640 640 483 475 484 479 478 640 640 640 640 640 320 312 305 304 324 640 640 640 640 640 640 640 640 640 640 481 480 482 485 479 640 640 640 640 640 311 320 326 324 327 640 640 640 640 640 640 640

Presolved |A| |T | 1260 1224 1224 1238 1272 8270 8270 8270 8270 8270 408904 408904 408904 408904 408904 2234 2226 2244 2232 2232 81788 81792 81792 81790 81792 1262 1240 1232 1234 1270 8270 8270 8270 8270 8270 408408 408408 408408 408408 408408 2234 2228 2236 2244 2226 81714 81720 81726 81716 81722 1236 1250 1274 1270 1272 8270 8270 8268 8270 8262 406608 406608

9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 25 25 24 24 25 25 25 25 25 25 25 25 25 25 25 25 24 25 25 25 25 25 25 25 25 47 48 48 49 48 50 50 50 50 50 50 50

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

0.1 0.1 0.2 0.1 0.1 0.4 0.3 0.4 0.3 0.4 71.4 73.7 75.5 71.4 70.8 0.7 0.7 0.7 0.7 0.3 12.9 6.7 6.9 12.7 6.4 0.2 0.1 0.1 0.1 0.1 0.4 0.4 0.4 0.4 0.4 49.0 64.9 80.3 72.5 71.5 0.3 0.3 0.3 0.3 0.3 13.9 13.7 13.8 13.7 12.8 0.3 0.3 0.2 0.1 0.2 0.5 0.4 1.2 0.8 1.4 55.1 74.2

4033 3588 3438 4000 4006 2392 2465 2399 2171 2347 1749 1756 1754 1751 1745 3278 3187 3260 2953 3292 1897 1934 1931 1938 1866 8764 9109 8819 9040 9623 6167 6304 6249 6308 6217 4906 4899 4904.92308 4897.30405 4908.6 8097 8154 8021 7754 7696 5177.37742 5178.35294 5194 5205 5194.0884 16079 16324 16124 16239 16616 11874.1184 11795 11879 11808.77 11989.5913 9783.10008 9768.21097

4033 3588 3438 4000 4006 2392 2465 2399 2171 2347 1749 1756 1754 1751 1745 3278 3187 3260 2953 3292 1897 1934 1931 1938 1866 8764 9109 8819 9040 9623 6167 6304 6249 6308 6217 4906 4911 4913 4908 4920 8097 8154 8021 7754 7696 5200 5193 5194 5205 5218 16079 16324 16124 16239 16616 11991 11795 11879 11898 12081 9826 9798

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.2 0.2 0.2 0.0 0.0 0.0 0.0 0.0 0.4 0.3 0.0 0.0 0.5 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.8 0.8 0.4 0.3

1 1 1 1 1 1 1 1 1 5 1 1 1 1 1 1 1 1 1 1 1 151 167 259 1 1 1 1 1 5 375 127 941 267 1373 3 5 4 3 6 1 1 1 1 1 1636 1067 693 1091 1437 1 1 1 1 2 11030 5621 18049 15240 16974 7 6

0.5 0.4 0.3 0.8 0.6 6.3 13.0 8.8 3.1 23.1 17056.3 30626.4 26586.6 23828.4 21453.1 1.8 1.5 2.4 1.7 1.8 369.4 3784.2 4551.1 6021.5 457.3 2.9 0.6 1.3 1.4 22.4 563.9 441.5 1865.1 633.3 2242.4 40975.2 timeout timeout timeout timeout 3.5 19.6 2.4 4.7 5.5 timeout timeout 25448.7 37225.1 timeout 1.2 1.7 3.8 1.7 4.8 timeout 11844.3 31721.9 timeout timeout timeout timeout

cont. next page

16

Instance

|V |

Original |A|

|T |

|V |

i640-223 i640-224 i640-225 i640-231 i640-232 i640-233 i640-234 i640-235 i640-241 i640-242 i640-243 i640-244 i640-245 i640-301 i640-302 i640-303 i640-304 i640-305 i640-311 i640-312 i640-313 i640-314 i640-315 i640-321 i640-322 i640-323 i640-324 i640-325 i640-331 i640-332 i640-333 i640-334 i640-335 i640-341 i640-342 i640-343 i640-344 i640-345

640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640 640

408960 408960 408960 2560 2560 2560 2560 2560 81792 81792 81792 81792 81792 1920 1920 1920 1920 1920 8270 8270 8270 8270 8270 408960 408960 408960 408960 408960 2560 2560 2560 2560 2560 81792 81792 81792 81792 81792

50 50 50 50 50 50 50 50 50 50 50 50 50 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160

640 640 640 492 493 507 488 484 640 640 640 640 640 352 302 342 345 304 640 639 640 640 640 640 640 640 640 640 495 506 503 511 516 640 640 640 640 640

Presolved |A| |T | 406608 406608 406608 2260 2260 2282 2236 2244 81392 81404 81408 81356 81414 1294 1158 1260 1248 1120 8058 8034 8064 8054 8038 383838 383838 383838 383838 383838 2222 2260 2232 2276 2294 77066 76886 76968 77204 77070

50 50 50 50 49 48 49 50 50 50 50 50 50 132 113 127 136 120 160 160 160 160 160 160 160 160 160 160 151 154 148 155 153 160 160 160 160 160

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

73.6 77.1 70.1 0.3 0.8 1.0 0.7 0.7 13.3 12.7 13.2 13.0 13.2 0.3 0.3 0.3 0.3 0.4 1.1 1.6 1.6 1.6 1.6 71.0 74.1 62.0 60.6 54.2 0.9 0.3 1.0 0.8 0.8 12.4 11.4 11.8 12.7 13.0

9777.07161 9774.44793 9774.57873 15014 14630 14797 15203 14803 10150.0275 10126.7859 10154.9661 10155.3296 10154.9237 45005 45736 44922 46233 45902 35343.4495 35377.61 35240.2339 35167.5667 35337.8654 30995.5736 30989.6609 30999.9283 30999.3726 30987.5937 42796 42548 42345 42768 43035 31864.8529 31822.5062 31841.3245 31829.3452 31816.5146

9815 9805 9810 15014 14630 14797 15203 14803 10250 10195 10215 10263 10223 45005 45736 44922 46233 45902 35958 35973 35543 35596 35784 31218 31140 31172 31112 31300 42796 42548 42345 42768 43035 32108 32001 32044 32014 32020

0.4 0.3 0.4 0.0 0.0 0.0 0.0 0.0 1.0 0.7 0.6 1.1 0.7 0.0 0.0 0.0 0.0 0.0 1.7 1.7 0.9 1.2 1.3 0.7 0.5 0.6 0.4 1.0 0.0 0.0 0.0 0.0 0.0 0.8 0.6 0.6 0.6 0.6

7 7 5 53 3 5 1 81 221 436 226 201 377 1 1 1 1 1 4303 4058 7643 10793 8566 10 9 7 9 8 480 69 217 719 433 75 83 83 75 108

timeout timeout timeout 108.9 25.3 74.7 4.6 200.1 timeout timeout timeout timeout timeout 4.6 6.0 1.1 4.3 4.4 timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout 349.8 140.3 265.1 811.1 448.5 timeout timeout timeout timeout timeout

Table 10. Detailed computational results for test set PUC. Instance

|V |

Original |A|

|T |

|V |

bip42p bip42u bip52p bip52u bip62p bip62u bipa2p bipa2u bipe2p bipe2u cc10-2p cc10-2u cc11-2p cc11-2u cc12-2p cc12-2u cc3-10p cc3-10u cc3-11p cc3-11u cc3-12p cc3-12u

1200 1200 2200 2200 1200 1200 3300 3300 550 550 1024 1024 2048 2048 4096 4096 1000 1000 1331 1331 1728 1728

7964 7964 15994 15994 20004 20004 36146 36146 10026 10026 10240 10240 22526 22526 49148 49148 27000 27000 39930 39930 57024 57024

200 200 200 200 200 200 300 300 50 50 135 135 244 244 473 473 50 50 61 61 74 74

990 990 1819 1819 1199 1199 3140 3140 550 550 1024 1024 2048 2048 4096 4096 1000 1000 1331 1331 1728 1728

Presolved |A| |T | 7234 7220 14666 14652 20000 20000 35592 35590 10026 10026 10240 10240 22526 22526 49148 49148 27000 27000 39930 39930 57024 57024

200 200 200 200 200 200 300 300 50 50 135 135 244 244 473 473 50 50 61 61 74 74

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

1.2 0.9 7.0 3.4 3.1 2.7 21.6 13.0 0.7 0.6 0.8 0.5 3.7 2.2 16.3 9.4 1.4 1.7 3.3 2.4 5.5 4.5

24493.4799 233.432193 24247.4802 229.77802 22493.7726 214.079797 34707.1104 329.708754 5616 54 34510.6406 334.569953 62152.4689 602.858649 118552.69 1149.69926 12227.5067 117.783609 14790.4955 143.348092 17799.313 171.826667

24670 236 24693 234 22927 221 36093 345 5616 54 36320 349 64870 636 125228 1218 13285 130 16195 159 19483 191

0.7 1.1 1.8 1.8 1.9 3.2 4.0 4.6 0.0 0.0 5.2 4.3 4.4 5.5 5.6 5.9 8.6 10.4 9.5 10.9 9.5 11.2

43156 47264 13882 11288 3280 2878 249 222 26323 106 1 1 1 1 1 1 1 1 1 1 1 1

timeout timeout timeout timeout timeout timeout timeout timeout 14915.6 9407.0 timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout

cont. next page

17

Instance cc3-4p cc3-4u cc3-5p cc3-5u cc5-3p cc5-3u cc6-2p cc6-2u cc6-3p cc6-3u cc7-3p cc7-3u cc9-2p cc9-2u hc10p hc10u hc11p hc11u hc12p hc12u hc6p hc6u hc7p hc7u hc8p hc8u hc9p hc9u

|V |

Original |A|

64 64 125 125 243 243 64 64 729 729 2187 2187 512 512 1024 1024 2048 2048 4096 4096 64 64 128 128 256 256 512 512

576 576 1500 1500 2430 2430 384 384 8736 8736 30616 30616 4608 4608 10240 10240 22528 22528 49152 49152 384 384 896 896 2048 2048 4608 4608

|T |

|V |

8 8 13 13 27 27 12 12 76 76 222 222 64 64 512 512 1024 1024 2048 2048 32 32 64 64 128 128 256 256

64 64 125 125 243 243 64 64 729 729 2187 2187 512 512 1024 1024 2048 2048 4096 4096 64 64 128 128 256 256 512 512

Presolved |A| |T | 576 576 1500 1500 2430 2430 384 384 8736 8736 30616 30616 4608 4608 10240 10240 22528 22528 49152 49152 384 384 896 896 2048 2048 4608 4608

8 8 13 13 27 27 12 12 76 76 222 222 64 64 512 512 1024 1024 2048 2048 32 32 64 64 128 128 256 256

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.0 0.3 0.3 4.5 2.9 0.2 0.1 1.4 0.9 4.5 2.7 19.0 10.8 0.0 0.0 0.0 0.0 0.1 0.0 0.2 0.1

2338 23 3468.35525 33.6241486 – 69.6282699 3271 32 20163.9566 195.58884 55305.5296 536.098276 16879.0806 163.647679 59230.2518 567.777778 117382.864 1125.22675 232821.911 2221.43833 4003 39 7809.64565 74.3284618 15169.7011 145.186012 29919.6174 286.875

2338 23 3661 36 – 71 3271 32 20551 203 58817 572 17559 171 61201 596 123373 1198 244673 2324 4003 39 7913 77 15328 148 30293 293

0.0 0.0 5.6 7.1 – 2.0 0.0 0.0 1.9 3.8 6.3 6.7 4.0 4.5 3.3 5.0 5.1 6.5 5.1 4.6 0.0 0.0 1.3 3.6 1.0 1.9 1.2 2.1

20448 935 102403 102042 0 13356 593 19 801 1 1 1 266 426 304 35 20 1 1 1 16459 6919 946134 432639 134132 52209 8279 1281

745.2 118.0 timeout timeout memout timeout 40.0 17.4 timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout timeout 171.7 88.0 timeout timeout timeout timeout timeout timeout

Table 11. Detailed computational results for test set vienna-i-simple. Instance I001 I002 I003 I004 I005 I006 I007 I008 I009 I010 I011 I012 I013 I014 I015 I016 I017 I018 I019 I020 I021 I022 I023 I024 I025 I026 I027 I028 I029 I030 I031

|V |

Original |A|

|T |

|V |

30190 49920 44482 5556 10284 31754 15122 15714 33188 29905 25195 12355 18242 12715 48833 72038 15095 31121 25946 21808 16013 16224 22805 68464 23412 47429 85085 72701 69988 33188 54351

95496 155742 146838 17104 31960 105750 48742 51134 104014 94914 82596 39924 57952 41264 159974 230110 48182 102226 83290 69842 50538 51382 70614 217464 75904 158614 277776 230860 223608 107360 176422

1184 1665 3222 570 1017 2202 737 871 1262 943 1428 503 891 475 2493 4391 478 1898 866 594 392 437 582 3001 945 3334 3954 1790 2162 1263 2182

14202 23433 14756 820 1577 12541 6728 6022 14909 13043 8843 3191 6916 3611 19326 26428 7399 11931 10714 6483 5216 8582 13470 30317 8924 16221 39033 42555 31948 11653 19827

Presolved |A| |T | 44196 72608 44758 2296 4596 37898 20848 18440 46400 41200 27312 10182 21284 11608 60326 80322 23470 36540 34534 20884 17150 27268 41972 94236 28278 49496 121424 133906 100798 36996 62754

980 1334 2438 297 530 1904 616 742 1090 833 1257 402 712 397 2208 3604 414 1605 767 516 314 378 430 2592 850 2734 3665 1639 1977 1139 1909

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

6439.2 21524.2 21519.0 122.8 636.2 6346.4 969.8 1526.8 9097.2 4585.5 2135.1 425.4 1347.1 310.5 14043.4 44170.9 1376.3 6399.5 2695.5 1285.6 564.9 1287.6 4419.1 43367.2 2086.7 27277.1 45607.4 43220.3 43512.7 3430.2 16850.0

253762410 398742243 788688122 279512692 390876350 504526027 177909660 201788202 275510588 207889674 317589880 118893243 193190339 105173465 592129138 – 109739695 463887832 217647693 146515460 106470644 106799980 131032600 – 232790758 927917236 – – – 321646787 577615634

253947459 399832427 788806491 279512692 390876350 504526124 177909660 201788202 275583163 207889674 317589880 118893243 193190339 105173465 592346523 – 109739695 463887832 217647693 146515460 106470644 106799980 131045335 – 232790758 928108049 – – – 321646787 578557879

0.1 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 – 0.0 0.0 0.0 0.0 0.0 0.0 0.0 – 0.0 0.0 – – – 0.0 0.2

1 1 1 1 1 3 1 1 1 1 15 1 1 1 1 0 1 3 3 1 1 1 1 0 3 1 0 0 0 2 1

timeout timeout timeout 137.4 696.4 timeout 6376.1 8168.4 timeout 21467.5 6335.9 971.6 6032.7 428.0 timeout timeout 3087.2 29082.9 39371.1 3212.3 2364.9 14003.7 timeout timeout 27044.1 timeout timeout timeout timeout 23821.5 timeout

cont. next page

18

Instance I032 I033 I034 I035 I036 I037 I038 I039 I040 I041 I042 I043 I044 I045 I046 I047 I048 I049 I050 I051 I052 I053 I054 I055 I056 I057 I058 I059 I060 I061 I062 I063 I064 I065 I066 I067 I068 I069 I070 I071 I072 I073 I074 I075 I076 I077 I078 I079 I080 I081 I082 I083 I084 I085

|V |

Original |A|

|T |

|V |

56023 18555 22311 30585 37208 13694 18747 8755 40389 47197 51896 10398 68905 14685 70843 28524 13189 30857 43073 27028 2363 3224 3803 13332 1991 33231 23527 9287 42008 39160 66048 26840 63158 3898 15038 20547 33118 9574 15079 33203 26948 21653 13316 57551 14023 20856 13294 19867 18695 25081 15592 89596 44934 9113

182798 59460 71032 100908 120712 44252 61278 28898 131640 150614 171100 33574 227778 46932 234418 92502 42438 99182 142552 90812 7522 10570 12426 43160 6352 110298 79256 29950 135144 127318 220982 87322 214690 12712 49192 66460 110254 32416 49216 108854 88388 70342 44066 190762 45790 68474 43896 62542 59416 81478 49576 297166 147454 28982

3017 636 735 1704 1411 427 967 347 1762 1193 2171 367 3358 421 3598 2354 358 990 2868 1524 40 126 38 570 51 1569 1256 363 1242 1458 3343 1645 3458 144 551 627 1553 543 550 1494 993 1847 653 2973 598 1787 835 565 548 888 515 4991 2319 301

19885 8396 8466 11793 15196 5696 6945 3573 16942 20988 22146 4050 29204 6387 28621 9548 4950 13446 16281 10913 193 634 639 4511 288 12501 6878 2787 17201 19607 20790 8589 29063 1085 4050 9701 10833 3121 5867 11720 10154 6820 3872 20636 4434 8572 5442 6936 6642 9563 5155 35552 14998 2762

Presolved |A| |T | 61072 26136 26930 36370 48196 18462 21676 11254 53390 66954 69624 12806 91078 20334 89474 28596 15908 43362 49762 33580 632 1988 2102 14176 966 38948 21426 8840 55516 61462 66376 26352 88664 3412 13048 30734 33748 9600 18786 36726 32760 20324 12098 64314 14022 25834 16630 22058 20928 30208 16406 108774 46704 8748

2494 564 639 1465 1286 400 819 316 1530 1052 1969 337 3035 390 3204 1843 322 843 2324 1348 23 105 28 482 33 1374 1036 288 1170 1350 2914 1306 3227 128 456 578 1340 466 509 1300 871 1367 558 2529 508 1504 720 504 516 770 448 4600 1958 256

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

20257.6 2081.8 1640.7 6098.7 5704.3 573.8 1099.3 176.6 9075.4 11913.3 9976.5 260.6 43414.1 532.9 27276.6 7629.2 342.3 3733.7 18588.4 3758.8 1.9 8.0 16.7 496.4 2.1 5101.4 1772.5 204.5 5778.6 14805.5 28286.0 4348.6 26830.8 18.0 282.1 1045.5 2846.5 148.8 468.3 3667.3 1653.8 2734.0 299.7 17838.9 372.4 3110.6 599.0 1116.0 819.6 2417.7 640.4 45781.9 10527.6 100.4

773096651 134461857 165115148 414440370 375231130 105720727 255767543 85566290 431192266 301541112 531659490 95722094 – 105944062 922196299 695163406 91509264 – 792423060 357230839 13309487 30854904 15841596 144164924 14171206 412746415 305024188 107617854 337290460 362806517 792505427 459801704 861816269 32965718 174219813 175540750 420730046 135161583 136700139 382539099 289019226 663004987 165573383 815292228 166249692 472503150 185525490 150506933 164299652 247527679 147407632 – 627187559 80628079

773096651 134461857 165115148 414440370 375270860 105720727 255767543 85566290 431580458 302010236 532211823 95722094 – 105944062 925766976 695163406 91509264 – 792672885 357230839 13309487 30854904 15841596 144164924 14171206 412746415 305024188 107617854 337290460 363072768 793194884 459801704 863190298 32965718 174219813 175540750 420730046 135161583 136700139 382539099 289019226 663004987 165573383 815502785 166249692 472503150 185525490 150506933 164299652 247527679 147407632 – 627187559 80628079

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.1 0.0 – 0.0 0.4 0.0 0.0 – 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.0 0.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 – 0.0 0.0

7 1 1 8 1 1 11 2 1 1 1 1 0 1 1 3 1 0 1 21 1 1 1 1 1 3 1 1 1 1 1 5 1 1 1 1 6 1 1 1 1 1 2 1 1 3 11 1 1 1 1 0 1 1

40655.9 4728.8 5985.7 9306.9 timeout 3500.7 5323.1 1038.5 timeout timeout timeout 1166.2 timeout 1542.9 timeout 28867.5 1132.8 memout timeout 21282.0 1.9 10.7 23.1 850.0 2.5 12126.5 2882.3 449.9 32276.3 timeout timeout 13411.7 timeout 66.1 552.6 9628.1 7215.9 762.5 3345.2 6109.1 11373.8 6073.6 518.5 timeout 2091.9 9812.7 2770.8 9160.2 5697.9 14752.1 3504.1 timeout 36099.5 409.2

Table 12. Detailed computational results for test set vienna-i-advanced. Instance I001a I002a I003a I004a I005a I006a I007a I008a

|V |

Original |A|

|T |

|V |

14675 23800 16270 867 1677 13339 6873 6522

44110 71516 47838 2476 4860 39064 20598 19258

941 1282 2336 263 491 1842 599 708

12565 20753 13295 551 1041 11431 5869 5424

Presolved |A| |T | 38920 64086 40280 1588 3054 34412 18118 16536

881 1226 2225 203 357 1784 576 695

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

2121.6 10811.0 3251.3 3.3 14.4 1803.3 511.0 410.2

253836156 399121823 788769523 279512692 390876350 504526035 177909660 201788202

253949289 399831580 788777471 279512692 390876350 504526035 177909660 201788202

0.0 0.2 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 5 1 1

timeout timeout timeout 7.9 26.4 16163.1 3765.8 3155.5

cont. next page

19

Instance I009a I010a I011a I012a I013a I014a I015a I016a I017a I018a I019a I020a I021a I022a I023a I024a I025a I026a I027a I028a I029a I030a I031a I032a I033a I034a I035a I036a I037a I038a I039a I040a I041a I042a I043a I044a I045a I046a I047a I048a I049a I050a I051a I052a I053a I054a I055a I056a I057a I058a I059a I060a I061a I062a I063a I064a I065a I066a I067a I068a I069a I070a

|V |

Original |A|

|T |

|V |

14977 13041 9298 3500 7147 3577 20573 27214 7571 12258 11693 6405 5195 8869 13724 32357 10055 18155 40772 43690 32979 12941 21054 21345 8500 9128 13129 17036 5886 7733 3719 18837 22466 23925 4511 31500 6775 32376 10622 4920 15045 17787 12130 160 693 540 4701 290 13078 7877 2800 18991 20958 23714 9600 31712 1185 4551 10318 12191 3508 6739

44870 39090 27370 10428 21216 10622 61082 79648 23142 36028 35248 19128 15722 27102 41726 96500 29922 53136 121110 132922 99254 38558 62820 62706 25400 27336 38840 50964 17738 22956 11066 56312 67736 71612 13480 93514 20454 96108 30880 14712 45426 52352 35784 474 2046 1634 13958 878 38736 23314 8314 57072 62930 70610 28084 93422 3512 13642 31176 36046 10312 20128

1053 782 1202 387 670 364 2119 3434 386 1549 732 508 295 356 403 2511 833 2661 3490 1597 1946 1093 1832 2454 548 606 1428 1258 392 798 306 1501 1014 1923 335 2954 378 3154 1791 320 821 2232 1337 23 102 25 483 34 1346 997 286 1158 1337 2812 1291 3182 119 417 579 1302 452 511

12851 10545 7382 2314 5733 2478 16470 21954 6618 9965 8962 4672 3639 7453 12167 27179 7563 14694 32761 38201 26985 9662 16103 16977 6963 6875 10481 13484 4557 6098 2953 14946 17905 19446 3531 25471 5476 25699 8673 3665 11740 14461 9924 91 514 375 3470 156 10377 5798 1685 14554 17563 17492 7337 27236 898 3260 8496 9183 2784 5172

Presolved |A| |T | 39724 32890 22558 7300 17582 7806 50918 66412 20846 30276 28532 14802 11808 23574 37854 84068 23750 44534 101492 119772 84432 30324 50500 51802 21572 21732 32168 42368 14556 18920 9182 46730 56692 60668 11078 78746 17306 79822 26012 11660 37542 44028 30348 278 1594 1214 10806 502 32042 17974 5294 46326 54742 54870 22308 82676 2786 10414 26706 28354 8512 16386

1015 738 1150 346 630 329 2044 3262 379 1495 717 477 277 345 360 2435 807 2566 3391 1562 1885 1062 1715 2302 528 577 1375 1213 389 767 294 1445 973 1875 324 2866 367 3033 1683 298 785 2146 1287 16 93 21 451 26 1282 922 247 1127 1317 2660 1209 3137 116 393 557 1219 431 497

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

3029.2 3235.1 581.9 60.7 480.5 54.3 4698.1 11972.9 399.8 1761.4 898.2 233.3 126.3 932.4 2412.2 9598.9 734.2 3132.3 17889.6 43256.4 13118.9 1625.1 4044.2 4909.8 783.9 425.8 2636.7 2401.6 181.8 321.4 70.4 3520.8 4601.1 4914.2 97.5 8693.4 316.1 8655.0 1162.9 122.6 1246.5 4753.3 1220.1 0.0 0.9 0.8 123.1 0.1 1724.6 401.0 34.0 2424.9 7525.1 6552.0 754.6 15243.8 4.6 80.2 506.7 1203.5 51.4 210.5

275488552 207889674 317589880 118893243 193190339 105173465 592240832 1110848130 109739695 463887832 217647693 146515460 106470644 106799980 131044872 756672940 232790758 928032223 975965014 – 489241617 321646787 – 773096651 134461857 165115148 – 375260864 105720727 255767543 85566290 431461983 301713564 531908798 95722094 804530061 105944062 925331983 695163406 91509264 294811505 792563895 357230839 13309487 30854904 15841596 144164924 14171206 412746415 305024188 107617854 337290460 362908665 – 459801704 862202260 32965718 174219813 175540750 – 135161583 136700139

275583456 207889674 317589880 118893243 193190339 105173465 592240832 1110940660 109739695 463887832 217647693 146515460 106470644 106799980 131044872 758557437 232790758 928032223 976964371 – 492266866 321646787 – 773096651 134461857 165115148 – 375260864 105720727 255767543 85566290 431566911 301947909 532213772 95722094 804534188 105944062 925505793 695163406 91509264 294811505 792610551 357230839 13309487 30854904 15841596 144164924 14171206 412746415 305024188 107617854 337290460 363077130 – 459801704 863191346 32965718 174219813 175540750 – 135161583 136700139

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.0 0.0 0.1 – 0.6 0.0 – 0.0 0.0 0.0 – 0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 – 0.0 0.1 0.0 0.0 0.0 – 0.0 0.0

1 1 21 1 1 1 3 1 1 1 3 1 1 1 1 1 3 7 1 0 1 3 0 7 1 1 0 5 1 3 2 1 1 1 1 1 1 1 3 1 1 1 20 1 1 1 1 1 5 1 6 1 1 0 1 1 1 1 1 0 1 1

timeout 10891.0 4737.1 220.2 3898.2 104.0 21463.2 timeout 2062.2 16113.2 13647.0 1191.3 1282.3 13596.7 41245.6 timeout 13328.0 37424.3 timeout timeout timeout 5277.8 memout 42145.1 3185.9 7877.9 memout 39870.4 2107.1 3374.4 667.3 timeout timeout timeout 881.5 timeout 1078.0 timeout 42910.9 546.9 17433.1 timeout 12131.3 0.1 1.8 3.1 442.8 0.2 6537.3 1216.7 59.4 23550.3 timeout memout 5681.3 timeout 61.3 291.3 5293.6 memout 717.6 3049.8

cont. next page

20

Instance I071a I072a I073a I074a I075a I076a I077a I078a I079a I080a I081a I082a I083a I084a I085a

|V |

Original |A|

|T |

|V |

12772 11628 7510 4441 23195 4909 9153 5864 7933 7589 10747 5850 34221 17050 2780

37772 34822 21746 13124 68724 14536 26726 17324 23614 22512 32058 17386 100602 50402 8246

1281 851 1337 548 2498 498 1490 692 497 499 751 435 4138 1918 243

10026 8650 6011 3169 18229 3504 7886 4945 5831 5650 8282 4161 26297 12995 1973

Presolved |A| |T | 31000 27612 17888 9788 56492 10968 23544 14992 18392 17666 26008 13132 80404 40152 6202

1236 819 1223 504 2399 459 1434 672 481 483 715 410 3863 1823 219

Time

Dual Bound

Primal Bound

Gap

Nodes

Time

1019.6 719.0 478.0 84.7 3590.6 131.4 690.7 227.8 354.8 223.3 616.5 214.3 13940.6 2101.5 26.4

382539099 289019226 663004987 165573383 815024079 – 472503150 185525490 150506933 164299652 247527679 147407632 1405059510 627187559 80628079

382539099 289019226 663004987 165573383 815505116 – 472503150 185525490 150506933 164299652 247527679 147407632 1405705190 627187559 80628079

0.0 0.0 0.0 0.0 0.1 – 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 0 3 15 1 1 1 1 1 3 1

2976.8 7775.9 3475.3 359.7 timeout memout 8114.8 1347.7 12664.5 2756.9 12797.4 2292.5 timeout 19063.4 119.9

Table 13. Detailed computational results for test set estein1. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

estein1-00 estein1-01 estein1-02 estein1-03 estein1-04 estein1-05 estein1-06 estein1-07 estein1-08 estein1-09 estein1-10 estein1-11 estein1-12 estein1-13 estein1-14 estein1-15 estein1-16 estein1-17 estein1-18 estein1-19 estein1-20 estein1-21 estein1-22 estein1-23 estein1-24 estein1-25 estein1-26 estein1-27 estein1-28 estein1-29 estein1-30 estein1-31 estein1-32 estein1-33 estein1-34 estein1-35 estein1-36 estein1-37 estein1-38 estein1-39 estein1-40 estein1-41

15 12 28 64 12 24 30 24 15 36 30 27 42 36 100 9 48 182 168 6 15 16 16 16 9 9 16 12 9 28 130 195 132 272 240 6 49 100 100 64 144 81

44 34 90 224 34 76 98 74 44 120 98 84 142 120 360 24 164 674 620 14 44 48 48 48 24 24 48 34 24 90 474 724 482 1022 898 14 168 360 360 224 526 288

5 6 7 8 6 12 12 12 7 6 6 9 9 12 14 3 10 62 14 3 5 4 4 4 3 3 4 4 3 12 14 19 18 19 18 4 8 14 14 10 20 15

1.87 1.64 2.36 2.54 2.26 2.42 2.48 2.36 1.64 1.77 1.44 1.8 1.5 2.6 1.48 1.6 2 4.04 1.88 1.12 1.92 0.63 0.65 0.3 0.23 0.15 1.33 0.24 2 1.1 2.59 3.12 2.68 2.41 1.51 0.9 0.9 1.66 1.66 1.55 2.24 1.53

1.87 1.64 2.36 2.54 2.26 2.42 2.48 2.36 1.64 1.77 1.44 1.8 1.5 2.6 1.48 1.6 2 4.04 1.88 1.12 1.92 0.63 0.65 0.3 0.23 0.15 1.33 0.24 2 1.1 2.59 3.12 2.68 2.41 1.51 0.9 0.9 1.66 1.66 1.55 2.24 1.53

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0.0 0.0 0.0 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.3 0.0 0.0 0.3 0.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7 1.4 0.6 7.2 2.3 0.0 0.0 0.6 0.4 0.2 0.2 0.2

cont. next page

21

Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

estein1-42 estein1-43 estein1-44 estein1-45

195 196 270 16

724 728 1014 48

16 17 19 16

2.55 2.52 2.2 1.5

2.55 2.52 2.2 1.5

0.0 0.0 0.0 0.0

1 1 1 1

1.2 2.0 4.6 0.0

Table 14. Detailed computational results for test set estein10. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

estein10-0 estein10-10 estein10-11 estein10-12 estein10-13 estein10-14 estein10-1 estein10-2 estein10-3 estein10-4 estein10-5 estein10-6 estein10-7 estein10-8 estein10-9

100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

360 360 360 360 360 360 360 360 360 360 360 360 360 360 360

10 10 10 10 10 10 10 10 10 10 10 10 10 10 10

2.292075 2.223952 1.962632 1.948392 2.185612 1.864192 1.913409 2.600368 2.046109 1.881893 2.654077 2.602508 2.50562 2.206235 2.39361

2.292075 2.223952 1.962632 1.948392 2.185612 1.864192 1.913409 2.600368 2.046109 1.881893 2.654077 2.602508 2.50562 2.206235 2.39361

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0.3 0.5 0.2 0.1 0.3 0.3 0.3 0.2 0.3 0.1 0.3 0.2 0.2 0.3 0.1

Table 15. Detailed computational results for test set estein20. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

estein20-0 estein20-10 estein20-11 estein20-12 estein20-13 estein20-14 estein20-1 estein20-2 estein20-3 estein20-4 estein20-5 estein20-6 estein20-7 estein20-8 estein20-9

400 400 400 400 400 400 400 400 400 400 400 400 400 400 400

1520 1520 1520 1520 1520 1520 1520 1520 1520 1520 1520 1520 1520 1520 1520

20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

3.370387 2.712391 3.04514 3.443865 3.406237 3.230378 3.263948 2.784744 2.762439 3.403317 3.601423 3.493487 3.801638 3.673995 3.402477

3.370387 2.712391 3.04514 3.443865 3.406237 3.230378 3.263948 2.784744 2.762439 3.403317 3.601423 3.493487 3.801638 3.673995 3.402477

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 1 1 1 7 3 1 1 3 1 1

6.0 6.3 10.1 4.1 12.1 14.4 6.9 3.3 35.7 18.6 3.9 9.7 13.4 5.7 6.7

Table 16. Detailed computational results for test set estein30. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

estein30-0 estein30-10 estein30-11 estein30-12 estein30-13 estein30-14 estein30-1 estein30-2 estein30-3 estein30-4 estein30-5 estein30-6 estein30-7 estein30-8 estein30-9

900 900 900 900 900 900 900 900 900 900 900 900 900 900 900

3480 3480 3480 3480 3480 3480 3480 3480 3480 3480 3480 3480 3480 3480 3480

30 30 30 30 30 30 30 30 30 30 30 30 30 30 30

4.069296 4.164799 3.841669 3.740663 4.2897 4.303555 4.090005 4.312045 4.215096 4.173974 3.995514 4.376138 4.169121 3.713363 4.268661

4.069296 4.164799 3.841669 3.740663 4.2897 4.303555 4.090005 4.312045 4.215096 4.173974 3.995514 4.376138 4.169121 3.713363 4.268661

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 1 7 1 1 1 1 1 1 1 1

234.6 251.7 38.3 62.4 96.0 282.3 135.2 432.1 205.1 209.9 383.6 176.9 292.2 141.5 128.1

Table 17. Detailed computational results for test set estein40.

22

Instance estein40-0 estein40-10 estein40-11 estein40-12 estein40-13 estein40-14 estein40-1 estein40-2 estein40-3 estein40-4 estein40-5 estein40-6 estein40-7 estein40-8 estein40-9

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600

6240 6240 6240 6240 6240 6240 6240 6240 6240 6240 6240 6240 6240 6240 6240

40 40 40 40 40 40 40 40 40 40 40 40 40 40 40

4.484154 4.673421 4.384339 5.188453 4.916698 5.082803 4.681131 4.997415 4.528989 5.18999254 4.97534 4.563901 4.874601 5.176179 5.713686

4.484154 4.673421 4.384339 5.188453 4.916698 5.082803 4.681131 4.997415 4.528989 5.194038 4.97534 4.563901 4.874601 5.176179 5.713686

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 1 1 1 1 2030 1 1 1 1 1

630.6 1101.3 714.7 2123.0 743.9 1606.4 1483.6 2042.8 1263.5 timeout 1481.2 458.6 1049.7 2337.5 1931.7

Table 18. Detailed computational results for test set estein50. Instance estein50-0 estein50-10 estein50-11 estein50-12 estein50-13 estein50-14 estein50-1 estein50-2 estein50-3 estein50-4 estein50-5 estein50-6 estein50-7 estein50-8 estein50-9

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500

9800 9800 9800 9800 9800 9800 9800 9800 9800 9800 9800 9800 9800 9800 9800

50 50 50 50 50 50 50 50 50 50 50 50 50 50 50

5.494867 5.253293 5.32673654 5.389099 5.355143 5.218085 5.548422 5.469105 5.153576 5.518601 5.58043 4.996117 5.375465 5.3431982 5.403795

5.494867 5.253293 5.34093 5.389099 5.355143 5.218085 5.548422 5.469105 5.153576 5.518601 5.58043 4.996117 5.375465 5.345677 5.403795

0.0 0.0 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 448 1 1 1 1 1 1 1 1 29 1 380 1

5828.3 20820.2 timeout 5841.1 16948.9 5981.4 3684.2 11805.2 1447.5 2284.0 5858.3 23352.9 1375.5 timeout 5171.6

Table 19. Detailed computational results for test set estein60. Instance estein60-0 estein60-10 estein60-11 estein60-12 estein60-13 estein60-14 estein60-1 estein60-2 estein60-3 estein60-4 estein60-5 estein60-6 estein60-7 estein60-8 estein60-9

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600

14160 14160 14160 14160 14160 14160 14160 14160 14160 14160 14160 14160 14160 14160 14160

60 60 60 60 60 60 60 60 60 60 60 60 60 60 60

5.376143 5.614167 5.979133 6.07503679 5.603556 5.662257 5.53025109 5.656678 5.537102 5.46369806 6.03886585 5.89326687 5.813816 5.587713 5.762446

5.376143 5.614167 5.979133 6.138029 5.603556 5.662257 5.536782 5.656678 5.537102 5.470499 6.042196 5.897803 5.813816 5.587713 5.762446

0.0 0.0 0.0 1.0 0.0 0.0 0.1 0.0 0.0 0.1 0.1 0.1 0.0 0.0 0.0

1 1 1 1 1 1 121 1 1 786 1 1 1 1 1

5737.2 14913.2 20954.6 timeout 5819.2 9987.0 timeout 8370.9 34545.6 timeout timeout timeout 16811.2 8110.2 10757.2

Table 20. Detailed computational results for test set solids. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

cube dodecahedron icosahedron octahedron tetrahedron

8 343 125 27 18

24 1764 600 108 66

8 20 12 6 4

7 7.69398 20.944264 6 2.682521

7 7.69398 20.944264 6 2.682521

0.0 0.0 0.0 0.0 0.0

1 10709 9 1 1

0.0 5671.1 5.5 0.0 0.0

Table 21. Detailed computational results for test set cancer.

23

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

600 256 20580 34560 8000 5120 21000 8640 6000 10000 4762800 918750 86400 27648

3820 1536 197078 340416 74400 46592 203300 80064 54800 94000 64777860 12031250 1039680 308736

20 20 110 93 48 50 109 77 46 82 75 58 70 54

28 21 146 134.159732 69 55 140 89 59 92 – – 88 63

28 21 146 137 69 55 140 89 59 92 – – 88 63

0.0 0.0 0.0 2.1 0.0 0.0 0.0 0.0 0.0 0.0 – – 0.0 0.0

1 1 1 1 1 1 1 1 1 1 0 0 1 1

1.3 0.1 380.9 timeout 9901.0 73.2 2358.3 103.1 34.1 45.8 memout memout 5240.8 161.9

Instance cancer1 4D cancer2 4D cancer3 6D cancer4 6D cancer5 6D cancer6 6D cancer7 6D cancer8 6D cancer9 6D cancer10 6D cancer11 8D cancer12 8D cancer13 8D cancer14 8D

Table 22. Detailed computational results for test set JMP. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

K100.10 K100.1 K100.2 K100.3 K100.4 K100.5 K100.6 K100.7 K100.8 K100.9 K100 K200 K400.10 K400.1 K400.2 K400.3 K400.4 K400.5 K400.6 K400.7 K400.8 K400.9 K400 P100.1 P100.2 P100.3 P100.4 P100 P200 P400.1 P400.2 P400.3 P400.4 P400

115 112 114 111 111 117 112 114 116 112 115 234 450 465 462 456 456 477 456 468 461 454 463 133 127 125 133 134 249 521 508 514 495 495

722 762 756 874 788 812 680 708 776 732 786 1580 3308 3324 3420 3314 3182 3368 3482 3286 3392 3318 3402 760 750 776 760 832 1462 3144 3034 3028 2852 2964

15 12 14 11 11 17 12 14 16 12 15 34 50 65 62 56 56 77 56 68 61 54 63 33 27 25 33 34 49 121 108 114 95 95

133567 124108 200262 115953 87498 119078 132886 172457 210869 122917 135511 329211 394191 490771 477073 415328 389451 519526 374849 474466 418614 383105 350093 926238 401641 659644 827419 803300 1317874 2808440 2518577 2951725 2852956 2459904

133567 124108 200262 115953 87498 119078 132886 172457 210869 122917 135511 329211 394191 490771 477073 415328 389451 519526 374849 474466 418614 383105 350093 926238 401641 659644 827419 803300 1317874 2808440 2518577 2951725 2852956 2459904

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0.0 0.0 0.3 0.1 0.1 0.1 0.0 0.1 0.2 0.2 0.2 1.2 11.7 11.2 12.2 4.7 7.2 10.7 3.5 8.3 4.2 6.0 4.2 0.9 0.8 0.5 0.7 0.3 1.1 7.7 7.2 8.4 8.0 5.3

Table 23. Detailed computational results for test set CRR. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

C01-A C01-B C02-A C02-B C03-A C03-B C04-A C04-B

506 506 511 511 584 584 626 626

1280 1280 1310 1310 1748 1748 2000 2000

6 6 11 11 84 84 126 126

18 85 50 141 414 737 618 1063

18 85 50 141 414 737 618 1063

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

1 1 1 1 1 1 1 1

0.1 0.3 0.0 0.5 0.8 3.8 2.2 14.1

cont. next page

24

Instance C05-A C05-B C06-A C06-B C07-A C07-B C08-A C08-B C09-A C09-B C10-A C10-B C11-A C11-B C12-A C12-B C13-A C13-B C14-A C14-B C15-A C15-B C16-A C16-B C17-A C17-B C18-A C18-B C19-A C19-B C20-A C20-B D01-A D01-B D02-A D02-B D03-A D03-B D04-A D04-B D05-A D05-B D06-A D06-B D07-A D07-B D08-A D08-B D09-A D09-B D10-A D10-B D11-A D11-B D12-A D12-B D13-A D13-B D14-A D14-B D15-A D15-B

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

751 751 506 506 511 511 584 584 626 626 751 751 506 506 511 511 584 584 626 626 751 751 506 506 511 511 584 584 626 626 751 751 1006 1006 1011 1011 1168 1168 1251 1251 1501 1501 1006 1006 1011 1011 1168 1168 1251 1251 1501 1501 1006 1006 1011 1011 1168 1168 1251 1251 1501 1501

2750 2750 2030 2030 2060 2060 2498 2498 2750 2750 3500 3500 5030 5030 5060 5060 5498 5498 5750 5750 6500 6500 25030 25030 25060 25060 25498 25498 25750 25750 26500 26500 2530 2530 2560 2560 3502 3502 4000 4000 5500 5500 4030 4030 4060 4060 5002 5002 5500 5500 7000 7000 10030 10030 10060 10060 11002 11002 11500 11500 13000 13000

251 251 6 6 11 11 84 84 126 126 251 251 6 6 11 11 84 84 126 126 251 251 6 6 11 11 84 84 126 126 251 251 6 6 11 11 168 168 251 251 501 501 6 6 11 11 168 168 251 251 501 501 6 6 11 11 168 168 251 251 501 501

1080 1528 18 55 50 102 361 500 533 694 859 1069 18 32 38 46 236 258 293 318 501 551 11 11 18 18 111 112 146 146 266 267 18 106 50 218 807 1509 1203 1881 2157 3135 18 67 50 103 755 1036 1070 1420 1671 2079 18 29 42 42 445 486 602 665 1042 1107

1080 1528 18 55 50 102 361 500 533 694 859 1069 18 32 38 46 236 258 293 318 501 551 11 11 18 18 111 113 146 146 266 267 18 106 50 218 807 1509 1203 1881 2157 3135 18 67 50 103 755 1036 1070 1420 1671 2079 18 29 42 42 445 486 602 665 1042 1108

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1

1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 101750 4767 1 5 1 1 1 1 1 7 1 1 1 1 1 1 1 1 1 1 1 4 4 3 6 1 1 1 1 7 4 5 1 10 4214

19.4 154.5 0.1 1.1 0.2 0.6 3.1 7.3 6.0 18.3 68.8 66.3 0.6 1.8 1.1 2.3 12.3 11.9 77.4 10.1 192.8 56.0 6.5 7.0 10.9 10.3 143.5 timeout 12026.2 43.8 245.5 42.1 0.0 0.6 0.0 0.7 12.3 81.1 37.2 336.0 523.6 15117.9 0.1 4.5 0.2 1.2 34.3 104.9 194.5 342.1 6448.8 9741.0 1.1 7.0 6.1 5.3 345.4 318.1 1872.6 258.7 4285.1 timeout

cont. next page

25

Instance D16-A D16-B D17-A D17-B D18-A D18-B D19-A D19-B D20-A D20-B

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

1006 1006 1011 1011 1168 1168 1251 1251 1501 1501

50030 50030 50060 50060 51002 51002 51500 51500 53000 53000

6 6 11 11 168 168 251 251 501 501

13 13 23 23 217 222 305 309 535 536

13 13 23 23 218 223 306 310 540 537

0.0 0.0 0.0 0.0 0.5 0.5 0.3 0.3 0.9 0.2

1 1 1 1 7013 18908 9541 15951 2005 2455

32.4 26.7 52.3 51.6 timeout timeout timeout timeout timeout timeout

Table 24. Detailed computational results for test set PUCNU. Instance

|V |

|A|

|T |

Dual Bound

Primal Bound

Gap%

Nodes

Time

bip42nu bip52nu bip62nu bipa2nu bipe2nu cc10-2nu cc11-2nu cc12-2nu cc3-10nu cc3-11nu cc3-12nu cc3-4nu cc3-5nu cc5-3nu cc6-2nu cc6-3nu cc7-3nu cc9-2nu

1401 2401 1401 3601 601 1160 2293 4570 1051 1393 1803 73 139 271 77 806 2410 577

9164 17194 21204 37946 10326 11050 23990 51986 27300 40296 57468 624 1578 2592 456 9192 31948 4992

201 201 201 301 51 136 245 474 51 62 75 9 14 28 13 77 223 65

224.170552 219.987945 210.393707 320.276245 53 165.263052 300.067047 558.518991 58.3827899 75.0409485 90.2119729 10 17 36 15 94 267.573727 83

228 224 214 330 53 172 321 595 61 81 98 10 17 36 15 99 287 83

1.7 1.8 1.7 3.0 0.0 4.1 7.0 6.5 4.5 7.9 8.6 0.0 0.0 0.0 0.0 5.3 7.3 0.0

48242 49721 552 40 61 461 36 27 1218 133 20 1 1 1 1 1 1 28

timeout timeout timeout timeout 1668.3 timeout timeout timeout timeout timeout timeout 0.2 1.5 115.3 0.2 timeout timeout 1399.6

26