12
INFORMS Journal on Computing Vol. 23, No. 3, Summer 2011, pp. 392–403 issn 1091-9856 eissn 1526-5528 11 2303 0392 doi 10.1287/ijoc.1100.0405 © 2011 INFORMS Predicting the Solution Time of Branch-and-Bound Algorithms for Mixed-Integer Programs Osman Y. Özaltın Department of Industrial Engineering, University of Pittsburgh, Pittsburgh, Pennsylvania 15261, [email protected] Brady Hunsaker Google Inc., Pittsburgh, Pennsylvania 15213, [email protected] Andrew J. Schaefer Department of Industrial Engineering, University of Pittsburgh, Pittsburgh, Pennsylvania 15261, [email protected] T he most widely used progress measure for branch-and-bound (B&B) algorithms when solving mixed-integer programs (MIPs) is the MIP gap. We introduce a new progress measure that is often much smoother than the MIP gap. We propose a double exponential smoothing technique to predict the solution time of B&B algorithms and evaluate the prediction method using three MIP solvers. Our computational experiments show that accurate predictions of the solution time are possible, even in the early stages of B&B algorithms. Key words : solution time prediction; mixed-integer programming; branch-and-bound algorithm History : Accepted by Karen Aardal, Area Editor for Design and Analysis of Algorithms; received June 2009; revised March 2010; accepted June 2010. Published online in Articles in Advance August 31, 2010. 1. Introduction Mixed-integer programming (MIP) solvers rely on branch-and-bound (B&B) algorithms, which are typi- cally very time consuming for practical instances. On the one hand, a user might terminate the search pre- maturely if the current solution is close enough to the optimal solution. However, this might result in an unfavorable outcome if the algorithm were close to a better solution at termination. On the other hand, B&B algorithms may spend an enormous amount of time verifying the optimality of a solution. Therefore, predicting the progress of B&B algorithms is of great practical importance. MIP solvers provide a variety of numerical mea- sures regarding the progress of B&B algorithms. The most widely used one is the MIP gap, which is the percent difference between the current upper and lower bounds on the optimal objective function value. The MIP gap is a nonincreasing measure that dimin- ishes to zero at the optimal solution for feasible MIPs. Empirically, its value often stays near constant for a while and then drops suddenly when a new incum- bent is found. This staggered pattern may prevent the user from getting a clear understanding of the algo- rithm’s progress. Another widely used progress measure for B&B algorithms is the number of unprocessed nodes. Although a decrease in the number of unprocessed nodes typically indicates that the algorithm will ter- minate soon, this is not always the case. Furthermore, while the number of unprocessed nodes is increasing, it may be difficult to assess the algorithm’s progress. Therefore, its suitability as a progress measure may be limited until termination is imminent. This paper introduces a new progress measure for B&B algorithms, the sum of subtree gaps (SSG), that extends the MIP gap. The SSG partitions the active B&B tree into subtrees and calculates a weighted sum of the subtree optimality gaps. We show that the SSG is a nonincreasing progress measure. Moreover, it decreases every time the MIP gap decreases, and it may decrease or stay constant when the MIP gap is constant. In this sense, the decreasing pattern of the SSG is more steady than that of the MIP gap. In §4, we develop a method to predict the solution time of B&B algorithms for mixed-integer programs. This method predicts the total solution time based on past values of a progress measure by using a forecast- ing technique called double exponential smoothing (Gardner and Dannenbring 1980). In §5, we present computational experiments on MIPLIB (Achterberg et al. 2006) and COR@L (COR@L 2010) instances using three widely used open-source MIP solvers. Finally, in §6 we conclude and discuss future research areas. 392 INFORMS holds copyright to this article and distributed this copy as a courtesy to the author(s). Additional information, including rights and permission policies, is available at http://journals.informs.org/.

Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

INFORMS Journal on ComputingVol. 23, No. 3, Summer 2011, pp. 392–403issn 1091-9856 �eissn 1526-5528 �11 �2303 �0392 doi 10.1287/ijoc.1100.0405

© 2011 INFORMS

Predicting the Solution Time of Branch-and-BoundAlgorithms for Mixed-Integer Programs

Osman Y. ÖzaltınDepartment of Industrial Engineering, University of Pittsburgh, Pittsburgh, Pennsylvania 15261,

[email protected]

Brady HunsakerGoogle Inc., Pittsburgh, Pennsylvania 15213, [email protected]

Andrew J. SchaeferDepartment of Industrial Engineering, University of Pittsburgh, Pittsburgh, Pennsylvania 15261,

[email protected]

The most widely used progress measure for branch-and-bound (B&B) algorithms when solving mixed-integerprograms (MIPs) is the MIP gap. We introduce a new progress measure that is often much smoother than the

MIP gap. We propose a double exponential smoothing technique to predict the solution time of B&B algorithmsand evaluate the prediction method using three MIP solvers. Our computational experiments show that accuratepredictions of the solution time are possible, even in the early stages of B&B algorithms.

Key words : solution time prediction; mixed-integer programming; branch-and-bound algorithmHistory : Accepted by Karen Aardal, Area Editor for Design and Analysis of Algorithms; received June 2009;

revised March 2010; accepted June 2010. Published online in Articles in Advance August 31, 2010.

1. IntroductionMixed-integer programming (MIP) solvers rely onbranch-and-bound (B&B) algorithms, which are typi-cally very time consuming for practical instances. Onthe one hand, a user might terminate the search pre-maturely if the current solution is close enough tothe optimal solution. However, this might result in anunfavorable outcome if the algorithm were close toa better solution at termination. On the other hand,B&B algorithms may spend an enormous amount oftime verifying the optimality of a solution. Therefore,predicting the progress of B&B algorithms is of greatpractical importance.

MIP solvers provide a variety of numerical mea-sures regarding the progress of B&B algorithms. Themost widely used one is the MIP gap, which is thepercent difference between the current upper andlower bounds on the optimal objective function value.The MIP gap is a nonincreasing measure that dimin-ishes to zero at the optimal solution for feasible MIPs.Empirically, its value often stays near constant for awhile and then drops suddenly when a new incum-bent is found. This staggered pattern may prevent theuser from getting a clear understanding of the algo-rithm’s progress.

Another widely used progress measure for B&Balgorithms is the number of unprocessed nodes.Although a decrease in the number of unprocessed

nodes typically indicates that the algorithm will ter-minate soon, this is not always the case. Furthermore,while the number of unprocessed nodes is increasing,it may be difficult to assess the algorithm’s progress.Therefore, its suitability as a progress measure maybe limited until termination is imminent.

This paper introduces a new progress measure forB&B algorithms, the sum of subtree gaps (SSG), thatextends the MIP gap. The SSG partitions the activeB&B tree into subtrees and calculates a weighted sumof the subtree optimality gaps. We show that theSSG is a nonincreasing progress measure. Moreover,it decreases every time the MIP gap decreases, and itmay decrease or stay constant when the MIP gap isconstant. In this sense, the decreasing pattern of theSSG is more steady than that of the MIP gap.

In §4, we develop a method to predict the solutiontime of B&B algorithms for mixed-integer programs.This method predicts the total solution time based onpast values of a progress measure by using a forecast-ing technique called double exponential smoothing(Gardner and Dannenbring 1980). In §5, we presentcomputational experiments on MIPLIB (Achterberget al. 2006) and COR@L (COR@L 2010) instancesusing three widely used open-source MIP solvers.Finally, in §6 we conclude and discuss future researchareas.

392

INFORMS

holds

copyrightto

this

article

and

distrib

uted

this

copy

asa

courtesy

tothe

author(s).

Add

ition

alinform

ation,

includ

ingrig

htsan

dpe

rmission

policies,

isav

ailableat

http://journa

ls.in

form

s.org/.

Page 2: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPsINFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS 393

2. Literature ReviewThere are online and off-line algorithms for estimatingthe size of a general backtrack tree (i.e., the numberof nodes). Off-line algorithms can be used after ter-minating the search. Knuth (1975) proposed a methodusing random probing. His algorithm estimates thenumber of nodes in the tree as the average of 1 +

d1 + d1d2 + · · · +∏k

i=1 di over several random probes,where di is the branching rate observed at depth i ofa probe. Knuth proved that his method is an unbi-ased estimator of the tree size, but he also noted somelimitations. One is that it does not directly apply toB&B trees because the depth of a random probe isnot known a priori in B&B algorithms. Another isthe large variance of the estimator caused by ran-dom probing. Purdom (1978) observed that the vari-ance of the estimator becomes a more serious problemfor unbalanced trees and modified Knuth’s algorithm.Chen (1992) proposed a heuristic algorithm based onstratified sampling to address the same issue.

Online algorithms are more useful for our pur-poses. Kilby et al. (2006) proposed two online meth-ods for estimating the size of a general backtrackingtree. The first method is based on a weighted sumover the branches that are visited by chronologicalbacktracking. The second one focuses on the exploredbranches assuming that the unexplored branches willbe similar to the explored ones. Both of these meth-ods were shown to be unbiased estimators of thetree size. Cornuéjols et al. (2006) predicted the sizeof a B&B tree based on its �-sequence—the ratiosthat describe the change of width from one level tothe next. Their method first estimates the maximumdepth, the widest and the last full level of the treeaccording to a partial tree, which is obtained by run-ning the B&B algorithm for a specified amount oftime. These estimations are then used to extrapolatethe B&B tree’s �-sequence by a linear model. Therestriction of this approach is that the linear extrapola-tion model is developed based on empirical observa-tions of B&B trees developed by CPLEX (ILOG 2010)for a given parameter setting.

Our approach differs from previous efforts in thatwe do not predict the solution time based on thesearch tree size. Instead, we first develop a measurethat is capable of showing the continuous progress ofB&B algorithms, and we then predict the total solu-tion time based on past trends of that progress mea-sure using statistical forecasting methods.

3. Sum of Subtree GapsA B&B tree has a single root node and the MIP gap iscalculated for that single-rooted tree. The main ratio-nale behind the SSG is to partition the active B&B treeinto subtrees. Once partitioned, the optimality gap of

each individual subtree is measured instead of theoverall MIP gap. The SSG value is calculated by sum-ming the subtree gaps and scaling the sum to preservethe nonincreasing property. Rather than maintaininga fixed set of subtrees, we repartition the active B&Btree every time a new incumbent solution is found.Another strategy might be setting a limit for the dura-tion of time when the incumbent solution stays con-stant and repartitioning the tree every time this limitis exceeded as well.

Let t be the time elapsed since the B&B algorithmbegan. We define Uk to be the set of indices of theunprocessed (active) nodes in the tree right after find-ing the kth (k > 0) incumbent solution at time tk ≤ tand pruning the tree. We partition the active B&B treeinto �Uk� subtrees such that each subtree i ∈ Uk ini-tially consists of a single active node from which asearch tree emanates as the B&B algorithm progressesafter time tk. Let gi4t5 be the optimality gap of subtreei ∈Uk at time t ≥ tk. Then gi4t5 is equal to the percentdifference between the linear programming relaxationof the best active node in subtree i and the incumbentsolution found anywhere in the overall B&B tree.

Remark 1. The MIP gap = maxi∈Uk8gi4t59 and gi4t5

is nonincreasing ∀ i ∈Uk.For t ≥ tk, define

fk4t5=∑

i∈Uk

gi4t50 (1)

Proposition 1. fk4t5 is nonincreasing over t for tk ≤

t < tk+1.

Proposition 1 holds since gi4t5 is nonincreasing overt for tk ≤ t < tk+1, ∀i ∈Uk, and the number of subtreesis constant for a particular incumbent solution.

Proposition 2. fk4t5 is not necessarily nonincreasingover k.

Proposition 2 follows since the size of Uk+1 maybe smaller or larger than that of Uk, depending onthe number of active nodes in the tree when thesesets are defined. While calculating the progress mea-sure SSG4t5, we scale fk4t5 between 0 and 1 so that itbecomes nonincreasing over k as well. We define scal-ing parameter sk by the following recursive equation:

sk =

1 if k = 11

sk−1fk−14tk5

fk4tk5if k > 10

(2)

Then we define the sum of subtree gaps at time t by

SSG4t5=

1 if t < t11

skfk4t5 if tk ≤ t < tk+10(3)

INFORMS

holds

copyrightto

this

article

and

distrib

uted

this

copy

asa

courtesy

tothe

author(s).

Add

ition

alinform

ation,

includ

ingrig

htsan

dpe

rmission

policies,

isav

ailableat

http://journa

ls.in

form

s.org/.

Page 3: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPs394 INFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS

We set SSG4t5 = 1 for t < t1 because subtree optimal-ity gaps cannot be calculated without an incumbentsolution.

Proposition 3. SSG4t5 is nonincreasing over t.

Proof. SSG4t5 is nonincreasing between tk and tk+1for every incumbent solution k by Proposition 1.We show that SSG4t5 is also nonincreasing betweentwo consecutive incumbent solutions when k > 1. Lettk−1 ≤ t′ < tk ≤ t′′ < tk+1. Then,

SSG4t′′5 ≤ SSG4tk5 (4)

= skfk4tk5= sk−1fk−14tk5

fk4tk5fk4tk5

= sk−1fk−14tk51 (5)

where inequality (4) follows from Proposition 1, andEquation (5) holds by definition of sk given in (2). Asa result of Proposition 1, Equation (5), and the defi-nition of SSG4t5, SSG4t′′5 ≤ sk−1fk−14tk5 ≤ sk−1fk−14t

′5 =

SSG4t′50 �Proposition 4. For a feasible MIP instance, the SSG

decreases every time the MIP gap decreases. It may decreaseor stay constant when the MIP gap is constant.

Proposition 4 shows that the SSG is at least asgood as the MIP gap when it comes to decreas-ing. This result directly follows from Remark 1 andProposition 1.

The difference between the SSG and the MIPgap comes from the fact that if a subtree optimal-ity gap, which does not define the largest optimalitygap, decreases, then the SSG will decrease while theMIP gap will not. Figure 1 plots the SSG and the MIPgap to illustrate this fact. The SSG steadily dimin-ishes to zero, but the MIP gap stays constant for longstretches of time. The relatively smooth pattern ofthe SSG gives a better understanding of the progressfor the instances in Figure 1. However, neither mea-sure always follows a pattern of steady decrease (seeFigure 2).

Note that although the SSG often decreases moresteadily than the MIP gap, it does not always providebetter information. Consider the hypothetical B&Btree depicted in Figure 3.

There are three subtrees rooted at nodes A, B, and C.Suppose that subtree A has the largest optimality gap.Then, the MIP gap is equal to the optimality gap ofsubtree A and the SSG is equal to a weighted aver-age of all subtree optimality gaps. The MIP gap is abetter measure of progress towards the optimal solu-tion at this snapshot in time, because the optimal solu-tion is attained at the solid node located in subtree A.Note that the reason that the SSG may decrease whenthe MIP gap stays constant is exactly the case whenthe optimality gap of subtree B and/or C decreases

(a) pk1Progress measures: pk1, COIN/CBC

Mea

sure

Mea

sure

(b) aflow30aProgress measures: aflow30a, COIN/CBC

Time (s)

Time (s)

12,00010,0008,0006,0004,0002,00000

1.0

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

1.0

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

900800700600500

SSG

SSG

MIP gap

MIP gap

4003002001000

Figure 1 The MIP Gap and the SSG by Time for pk1 (a) and aflow30a(b) Instances (Achterberg et al. 2006)

Note. The values are calculated every second.

while the optimality gap of subtree A stays constant.However, that decrease in the SSG does not reflect theprogress towards the optimal solution. Yet it may still

Progress measures: p2756, SYMPHONY

Mea

sure

Time (s)

0

1.0

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

240220200180

SSG

MIP gap

16014012010080

Figure 2 Neither the MIP Gap nor the SSG Is Smooth for the p2756Instance (Achterberg et al. 2006)

Note. The values are calculated every second.

INFORMS

holds

copyrightto

this

article

and

distrib

uted

this

copy

asa

courtesy

tothe

author(s).

Add

ition

alinform

ation,

includ

ingrig

htsan

dpe

rmission

policies,

isav

ailableat

http://journa

ls.in

form

s.org/.

Page 4: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPsINFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS 395

A

B

The worst gap

Optimal solution

C

Figure 3 A Hypothetical B&B Tree for Which the MIP Gap Is a BetterMeasure of Progress Than the SSG

be useful for predicting the remaining solution time,because all nodes in subtrees B and C have to be pro-cessed before terminating the search.

4. Predicting Solution TimeIn this section, we develop a solution time predic-tion method for B&B algorithms. We formulate a fore-casting model with two drifting parameters, a slopeand an intercept, which are updated over time asnew progress measurements become available fromthe B&B tree. The underlying idea is that changesin the progress measure can be modeled by a lineartrend equation based on the complete history of thealgorithm’s performance.

A standard way of modeling parameter drift is touse the Kalman filter, which minimizes the estimatedcovariance of unknown parameters using a predictor–corrector mechanism (Welch and Bishop 1995). Werefrain from this approach because it has long run-ning times and is hard to implement. Instead, weemploy a double exponential smoothing technique(Gardner and Dannenbring 1980), which calculatesthe weighted average of time series data by assigningexponentially decreasing weights to the past obser-vations. Widely used in economic forecasting mod-els (Box 1991, Snyder 2002), this technique uses onlytwo parameters, and it is much simpler to implementand faster than the Kalman filter. Moreover, LaViola(2003) reported that double exponential smoothingand Kalman filter-based predictions have roughly thesame accuracy.

Let � be a nonincreasing progress measure between0 and 1, which reduces to 0 at the optimal solution.Whereas we use the SSG and the MIP gap for �,our prediction method can also be applied with othernonincreasing progress measures. We calculate thetotal solution time predictions based on the past val-ues of �. Let � and � be constant coefficients. Denoteby t′ < t the last time � was calculated before time t,

and let ã4t5 = 4�4t5 − �4t′55/4t − t′5. Then we definethe updating equations of the forecasting model by

S4t5= ��4t5+ 41 −�5S4t′5 0 ≤ �≤ 11

b4t5= �ã4t5+ 41 −�5b4t′5 0 ≤ � ≤ 10(6)

In (6), S4t5 is the predicted value of the progressmeasure, and b4t5 is the estimated trend in theprogress measure at time t. There are various ways toinitialize S4 · 5 and b4 · 5; see Gardner and Dannenbring(1980) and NIST/Sematech (2006). Each time a newincumbent is found, we reinitialize S4 · 5 and b4 · 5 anddo not make any prediction until we observe a spec-ified number of progress measurements for the newincumbent. We set this threshold to four based onempirical experience. Let ln denote the time when thenth progress measure value is calculated. After havingfour progress measurements at time l4, we initializeS4l45 and b4l45 by

S4l45= ��4l45+ 41 −�5�4l351

b4l45= 4�4l45−�4l355/4l4 − l350

We calculate predictions with discrete time inter-vals. Denote by F 4t5 the total solution time predictionat time t. In addition, let at and nt be the number ofunprocessed and processed nodes in the B&B tree attime t, respectively. The first solution time predictionat t = l4 is given by F 4t5= at4t/nt5+ t. This expressiondivides the current time t by the number of processednodes nt to compute how much time was spent foreach node on average thus far. The result is multipliedby the number of unprocessed nodes at and added tothe current time. Let � be a constant coefficient. Thenfor t > l4, F 4t5 is defined by

F 4t5=

−S4t5

min4ã4t51 b4t55+ t if ã4t5 < �b4t′51

4F 4t′5− t′5atat′

+ t if ã4t5≥ �b4t′5

and F 4t′5≤ t1

F 4t′5 otherwise.

(7)

In (7), � is used to assess the significance of thedecrease in the progress measure. If the progress mea-sure decreases significantly from time t′ to t, we cal-culate the total solution time prediction by making alinear interpolation. Note that b4t5 ≤ 0 for all t. If thedecrease is not significant and the previous predictionis less than the current time, we compute the predic-tion by weighting the last calculated remaining solu-tion time prediction with the rate of increase in thenumber of unprocessed nodes. Otherwise, we repeatthe previous total solution time prediction.

INFORMS

holds

copyrightto

this

article

and

distrib

uted

this

copy

asa

courtesy

tothe

author(s).

Add

ition

alinform

ation,

includ

ingrig

htsan

dpe

rmission

policies,

isav

ailableat

http://journa

ls.in

form

s.org/.

Page 5: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPs396 INFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS

5. Computational Tests5.1. ImplementationWe modified open-source MIP solvers CBC 1.01(Forrest 2007), SYMPHONY 5.1 (Ralphs 2007), andGLPK 4.15 (Makhorin 2007) to have them report suf-ficient information about the B&B tree. We use theseMIP solvers not to compare their performance but todemonstrate that our proposed prediction method isgenerally applicable. Unfortunately, we are unable toobtain sufficient information about the B&B tree fromcommercial solvers, so our tests are restricted to open-source MIP solvers. Note that although we demon-strate the use of the SSG and the prediction methodon B&B algorithms for MIPs, they actually apply toany implicit enumeration algorithm that develops asearch tree providing upper and lower bounds on theoptimal objective value.

We use a Python script to summarize the solveroutput about tree development. We call this tool the“branch-and-bound analysis kit” (BAK) (Özaltın et al.2007). BAK stores the information about each nodeof the tree into memory. It also stores an additionalvariable for each unprocessed node that representsits subtree index. This additional variable is updatedevery time the active B&B tree is repartitioned. There-fore, the computational effort to calculate the SSGduring the B&B algorithm is linear in the number ofunprocessed nodes.

Test instances for the experiments conducted in thispaper are from MIPLIB (Achterberg et al. 2006) andCOR@L (COR@L 2010) libraries. We run the testsusing default solver settings on a computer with anAMD Opteron 240 processor and 3.6 GB memory.We report only those instances that are solved opti-mally within an eight-hour time limit. Furthermore,we do not report an instance if it takes less than twominutes to solve or if there is no prediction for it,which occurs when optimality is proven before mak-ing a prediction.

We implement the prediction method in BAK andrun it for all of the test instances by setting �, �, and� to 0.5, as this is one of the best settings we foundin our preliminary experiments (see Appendix III ofthe Online Supplement, available at http://joc.pubs.informs.org/ecompanion.html).

We simultaneously calculate two separate predic-tions of the total solution time: one based on theSSG and the other based on the MIP gap. Bothof these predictions are plotted over time. Exampleprediction plots for the aflow30a instance are givenin Figure 4. Prediction plots for all reported testinstances are available in Appendix II of the OnlineSupplement.

In Figure 4, the horizontal axis depicts the pointsin time when a prediction is calculated, and the verti-cal axis shows the total solution time predictions. The

(a) The MIP gap-based total solution time predictions

(b) The SSG-based total solution time predictions

0

10,000

20,000

30,000

40,000

50,000

60,000

70,000

80,000

0

10,000

20,000

30,000

40,000

50,000

60,000

70,000

80,000

0 2,000 4,000 6,000 8,000 10,000 12,000

0 2,000 4,000 6,000 8,000 10,000 12,000

Pre

dict

ion

of to

tal t

ime

Pre

dict

ion

of to

tal t

ime

Time (s)

Time (s)

Prediction plot: aflow30a.dat, COIN/CBC

MIP gapElapsed time

(SSG)Elapsed time

Prediction plot: aflow30a.dat, COIN/CBC

Figure 4 The (a) MIP Gap- and (b) SSG-Based Total Solution Time Pre-dictions for the aflow30a Instance (Achterberg et al. 2006)

Note. Values calculated every 10 seconds.

dashed line on the diagonal represents the solutiontime elapsed since the B&B algorithm began.

5.2. Accuracy of PredictionsIn this section, we estimate the accuracy of remain-ing solution time predictions. Note that the predic-tion method returns total solution time predictions.However, remaining solution time predictions can alsobe calculated easily by subtracting the time of a pre-diction from itself. Given a scalar k > 1 and the trueremaining solution time t∗, a prediction t̂ is k-accurateif 1/k ≤ t̂/t∗ ≤ k. Note that one shortcoming of thisdefinition of accuracy is that near termination, predic-tions that are close in an absolute sense may be con-sidered inaccurate.

Tables 1–3 report the ratio of 2-accurate SSG-basedand MIP gap-based predictions using each of the threeMIP solvers. Similar tables for k = 105131 and 4 areprovided in Appendix I of the Online Supplement. Wealso report the geometric mean of the absolute differ-

Page 6: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPsINFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS 397

Table 1 Ratio of 2-Accurate Predictions and the Geometric Mean of the Absolute Differences Between the Predictions and the True RemainingSolution Time for CBC

2-Accuracy Geometric mean of deviations

No. of predictions Solution Overall Postdecrease Overall Postdecrease

Instance Overall Postdec. Time (s) MIP gap SSG MIP gap SSG MIP gap SSG MIP gap SSG

MIPLIB with 10 s intervalset1ch 21298 21272 231271003 0010 0058Ø 0010 0058Ø 98096 41090Ø 98094 41057Øqiu 11219 11219 121285004 0010 0062Ø 0010 0062Ø 99093 36078Ø 99093 36078Øaflow30a 11099 11099 111154042 0010 0092Ø 0010 0092Ø 98016 18044Ø 98016 18044Ømod011 528 525 51364075 0010 0043Ø 0010 0042Ø 99089 51061Ø 99089 51094Øharp2 326 326 31957093 0013 0040Ø 0013 0040Ø 97024 65036Ø 97024 65036Øpk1 72 72 846088 0014 1000Ø 0014 1000Ø 92059 22014Ø 92059 22014Ømas76 74 74 766028 0012 0093Ø 0012 0093Ø 99041 25041Ø 99041 25041Øbell5 28 28 324051 0018 0093Ø 0018 0093Ø 96022 20051Ø 96022 20051Ø

MIPLIB with 1 s intervalair05 227 224 503043 0013 0048Ø 0013 0049Ø 101007 66043Ø 101024 66017Øair04 97 90 295016 0030 0067Ø 0032 0072Ø 70069Ø 71055 72000 55056Øl152lav 62 0 171067 0016 0063Ø 83008 64064Østein45 67 0 161035 0012 0013Ø 99047 87059Ømisc07 56 56 143071 0011 0068Ø 0011 0068Ø 96015 33072Ø 96015 33072Ønw04 5 0 112011 0040Ø 0040Ø 41065 27044Ø

COR@L with 10 s intervalneos17 11483 11478 151423083 0010 0071Ø 0010 0071Ø 99091 30029Ø 99091 30017Øbienst2 11401 11391 141233085 0010 0048Ø 0010 0048Ø 97078 46086Ø 97077 46066Øsp98ir 686 686 71097019 0011 0044Ø 0011 0044Ø 90016 67056Ø 90016 67056Øneos-430149 631 631 71048077 0011 0033Ø 0011 0033Ø 99079 60058Ø 99079 60058Ødano3_5 491 477 51691058 0011 0021Ø 0012 0021Ø 98044 73017Ø 98051 72062Øneos-504674 501 499 51374044 0011 0088Ø 0011 0089Ø 85093 26031Ø 85089 26010Øneos-512201 480 478 51130022 0011 0098Ø 0011 0098Ø 92097 24089Ø 92095 24085Øneos-799716 159 123 41996044 0026Ø 0026Ø 0032Ø 0032Ø 85008Ø 85008Ø 84008Ø 84008Øbinkar10_1 449 449 41645094 0011 0098Ø 0011 0098Ø 94048 17045Ø 94048 17045Øneos-829552 365 349 31877068 0011 0042Ø 0011 0044Ø 99041 65059Ø 99062 64048Øneos-1440447 355 355 31591089 0010 0052Ø 0010 0052Ø 99097 44084Ø 99097 44084Øneos-906865 327 327 31291001 0011Ø 0001 0011Ø 0001 99066Ø 51124031 99066Ø 51124031neos3 203 203 21255011 0014 0028Ø 0014 0028Ø 87071Ø 115031 87071Ø 115031neos-504815 145 144 11696007 0041 0080Ø 0041 0080Ø 69062 34063Ø 69048 34065Øneos-803219 153 153 11647099 0012 0089Ø 0012 0089Ø 98079 25013Ø 98079 25013Øneos-803220 142 142 11476061 0011 0075Ø 0011 0075Ø 98066 36039Ø 98066 36039Øneos-860300 121 121 11371002 0012 0034Ø 0012 0034Ø 90011Ø 116007 90011Ø 116007neos-538867 114 114 11237023 0012 0089Ø 0012 0089Ø 93057 30078Ø 93057 30078Øneos-686190 102 102 11098078 0012 0086Ø 0012 0086Ø 99044 33007Ø 99044 33007Øneos-611838 88 82 11016090 0013 0081Ø 0013 0087Ø 99025 27014Ø 99039 25042Øneos-1582420 87 87 944010 0011Ø 0000 0011Ø 0000 98065Ø 11340071 98065Ø 11340071bienst1 75 75 862047 0013 0067Ø 0013 0067Ø 85078 48044Ø 85078 48044Øneos-570431 77 72 821086 0012 0056Ø 0013 0060Ø 99071 64070Ø 99071 62079Øneos-806323 63 63 792047 0016 0090Ø 0016 0090Ø 94098 22073Ø 94098 22073Øneos-1171448 40 16 697098 0063Ø 0063Ø 1000Ø 1000Ø 223051 142041Ø 749068 242095Øneos-612162 54 8 616094 0015 0089Ø 1000Ø 1000Ø 96031 28092Ø 96034 84084Ø

COR@L with 1 s intervalbc1 147 122 528031 0012 0039Ø 0015 0043Ø 89062 41015Ø 92065 36043Øneos-555771 147 147 451044 0005 0010Ø 0005 0010Ø 113017 105005Ø 113017 105005Øneos-839859 217 215 445008 0011 0085Ø 0011 0086Ø 78069 24038Ø 78058 23095Øneos-612143 167 167 413065 0013 0044Ø 0013 0044Ø 97088 46011Ø 97088 46011Øneos-807705 152 152 384066 0016 0093Ø 0016 0093Ø 77061 19029Ø 77061 19029Øneos-807639 181 149 347066 0013 0064Ø 0016 0077Ø 95079 29027Ø 95052 23039Øneos-912015 143 143 308062 0012Ø 0012Ø 0012Ø 0012Ø 99051Ø 99051Ø 99051Ø 99051Øneos-825075 135 133 294069 0013 0036Ø 0013 0035Ø 98077 67022Ø 98081 69055Øneos-603073 121 121 261087 0015 0032Ø 0015 0032Ø 97040 64099Ø 97040 64099Øaligninq 71 71 261022 0013 0056Ø 0013 0056Ø 90099 56012Ø 90099 56012Øneos-826250 13 0 249039 0000Ø 0000Ø 648084Ø 648084Ø

Page 7: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPs398 INFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS

Table 1 (Continued)

2-Accuracy Geometric mean of deviations

No. of predictions Solution Overall Postdecrease Overall Postdecrease

Instance Overall Postdec. Time (s) MIP gap SSG MIP gap SSG MIP gap SSG MIP gap SSG

COR@L with 1 s intervalneos-612125 72 0 221037 0017Ø 0000 95081Ø 941049neos-941698 50 0 180046 0022 0064Ø 99032 58025Øneos2 74 74 177017 0014 0022Ø 0014 0022Ø 96050Ø 114025 96050Ø 114025prod1 90 90 172066 0016 0041Ø 0016 0041Ø 99029 59057Ø 99029 59057Øneos-494568 26 2 120010 0015Ø 0015Ø 0000Ø 0000Ø 153018Ø 153018Ø 51585020Ø 51585020Øneos-801834 37 37 116012 0024 0081Ø 0024 0081Ø 94032 30015Ø 94032 30015Øneos-598183 50 50 108098 0048 0062Ø 0048 0062Ø 77094 26058Ø 77094 26058Øneos-810326 20 16 71046 1000Ø 0080 1000Ø 1000Ø 38092 26027Ø 51019 13092Øneos-892255 30 16 65060 0020Ø 0020Ø 0038Ø 0038Ø 160081 152053Ø 256002 231086Ø

Table 2 Ratio of 2-Accurate Predictions and the Geometric Mean of the Absolute Differences Between the Predictions and the True RemainingSolution Time for GLPK

2-Accuracy Geometric mean of deviations

No. of predictions Solution Overall Postdecrease Overall Postdecrease

Instance Overall Postdec. Time (s) MIP gap SSG MIP gap SSG MIP gap SSG MIP gap SSG

MIPLIB with 10 s intervalair05 11158 11155 111887094 0011 0041Ø 0011 0041Ø 83002Ø 91033 82098Ø 91031pp08aCUTS 525 525 51315020 0010 0081Ø 0010 0081Ø 99080 28006Ø 99080 28006Ømisc07 295 295 31011075 0011 0064Ø 0011 0064Ø 99093 46056Ø 99093 46056Øpp08a 275 275 21896088 0021 0061Ø 0021 0061Ø 84065 81022Ø 84065 81022Øvpm2 215 215 21250031 0008 0010Ø 0008 0010Ø 113021Ø 401089 113021Ø 401089roll3000 210 198 21229031 0011Ø 0011Ø 0012Ø 0012Ø 97018Ø 97018Ø 97021Ø 97021Ø10teams 88 88 21041030 0020Ø 0011 0020Ø 0011 82085Ø 141092 82085Ø 141092l152lav 113 113 11274052 0042Ø 0034 0042Ø 0034 71091Ø 135047 71091Ø 135047fiber 110 110 11253025 0013 0032Ø 0013 0032Ø 86052Ø 121051 86052Ø 121051gesa3o 93 93 985026 0012 0039Ø 0012 0039Ø 99003 90039Ø 99003 90039Ørout 77 77 881034 0013Ø 0000 0013Ø 0000 85034Ø 914007 85034Ø 914007stein45 57 57 616019 0012 0093Ø 0012 0093Ø 96001 29005Ø 96001 29005Ønw04 23 23 403056 0026 0035Ø 0026 0035Ø 76088Ø 330055 76088Ø 330055mitre 22 19 283001 0014Ø 0000 0016Ø 0000 84035Ø 11396033 86009Ø 11538021

MIPLIB with 1 s intervalenigma 53 53 714069 1000Ø 1000Ø 1000Ø 1000Ø 93081Ø 93081Ø 93081Ø 93081Ømod008 113 113 159032 0008Ø 0006 0008Ø 0006 120085Ø 11050008 120085Ø 11050008

COR@L with 10 s intervalneos11 11573 11573 151773016 0010Ø 0010Ø 0010Ø 0010Ø 99098 92048Ø 99098 92048Øneos-1582420 11132 11132 111413064 0010Ø 0005 0010Ø 0005 94059Ø 11034037 94059Ø 11034037sp98ir 684 684 71247048 0027 0061Ø 0027 0061Ø 80091 53066Ø 80091 53066Øbc1 616 616 61730000 0015 0078Ø 0015 0078Ø 79061 30071Ø 79061 30071Øneos-570431 637 637 61421028 0010 0059Ø 0010 0059Ø 99060 56083Ø 99060 56083Øprod1 460 460 51261066 0012 0072Ø 0012 0072Ø 95085 36067Ø 95085 36067Øneos-827175 185 185 51123027 0050Ø 0050Ø 0050Ø 0050Ø 48028Ø 48028Ø 48028Ø 48028Øneos-892255 482 482 51047017 0011Ø 0005 0011Ø 0005 99083Ø 11169011 99083Ø 11169011neos-1058477 475 475 41844030 0010 0019Ø 0010 0019Ø 99089 75009Ø 99089 75009Øneos-810286 191 191 41421073 0024Ø 0024Ø 0024Ø 0024Ø 94091Ø 94091Ø 94091Ø 94091Øneos-810326 334 334 31572059 0028Ø 0000 0028Ø 0000 80010Ø 11235070 80010Ø 11235070neos-480878 329 329 31463028 0003 0053Ø 0003 0053Ø 101006 64018Ø 101006 64018Øbienst2 291 291 31064036 0010 0065Ø 0010 0065Ø 87098 41089Ø 87098 41089Øneos-860300 229 229 21611083 0025 0067Ø 0025 0067Ø 88090 35085Ø 88090 35085Øneos-839859 226 226 21466092 0031 0075Ø 0031 0075Ø 78063 38099Ø 78063 38099Øneos10 193 193 21080089 0009Ø 0009Ø 0009Ø 0009Ø 99049 98086Ø 99049 98086Ø

Page 8: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPsINFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS 399

Table 2 (Continued)

2-Accuracy Geometric mean of deviations

No. of predictions Solution Overall Postdecrease Overall Postdecrease

Instance Overall Postdec. Time (s) MIP gap SSG MIP gap SSG MIP gap SSG MIP gap SSG

COR@L with 1 s intervalneos-906865 945 945 11509012 0009 0039Ø 0009 0039Ø 99099 54050Ø 99099 54050Øneos-912015 550 550 11170072 0029Ø 0029Ø 0029Ø 0029Ø 79046Ø 79046Ø 79046Ø 79046Øneos-796608 11002 11002 11117022 0010Ø 0010Ø 0010Ø 0010Ø 99098 99097Ø 99098 99097Øneos-807705 787 787 11110036 0000 0023Ø 0000 0023Ø 124082Ø 318032 124082Ø 318032neos4 65 65 857052 0015Ø 0015Ø 0015Ø 0015Ø 100047Ø 100089 100047Ø 100089neos-717614 608 608 892081 0010 0037Ø 0010 0037Ø 98088Ø 129090 98088Ø 129090Test3 428 428 873078 0011 0022Ø 0011 0022Ø 99074 80056Ø 99074 80056Øaligninq 183 183 816006 0089Ø 0015 0089Ø 0015 10059Ø 11212076 10059Ø 11212076neos-807639 507 507 728070 0010 0047Ø 0010 0047Ø 99097 65017Ø 99097 65017Øneos-686190 314 314 536042 0019 0029Ø 0019 0029Ø 81081Ø 208018 81081Ø 208018dano3_5 171 171 475002 0009 0030Ø 0009 0030Ø 96096 57007Ø 96096 57007Øneos-801834 162 162 362067 0014 0046Ø 0014 0046Ø 87096 52097Ø 87096 52097Øneos-806323 232 232 353025 0044Ø 0000 0044Ø 0000 28003Ø 11502037 28003Ø 11502037neos-584851 207 207 294042 0009 0045Ø 0009 0045Ø 99008 49052Ø 99008 49052Øneos-565815 16 16 258045 0000Ø 0000Ø 0000Ø 0000Ø 756071Ø 756071Ø 756071Ø 756071Øneos-825075 228 228 250017 0010 0062Ø 0010 0062Ø 99023 52047Ø 99023 52047Øbienst1 181 181 232077 0011 0045Ø 0011 0045Ø 99073 75009Ø 99073 75009Øqap10 13 13 138069 0031Ø 0031Ø 0031Ø 0031Ø 54077Ø 54077Ø 54077Ø 54077Øneos-803220 133 133 153067 0011 0089Ø 0011 0089Ø 91007 32066Ø 91007 32066Øneos-501453 109 109 137038 0011Ø 0011Ø 0011Ø 0011Ø 99096 95088Ø 99096 95088Øneos8 13 13 122091 0038Ø 0038Ø 0038Ø 0038Ø 67080Ø 67080Ø 67080Ø 67080Ø

Table 3 Ratio of 2-Accurate Predictions and the Geometric Mean of the Absolute Differences Between the Predictions and the True RemainingSolution Time for SYMPHONY

2-Accuracy Geometric mean of deviations

No. of predictions Solution Overall Postdecrease Overall Postdecrease

Instance Overall Postdec. Time (s) MIP gap SSG MIP gap SSG MIP gap SSG MIP gap SSG

MIPLIB with 10 s intervalmas76 21298 21298 231165033 0010 0088Ø 0010 0088Ø 99090 19046Ø 99090 19046Øpk1 223 223 121362017 0056 0093Ø 0056 0093Ø 92068 29090Ø 92068 29090Østein45 588 588 81221008 0027 0074Ø 0027 0074Ø 73017 42041Ø 73017 42041Øaflow30a 265 265 51041016 0027 0097Ø 0027 0097Ø 63048 15035Ø 63048 15035Øgesa2 273 273 31122047 0011 0073Ø 0011 0073Ø 93067 34093Ø 93067 34093Ønw04 193 193 21644045 0013 0029Ø 0013 0029Ø 88016Ø 98029 88016Ø 98029pp08aCUTS 228 228 21418058 0011 0091Ø 0011 0091Ø 99059 20091Ø 99059 20091Ømod011 182 182 21152088 0011 0075Ø 0011 0075Ø 91039 34027Ø 91039 34027Øpp08a 131 131 11605027 0014 1000Ø 0014 1000Ø 97027 12094Ø 97027 12094Øgesa2o 98 98 11199032 0013 0061Ø 0013 0061Ø 94070 59088Ø 94070 59088Øl152lav 92 92 11122033 0015 0023Ø 0015 0023Ø 88024Ø 232011 88024Ø 232011vpm2 74 74 11044013 0016 0053Ø 0016 0053Ø 90038 56048Ø 90038 56048Øbell3a 27 27 312014 0015 0089Ø 0015 0089Ø 96042 21045Ø 96042 21045Ø

MIPLIB with 1 s intervalblend2 75 75 306031 0020 0081Ø 0020 0081Ø 95050 26080Ø 95050 26080Øfixnet6 92 92 258047 0018 0072Ø 0018 0072Ø 98022 30057Ø 98022 30057Øp2756 59 59 236006 0014 0031Ø 0014 0031Ø 79005Ø 83090 79005Ø 83090stein27 91 91 233022 0013 0063Ø 0013 0063Ø 97018 60005Ø 97018 60005Ødsbmip 51 51 125069 0016Ø 0016Ø 0016Ø 0016Ø 92069Ø 92069Ø 92069Ø 92069Ø

COR@L with 10 s intervalneos13 605 552 141904000 0012 0024Ø 0014 0027Ø 82013 75019Ø 80089 73043Øneos-810326 673 265 111317000 0006 0057Ø 0016 0064Ø 243096 88028Ø 11239049 340042Øneos-829552 903 449 91949000 0041Ø 0033 0082Ø 0038 70082 64061Ø 50024Ø 57067

Page 9: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPs400 INFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS

Table 3 (Continued)

2-Accuracy Geometric mean of deviations

No. of predictions Solution Overall Postdecrease Overall Postdecrease

Instance Overall Postdec. Time (s) MIP gap SSG MIP gap SSG MIP gap SSG MIP gap SSG

COR@L with 10 s intervalneos20 40 40 91922000 1000Ø 1000Ø 1000Ø 1000Ø 15082Ø 33041 15082Ø 33041neos-799711 755 740 81745000 0012Ø 0012Ø 0012Ø 0012Ø 98003 95051Ø 98037 95079Ødano3_5 26 26 81539000 0000 0077Ø 0000 0077Ø 61174093 132007Ø 61174093 132007Øneos11 538 472 61124000 0012 0030Ø 0013 0034Ø 99073 63041Ø 99099 59067Øneos-820879 396 384 51125000 0017 0037Ø 0018 0039Ø 87073 75079Ø 88016 75082Øneos10 24 8 31887000 0025 0058Ø 0000 1000Ø 287084 131032Ø 913086 86077Øneos-906865 365 359 31757000 0024 0060Ø 0025 0061Ø 82054 45007Ø 82029 44057Øneos-603073 264 264 31749000 0009Ø 0003 0009Ø 0003 92067Ø 11993000 92067Ø 11993000neos-547911 203 0 31195000 0014Ø 0014Ø 99083Ø 99083Øneos-598183 73 73 31082000 1000Ø 0096 1000Ø 0096 45033 26036Ø 45033 26036Øneos-860300 121 121 21748000 0047Ø 0026 0047Ø 0026 80003 68092Ø 80003 68092Øneos-538867 254 254 21724000 0017 0054Ø 0017 0054Ø 90025 52077Ø 90025 52077Øneos-839859 211 198 21500000 0022 0043Ø 0023 0046Ø 71017Ø 90080 69081Ø 83054neos-480878 143 140 21447000 0013 0041Ø 0014 0041Ø 108077Ø 171032 109005Ø 173044neos-522351 130 47 11850000 0037 0047Ø 1000Ø 0091 40086Ø 87099 12071Ø 15050neos-504674 108 108 11619000 0013Ø 0008 0013Ø 0008 64026Ø 31600096 64026Ø 31600096neos-775946 133 128 11466000 0028 0034Ø 0029 0035Ø 81094 57024Ø 81040 56008Øneos-686190 97 97 11455000 0005 0006Ø 0005 0006Ø 95066Ø 488032 95066Ø 488032bienst2 110 110 11383000 0015 0057Ø 0015 0057Ø 82054 45019Ø 82054 45019Øneos-570431 114 85 11293000 0058 0061Ø 0078Ø 0069 61020Ø 62019 52049Ø 56047prod1 107 107 11183000 0035 0053Ø 0035 0053Ø 68000Ø 99077 68000Ø 99077neos-1440447 111 111 11142000 0012 0066Ø 0012 0066Ø 98020 47009Ø 98020 47009Øneos7 97 97 11141000 0011 0038Ø 0011 0038Ø 94078Ø 196019 94078Ø 196019neos-807639 104 104 11131000 0011 0064Ø 0011 0064Ø 97049 44033Ø 97049 44033Øneos-912015 91 76 11110000 0013Ø 0013Ø 0016Ø 0016Ø 98015Ø 98015Ø 98085Ø 98085Øneos-892255 100 86 11095000 0012 0035Ø 0014 0037Ø 96050 92055Ø 96049 95025Øneos-538916 90 24 11027000 0012 0027Ø 0046 1000Ø 94054Ø 11208057 82059 40026Øneos-555771 70 61 813000 0014 0040Ø 0016 0046Ø 83003 75078Ø 81048 73038Øneos-807705 44 44 787000 0080Ø 0018 0080Ø 0018 39062Ø 247015 39062Ø 247015neos-803220 56 56 780000 0014 0084Ø 0014 0084Ø 83008 13098Ø 83008 13098Øneos-803219 54 54 712000 0050 0065Ø 0050 0065Ø 49082 39056Ø 49082 39056Øneos-825075 65 65 699000 0011 0040Ø 0011 0040Ø 99026 95061Ø 99026 95061Øneos-555694 52 52 681000 0015Ø 0000 0015Ø 0000 76051Ø 440023 76051Ø 440023

COR@L with 1 s intervalneos-801834 332 280 558000 0013 0020Ø 0015 0023Ø 78095 70085Ø 81054 68095Øbienst1 375 375 453000 0038 0073Ø 0038 0073Ø 65051 38001Ø 65051 38001Øneos-1489999 379 112 424000 0009 0017Ø 0029Ø 0010 117093Ø 160095 196084 164052Øneos-717614 275 275 373000 0013 0077Ø 0013 0077Ø 90009 44075Ø 90009 44075Øneos-584851 258 252 278000 0011 0038Ø 0012 0039Ø 97097 70099Ø 97097 70052Øneos-565815 24 23 267000 0000 0033Ø 0000 0035Ø 599092 128067Ø 623007 124098Øneos-504815 102 102 254000 1000Ø 0030 1000Ø 0030 48098Ø 482001 48098Ø 482001aligninq 98 98 118000 0011 0053Ø 0011 0053Ø 98034 90031Ø 98034 90031Øneos-880324 20 20 42000 0015Ø 0015Ø 0015Ø 0015Ø 90058 87055Ø 90058 87055Ø

ences between the predictions and the true remainingsolution time for each instance in Tables 1–3.

We initially use a 10-second time interval tocompute the progress measure. If fewer than20 predictions are obtained with 10-second timeintervals, the experiment is repeated using 1-secondtime intervals. To investigate whether the predictionsbecome more accurate over time during the solutionprocess, in Tables 1–3 we report the accuracy ofpredictions that are calculated after the first decrease

in the number of unprocessed nodes (“postdecrease”predictions) separately. We select this time pointbecause it can be detected while the B&B algorithm isrunning.

During our computational tests, we observed thatpredictions get more accurate as the B&B algorithmcomes closer to finding the optimal solution. In partic-ular, postoptimal predictions that are calculated afterfinding the optimal solution (but before it is provento be optimal) are very accurate. One possible expla-

Page 10: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPsINFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS 401

Table 4 Average Ratio of 1.5-, 2-, 3-, and 4-Accurate PredictionsOver All Instances

CBC GLPK SYMPHONY

k MIP gap SSG MIP gap SSG MIP gap SSG

1.5 0016 0044 0018 0027 0020 00402 0017 0055 0019 0036 0023 00493 0021 0067 0022 0048 0028 00604 0024 0073 0025 0054 0033 0067

nation for this intuitive result is that all remainingunfathomed nodes must be considered regardless ofthe node selection rule after the optimal solution hasbeen found. Furthermore, the SSG-based predictionsmay be more accurate as the search tree is not sub-sequently repartitioned after the optimal solution hasbeen found. Unfortunately, it is impossible to knowwhen the optimal solution has been found beforetermination.

We make two comparisons based on Tables 1–3.First, we investigate which of the MIP gap-based andthe SSG-based predictions are more often accurateover all instances. We mark the more often accurateprediction type with a check mark.

As seen in Tables 1–3 the SSG-based predictions aremore often accurate than the MIP gap-based predic-tions for the majority of instances for all MIP solvers.This is a result of the generally more steady decreas-ing pattern of the SSG. However, there are also manyinstances for which the MIP gap-based predictions aremore accurate than the SSG-based predictions. This isbecause the SSG considers the optimality gap of allsubtrees, whereas actually only one subtree that con-tains the optimal solution is relevant.

Next, for both the MIP gap-based and the SSG-basedpredictions, we compare the ratio of accurate postde-crease predictions with the ratio of accurate overallpredictions. For most instances, the first decrease in

Time (s)5000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9MIP gap SSG

1.0

Progress measures: aligninq, GLPK Progress measures: aligninq, GLPK

0

0.1

0.2

0.3

0.4

0.5

Mea

sure 0.6

0.7

0.8

0.9

1.0

550 600 650 700 750 800 850

Time (s)500 550 600 650 700 750 800 850

Figure 5 The MIP Gap and SSG for the aligninq Instance

Table 5 Average Ratio of 1.5-, 2-, 3-, and 4-Accurate PredictionsOver All Predictions

CBC GLPK SYMPHONY

k MIP gap SSG MIP gap SSG MIP gap SSG

1.5 0012 0043 0014 0025 0017 00432 0012 0058 0014 0035 0019 00523 0014 0075 0017 0048 0025 00654 0015 0082 0021 0054 0029 0071

the number of unprocessed nodes occurs early (as seenwhen the number of postdecrease predictions is closeto the total number of predictions), and so the ratio ofaccurate postdecrease predictions is close to that of allpredictions. However, if the time of the first decreasein the number of unprocessed nodes is close to half ofthe total solution time (as seen when the number ofpostdecrease predictions is about half of the total num-ber of predictions), we observe that the postdecreasepredictions are generally more accurate.

Tables 4 and 5 report the average ratio of 105-, 2-,3-, and 4-accurate MIP gap-based and SSG-based pre-dictions over all instances and over all predictions,respectively. As seen in these tables, for each k and foreach of the three MIP solvers, the SSG-based predic-tions are more accurate on average than those basedon the MIP gap.

The accuracy measure should be interpreted cau-tiously as the predictions calculated based on aprogress measure that stays constant during the solu-tion process might still be accurate. For instance, con-sider the aligninq instance from the COR@L librarythat is reported in Table 2 and depicted in Figures 5and 6. In Figure 5, the MIP gap is constant and theSSG is decreasing very slowly. Therefore, from Equa-tion (7), the MIP gap-based predictions are calculatedbased on the rate of increase in the number of unpro-cessed nodes. As seen in Figure 6, these naïve time

Page 11: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPs402 INFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS

500

1,000

1,500

(MIP gap)

(MIP gap)

Elapsed time

(SSG)

Prediction plot: aligninq, GLPK Prediction plot: aligninq, GLPK

0

2,000

4,000

6,000

Pre

dict

ion

of to

tal t

ime

8,000

10,000

12,000

14,000

Time (s)

500 550 600 650 700 750 800 850

Time (s)

500 550 600 650 700 750 800 8500

2,000

Figure 6 The MIP Gap-Based and SSG-Based Predictions for the aligninq Instance

predictions have turned out to be accurate. On theother hand, the SSG-based predictions, which are cal-culated based on a near-flat slope, overestimate thesolution time.

6. ConclusionsWe introduced a new progress measure, the SSG,that is often more steady than the MIP gap, whichenables the user to get a better understanding of theprogress of B&B algorithms. The additional computa-tional work to calculate the SSG is linear in the numberof unprocessed nodes.

We proposed a method for predicting the total solu-tion time of B&B algorithms. We performed computa-tional experiments on the instances from MIPLIB andCOR@L libraries using the SSG and the MIP gap as aprogress measures. We showed that making accuratepredictions of the total solution time is possible formany MIP instances even in the early stages of B&Balgorithms if the progress measure follows a steadydecrease pattern.

During our computational tests, we observed thatthe SSG-based predictions are more accurate than theMIP gap-based predictions for most instances; how-ever, once the MIP gap-based predictions becomeaccurate, they sometimes exhibit smaller variationthan the SSG-based predictions. Therefore, somerefinements on the prediction method to reduce thevariance will improve the quality of predictions.

In our prediction method, we employed a doubleexponential smoothing technique to update the modelparameters because of its ease of implementation andfast running times. The performance of other smooth-ing techniques remains an open question.

We did not consider the time of a prediction whenevaluating its accuracy or its deviation from the actualsolution time. Intuitively, early predictions are moreerror prone because there is less information about the

instance. Future research may address that issue bydeveloping more-advanced performance measures.

AcknowledgmentsThe authors thank to two anonymous referees for construc-tive comments that improved a previous version of thispaper. The authors are partially supported by National Sci-ence Foundation Grants CMMI-0826141 and DMI-0620780.

ReferencesAchterberg, T., T. Koch, A. Martin. 2006. MIPLIB 2003. Oper. Res.

Lett. 34(4) 361–372.Box, G. E. P. 1991. George’s column: Understanding exponential

smoothing: A simple way to forecast sales and inventory. Qual-ity Engrg. 4(1) 143–151.

Chen, P. C. 1992. Heuristic sampling: A method for predicting theperformance of tree search programs. SIAM J. Comput. 21(2)295–315.

COR@L. 2010. Coral: Mixed-integer programming instances.Lehigh University, Bethlehem, PA. http://coral.ie.lehigh.edu/data-sets/mixed-integer-instances.

Cornuéjols, G., M. Karamanov, Y. Li. 2006. Early estimates of thesize of branch-and-bound trees. INFORMS J. Comput. 18(1)86–96.

Forrest, J. J. 2007. COIN-OR branch and cut 1.01. Retreived March13, 2010, http://projects.coin-or.org/Cbc.

Gardner, E. S., Jr., D. G. Dannenbring. 1980. Forecasting with expo-nential smoothing: Some guidelines for model selection. Deci-sion Sci. 11(2) 370–383.

ILOG. 2010. IBM ILOG CPLEX optimizer. IBM ILOG, Armonk,NY. Retrieved March 13, 2010, http://www.ilog.com/products/cplex.

Kilby, P., J. Slaney, S. Thiébaux, T. Walsh. 2006. Estimating searchtree size. Proc. 21st Natl. Conf. Artificial Intelligence, Boston.AAAI Press, Menlo Park, CA, 1014–1019.

Knuth, D. E. 1975. Estimating the efficiency of backtrack programs.Math. Comput. 29(129) 121–136.

LaViola, J. J. 2003. Double exponential smoothing: An alternative toKalman filter-based predictive tracking. Proc. Workshop VirtualEnvironments (EGVE ’03), Zurich, Vol. 39. ACM, New York,199–206.

Makhorin, A. 2007. GLPK (GNU Linear Programming Kit), 4.15.Retrieved March 13, 2010, http://www.gnu.org/software/glpk.

Page 12: Predicting the Solution Time of Branch-and-Bound ...schaefer/papers/PredictingBranchandBound.pdf · Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms

Özaltın, Hunsaker, and Schaefer: Predicting the Solution Time of B&B Algorithms for MIPsINFORMS Journal on Computing 23(3), pp. 392–403, © 2011 INFORMS 403

NIST/Sematech. 2006. Double exponential smoothing. e-Handbook of Statistical Methods. Retrierved March 13, 2010,http://www.itl.nist.gov/div898/handbook/pmc/section4/pmc433.htm.

Özaltın, O. Y., B. Hunsaker, T. K. Ralphs. 2007. BAK: Branch-and-bound analysis kit. Retrieved March 13, 2010, http://www.rosemaryroad.org/projects/BAK.

Purdom, P. W. 1978. Tree size by partial backtracking. SIAM J.Comput. 7(4) 481–491.

Ralphs, T. K. 2007. SYMPHONY 5.1. Lehigh University, Beth-lehem, PA. Retrieved March 13, 2010, http://www.coin-or.org/SYMPHONY.

Snyder, R. D., A. B. Koehler, J. K. Ord. 2002. Forecasting for inven-tory control with exponential smoothing. Internat. J. Forecasting18(1) 5–18.

Welch, G., G. Bishop. 1995. An introduction to the Kalman filter.Technical Report TR 95-041, Department of Computer Science,University of North Carolina at Chapel Hill, Chapel Hill.