IMPROVED BRANCH AND BOUND FOR

INTEGER PROGRAMMING

By

Brian Borchers

A Thesis Submitted to the Graduate

Faculty of Rensselaer Polytechnic Institute

in Partial Fulllment of the

Requirements for the Degree of

DOCTOR OF PHILOSOPHY

Ma jor Sub ject Mathematical Sciences

Approved by the

Examining Committee

Professor John E Mitchell Thesis Adviser

Professer Joseph G Ecker Member

Professor George Hab etler Member

Professor Carlton E Lemke Member

Professor John Mittenthal Member

Rensselaer Polytechnic Institute

Troy New York

June

For Graduation August

IMPROVED BRANCH AND BOUND ALGORITHMS FOR

INTEGER PROGRAMMING

By

Brian Borchers

An Abstract of a Thesis Submitted to the Graduate

Faculty of Rensselaer Polytechnic Institute

in Partial Fulllment of the

Requirements for the Degree of

DOCTOR OF PHILOSOPHY

Ma jor Sub ject Mathematical Sciences

The original of the complete thesis is on le

in the Rensselaer Polytechnic Institute Library

Approved by the

Examining Committee

Professor John E Mitchell Thesis Adviser

Professer Joseph G Ecker Member

Professor George Hab etler Member

Professor Carlton E Lemke Member

Professor John Mittenthal Member

Rensselaer Polytechnic Institute

Troy New York

June

For Graduation August

CONTENTS

LIST OF TABLES iv

LIST OF FIGURES vii

ACKNOWLEDGEMENT ix

ABSTRACT x

Intro duction and Historical Review

The Branch and Bound Metho d

Interior Point Metho ds for

Using the DualAne Metho d in a Branch and Bound Co de for Mixed

Integer Linear Programming Problems

The DualAne Metho d

The DualAne Metho d for Problems with Upp er Bounds

Starting and Stopping the DualAne Metho d

Detecting Fractional Variables

The Branch and Bound

Branching Strategies

Computational Details

Sample Problems

Computational Results

Using the PrimalDual Metho d in a Branch and Bound Co de for Mixed

Integer Linear Programming Problems

The PrimalDual Metho d

The PrimalDual Metho d and Complementary Slackness

Detecting Fractional Variables

Warm starting the PrimalDual Metho d

Implementing the PrimalDual Metho d

The Exp erimental Branch and Bound Co de

More Sample Problems ii

Computational Results

Solving Mixed Integer Problems

Solving the Subproblems

for Detecting Fractional Solutions

Generating Lower Bounds

The Branch and Bound Algorithm

Computational Results

Discussion and Conclusions

LITERATURE CITED

APPENDICES

A Benchmarks for the PrimalDual Co de

B A Small Network Design Problem iii

LIST OF TABLES

Table Sample problem statistics

Table OSL results for problem set one

Table Branch and b ound results for problem set one

Table Fixed order branch and b ound results for problem set one

Table OSL results for problem set two

Table Branch and b ound results for problem set two

Table Fixed order branch and b ound results for problem set two

Table OSL results for problem set three

Table Branch and b ound results for problem set three

Table Fixed order branch and b ound results for problem set three

Table OSL results for problem set four

Table Branch and b ound results for problem set four

Table Fixed order branch and b ound results for problem set four

Table Problem set one without early branching

Table Problem set two without early branching

Table Problem set three without early branching

Table Problem set four without early branching

Table Problem set one without warm start

Table Problem set two without warm start

Table Problem set three without warm start

Table Problem set four without warm start

Table Sample problem statistics

Table Simplex iterations p er second in EKKSSLV and EKKMSLV iv

Table OSL results for problem set one

Table Branch and b ound results for problem set one

Table Problem set one without early branching

Table Problem set one without warm start

Table OSL results for problem set two

Table Branch and b ound results for problem set two

Table Problem set two without early branching

Table Problem set two without warm start

Table OSL results for problem set three

Table Branch and b ound results for problem set three

Table Problem set three without early branching

Table Problem set three without warm start

Table OSL results for problem set four

Table Branch and b ound results for problem set four

Table Problem set four without early branching

Table Problem set four without warm start

T able OSL results for problem set ve

Table Branch and b ound results for problem set ve

Table Problem set ve without early branching

Table Problem set ve without warm start

Table OSL results for problem sets eight through ten

Table Branch and b ound results for problem sets eight through ten

Table Problem set eight through ten without early branching

Table Problems eight through ten without warm start

Table OSL results for problem set six

Table Branch and b ound results for problem set six v

Table OSL results for problem set seven

Table Branch and b ound results for problem set seven

Table Branch and b ound results for p erturb ed problem set six

Table OSL results for p erturb ed problem set six

Table Characteristics of the sample problems

Table Computational results for the co de without heuristics

Table Computational results for the co de with heuristics

Table A OSL simplex solutions of the LP relaxations

Table A OSL primaldual solutions of the LP relaxations

Table A Exp erimental primaldual solutions of the LP relaxations

Table A Exp erimental dualane solutions of the LP relaxations

Table B Flows b etween cities

Table B Distances b etween cities vi

LIST OF FIGURES

Figure A branch and b ound example

Figure The branch and b ound algorithm

Figure The revised branch and b ound algorithm

Figure Lower b ounds for a sample problem

Figure Estimates of x for a sample problem

Figure The branch and b ound algorithm

Figure Subproblems solved relative to OSL

Figure CPU time relativetoOSL

Figure Subproblems solved relative to OSL

Figure Iterations p er subproblem

Figure CPU time relativetoOSL

Figure The central tra jectory

Figure The branch and b ound algorithm

Figure Subproblems solved relative to OSL

Figure Iterations p er subproblem

Figure CPU time p er subproblem relativetoOSL

Figure CPU times relativetoOSL

Figure The branch and b ound algorithm for MINLP

Figure A LP results for problem sets one through ten

Figure A Problem b efore minimum degree ordering

Figure A Problem after minimum degree ordering

Figure A The Cholesky factors for problem

Figure A Problem b efore minimum degree ordering vii

Figure A Problem after minimum degree ordering

Figure A The Cholesky factors for problem

Figure A Problem b efore ordering

Figure A Problem after minimum degree ordering

Figure A The Cholesky factors for problem viii

ACKNOWLEDGEMENT

Iwould liketotake this opp ortunitytothankmy advisor John Mitchell for in

tro ducing me to the whole eld of interior p oint metho ds and sup ervising the work

that wentinto this thesis Iwould also like to thank the memb ers of the thesis

committeeJoeEcker George Hab etler Carlton E Lemke and John Mittenthal

My ancee Suzanne Blo o dgo o d provided moral supp ort and pro ofread the text of

the thesis for sp elling errors Our cat Dustmop kept me company during long nights

sp ent at the terminal

This researchwas partially supp orted by ONR Grantnumb er NJ

ix

ABSTRACT

This thesis is an investigation into improved branch and b ound algorithms for linear

and nonlinear mixed integer programming Heuristics are develop ed for determining

when the solution to a subproblem will involve fractional variables When this

situation is detected the algorithm branches early creating new subproblems with

the fractional variables xed at integer values In this wayweavoid the work of

solving the current subproblem to optimality

Branch and b ound co des for mixed integer linear programming problems have

traditionally used the simplex metho d to solve the linear programming subprob

lems that arise Early detection of fractional variables is dicult with the simplex

metho d b ecause a variable might b ecome basic and thus fractional at the last it

eration of the simplex metho d In contrast with an interior p oint metho d variables

converge steadily to their optimal values This makes it relatively easy to detect

fractional variables

To b e useful in a branch and b ound algorithm an interior p oint metho d must

generate lower b ounds which are used to fathom subproblems and primal solution

estimates which the heuristics use to detect a fractional solution Most interior p oint

metho ds satisfy these requirements but we concentrate on the dualane metho d

and the primaldual path following metho d We describ e exp erimental co des based

on b oth metho ds Computational results are provided for a numb er of randomly

generated problems as well as for problems taken from the literature These results

indicate that the early branching idea is very eective but more work is needed

h and b ound co des comp etitive with simplex based to make the exp erimental branc

branch and b ound co des

The early branching idea is also used in a branch and b ound co de for mixed

integer nonlinear programs This co de uses the sequential x

metho d to solve the NLP subproblems The SQP metho d generates estimates of

the optimal solution at each iteration which the early branching heuristics use

Computational results are provided for a numb er of sample problems taken from

the literature On some problems the co de with early branching uses less CPU

time than the co de without early branching xi

CHAPTER

Intro duction and Historical Review

Mixed integer programming problems are optimization problems in which some of

the decision variables are restricted to integer values while other decision variables

may b e continuous The integer variables typically enco de choices from a small set

of options available to the decision maker In many cases these choices are binary

yes or no decisions Such decisions can b e enco ded byinteger variables which

are restricted to the values zero and one The ob jective function and constraints

can b e linear or nonlinear and nonlinear ob jective functions and constraints maybe

convex or nonconvex We will restrict our attention to zeroone mixed integer linear

programs and zeroone mixed integer nonlinear programs with convex ob jective

functions and constraints

Many optimization problems can b e formulated as mixed integer linear pro

grams with zeroone variables including facility lo cation problems scheduling prob

lems set covering and partitioning problems matching problems and linear ordering

problems Salkin and Mathur provide many examples of zeroone integer linear pro

gramming mo dels in their b o ok Some applications of zeroone mixed integer

nonlinear programs with convex constraints and ob jective functions include network

design chemical pro cess synthesis pro duct marketing and

capital budgeting

Thereareanumb er of approaches to solving mixed integer linear programming

problems including branch and b ound algorithms implicit enumeration algorithms

cutting plane algorithms Benders decomp osition and group theoretic approaches

Of these metho ds the most p opular general purp ose metho d is clearly branch and

y commerciallyavailable co des including MPSXMIP OSL Sciconic b ound Man

and Lindo implement branch and b ound algorithms The other approaches have

b een somewhat successful in the researchenvironment but are much less widely

used in practice Much less work has b een done on algorithms for mixed inte

ger nonlinear programs Approaches to solving these problems include branch and

b ound algorithms generalized Benders decomp osition and algorithms based on

outer approximation

The Branch and Bound Metho d

We will concentrate on branch and b ound approaches to mixed integer linear

and nonlinear programs We restrict our attention to branch and b ound algorithms

for zeroone mixed integer programs but the branch and b ound metho d can also b e

applied to problems with integer variables that are not restricted to the values zero

and one The metho d was rst describ ed by Land and Doig in Dakin

Beale and Small Drieb eck Tomlin and others improved the basic algorithm in a

number of ways There are manysurvey articles and textb o oks that

cover branch and b ound algorithms for mixed integer linear programs including

Pap ers that discuss branch and b ound algorithms for mixed integer

nonlinear programs include

The branch and b ound algorithm for zeroone mixed integer programming

works byenumerating p ossible combinations of the zeroone variables in a branch

and b ound Eachnodeofthetreeisacontinuous optimization problem based

on the original problem but with some of the integer variables xed at zero or one

The remaining zeroone variables are allowed to takeonanyvalue in the range

between zero and one The ro ot of the tree is the original problem with all of the

integrality constraints relaxed

At each iteration the algorithm selects a leaf no de from the tree and solves

the corresp onding subproblem There are four p ossible results If the subproblem is

infeasible then any further restriction of the subproblem w ould also b e infeasible

so we can ignore all descendents of the current subproblem If the optimal value

of the current subproblem is larger than the ob jectivevalue of a known integer

solution then no restriction of the current subproblem will give a b etter integer

solution and we can ignore all descendents of the current subproblem This pro cess

of deleting the current subproblem and all of its p otential children from the tree is

called fathoming If the optimal solution to the current subproblem satises all of

the integrality constraints and has a lower ob jectivevalue than any known integer

solution then we record the ob jectivevalue of this integer solution Finally if none

of the ab ove conditions are satised one of the zeroone variables is fractional at

optimalityWe create two new subproblems with the variable alternately xed at

zero and one The new subproblems are added to the branch and b ound tree as the

children of the current subproblem We then select the next subproblem to solve

The algorithm stops when there are no more unfathomed subproblems in the branch

and b ound tree

Figure shows the branch and b ound tree for the following sample problem

min x x

 

sub ject to x x

 

x x

 

x x f g

 

The algorithm b egins by solving the LP relaxation of this problem The op

timal solution is x x with optimal ob jectivevalue z Since x

  

is fractional at optimality the algorithm creates two new subproblems with x



and x The algorithm next solves the subproblem with x xed at zero The

 

solution to this subproblem is x x with ob jectivevalue z Again

 

the algorithm creates two new subproblems with x xed at zero and one The



algorithm attempts to solve the subproblem with x xed at zero and discovers that



the subproblem is infeasible It then solves the subproblem with x xed at This 

x



x



z

c

c

c

x



x



c

c

c

c

x x

 

x x

 

z z

e

e

x

e

x





e

e

e

x



Infeasible x



z

Figure Abranch and b ound example

subproblem has an integer optimal solution with x x and optimal ob

 

jectivevalue z The algorithm then solves the subproblem with x xed at one



and since this is larger This subproblem has an optimal ob jectivevalue of z

than the subproblem can b e fathomed by b ound Thus the optimal solution is

x x with ob jectivevalue z

 

Aowchart of the basic branch and b ound algorithm is shown in Figure

Although most of the steps in this algorithm are quite simple some of the steps

require additional explanation

In step two the algorithm picks the next subproblem There are many options

here but most branch and b ound algorithms rely on two basic strategies In depth

rst search the algorithm picks one of the most recently created subproblems This

results in subproblems with a large numb er of xed variables and these subproblems

Initialize BB

Start

Tree

Tree Empty

PickaNew

Subproblem

Solvethe

Subproblem

Infeasible or Yes Delete

Output Soln

lb ub Subproblem

No

End

Yes

Branch Fractional

Var

No

Integer Yes

ubminubob j

Soln

Figure The branch and b ound algorithm

are more likely to haveaninteger solution A second strategy aimed at improving

the lower b ound on the optimal ob jectivevalue as quickly as p ossible is to pick the

subproblem that has the lowest estimated ob jectivevalue There are many metho ds

for estimating the optimal ob jectivevalue of a subproblem including the p enalties

prop osed by Drieb eckandTomlin and pseudo costs describ ed in

In step three any metho d for solving the continuous subproblems can b e used

For mixed integer linear programs the simplex metho d has b een very eective but

we will use interior p ointmethodstosolve the subproblems For mixed integer

nonlinear programs any metho d for solving convex nonlinear programming problems

can b e used Gupta and Ravindran used the Generalized Reduced Gradient GRG

metho d Our exp erimental co des use the Sequential Quadratic Programming

SQP metho d

In step six wemay nd more than one fractional variable The algorithm

must decide whichvariable to branchon One p ossibilityistopickthevariable

which is closest to an integer value By branching on this variable and then solving

the subproblem in whichthevariable has b een rounded to the nearest integer value

we increase the chances of nding an integer solution Another solution is to branch

on the most fractional variable The resulting subproblems are likely to havesig

nicantly larger optimal ob jectivevalues than the parent subproblem Pseudo costs

and p enalties can also b e used to select the branching variable

umeration techniques are often used within a branch and b ound Implicit en

algorithm to decrease the size of the branch and b ound tree In implicit enu

meration the algorithm uses logical relationships implied by the linear constraints

to x variables at zero or one instead of explicitly enumerating combinations of the

zeroone variables in the branch and b ound tree For example if we are given the

constraint x x and x has b een xed at one then x must b e zero in any

   

integer feasible solution Implicit enumeration techniques can also b e used to derive

lower b ounds for subproblems These techniques are used in IBMs Optimization

Subroutine Library OSL

Singhal Marsten and Morin havedevelop ed a branch and b ound co de called

ZOOM in which the branching variables are selected b efore solving anyofthe

subproblems This xed order branchandboundscheme will b e discussed

further in Chapter

In practice iterative algorithms are used to solve the subproblems If an iter

ative algorithm computes lower b ounds during the solution of a subproblem these

lower b ounds can sometimes b e used to fathom a subproblem by b ound without

solving the subproblem to optimalityFor example if the dual simplex metho d is

used to solve an LP subproblem and a dual solution is obtained that has a higher

ob jectivevalue than a known integer solution then the current subproblem can b e

fathomed by b ound This metho d is used bya numb er of existing branch and b ound

co des

We will develop branch and b ound algorithms that use heuristics to detect

zeroone variables which app ear to b e converging to fractional values If the algo

rithm detects such a fractional variable then it can branch early without solving

the current subproblem to optimalityAowchart for the revised branch and b ound

algorithm is shown in Figure After each iteration of the algorithm to solve the

subproblem wecheck to see if we can fathom the current subproblem by b ound or

if there is a zeroone variable that app ears to b e converging to a fractional value In

the latter case the algorithm branches without solving the subproblem to optimality

If these heuristics err in declaring a variable fractional when it actually has an

integer value at optimality then the algorithm will waste time on the additional sub

problems that are created However the algorithm will eventually nd an optimal

integer solution since all p ossible integer solutions will still b e enumerated

Initialize BB

Start

Tree

Tree Empty Pick a New

Subproblem

Do an Iteration

of the Solution

Algorithm

Infeasible or Delete Yes

Output Soln

lb ub Subproblem

No

End

Yes

Branch Fractional

Var

No

Integer Yes

ubminubob j

Soln

No

Figure The revised branch and b ound algorithm

There are two other p otential problems The algorithm might branch early on

a subproblem which is actually infeasible Any further restrictions of the subproblem

will also b e infeasible and the algorithm will eventually discover that each of these

subproblems is infeasible The algorithm might also branch early when the optimal

value of the current subproblem is large enough to fathom the subproblem by b ound

Again the algorithm would waste time by doing this but it would ultimately fathom

all of the resulting subproblems

In order to eectively apply the early branching idea we need a metho d for

solving the subproblems whichgives go o d estimates of the optimal values of the zero

one variables well b efore an optimal solution has b een found For linear problems

the commonly used simplex metho d is not a go o d choice since a zeroone variable

could b ecome basic and thus fractional at the very last iteration of the simplex

algorithm Fortunatelyinterior p oint metho ds do give go o d estimates of the optimal

solution relatively early in the solution pro cess

Interior Point Metho ds for Linear Programming

Recentinterest in interior p oint metho ds dates back to when Narendra

Karmarkar published a description of a new p olynomial time algorithm for linear

programming Karmarkars work was of great practical and theoretical im

p ortance Although Khachian had shown in that the ellipsoid metho d can b e

used to solve linear programming problems in p olynomial time the ellipsoid metho d

was not successful in practice Karmarkars pro jective algorithm also had the de

sirable prop erty of p olynomial running time but more imp ortantlyversions of the

algorithm were eective in practice

Since the publication of Karmarkars pap er the eld of interior p oint metho ds

t for linear programming has grown quickly A recent bibliographyoninterior p oin

metho ds lists nearly a thousand pap ers There are a numb er of go o d survey

pap ers including Computational studies that indicate interior p oint

metho ds can outp erform the simplex metho d on various kinds of problems include

We will use twointerior p oint metho ds for linear programming The rst of

these is the ane rescaling metho d which Dikin describ ed originally in the s

Unfortunately the algorithm was not develop ed into a practical metho d for

solving linear programs at that time This metho d was indep endently rediscovered

in the s as a variant of Karmarkars algorithm Weuseadualversion

of the ane rescaling metho d describ ed in The second metho d that we

will use is the primaldual path following metho d This metho d is based on the

sequential unconstrained minimization technique of Fiacco and McCormick

Weuseaversion of the algorithm develop ed by Lustig Marsten and Shanno in

One reason that interior p oint metho ds had previously not b een successful

was the lack of good software for solving the systems of linear equations that arise

in interior p oint metho ds The matrices of these systems of equations often have

far more zero entries than nonzero entries and software can takeadvantage of this

bysaving only the nonzero entries in the matrix Ecient co des for solving these

sparse systems were rst develop ed in the late s Our interior p oint co des make

use of routines for solving sparse systems of equations from the Yale Sparse Matrix

Package YSMP and IBMs extended scientic subroutine library ESSL

The b o oks by George and Liu and Du Erisman and Reid describ e techniques for

solving sparse systems of equations

Figure shows the sequence of dual ob jectivevalues generated by the dual

ane metho d in solving a sample problem Note that the lower b ounds given

by these dual ob jectivevalues are very go o d after only a few iterations while

iterations are needed to solve the problem to optimality Figure shows the

2000

1500

1000 Lower Bound

500

0 0 5 10 15 20 25 30

Iterations

Figure Lower b ounds for a sample problem

sequence of estimates of x for the same problem Its clear after ab out iterations

that x will have a fractional value at optimality In this example the dualane

metho d quickly pro duces useful lower b ounds and estimates of the optimal values

of the zeroone variables As we shall see in Chapters and these prop erties of

interior p oint metho ds are a very imp ortant factor in the p erformance of branch

and b ound co des based on interior p oint metho ds

Throughout the thesis wemake use of the following notation Upp er case

letters suchasA are used to denote matrices A refers to the jth column of the

j

matrix ALower case letters are used to representvectors and scalars We will use

DI AGx to denote the diagonal matrix whose diagonal elements are the elements

of the vector xFrequentlywe will asso ciate a vector suchas w with a diagonal

matrix suchasW DI AGw We sometimes use b old face typ e to distinguish

vectors from scalars We denote the jth elementofa vector v by v Sup erscripts j

1.4

1.2

1

0.8

0.6 Estimate of X(9)

0.4

0.2

0 0 5 10 15 20 25 30

Iterations

Figure Estimates of x for a sample problem

k

are used to denote the iteration count within algorithms Thus x would b e used

for the primal solution at the kth iteration of an algorithm We use jj x jj to denote

the norm of the vector xWe will also need the norm denoted by jj x jj



The remainder of this thesis is organized as follows In Chapter we describ e

a branch and b ound co de for mixed integer linear programs that uses the dual

ane metho d to solve its LP subproblems Computational results for four sets of

sample problems are presented In Chapter we describ e a branchandboundcode

for mixed integer linear programming problems that uses the primaldual interior

p oint metho d Computational results for the four sets of sample problems from

Chapter and from three new sets of sample problems are given In Chapter we

describ e a branch and b ound co de for convex mixed integer nonlinear programs and

present computational results from a numb er of sample problems Our conclusions

are presented in Chapter

CHAPTER

Using the DualAne Metho d in a Branch and Bound Co de for Mixed

Integer Linear Programming Problems

In this chapter we describ e two exp erimental branch and b ound co des that use

the dualane metho d to solve the LP subproblems These co des use the early

branching idea in an attempt to improve p erformance

The remainder of this chapter is divided into sections In sections and

we describ e the interior p oint metho d that we use to solve the subproblems We

develop pro cedures for warm starting the dual ane metho d and detecting fractional

variables in sections and The branch and b ound algorithm is describ ed in

section Two strategies for selecting subproblems to b e solved are describ ed in

section In section we describ e a numb er of computational details that have

aected the p erformance of the exp erimental co des In section we describ e four

sets of sample problems Our computational results are presented in section

The DualAne Metho d

In this section we present the dualane interior p oint metho d for solving

linear programs The metho d presented here is describ ed in

We b egin with a pair of primal and dual problems

T

min c x

sub ject to Ax b

x

and

T

max b y

T

sub ject to A y z c

z

We will assume that the constraint matrix A has full row rank Consequentlyin

any feasible solution y is determined by

T 

y AA Ac Az

 

The dualane metho d b egins with an initial dual feasible solution y z



with z Ateach iteration the algorithm rescales the problem so that z moves

to ethevector of all ones In this rescaled problem the algorithm moves in a

direction that retains feasibility and improves the ob jective function This direction

is obtained by pro jecting the gradient of the ob jective function onto the null space

of the constraints The algorithm moves almost as far as p ossible in this direction

without losing nonnegativityof z This pro cess is rep eated until a convergence

criterion is met

k k

At the k th iteration of the algorithm wehave a dual solution y z Let

k

Z DI AGz Then let



z Z z



A AZ

and



c Z c

Now the scaled problem is

T

max b y

T

sub ject to A y z c

z

k

Herez e is the current solution and

T 

y AA Ac Az

We can rewrite the scaled problem as

T T 

max b AA Ac Az

T T 

sub ject to A AA Ac Azz c

z

We can ignore the constant term in the ob jective function and rewrite the equality

constraints to get

T T 

Az max b AA

T T T T  

Ac sub ject to I A AA Az I A AA

z

Let

T T 

dz A AA b

This is the gradient of the ob jective function of the scaled problem The direction

dz is already in the null space of the constraints since

T T  T T 

AA AA b I A AA

In the original unscaled problem this direction is equivalentto

T  T 

dz A AZ A b

T

In order to retain dual feasibilitywemust have dz A dy so

 T 

dy AZ A b

T T  T  T

Note that since b dy b AZ A b b dy is always p ositive Thus the algorithm

shows monotonic improvementateachstep

To determine the maximum p ossible step length wesolve the onevariable LP

max

d

k

sub ject to z dz d

k  k 

We can now compute z and y using

k  k

z z dz

d

and

k  k

y y dy

d

The factor of ensures that z will remain strictly p ositive In practice it is b etter

to compute

k  k

y y dy

d

and

k  T k 

z c A y

This helps to ensure that the new solution will b e dual feasible

To nd primal solutions well solve the following least squares problem at each

iteration of the algorithm

P

n



min x z

i i

i

sub ject to Ax b

Any solution to this problem satises the primal constraints Ax bIfwe assume

nondegeneracy when z is dual optimal the complementary slackness conditions

ensure that we will nd exactly one solution to the least squares problem with

P

n



x z This will b e an optimal primal solution Unfortunatelywhen z is

i i

i

not optimal the solution to this least squares problem mayhave elements that are

less than zero Thus the solutions to this least square problem will not always b e

primal feasible

Let

k  

x Z dz

k 

We claim that x solves the least squares problem To see this rst multiply

k 

A by x

k   T

Ax AZ A dy

 T  T 

AZ A AZ A b

b

Next compute the gradient of the ob jective function of the least squares problem



and pro ject it onto the null space of the constraints The gradientisZ xThe

pro jection onto the null space of the constraints is

T T   k 

p I A AA AZ x

T T 

I A AA Adz

T T  T

A AA AA dy I

k  

Since the pro jection of the gradient is zero x Z dz is the optimal solution

to the least squares problem

An alternative pro cedure for nding primal solutions is describ ed in

It has the advantage of generating truly feasible primal solutions However this

metho d requires additional computations that increase the computational work p er

iteration Furthermore we sometimes found that the onevariable LP that o ccurs in

this metho d was unsolvable b ecause of numerical diculties So wehave continued

to use the simpler pro cedure for nding primal solutions In practice wehavehadno

trouble nding go o d primal solutions using the technique describ ed in this section

There have b een several pro ofs of convergence for primal and dual versions

of the ane scaling algorithm Unfortunately all of these

pro ofs are based on assumptions of nondegeneracy or restricted step lengths For

example the most recent pap er by Tsuchiya and Muramatsu shows that the

algorithm converges when the step length is limited to of the distance to the

b oundary of the This pap er also shows that the optimal primal and

dual solutions will b e p oints in the interior of the optimal faces This ensures that

the optimal solution will have strict complementarity The consequences of this will

b e discussed in section Although our algorithm do es not use a limited step

length the algorithm do es converge in practice

The DualAne Metho d for Problems with Upp er Bounds

The dualane metho d of the previous section has b een extended to problems

with upp er b ounds on the primal variables by Marsten Saltzman Shanno Pierce

and Ballintijn In this section we derive the dualane metho d for problems

with b ounded primal variables and discuss ways of obtaining primal solutions

We consider problems of the form

T

P min c x

sub ject to Ax b

x

x u

Again A is an m by n matrix c is an n by vector and b is a m by vector

For simplicitywe require that all the variables have explicit upp er b ounds This

restriction will b e relaxed in Chapter

The LP dual of this problem is

T T

D max b y u w

T

sub ject to A y w z c

w z

We will reformulate these problems so that they t into the framework of the

previous section Let

b c x y z

b c x y z

u s w w slack

and

A

A

I I

Our problems P and D are clearly equivalentto

T

P min c x

sub ject to Ax b

x

and the dual problem

T

D max b y

T

sub ject to A y z c

z

Note that the equality constraints in D imply that w w

slack

We can now apply the metho d of the previous section to problems P and

 

b can b e written as A D The equation dy AZ

 T 

AZ A AZ dy b

B C

A

 T  

Z A Z W dw u

Solving the ab ove system of equations we obtain

    T

dw Z W Z A dy u

Substituting into the equations we get

 T      T

AZ A dy b AZ Z W Z A dy u

So

      T    

AZ Z Z W Z A dy b AZ Z W u

At this p oint we need two easy identities

       

Z Z W W Z W

and

        

Z Z Z W Z Z W

Let

   

D Z W

Then the equations for dy and dw b ecome

 T   

dy AD A b AW D u

and

  T   

dw W D A dy Z W D u

T

Finallywemust have A dy dw dz to maintain dual feasibilitysowe compute

T

dz dw A dy

Primal solutions can b e obtained by



x Z dz

In terms of x and sthisis



x Z dz

and



s W dw

However since wewant to ensure that x s u it is simpler to compute

s u x

The dualane metho d for problems with upp er b ounds on the primal vari

ables is summarized in the following algorithm

Algorithm

Given an initial dual feasible solution w y z with w z repeat the fol lowing

iteration until some convergence criterion has been met

Let W DI AGw and Z DI AGz

   

D Z W

 T   

dy AD A b AW D u

  T   

dw W D A dy Z W D u

T

dz dw A dy



x Z dz

Find the maximum step size that ensures z w Ifthestepsizeis

d

unbounded the primal problem is infeasible and the dual is unbounded

y y dy

d

w w dw

d

T

z c A y w

Starting and Stopping the DualAne Metho d

Because the primal problem has explicit upp er b ounds on all of its variables

we can use the following formula taken from to generate an initial dual solution

with w z Let

kck

y b

T

kA bk

T

y then let If c A

j

j

T

w z c A y

j j j j

Otherwise let

T

y c z w A

j j j

j

where is some p ositive constant The exp erimental co des use jj c jj n



Eachtimewe start work on a new subproblem in the branch and b ound al

gorithm we will need an initial dual feasible solution Since a child subproblem

is derived from its parent subproblem by xing a primal variable at zero or one

the last dual solution of the parent subproblem will automatically b e feasible for

the child subproblem However some elements of z and w in this solution maybe

very small The dualane metho d p erforms p o orly when it is started from a p oint

close to one of the b oundaries of the feasible set For this reason we center the

dual solution By simultaneously increasing w and z by equal amounts the dual

i i

solution is moved away from the b oundary of the set of dual solutions so that the

dualane metho d can pro ceed without diculty In our exp erimental co des we

tof w and z that is smaller than before add jj c jj n to each elemen



starting work on a new subproblem The choice of has consequences that will b e

discussed further in sections and

In step seven the dual problem is considered unbounded if dz and dw are

b oth nonnegative In practice this seldom happ ens Instead b ecause of numerical

diculties in the calculation of dz and dw some elements of dz and dw that should

b e p ositive but near zero are really slightly negative When this happ ens the

algorithm generates a sequence of dual solutions with steadily increasing ob jective

values Thus we stop the algorithm and declare the problem primal infeasible if no

optimal solution has b een found after iterations

Since the x iterates are not necessarily primal feasible they do not provide

upp er b ounds on the optimal ob jectivevalue Thus we cannot use the duality gap

to detect convergence In our dualane co de we use the convergence criterion

jv v j

n n

max jv j

n

where v is the dual ob jectivevalue at the nth iteration Our exp erimental co des

n



use the value This has worked well in practice although it provides no

absolute guarantee that the current dual solution is near optimal

Because the dual constraints involve w z it is p ossible to simultaneously

adjust w and z without losing dual feasibility By simultaneously decreasing w

i i i

T

and z we decrease u w and thus improve the dual ob jectivevalue Of course this

i

pro cess is limited by the constraints w andz This metho d is used in

the exp erimental co des to generate a go o d lower b ound after each iteration of the

dualane algorithm The lower b ound is given by

T T

w w lb maxlb b y u

wherew minw z

i i i

Detecting Fractional Variables

Tobranch earlywe need a for detecting zeroone variables which

will b e fractional at optimality This heuristic do es not need to b e accurate

but it should b e able to nd most fractional variables early in the pro cess of solving

an LP subproblem

Our heuristic is based on the complementary slackness conditions If x and

is strictly b etween its upp er y w z are optimal primal and dual solutions and x

i

and lower b ounds then w z Our heuristic simply lo oks for zeroone

i i

variables with w and z where is a small p ositive constant The choice of

i i

is highly dep endent on the scaling of the dual problem D Wemust cho ose an

which is smaller than any likely nonzero value of w or z Our exp erimental co des

i i

use jj c jj n This is typically small compared to the nonzero elements of 

z and w It is also slightly smaller then the centering parameter sowecanbe

sure that z and w will start o with values ab ove the cuto for declaring a variable

i i

fractional

We assume that the optimal solution will have strict complementaritysothat

we will not have x z w This is a consequence of Tsuchiyas work

i i i

on global convergence of the ane scaling algorithm with restricted step length

Tsuchiyas work do es not apply to our algorithm b ecause wetake long steps How

ever wehave not encountered any problems with this assumption in practice

If there are several fractional variables at optimality the heuristic is unlikely

to detect all of them during the same iteration of the dualane metho d In order

to detect as many fractional variables as p ossible wewait until

jv v j

n n

max jv j

n

b efore searching for any fractional variables This also increases the chance that we

will fathom the current subproblem bylower b ound instead of branching to create

two new subproblems

In the two exp erimental co des a solution is declared integer and optimal when

successivevalues of the dual ob jective dier by less than one part in all

primal variables are within one part in of their upp er and lower b ounds

and the zeroone variables are within of zero or one On the other hand

if successivevalues of the dual ob jective dier by less than x is a zeroone

i

variable w and z are less than andx is b etween and then x is

i i i i

considered fractional and the co de will branch early

The Branch and Bound Algorithm

Aowchart of our branch and b ound algorithm is shown in gure This

algorithm is similar to the branch and b ound algorithm describ ed in the intro duc tion

Initialize BB

Start

Tree

Tree Empty Pick a New

Subproblem

DualAne

Step

Delete Infeasible or Yes

Output Soln

Subproblem lb ub

No

End

Yes

Branch Fractional

Var

No

Integer Yes

ubminubob j

Soln

No

Figure The branch and b ound algorithm

There are three imp ortantvariables in the owchart The variable lb holds

the b est known lower b ound on the ob jectivevalue of the current subproblem This

b ound comes from The variable ub holds the ob jectivevalue of the b est

known integer solution This is used in step four to fathom the current subproblem

if lb a lower b ound for the current subproblem is larger than ub The upp er b ound

ub is up dated in step nine each time a new integer solution is found The variable

obj holds the optimal ob jectivevalue of the current subproblem This is used in

step nine to up date ub

In step one we initialize the branch and b ound tree by creating a single no de

corresp onding to the LP relaxation of the problem At the same time we nd an

initial dual feasible solution using the pro cedure of section and set ub to

In step two a variety of strategies can b e used to pick the next subproblem

from the branch and b ound tree The two metho ds that wehave implementedin

our exp erimental co de are describ ed in section When wehave solved every

subproblem in the branch and b ound tree the branch and b ound pro cedure is

nished and we can output the solution in step ten

In step three we p erform a dualane step as describ ed in section In

order to do this we need a dual feasible solution The initial dual feasible solution

for the rst subproblem was calculated in step one Eachtimewe start work on a

new subproblem we can get a dual feasible solution from the parent subproblem

This solution is then centered as describ ed in section After the dualane step

we compute a new lower b ound on the ob jectivevalue of the current subproblem

In steps four six and eight wecheck for any of the conditions under which

we will stop work on the current subproblem If the lower b ound lb is larger than

ubthenwe can delete the current subproblem and ignore all of its children in step

ve In step six wecheck for zeroone variables that app ear to b e fractional at

optimalityIfwe detect a fractional variable then we can branch to create twonew

subproblems in step seven In step eight if we are at optimality and the current

solution is integral then we go on to step nine and compute a new upp er b ound

The heuristics for detecting a fractional solution may err in declaring a variable

fractional when it actually has an integer value at optimality or in declaring a

variable fractional when the subproblem is actually infeasible In either case the

algorithm will create two new subproblems instead of immediately fathoming the

current subproblem or nding an integer solution As noted in Chapter the

algorithm will eventually recover from either of these mistakes

Branching Strategies

Twoversions of this basic algorithm were co ded These two exp erimental

co des dier in the manner in whichtheycho ose branching variables and the next

subproblem to work on

The rst version of the co de uses a depth rst searchstrategytocho ose sub

problems until an integer solution has b een found During this early phase of the

algorithm the co de branches on the least fractional variable rst rounding to the

nearest integer value The goal of this phase of the algorithm is to nd an integer

solution The resulting upp er b ound can then b e used to fathom subproblems

Once an integer solution has b een found the algorithm enters a second phase

in whichitbranches on the most fractional variable The goal in this phase of the

algorithm is to prune the branch and b ound tree as quickly as p ossible During this

second phase of the algorithm the co de branches on the most fractional variable

In this phase the co de picks the remaining subproblem with the lowest estimated

ob jectivevalue These estimates are based on pseudo costs similar to those describ ed

in Pseudo costs are heuristic estimates of the lower b ound for a subproblem based on previous exp erience

Each time a subproblem is solved to optimalitywe record the dierence in

optimal ob jectivevalues b etween the subproblem and its parent A pseudo cost is

calculated for eachinteger variable byaveraging the increase in ob jectivevalue that

o ccurs when that variable is xed at zero or one These pseudo costs are then added

to the optimal ob jectivevalue of a parent subproblem to get the estimated optimal

values of its children The estimated optimal values are used in cho osing the next

subproblem in step two of the branch and b ound algorithm As the branch and

b ound tree grows the pseudo costs should b ecome b etter estimates

The second version of the exp erimental co de uses a xed order branch and

b ound strategy In this strategy used by the ZOOM system the branching order

is determined b efore solving any subproblems As a consequence all subproblems

at the same level of the tree havethesamexedvariables Since xing a primal

variable corresp onds to deleting a dual constraint all subproblems at the same level

in the tree have the same dual feasible sets

After every fth dualane iteration we use the current dual solution to eval

uate the dual ob jective for each subproblem that is at the same level as the current

subproblem Sometimes a dual solution for the current subproblem is also a go o d

dual solution for another subproblem with the same xed variables If the solution

is go o d enough it mayeven eliminate the other subproblem from consideration

This is called an indirect hit by the develop ers of the ZOOM system

The xed order branchandboundversion of the co de uses a depth rst search

strategy until it has found an integer solution From then on it picks the subproblem

with the smallest lower b ound This lower b ound is obtained by simply evaluating

the dual ob jective function with the parent subproblems optimal solution If x is

j

T T

xed at zero then this is simply b y u w Ifx is xed at one then the lower

j

T T

b ound is b A y u w The xed order branch and b ound co de do es not make

j use of pseudo costs

The xed order branchandboundversion of the program uses twolevel branch

ing instead of single level branching That is instead of branching on one variable

to create two subproblems it branches on twovariables to create four subproblems

This corresp onds to the case K and L in In our exp erimental co de

the branching order is based on the absolute values of the cost co ecients of the

integer variables Those variables with the largest cost co ecients come rst in the

branching order

Computational Details

The algorithm maintains one large the tree of subproblems

Each leaf no de in the tree is a record containing a list of variables that havebeen

xed at zero or one and the b est known dual solution for that subproblem This

dual solution consists of m n numb ers We store only y and w Thevalues of

z can b e easily calculated In contrast a simplex based branchandboundcode

would normally save only a list of the variables that had b een xed at zero or one

and a list of the variables in the current basis Thus our co des use somewhat more

storage than a simplex based co de

A simplex based co de must refactor the basis each time it switches to a new

subproblem As we shall see later this is quite costly The simplex based co de could

avoid this work by storing a factored basis for each subproblem However a factored



basis requires O m data storage which is p otentially far more exp ensive than the

O m n storage required by the exp erimental co des

The currentversions of the co des handle up to primal variables and

constraints so each record takes up over bytes of storage Thus the entire

tree can require many megabytes of storage

The most dicult part of the computation is calculating dy in the dualane

step As long as the constraint matrix A is sparse and has no dense columns the

 T

matrix AD A should also b e sparse The exp erimental co des takeadvantage of this

sparsitybysaving the matrix in sparse form and making use of routines from the Yale

Sparse Matrix Package to factorize the matrix After reading in the problem the

 T

structure of AD A is calculated and the matrix is reordered by the minimum degree

ordering routine of YSMP The reordered matrix is then symb olically factorized

During each iteration of the algorithm information gathered during the symbolic

factorization is used in the numerical factorization of the matrix The resulting

Cholesky factors are then used in the computation of dy

 T

If the matrix A has dense columns whichwould completely ll in AD A they

are handled separately with an up date pro cedure based on the ShermanMorrison

Wo o dbury formula This formula is derived in Its application in an interior

p oint metho d is describ ed in Since none of our sample problems haveany dense

columns this pro cedure has not b een exercised

Execution time proling shows that muchoftheCPUtimeusedby the two

 T

exp erimental co des is sp ent on factoring AD A and solving the resulting triangu

lar systems of equations Most of the remaining CPU time is sp entonmultiplying

 T

AD A and computing dw dz and xFor problems with more complicated struc

ture solving for dy should take a larger share of the CPU time The most likely

source of p erformance improvem ents would b e b etter sparse matrix routines

 T

Note that the matrix A must havefullrowranksothatAD A can b e factored

even after variables have b een removed from the problem This could b ecome a

problem if to o manyvariables were xed at zero or one The diculty could b e

resolved byremoving rows from the matrix A as they b ecome redundant However

the exp erimental co des havenoprovision for removing such redundantrows

One solution to this problem has b een prop osed in Whenever a zero pivot

 T

is detected during the factorization of AD A the zero element is altered so as to

give the matrix full rank while setting the free variable to an arbitrary small value

Wehave implemented this solution in our dualane co de but this has not b een

extensively tested since none of our sample problems requires it

There is a fundamental numerical problem in the dualane scheme in that

 T

the matrix AD A b ecomes badly scaled as the solution approaches optimalityIn

particular if x is a zeroone variable which is fractional at optimalitythen z and

i i



w must go to zero to satisfy complementary slackness Thus D can b ecome very

i

ii

 

large Meanwhile if x is at either its upp er or lower b ound then w z remains

j

j j

 

relatively large and D will remain small When this happ ens D has some large

ii

 T

elements and some small elements This causes AD A to b e badly scaled This

b ecomes very troublesome if we do not center the dual solution at the start of each

subproblem since if w or z is small when we start work on a subproblem it can b e

i i

driven down to a very small value during the solution of the subproblem In some

alues of w and z as small as computational runs without centering we obtained v

i i



To deal with this problem we mo died the dualane algorithm slightly

At each iteration we compute the square ro ot of the sum of the squares of the

  

elements of D For eachelementin D that is smaller than times



this norm we x the element at zero This removes the tiny elements of D and

 T

xes the illconditioning of the matrix AD A As a consequence dw is zero and

i

T

dz A dy Because of the way dw and dz are calculated this do es not result in

i i



is very small only when a loss of dual feasibility In terms of the primal solution D

ii

x is at its upp er or lower b ound Thus our pro cedure corresp onds to xing primal

i

variables at their upp er or lower b ounds for an iteration when the complementary

slackness conditions sho w that the variables must b e nonbasic



If a subproblem is primal degenerate then it may happ en that D will have

 T

fewer than m large entries as we approach optimality In this case AD A will

b ecome numerically singular This problem can b e handled by our mo died version

of YSMPwhich arbitrarily restores full rank to the matrix

As we noted earlier there is also a numerical problem in detecting subproblems

that are infeasible When the algorithm works on an infeasible subproblem it will

generate a sequence of dual solutions whose ob jectivevalues grow without b ound

but it is unlikely that the unb oundedness of the dual problem will b e detected

The exp erimental co des deal with this dicultyintwoways First once a feasible

integer solution has b een found infeasible subproblems will b e fathomed bybound

after only a few iterations Second if more than iterations are needed to solve

a subproblem that subproblem is abandoned as b eing primal infeasible and dual

unb ounded

Several changes were made to the basic algorithm to improve its p erformance

Primal solutions are not calculated in the dualane step unless the dual solution

is close to optimality In step ten of the dualane metho d we use the formula

T

z c A y w

only on every fth iteration and we use the simpler formula

z z dz

d

for all other iterations The rst formula ensures that the new dual solution satises

T

the constraints A y w z c but it takes more eort to compute than the

second formula In this way small violations of dual feasibility caused by the simpler

formula are corrected b efore they can b ecome large

Sample Problems

We develop ed four sets of sample problems for computational testing Each

sample problem is a capacitated facility lo cation problem with m facilities and n

customer lo cations Some of our problems are randomly generated while others are

taken from the literature The capacitated facility lo cation problem can b e written

as

m m n

X X X

min f x c y

i i ij ij

i i j 

P

n

y Cap x for i m sub ject to

ij i i

j 

P

m

y d for j n

ij j

i

x f g for all i

i

y d for all ij

ij j

y for all ij

ij

is closed and if facility i is op en y is the ow Here x isiffacility i

ij i

from facility i to customer j Cap is the capacity of facility i f is the xed cost of

i i

op ening facility i c is the cost of shipping from facility i to customer j and d is

ij j

the customer j s total demand

In the randomly generated test problems f is uniformly distributed b etween

i

and d is uniformly distributed b etween and and c is uniformly

j ij

P

n

d m where r is distributed b etween and The Cap are given by r

j i i i

j 

uniformly distributed b etween and

The rst three sets of problems are randomly generated problems Of the

randomly generated problems the problems in problem set one have facilities and

customers the problems in problem set twohave facilities and customers

and the problems in problem set three have facilities and customers

The fourth set of problems are a standard set of capacitated facilitylocation

problems taken from the literature These problems were originally develop ed as

Problem Set rows columns variables density

 T

A AD A L

Table Sample problem statistics

uncapacitated problems by Kuehn and Hamburger in They used a table of

railroad distances b etween fty cities and the p opulations of the cities to generate

uncapacitated facility lo cation problems with up to warehouses and customers

Later the same data was used by Akinc and Khumawala to generate capacitated

problems in

Our fourth set of problems is the problem set IV in the pap er by Akinc and

Khumawala The problems are available through the ORLibrary These prob

lems have p otential warehouse lo cations and customer lo cations The capacity

of eachwarehouse is while the total demand is Thus the capacity con

straints are fairly tight The cost of op ening a warehouse is in problem one

in problem two in problem three and in problem four

These costs are quite small compared to the total shipping costs at optimality

Table gives statistics on the size and density of the problems in these four

problem sets Under densitywe give the density of the original constraint matrix

 T

A the densityof AD A and the density of the Cholesky factor L Notethatin

problem sets one two and three there is only a small increase in densityduring

 T

the factorization of AD A In problem set four the increase in density is more

signicant

Computational Results

In this section we describ e our computational results In addition to seeing

how fast our exp erimental co des are there are a numb er of other questions ab out the

p erformance of the exp erimental co des that wewould like to answer How eective

are the early branching heuristics How eective is our pro cedure for warmstarting

the dualane metho d Howmuch storage is used by the exp erimental co des In

order to test the eectiveness of our exp erimental co des we ran the exp erimental

co des and a program using IBMs Optimization Subroutine Library subroutines

on the four sets of problems describ ed in the previous section

All computations were p erformed on an IBM S under the AIX

op erating system Computations were done in double precision The exp erimen

tal co des were written in Fortran and compiled with the FORTRANVS version

compiler and VAST prepro cessor Full optimization and vectorization was

sp ecied with the ags VEC and OPT Times were measured with the CPUTIME

subroutine of the Fortran runtime library Measured CPU time do es vary byas

much as dep ending on system load and other random factors These CPU times

exclude the time required to read in the problems and to output solutions

For the OSL runs the EKKMSLV routine from release of OSL was used

Default settings were used for the OSL co de The optimal ob jective function val

ues and solutions from OSL were given to seven signicant digits Results for the

exp erimental co des are also given to seven digits although these co des were only

designed to give answers go o d to ab out six signicant digits

For each set of problems we rst solved the LP relaxation of the problems

using the OSL routine EKKSSLV and using the dualane metho d These results

are presented in App endix A We then solved the mixed integer linear programming

problems with the tw o exp erimental co des and with the OSL co de For b oth the

OSL and exp erimental runs wegive the CPU time numb er of iterations number

of subproblems solved and the optimal ob jectivevalue Detail results are shown in

Tables through

In all cases the exp erimental co des pro duced the same integer solutions as

the OSL routines The optimal ob jectivevalues generally matched to at least six

signicant digits and often matched to seven digits Additional accuracy could b e

achieved at the cost of slightly more iterations Recall that only the subproblems

that result in integer solutions need to b e solved to optimality

Figure shows the numb er of subproblems solved by the two exp erimental

co des relativetothenumb er of subproblems solved by OSL The exp erimental

xed order branch and b ound co de typically solved slightly fewer subproblems than

OSL while the exp erimental branch and b ound co de without xed order branching

typically solved more subproblems than OSL The go o d results for the xed order

branch and b ound co de reect the large numb er of subproblems that this co de was

able to fathom without actually solving The exp erimental co des app ear to have

b een eectiveincho osing branching variables and subproblems so as to minimize

the size of the branch and b ound tree

Figure shows the CPU time used bythetwo exp erimental co des to solve the

four sets of problems relative to the CPU time used by OSL The xed order branch

and b ound co de is consistently faster than OSL on the rst three sets of problems

while the exp erimental co de without xed order branching is faster than OSL on

problem sets one and three The relatively p o or p erformance of the exp erimental

ber branch and b ound co de on problem set two can b e explained by the large num

of subproblems that were solved The p o or p erformance of the exp erimental co des

on problem set four can largely b e explained by the diculty that the dualane

co de had in solving the LP relaxations of these problems The data in App endix A

show that OSLs simplex metho d was ab out three times faster than the dualane metho d in solving the LP relaxations of these problems

Branch and Bound.

Relative No. of Subproblems Fixed Order Branch and Bound 2

1

Set 1 Set 2Set 3 Set 4

Figure Subproblems solved relative to OSL

One interesting asp ect of the p erformance of OSL on these problems is that

OSL slows down in terms of the numb er of iterations p er second in the branch and

b ound algorithm For example OSL p erforms over iterations p er second in

solving the LP relaxations of the problems in problem set one but it p erforms fewer

than iterations p er second in solving the mixed integer programs A p ossible

explanation for this is the need to refactorize the basis each time OSL b egins work

on a new subproblem Another p ossible explanation is the time used in attempts to

simplify the problem by implicit enumeration

Another imp ortant measure of the p erformance of the exp erimental co des is

the amount of storage required to hold the branch and b ound tree The exp erimental

co des were compiled so that up to megabytes of storage was available for the

branch and b ound tree However only ab out megabytes were actually required

Branch and Bound.

Relative CPU time Fixed Order Branch and Bound 5 4.8

1.2 1

Set 1 Set 2Set 3 Set 4

Figure CPU time relative to OSL

by the largest problem For the xed order branch and b ound solution of the rst

problem in set two the branch and b ound tree had leaf no des at its largest

size Since each leaf no de required ab out bytes of storage the entire tree

required ab out megabytes of storage The exp erimental branch and b ound co de

needed a maximum of only megabytes of storage This happ ened on problem one

of problem set one where the branch and b ound co de required a maximum of

leaf no des In contrast the OSL co de used ab out megabytes of storage in direct

access les on most of the problems Since the exp erimental branch and b ound co de

without xed order branching was much more ecient in terms of storage than the

xed order co de wehave concentrated on the version of the co de without xed

order branching in the remainder of this section

Branch and Bound.

B&B without early branching. Relative No. of Subproblems B&B without warm start.

1.5

1

.5

Set 1 Set 2 Set 3 Set 4

Figure Subproblems solved relative to OSL

To test the eectiveness of the early branching heuristics and our warmstart

pro cedure wedevelop ed twomoreversions of the exp erimental co de The rst of

these co des solves each subproblem to optimality instead of branching earlyWith

this co de we can determine if the early branching heuristics are causing the co de

to solve extra subproblems The second version of the co de uses the pro cedure

of section to nd a new dual solution for each subproblem instead of using

the warmstart pro cedure With this co de we can determine the eectiveness of

the warm start pro cedure Since the pro cedure for nding an initial dual solution

generates solutions with large w and z values we mo died the co de to searchfor

fractional variables only after successive dual ob jectivevalues are within of

each other This gives the co de time to drive the dual variables down to small

values so that fractional variables can b e detected Results for these new co des are

presented in Tables through

Figure shows the numb er of subproblems solved by the exp erimental branch

and b ound co des in problem sets one through four relativetothenumber of sub

problems solved by OSL All three co des generally solved slightly more subproblems

than OSL The exp erimental co de with early branching solved slightly more subprob

lems than the other two co des on most of the problem sets However on problem

set two the exp erimental co de with early branching was signicantly worse than

the other two exp erimental co des It app ears that the early branching heuristics

were p erforming p o orly on problem set two

Figure shows the average numb er of iterations p er subproblem for the

exp erimental branch and b ound co des on the four problem sets The exp erimental

co de with early branching and the warmstart pro cedure used fewer iterations p er

subproblem than the other two co des Of the exp erimental co des the co de without

the warmstart pro cedure had the worst p erformance These results show that the

early branching heuristics and the warmstart pro cedure are eective in reducing

the numb er of iterations p er subproblem

Figure shows the CPU time used by the three exp erimental co des relative

to the CPU time used by OSL Since the three versions of the exp erimental co de

solved roughly the same numb er of subproblems for each problem set it is reasonable

to exp ect that the numb er of iterations p er subproblem will have the largest eect

on the CPU times The exp erimental co de with early branching is consistently faster

than the other exp erimental co des even in cases where it solved more subproblems

This shows that the decreased numb er of iterations p er subproblem is very worth

while when compared to the slightly larger numb er of subproblems solved

Branch and Bound.

B&B without Early Branching.

Iters/Subproblem B&B without warm start.

25

20

15

10

5

Set 1 Set 2 Set 3 Set 4

Figure Iterations p er subproblem

Branch and Bound.

B&B without early branching.

CPU Time relative to OSL B&B without warm start.

10

8

6

4

2

1

Set 1 Set 2 Set 3 Set 4

Figure CPU time relative to OSL

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set one

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set one

Problem CPU Time Iterations Subproblems Ob jective

Table Fixed order branch and b ound results for problem set one

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set two

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set two

Problem CPU Time Iterations Subproblems Ob jective

Table Fixed order branch and b ound results for problem set two

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set three

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set three

Problem CPU Time Iterations Subproblems Ob jective

Table Fixed order branch and b ound results for problem set three

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set four

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set four

Problem CPU Time Iterations Subproblems Ob jective

Table Fixed order branch and b ound results for problem set four

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set one without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set two without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set three without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set four without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set one without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set two without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set three without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set four without warm start

CHAPTER

Using the PrimalDual Metho d in a Branch and Bound Co de for Mixed

Integer Linear Programming Problems

In this chapter we describ e an exp erimental branch and b ound co de that uses the

primaldual interior p oint metho d to solve its LP subproblems The primaldual

metho d is describ ed in sections and In section we describ e a new heuristic

for detecting fractional variables We discuss warm starting the primaldual metho d

in section Some implementation issues are discussed in section The branch

and b ound algorithm is presented in section New test cases and computational

results are presented in sections and

The PrimalDual Metho d

In this section we present the primaldual interior p oint metho d originally

describ ed in This metho d can b e used to solve problems of the form

T

P min c x

sub ject to Ax b

x

x u

Again A is an m by n matrix c is an n by vector and b is an m by vector In

this chapter we do not require variables to have explicit upp er b ounds If a variable

x has no upp er b ound we write u Weintro duce a vector of slackvariables

i i

u equality constraints Wethenhave the equality stomake the constraints x

constraints x s u and the inequalities s If x has no upp er b ound we

i

write s

i

The dual of this problem can b e written as

T T

D max b y u w

T

sub ject to A y w z c

w z

The primaldual metho d can b e thought of as an example of the sequential

unconstrained minimization metho d describ ed by Fiacco and McCormick in At

each iteration the algorithm attempts to minimize the augmented ob jective function

n n

X X

T

c x ln x ln s

i i

i i

sub ject to the constraints

Ax b

x s u

x s

The constraint x s u is ignored and the ln s term is not included in the barrier

i i i i

function if x has no upp er b ound

i

Fiacco and McCormickhave shown that as the barrier parameter is reduced

from an initial p ositivev alue to zero the optimal solution to the augmented problem

approaches an optimal solution x s y w z to P and D The curve dened

by solutions xsywz is called the central tra jectory Figure

illustrates this idea The primaldual metho d simply follows the curve to an optimal

solution

In order to complete our development of the algorithm we need a pro cedure

for solving the augmented problem an initial solution a pro cedure for adjusting

and termination criteria

The augmented problem is solved by nding the rst order necessary conditions

for the augmented problem and then using iterations of Newtons metho d to move

toward the solution of the rst order necessary conditions In the following weusee

Optimal Solution

Central Trajectory

Figure The central tra jectory

to representa vector of all ones and capital letters suchas W to represent diagonal

matrices in which the diagonal elements are the elementsofavector denoted bya

lower case letter suchas w The rst order necessary conditions for the augmented

problem can b e written as

Ax b

x s u

T

A y w z c

XZe e

SW e e

x s w z

Applying Newtons metho d to this system of equations weget

Ax b Ax

x s

T T

A y w z c A y w z

Z x X z XZe e

W s S w SW e e

Here wehave assumed that wealways have x s u and that our current

p ointalways has x s w z so that the current solution satises the nonnegativity

constraints However wehave not assumed that the current solution satises all of

the equality constraints In fact this version of the primal dual metho d constantly

ves towards primal and dual feasibilityaswell as optimality mo

We need to solve these equations for the primal and dual Newton steps x

 

sy z and w Multiply the last two equations by X and S resp ectively

and subtract to get

   

z w Ze We S X e X Z x S W s

Since x swehave

   

z w Ze We S X e X Z x S W x

Let

 

S X e W Z e

and

  

X Z S W

Note that is a diagonal scaling matrix Then



z w x

By substituting into the third equation we can reduce the original system of

equations to

T T 

A y c A y w z x

Ax b Ax

We can write this system of equations in matrix form as

T  T

c A y w z x A

B C

A

b Ax y A

This system of equations is symmetric but it is not p ositive denite One ap

proach to implementing the primaldual algorithm is to solve this indenite system

of equations We can then nd sz and w from

s x



z X XZe e Z x



w S SW e e W s

Another approach to implementing the algorithm is to solvefory using

T T

AA y b Ax Ac A y z w

T

Note that the matrix AA is symmetric and p ositive denite We can then solve

for x with

T T

x A y c A y z w

and wecanndsz and w as b efore

Kathryn Turner has considered the merits of these two approaches in

The indenite system of equations is larger than the p ositive denite system of

T

equations However when we compute AA the resulting matrix can b e much

denser than the original matrix A In particular if any column of A is completely

T

nonzero AA will b e completely lled in Thus the indenite system of equations

typically has b etter sparsity than We discuss these two metho ds of solving the equations further in section

Ordinarily in using Newtons metho d wewould now calculate the next x s

y z and w by

x x x

s s s

y y y

w w w

z z z

However since wewant to maintain nonnegativityof x s w andz wemayhave

to use a smaller step size Tothisendwe calculate

max

p

sub ject to x x

p

s s

p

p

and

max

d

sub ject to w w

d

z z

d

d

We then let

x x x

p

s s s

p

y y y

d

w w w

d

z z z

d

Thus if a step of length one is p ossible the algorithm will take the full step If a

shorter step is required the algorithm will take a step that is small enough to ensure

that x s w and z will remain strictly p ositive

For an initial solution we use the metho d describ ed in First we compute

the quantities

T

jb Aej

max



kAek





We then compute an initial solution with

u



i

x min



i



 

s u x

i

i i



y

i

jc j jc j

j j 



z

i

jc j

 j 

If x has an upp er b ound welet

i

 

w max z c

i 

i i

We consider the current solution feasible if

kb Axk

kxk

and

T

kc A y w z k

ky k kw k kz k

Instead of nding the minimum of the current augmented ob jective function

and then adjusting we adjust b efore each Newtons metho d iteration If the

current solution is feasible then welet

T T T

c x b y u w

n

where



n n

n



n n

If the current solution is not feasible then we compute

kb Axk

M

p

 

max kb Ax k

and

T

kc A y w z k

M

d

 T   

max kc A y w z k

where M is a constant given by

M n max max jc j max jb j

i j

We then compute by

T T T

maxc x b y u w

p d

n

This pro cedure keeps large while the solution is still infeasible but allows

to decrease quickly once a feasible solution is found By keeping large when

the current solution is infeasible we increase the p ossibility of making large steps

towards the solution of the current augmented problem If we can make a step

of length then a single step should give a new solution which is feasible The

parameter can b e adjusted to improve the p erformance of the algorithm Small

values of emphasize improvement of the duality gap over improvement in feasibility

while large values of emphasize improvement in feasibility Our exp erimental co des

use a value of

We terminate the primaldual algorithm and declare the current solution op

timal when the current solution is primal and dual feasible that is satisfying con

ditions and and when

T T T

jc x b y u w j

T T

jb y u w j

This ensures that the solution is primal and dual feasible and that the duality gap

is small relative to the ob jectivevalue

If the linear programming problem is primal or dual infeasible then the algo

rithm will go into a lo op without ever nding a feasible solution For this reason

it is advisable to stop the algorithm after some large numb er of iterations In this

case wehavenoway of determining why the algorithm has failed to converge to an

optimal solution However in our branch and b ound co de it is reasonable to assume

that the initial LP relaxation will b e primal and dual feasible As a result all of

the other subproblems in the branch and b ound tree will b e at least dual feasible

and we need only detect LP subproblems which are dual unb ounded and primal

infeasible

In theorywewould know that a dual subproblem was unb ounded if the current

dual solution was dual feasible w and z As with the dualane metho d

in chapter this do es not work well in practice so wehavedevelop ed an alternative

pro cedure for detecting infeasible subproblems

After each primaldual iteration we compute directions w and z as follows

If x has an explicit upp er b ound then compute

i

w w minw z

i i i i

and

z z minw z

i i i i

If x is an unb ounded variable then compute

i

w

i

and

z z

i i

If the previous dual solution was feasible then the directions y z and w

are feasible directions and by construction the directions y z and w are

T T

also feasible directions If b y u w then y w and z giveusa

direction in which the dual solution is feasible and improving If w and z are

nonnegative then wecanmove as far as we wish in this improving direction and the

dual problem is unb ounded This pro cedure for detecting infeasible subproblems is

used in the exp erimental branch and b ound co des describ ed in this chapter The

pro cedure typically detects infeasible subproblems within less than veinterations

from a warm start

The PrimalDual Metho d and Complementary Slackness

Guler and Yehave shown in that the optimal solution found by many

interior p oint metho ds including the primaldual metho d of McShane Monma

and Shanno has strict complementary slackness That is given the primal and

dual problems

T

min c x

sub ject to Ax b

x

and

T

max b y

T

sub ject to A y z c

z

the primaldual metho d will pro duce an optimal solution x y z inwhich

x z

i i

Furthermore Guler and Yeshow that there is a constant suchthat

minXZe

T

x z

at each iteration of the primaldual metho d

UnfortunatelyGuler and Ye do their analysis with a version of the primal

dual metho d which do es not include upp er b ounds However we can rewrite our

primal and dual problems P and D without explicit upp er b ounds Let

c b

c b

u

Then let

z y x

z y x

w w s

slack

and

A

A

I I

Our problems P and D are clearly equivalentto

T

P min c x

sub ject to Ax b

x

and the dual problem

T

D max b y

T

sub ject to A y z c

z

Note that the equality constraints in D imply that w w

slack

When we apply the primaldual metho d of to the problems P and D

we get the necessary conditions

Ax b

T

A y z c

X Ze e

x z

By insp ection we can see that these are exactly the necessary conditions given in

Thus the primaldual metho d of McShane Monma and Shanno applied to

problems P and D is exactly equivalent to the primaldual metho d develop ed

in the previous section

In terms of our original problems P and D the analysis of Guler and Ye

shows that

x z

i i

and

w s

i i

We also havethat

minminXZe minSW e

T T

x z s w

at each iteration of the primaldual metho d This result has consequences which

will b e discussed further in sections and

Detecting Fractional Variables

Anumb er of researchers have develop ed heuristics and sucient conditions

for detecting optimal basic and nonbasic variables in interior p oint metho ds for

linear programming When all of the optimal basic variables have

b een identied it is very easy to compute an optimal basic solution If this can

b e done well b efore the interior p oint metho d reaches optimalitythenaninterior

p oint metho d that uses such indicators to nd an optimal basic solution will have

improved p erformance

In our branch and b ound algorithm for integer programming we are interested

in nding the zeroone variables which will b e basic and thus fractional at opti

mality This problem is similar to the problem that other researchers haveworked

on except that we do not need an absolute guarantee that a variable is basic and we

only need to lo ok at the zeroone variables Once wehave detected suchavariable

we can pro ceed to branch without solving the current subproblem to optimalityWe

have considered three approaches to detecting fractional variables

Our rst approach describ ed in Chapter used the complementary slackness

conditions to detect fractional variables If x has a fractional value at optimality

i

then b oth w and z must go to zero in order to meet the complementary slackness

i i

condition Our exp erimental co de simply examined the values of w and z Ifboth

i i

dual variables were b elow a sp ecied tolerance than x was declared a fractional

i

variable Since the primaldual metho d nds an optimal solution that satises strict

complementarity if b oth z and w are zero then x must b e nonzero

i i i

Our second approach used linear regression to t a straight line to the last

three values of x w and z Avariable will most likely b e fractional at optimality

i i i

if the slop es of these three lines are such that the x line stays b etween and for

i

several iterations while the lines for b oth w and z drop b elow zero within a few

i i

iterations

elop ed a third approach based on Tapias indicator The Wehave also dev

rst order necessary conditions for the augmented problem include the equations

Z x X z XZe e

W s S w SW e e

Consequently

Z x x X z z XZe e

W s s S w w SW e e

 

If wemultiply the rst of these equations by X Z multiply the second equation

 

by S W and add the two equations together then weget

       

X xxZ z z S ssW w w eX Z S W e

   

We will assume that as we approach optimality X Z S W e go es to zero

Furthermore the step lengths and approach one as we approach optimalityIn

p d

k k  k k  k k  k k 

the limit x x x s s s w w w andz z z

Thus

k  k  k  k 

z s w x

i i i i

k k k k

x z s w

i i i i

If x is a zeroone variable which is fractional at optimality then s is also

i i

fractional at optimalityWe knowthatx and s approach zero so

i i

k 

k

x x x

i

i

i

lim lim

k k

x x

i i

and

k 

k

s s s

i

i

i

lim lim

k k

s s

i i

This leaves no ro om for the remaining terms on the left hand side of so we

must have

k  k 

z w

i i

lim lim

k k

z w

i i

w If x is a zeroone variable whichiszeroatoptimalitythen s

i

i i

We take advantage here of the fact that the optimal solution obtained and z

i

by the primaldual metho d will satisfy strict complementary slackness Now

k  k 

z s

i i

lim lim

k k

s z

i i

and

k  k 

w x

i i

lim lim

k k

x w

i i

Similarlyif x is one then

i

k  k 

x w

i i

lim lim

k k

x w

i i

and

k  k 

z s

i i

lim lim

k k

s z

i i

This analysis relies on the assumption that the last term on the right hand side

of go es to zero This is not true of our primaldual metho d but in practice

   

the term X Z S W e is small First note that

T T T T T

x b y u w z s w c x

n n

Wehave that

   

X Z S W e e

minminXZe minSW e

So by

   

X Z S W e e

T T

z x s w

and

T T

x z s w

   

X Z S W e e

T T

nz x s w

and

   

e X Z S W e

n

This last upp er b ound is small enough to make the Tapia indicator work well

In our exp erimental co de weusetheTapia indicator in the following wayLet

k  k 

z x

i i

j j T



k k

x z

i i

and

k  k 

w s

i i

j j T



k k

s w

i i

If x is fractional at optimality then T and T will b oth approach If not then

i  

T and T should b oth approachWe lo ok for relatively large values of T and T

   

We also insist that x and x In particular if T T

 

x the current solution is dual feasible and within of primal

feasibility and the duality gap is smaller than then we declare the variable x

i

fractional

There are two reasons for waiting until the duality gap is smaller than

First we increase the chance of fathoming the current subproblem bylower b ound

Second we are more likely to detect all of the variables that will b e fractional at

optimality

ver This scheme for detecting fractional variables has a signicantadvantage o

the scheme used in Chapter The Tapia indicator is scale invariant while the

parameter in Chapter is very dep endent on the scaling of the problem The

scheme in Chapter needs a centering parameter that is larger than while the

Tapia indicator do es not dep end on centering at all

Warm starting the PrimalDual Metho d

How will we restart the primaldual metho d when we switch to a new sub

problem We could use formulas though to nd an initial primaldual

solution However this makes no use of the information obtained by solving the

parent subproblem In contrast a branch and b ound co de based on the simplex

metho d can b egin with the optimal solution to the parent subproblem and very

quickly nd a solution to the new subproblem

In our dualane branch and b ound co de we to ok the last dual solution to

the parent subproblem and added to w and z to center the dual solution Since

xing a primal variable at zero or one did not cause a loss of dual feasibility the

new solution was automatically dual feasible By centering the dual solution we

avoided starting the dualane algorithm near a face of the dual feasible set where

the dualane metho d p erforms p o orly

In our new primaldual branch and b ound co de wewould like an initial solu

tion that is b oth primal and dual feasible Wewould also like it to b e relatively close

to the central tra jectory for the new subproblem Unfortunately the last solution

to the parent subproblem will no longer b e primal feasible for the child subproblem

and there is no obvious way to correct this infeasibilityFurthermore the primal

dual metho d p erforms p o orly when started from a solution near the b oundary of

the feasible region As a result the last solution to the parent subproblem is not a

go o d starting p oint

Lustig Marsten and Shanno have examined the problem of restarting the

primaldual metho d with a changed ob jectiv e function in Their scheme for

restarting the primaldual metho d involves adjusting primal variables or dual slacks

that have small values In this approach if x or z is smaller than then the

i i

variable is set to where is a parameter that they set to Their metho d

then attempts to adjust so as to sp eed up convergence

Our approach is similar If x or s is less than thenwesetthevariable to

i i

and adjust the slack as needed If w or z is less than andx has an upp er b ound

i i i

then weadd to b oth w and z This helps to retain dual feasibilityIfx has no

i i i

upp er b ound and z is less than thenwe add to z Our co de uses The

i i

metho d of section is used to calculate after this centering However wealso

reset to when we restart the primaldual metho d

Implementing the PrimalDual Metho d

The metho d outlined in the previous sections is summarized in Algorithm

Algorithm

Given an initial primal solution x s with x s and x s u and an initial dual

solution w y z with w z repeat the fol lowing iteration until the convergence

criterion has been met

Let W DI AGw Z DI AGz X DI AGx and S DI AGs

Compute using or

    

e W Z e Compute X Z S W and S X

Compute x and y using either or and

Compute s w and z using

Find and by solving and

p d

Use to update x s y w andz

We need to pay some attention to primal variables whichhavenoupperbound



In step Whenever x has no upp er b ound wealways keep w and S

i i

ii

w if x has no upp er b ound

i i

Computationally step is the most dicult step in the primaldual algorithm

Wehave implemented this step in three dierentways

Our rst implementation used the Yale Sparse Matrix Package to solve

equation As with the dualane co de the primaldual co de can nd the

T

nonzero structure of AA and then reorder the matrix so as to reduce the llin

incurred during LU factorization The co de then p erforms a symb olic factorization

of the matrix that can b e reused during each iteration of the algorithm The only

work that needs to b e done during an iteration of the algorithm is the numerical

factorization and solution of the resulting triangular systems of equations

Wehave also implemented the primaldual metho d using the DGSF and DGSS

subroutines from IBMs Extended Scientic Subroutine Library to solve

The DGSF routine p erforms minimum degree ordering and numerical factorization

T

of the matrix AA Unlike YSMP the DGSF routine do es not do the symbolic

T

factorization of AA once and then reuse the symb olic factorization in later itera

tions of the algorithm Instead DGSF do es the factorization in one step rep eating

the entire factorization pro cess each time a system of equations is to b e solv ed This

makes it p ossible for DGSF to factor indenite matrices using pivoting to maintain

stability The DGSS routine do es the work of solving the resulting triangular sys

tems of equations The ESSL routines are more ecient than the YSMP routines on

relatively dense problems For this reason wehavechosen to use the ESSL routines

on problems with relatively dense constraint matrices

T

As in the dualane metho d wecanruninto trouble if AA is singular

This will happ en if A do es not have full row rank The matrix may also b ecome

numerically singular if the optimal solution is primal degenerate If the optimal

solution is primal degenerate fewer than m primal variables havex u at

i i

optimality In this case will havemany small elements corresp onding to variables

at their upp er or lower b ounds and fewer than m large entries corresp onding to

variables that are strictly b etween their b ounds The large entries will dominate

T

making AA numerically singular

Wehave mo died the YSMP routines to handle this problem as describ ed

in Chapter However the ESSL routines could not b e mo died to handle this

situation since the source co de is not available For the sample problems that we

have solved using the ESSL routines this was not a problem

The DGSF routine can also b e used to factor the indenite matrix in

Our third implementation of the primaldual metho d used the ESSL routines to

solve the indenite system of equations For problems where m was relatively large

compared to n this version of the primaldual co de worked quite well However for

the problems in this thesis whichhave far more columns then rows the m n by

m n indenite system of equations was far larger than the m by m p ositive

denite system For these problems the improved sparsity of the indenite

system of equations could not comp ensate for the larger size of the indenite system

As with the p ositive denite system of equations the indenite system will

b ecome singular if A do es not havefullrow rank or if the optimal solution is primal

degenerate Since the ESSL routines cannot solve such a singular system of equa

tions this approach cannot b e applied to a problem in which the matrix b ecomes

singular

The Exp erimental Branch and Bound Co de

We develop ed an exp erimental branch and b ound co de based on the branch

and b ound co de of Chapter but using the primaldual metho d heuristics for

detecting fractional variables and centering scheme describ ed in sections through

A owchart of the algorithm is given in Figure This algorithm is very similar

to the algorithm describ ed in Chapter However a numb er of details havebeen

changed

Instead of storing a dual solution at each no de of the branch and b ound tree

wemust now store a primal and dual solution at each no de In particular wesave

x y andw The remainder of the solution s and z can easily b e recalculated

when it is needed As a result the no des in the branch and b ound tree are ab out

twice as large as in the dualane co de describ ed in Chapter

Since the xed order branch and b ound scheme used excessive amounts of

storage we decided to restrict our attention to the conventional branch and b ound

scheme In this version of the co de as in Chapter the algorithm uses a depth

rst search strategy until an integer solution has b een found During this early

phase of the algorithm the co de branches on the least fractional variable The co de

then cho oses the subproblem in which the fractional variable has b een rounded to

the nearest integer value Once an integer solution has b een found the algorithm

switches over to a strategy of picking the subproblem with the b est smallest es

timated ob jectivevalue These estimates are based on pseudo costs as in Chapter

In this phase of the algorithm wecontinue to branch on the most fractional

variable

In step four the algorithm uses a lower b ound lb obtained in one of two

er b ound for the current subproblem is inherited from its parent ways An initial low

subproblem After each iteration of the primaldual metho d the lower b ound is

up dated with

T T

lb maxlb b y u w w

wherew minw z However this can only b e done when the current solution is

dual feasible The test describ ed in section is used to detect infeasible subprob lems

Initialize BB

Start

Tree

Tree Empty Pick a New

Subproblem

PrimalDual

Step

Delete Infeasible or Yes

Output Soln

Subproblem lb ub

No

End

Yes

Branch Fractional

Var

No

Integer Yes

ubminubob j

Soln

No

Figure The branch and b ound algorithm

More Sample Problems

We collected six new sets of sample problems in addition to the sample prob

lems describ ed in section These sets of problems dier from the earlier problems

in that they havesomeunb ounded variables

ATT Bell Lab oratories supplied the problems in problem set ve The prob

lems dier only in the right hand side whichischanged so that the problems b ecome

progressively harder Although the original problem set consists of four problems

wehave only b een able to solve the rst two problems in the problem set to optimal

ityEach problem is written as a mixed integer linear program with constraints

and variables of whicharevariables The constraint matrices have

nonzero entries

The problems in sets six and seven are set covering problems of the form

T

SC P min c x

sub ject to Ax e

x f g

Here A is an m by n zeroone matrix and e is the vector of all ones These problems

were taken from Beasleys ORLib The problems were randomly generated using

a pro cedure describ ed in After adding slackvariables the problems in set

six have rows and columns with a dense constraint matrix The

problems in set seven have rows and columns with a dense constraint

matrix The optimal values for these problems are taken from

The nal three problems are taken from the MIPLIB collection of mixed integer

linear programming problems Problem eight is the problem khb from

MIPLIB After adding slackvariables and removing xed variables this problem

has constraints variables of which are zeroone variables Problem

nine is the problem mo d from MIPLIB This problem has constraints

variables and zeroone variables Problem ten is the problem misc

from MIPLIB This problem has constraints variables and zeroone

variables These problems were selected b ecause they were large problems with a

relatively small numb er of zeroone variables Most of the other problems in MIPLIB

are either very small have many zeroone variables or haveinteger variables that

are not restricted to the values zero and one

Because of the relatively large size of problem nine and b ecause there are many

zeroone variables in this problem the problem is very dicult to solve Wehave

b een unable to solve the mo d problem with OSL or with our exp erimental branch

and b ound co de In one run OSL used over CPU seconds and solved over

subproblems without solving mo d to optimality Because of this weran

the branch and b ound co des only until the rst integer solution was found

Table gives statistics on the size and density of the problems in eachset

T

For each problem we also give the density of the matrix AA and of the Cholesky

factor L after minimum degree ordering The densityfor L includes the diagonal

entries

Problem Set rows columns variables density

T

A AA L

Table Sample problem statistics

We solved the LP relaxations of these problems using OSLs primaldual

metho d our exp erimental primaldual LP solver and OSLs simplex metho d The

results of these runs are presented in App endix A

Computational Results

Both OSL and the exp erimental branch and b ound co de were used to solve the

four sets of problems describ ed in Chapter and the new sets of problems describ ed

in section As in chapter all computational runs were done in double preci

sion The computations were p erformed under AIX on an IBM S The

exp erimental co des were written in Fortran and compiled with the FORTRANVS

compiler and VAST prepro cessor Full optimization and vectorization was

sp ecied with the compiler options OPT and VEC As in Chapter the OSL re

sults were obtained with the EKKMSLV routine from release of OSL Times were

measured with the CPUTIME subroutine of the Fortran runtime library These

CPU times exclude the time required to read in the problems and to output solu

tions

In order to examine the eectiveness of the early branching heuristics we

develop ed a version of the exp erimental branch and b ound co de in which all sub

problems were solved to optimality b efore branching A version of the exp erimental

co de was also develop ed to test the eectiveness of the warm start pro cedure This

version of the co de generated a new initial solution for each subproblem instead of

centering the last solution to the parent subproblem

Computational results for problem sets one through ve and eight through

ten are presented in Tables through and through For eachofthe

problems we rep ort the CPU time numb er of iterations numb er of subproblems

solved and the optimal value Computational results for problem sets six and seven

are presented later in this section

Several factors aect the p erformance of the exp erimental branch and b ound

co des relative to OSL Although CPU time is imp ortant we will also consider the

numb er of subproblems solved and the numb er of iterations p er subproblem

Figure shows the numb er of subproblems solved byeach of the exp erimen

tal branch and b ound co des relativetothenumb er of subproblems solved byOSL

Generally the exp erimental co des solved slightly more subproblems than OSL From

these results it do es not app ear that the early branching heuristics were causing the

co de to branch early on subproblems that had integer solutions or were infeasible

In general OSL has b etter metho ds of cho osing branching variables and selecting

subproblems to solve In some cases it app ears that the implicitenumeration tech

niques used by OSL were able to substantially decrease the numb er of subproblems

solved In other cases the implicit enumeration techniques do not app ear to have

b een helpful Furthermore relatively small dierences b etween the three exp erimen

tal branch and b ound co des sometimes led to very large dierences in the number

of subproblems solved

Figure shows the numb er of iterations p er subproblem used by the exp er

imental co des on problem sets one through ve and eight through ten With the

exception of problem set nine the exp erimental co de with early branching and warm

start used b etween ve and eight iterations p er subproblem on each of the problem

sets The co de without early branching and the co de without warm start consis

tently used more iterations p er subproblem Since early branching and the warm

start pro cedure tend to decrease the numb er of iterations p er subproblem without

increasing the numb er of subproblems solved these results indicate that the early

branching heuristics and warm start pro cedure are very eective in reducing the

total numb er of iterations needed to solve these problems

Branch and Bound.

Set 1 B&B without early branching.

B&B without warm start.

Set 2

Set 3

Set 4

Set 5

Set 8

Set 9

Set 10

1 5 10 15 Relative No. of Subproblems

Figure Subproblems solved relative to OSL

Branch and Bound.

Set 1 B&B without early branching.

B&B without warm start.

Set 2

Set 3

Set 4

Set 5

Set 8

Set 9

Set 10

10 20 30 Iterations Per Subproblem

Figure Iterations p er subproblem

Branch and Bound.

Set 1 B&B without early branching.

B&B without warm start.

Set 2

Set 3

Set 4

Set 5

Set 8

Set 9

Set 10 ... 30

1 5 10 15 CPU Time per Subproblem

Relative to OSL EKKMSLV

Figure CPU time p er subproblem relative to OSL

Branch and Bound.

Set 1 B&B without early branching.

B&B without warm start.

Set 2

Set 3

Set 4

Set 5

Set 8

Set 9

Set 10 .... 350

10 20 30 Relative CPU Time

Figure CPU times relative to OSL

Since the exp erimental co des are solving only slightly more subproblems than

OSL the p erformance of the interior p oint metho d on the subproblems is the key

issue Although early branching and the warm start pro cedure are very helpful

the CPU time p er subproblem is still higher for the exp erimental co de Figure

illustrates this On problem sets one two three and nine the exp erimental co de

with early branching and warm start is comparable to EKKMSLVinCPUtime

p er subproblem On problem sets four ve eight and ten OSL clearly dominates

Note that on problem ten the exp erimental co de without warm start used ab out

times more CPU time p er subproblem than OSL On this problem the pro cedure

for nding an initial primaldual solution did not seem to work well

The numb er of subproblems solved and the CPU time p er subproblem com

bine to determine the p erformance of the exp erimental branch and b ound co des

Figure shows the total CPU time used by the three versions of the exp erimen

tal co de relative to the CPU time used by OSL on problem sets one through ve

and eight through ten The exp erimental co des were consistently slower than OSL

particularly on problem sets ve and ten

The p o or p erformance of the exp erimental branch and b ound co de on problem

set four can largely b e explained by the relatively small size of these problems Be

cause the problems were relatively small OSLs simplex implmentation was ab out

three times faster in solving the LP relaxations of these problems than our exp eri

mental primaldual co de

In problem set ve the very p o or p erformance of the exp erimental co de can

b e explained byacombination of two factors First these problems are relatively

small and dense As a result the exp erimental primaldual LP solver to ok ab out

six times as much CPU time to solve the LP relaxations of the problems as OSLs

simplex co de Also the exp erimental branch and b ound co de solved ab out six times

as many subproblems as OSLs branch and bound code Since the version of the

exp erimental co de without early branching solved ab out as many subproblems as

OSL it app ears that the exp erimental branch and b ound co de made some very p o or

choices in its selection of branching variables

In problem eight the exp erimental branch and b ound co des solved roughly the

same numb er of subproblems as OSL However OSLs simplex metho d was ab out

six times faster than the exp erimental primaldual co de in solving the LP relaxation

of this problem This was probably b ecause problem eight is relatively small and

dense

In problem nine the branch and b ound co des were run only until an integer

solution had b een found not until an optimal solution had b een found Since the

EKKMSLV routine uses rounding and implicit enumeration it was able to nd an

integer solution after only subproblems while the exp erimental co des all required

ab out subproblems to nd an integer solution However the solutions found by

the three versions of the exp erimental co de were all b etter than the integer solution

found by OSL

In problem ten the implicit enumeration and rounding features of OSL were

extraordinarily successful EKKMSLVwas able to solve this problem with only

subproblems even though the problem has zeroone variables Furthermore the

routine used fewer simplex iterations to solve the mixed integer programming prob

lem than EKKSSLV used to solve the LP relaxation of the problem As in problem

set ve the numb er of subproblems solved by the exp erimental branch and b ound

co des varied This time the co de with early branching and warm start had the b est

p erformance of the three exp erimental co des Thecodewithoutthewarm start

pro cedure p erformed very p o orly on this problem using ab out times as much

CPU time as OSL This can b e explained bythevery large numb er of subproblems

solved and the large numb er of iterations needed to solve each subproblem

For most of these problems OSL used ab out twenty times as many iterations

to solve the LP relaxation as it did to solveanaverage subproblem in the branch and

b ound phase This shows that the OSL co de makes very good use of warm starts In

contrast the exp erimental branch and b ound co de used three to ve times as many

iterations to solve the LP relaxations as it used to solveanaverage subproblem

However the work that go es into a simplex iteration is not constant In the branch

and b ound routine EKKMSLV OSL executes simplex iterations at a considerably

slower rate than in the LP solver EKKSSLV Table shows this eect In contrast

the exp erimental co des p erform primaldual iterations at the same rate in the LP

solver and in the branch and b ound co des In general OSL slows down by a factor

of ab out four in EKKMSLV This might b e caused by the need to refactorize the

working basis for each new LP subproblem The implicit enumeration techniques

used by EKKMSLVmightalsoplay a part in this Problem sets six and seven are

an exception to the rule On these problems OSL to ok many iterations to solve

the initial LP relaxation and then a very few iterations to solve the remaining

subproblems in the branch and b ound tree As a result the count of iterations p er

second for EKKMSLV is based almost entirely on the iterations used to solve the

initial LP relaxation

Since the problems in problem sets six and seven havesomanyvariables it

was not always p ossible to solve these problems to optimality Instead we set up

tal branch and b ound co de to solve subproblems b oth OSL and the exp erimen

and rep ort the b est lower b ound that had b een achieved after solving the sub

problems For these runs it makes little sense to present statistics on the number of

subproblems solved Furthermore since the solution of the initial LP relaxation can

take a signicant p ortion of the total solution time statistics on the average num

b er of iterations p er subproblem and CPU time p er subproblem are not particularly useful

Problem Set EKKSSLV IterationsSecond EKKMSLV IterationsSecond

Table Simplex iterations p er second in EKKSSLV and EKKMSLV

Computational results for problem sets six and seven are presented in Tables

through For each of these runs wegive the CPU time numb er of iterations

b est lower b ound and the optimal solution Note that OSL found an optimal

solution to problem In general the lower b ounds obtained byOSLwere slightly

b etter than the lower b ounds obtained by the exp erimental co de

In order to get go o d lower b ounds for these problems we mo died the ex

p erimental co de to wait until the duality gap was b elow b efore searching for

fractional variables This gave b etter lower b ounds at the exp ense of more itera

tions p er subproblem OSL uses rounding heuristics to attempt to nd an integer

solution at each no de of the branch and b ound tree These integer solutions provide

upp er b ounds that can b e used to fathom subproblems The exp erimental branch

and b ound co de was also mo died with rounding heuristics that attempted to nd

integer solutions However these heuristics were not very successful at nding go o d

integer solutions

One interesting feature of the problems in problem sets six and seven is that all

of the cost co ecients are drawn from a relatively small set of integers As a result

many columns have equal cost and this leads to LP subproblems whichhave many

optimal solutions By its nature the simplex metho d will pick out one basic feasible

solution as the optimal solution of an LP As noted in section Guler and Yehave

shown in that the primaldual metho d will converge to an optimal solution in

the interior of the optimal face Thus there will b e more fractional variables in the

solution found by the primaldual metho d than in the solution found by the simplex

metho d

We conjectured that this eect would hurt the p erformance of the exp erimental

branch and b ound co de To test this we randomly p erturb ed the cost co ecients

of the problems in problem set six For each cost co ecient a random number

uniformly distributed b etween and was added to the cost co ecient We

solved the p erturb ed problems to optimality using OSL Although OSL was able

to solve all of the problems it is unlikely that the exp erimental co des could solve

all of these problems to optimality since the exp erimental co des do not have OSLs

rounding heuristics These results are presented in Tables and

On problems four and ve OSL was able to nd optimal solutions without

solving more than subproblems The exp erimental co de found the optimal solu

tion to problem four It app ears that p erturbing the ob jective function made these

problems easier for b oth co des to solve The lower b ounds obtained by the exp eri

mental co de are very close to the lower b ounds obtained by OSL On problems two

three and four the two co des found b ounds that were roughly equal On problem

one the exp erimental co de found a b etter lower b ound while OSL found a b et

ter lower b ound on problem ve Thus it app ears that the two co des were equally

eective in nding go o d lower b ounds for these p erturb ed problems

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set one

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set one

pProblem CPU Time Iterations Subproblems Ob jective

Table Problem set one without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set one without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set two

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set two

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set two without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set two without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set three

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set three

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set three without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set three without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set four

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set four

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set four without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set four without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem set ve

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem set ve

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set ve without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set ve without warm start

Problem CPU Time Iterations Subproblems Ob jective

Table OSL results for problem sets eight through ten

Problem CPU Time Iterations Subproblems Ob jective

Table Branch and b ound results for problem sets eight through

ten

Problem CPU Time Iterations Subproblems Ob jective

Table Problem set eight through ten without early branching

Problem CPU Time Iterations Subproblems Ob jective

Table Problems eight through ten without warm start

Problem CPU Time Iterations Best Lower Bound Optimal Value

Table OSL results for problem set six

Problem CPU Time Iterations Best Lower Bound Optimal Value

Table Branch and b ound results for problem set six

Problem CPU Time Iterations Best Lower Bound Optimal Value

Table OSL results for problem set seven

Problem CPU Time Iterations Best Lower Bound Optimal Value

Table Branch and b ound results for problem set seven

Problem CPU Time Iterations Best Lower Bound Optimal

Table Branch and b ound results for p erturb ed problem set six

Problem CPU Time Iterations Best Lower Bound Optimal

Table OSL results for p erturb ed problem set six

CHAPTER

Solving Mixed Integer Nonlinear Programming Problems

In this chapter we consider zeroone mixed integer nonlinear programming problems

of the form

MINLP min f x y

sub ject to g x y

m

x f g

y u

y l

Here x is a vector of m zeroone variables y is a vector of n continuous variables

and u and l are vectors of upp er and lower b ounds for the continuous variables y

The ob jective function f and the constraint functions g are assumed to b e convex

In this chapter we describ e a branch and b ound algorithm which uses the

sequential quadratic programming metho d to solve the subproblems and which uses

heuristics to determine when to split a subproblem into two new subproblems In

section we describ e our approach to solving the NLP subproblems Heuristics

for detecting fractional zeroone variables are discussed in section Alower

In b ounding pro cedure based on Lagrangean duality is discussed in section

section we present our branch and b ound algorithm Computational results are

given in section

Solving the Subproblems

Ateach stage of the branch and b ound algorithm wemust solve a nonlinear

programming problem of the form

NLP min f x y

sub ject to g x y

x e

x

y u

y l

where some of the zeroone variables in x mayhave b een xed at zero or one Since

this is a convex problem we know that if it is feasible any lo cal minimum is also a

global minimumFurthermore the Lagrangean for this problem is dened as

T

Lx y f x y g x y

where x and y are still sub ject to upp er and lower b ounds and the Lagrange mul

tipliers are restricted to nonnegativevalues Since the problem is convex the

Lagrangean has a stationary p ointatx y where x y is an optimal solution

to NLP and is a set of optimal Lagrange multipliers and is nonzero only

i

if g x y

i

The metho d of sequential quadratic programming describ ed in at

tempts to nd this stationary p oint and solve NLP by solving a sequence of

quadratic programs with linear constraints These quadratic subproblems are of

the form



T T

p W p QP min rf p



sub ject to Ap c

Here W is the Hessian of the Lagrangean with resp ect to the variables x and y the

rows of A are the gradients of the active constraints and c is the vector of values

of the active constraints

It can b e shown that an optimal solution to QP gives a direction p which

is identical to the direction in the x and y variables given by Newtons metho d

applied to the problem of nding a stationary p oint of the Lagrangean Further

more the Lagrange multipliers for QP are the Lagrange multipliers that would

b e obtained by an iteration of Newtons metho d applied to the problem of nding

a stationary p oint of the Lagrangean Thus one iteration of the SQP metho d is

equivalent to an iteration of Newtons metho d searching for the stationary p ointof

the Lagrangean

Our co de uses a routine called EVCF from the NAG library to solve

NLP This routine uses a version of the SQP metho d in which the solution to

QP is used as a search direction The routine picks a step size that minimizes an

augmented Lagrangean merit function

The EVCF routine calls user supplied subroutines that compute the ob jec

tive function constraint functions and their gradients The EVCF subroutine

will execute until it reaches a limit on the numb er of iterations it nds an optimal

solution or it encounters an error condition If the routine has reached the limit on

iterations the user can restart the routine from where it left o

Heuristics for Detecting Fractional Solutions

Since the sequential quadratic programming algorithm generates estimates of

the variables xwe can examine them after each iteration to see if a variable is

converging to a fractional value This leads to heuristics for determining early in

the solution of the subproblem that the optimal solution will have fractional zero

one variables

Our exp erimental co de examines the values of the zeroone variables after

every second iteration of the sequential quadratic programming algorithm The

EVCF routine wont stop after just one iteration It must run for at least t wo

iterations at a time If the current solution is not feasible with resp ect to b oth

the linear and nonlinear constraints then no determination is made If the current

solution is feasible the value of x is b etween and the dierence b etween

i

the previous value of x and the new value of x is less than a small tolerance and

i i

the new value of x is closer to the old value of x than it is to either or then

i i

the co de declares x fractional The currentversion of the co de uses a tolerance of

i

whichwas chosen after exp erimenting with several dierentvalues of

The exp erimental co de uses a very simple rule for selecting the branching

variable Of the variables which are considered fractional the exp erimental co de

cho oses the most fractional variable that is the variable whichhasvalue closest to

to branch on In cho osing the next subproblem to work on the exp erimental

co de picks the subproblem with the smallest estimated optimal value This estimate

is simply the ob jectivevalue of the parent subproblem if it was solved to optimality

or the ob jectivevalue at the last iteration if the parent subproblem was not solved

to optimality

Generating Lower Bounds

In the branch and b ound algorithm when an early decision to break the current

to two new subproblems is made a lower b ound on the values of the subproblem in

two new subproblems is required This b ound can b e used later to fathom the

subproblems if a b etter integer solution is found

Given a set of Lagrange multipliers we can use Lagrangian duality to nd

alower b ound for the optimal value of the current subproblem This lower b ound

is given by solving the nonlinear programming problem

T

DU AL min f x y g x y

sub ject to x e

x

y u

y l

where again some of the zeroone variables may b e xed at zero or one

This is a nonlinear programming problem with simple b ound constraints that

can easily b e solved by a quasiNewton metho d Furthermore if the multipliers

are close to optimality the minimum value of DUAL should b e close to the

optimal value of NLP However this lower b ounding pro cedure is likely to fail to

give an improved lower b ound if the Lagrange multipliers are not well chosen For

this reason our algorithm do esnt attempt to use this lower b ounding pro cedure

until the Lagrange multipliers have had time to converge to their optimal values If

the lower b ounding scheme fails our algorithm will continue to work on the current

subproblem until lower b ounding succeeds or until an optimal solution has b een

found

Our exp erimental co de uses the NAG routine EKBF to solve DUAL The

initial guess is simply the current estimated solution x and y to the currentsub

problem The Lagrangean function and its gradient are calculated automatically

from the user supplied ob jective and constraint functions

The Branch and Bound Algorithm

Aowchart of our branch and b ound algorithm for solving mixed integer

nonlinear programs is given in gure This algorithm is identical in structure to

the algorithms describ ed in Chapter and Chapter However there are several

signicant dierences in the details of the algorithm

Initialize BB

Start

Tree

Tree Empty Pick a New

Subproblem

Do S iters of the

SQP metho d

Delete Yes

Infeasible

Output Soln

Subproblem

No

End

Yes

Branch Fractional

Var

No

Integer Yes

ubminubob j

Soln

No

Figure The branch and b ound algorithm for MINLP

In step two we use a depth rst strategy to cho ose the next subproblem until

an integer solution has b een found From then on wepick the subproblem with

the smallest estimated lower b ound These estimates are based on the b est known

solution to the parent subproblem

In step three the algorithm p erforms S steps of the SQP algorithm S is a

parameter that can b e adjusted If we set S to a very large value then the algorithm

will solveeach subproblem to optimalitywithin S steps or detect infeasibilitybut

it will never use the heuristics to detect a fractional variable This is a conventional

branch and b ound algorithm for MINLP If S is set to a smaller value the heuristics

will come into play Because of a restriction in the EVCF subroutine wewere

only able to use values of S that were greater than one Our exp erimental co de uses

the smallest p ossible value S

In step four of our algorithm wehave to determine whether the currentsub

problem is infeasible The EVCF routine will automatically detect infeasibility

with resp ect to the linear constraints However if a subproblem is infeasible with

resp ect to one or more of its nonlinear constraints the EVCF routine do es not

automatically detect the condition Instead the routine will return with an indica

tion that it stopp ed after it could not nd an improved p oint This could b e b ecause

the problem was infeasible or it could b e that the SQP routine was simply having

trouble nding a feasible p oint In this situation we examine the current solution

If the current solution is close to feasibility within then we restart the SQP

tually nding a feasible solution If the SQP algorithm algorithm in hop es of even

fails a second time we declare the subproblem infeasible

Our lower b ounding pro cedure is computationally exp ensive and since it is

usually not eectiveuntil the current solution is close to optimalitywedonot

p erform the lower b ounding pro cedure in step four

In step six wemust rst check that the current solution is feasible If the

current solution is within of feasibility with resp ect to each of the linear and

nonlinear constraints then we assume that the current subproblem is feasible We

can then check the values of the x to determine whether anyvariables are converging

i

to fractional values

Once wehave decided to branchinstepseven it is imp ortant to get good

lower b ounds for the two new subproblems Wemay already havea lower b ound for

the optimal ob jectivevalue of the current subproblem If the ob jectivevalue of the

current solution is within of the currentlower b ound then there is little p oint

in trying to compute a b etter lower b ound In this case the two new subproblems

simply inherit the lower b ound from the parent subproblem If no lower b ound for

the current subproblem is available or the lower b ound is not go o d enough then

wemust use the pro cedure of section to compute a lower b ound for the current

subproblem This lower b ound is then inherited by the two new subproblems

As with the algorithms for mixed integer linear programming this algorithm

could err in considering a variable fractional when it is not It could also make

the mistake of declaring a subproblem feasible and a variable fractional when in

fact the subproblem is infeasible Howev er this pro cess is limited by the nite size

of the tree Eventually all of the integer variables would b e xed at zero or one

and the SQP metho d would correctly determine the feasibility or infeasibility of the

subproblem In practice wehave not had any signicant problems with these early

branching heuristics

The exp erimental co de makes use of three user supplied subroutines The rst

routine SETUPP is used to initialize the continuous relaxation of the problem

SETUPP returns the total number of variables number of integer variables a ma

trix for any linear constraints and feasibility tolerances for the linear and nonlinear

constraints A second routine OBJFUN calculates the ob jective function and its

gradient The third routine CONFUN calculates the nonlinear constraintfunc

tions and their gradients These routines are then linked with the exp erimental co de

to create a program for solving the actual problem

Computational Results

We tested the exp erimental co de on a numb er of problems taken from the

literature Sample problems one through four were taken from a pap er byDuran

and Grossman The rst three of these problems come from the chemical

engineering problem of designing a chemical pro cessing system The fourth problem

comes from the area of pro duct marketing The third and fourth problems also

app ear in Our fth sample problem is example problem ve from a pap er by

Floudas Aggarwal and Ciric Other problems in this pap er were nonconvex

Our sixth sample problem is example four from a pap er by Ko cis and Grossman

This problem is a convex version of a chemical pro cess design problem that

was nonconvex in its original formulation The seventh problem is a top ological

network design problem which is describ ed in detail in App endix B A summary of

the problems is presented in Table

Problem ZeroOne Continuous Linear Nonlinear

Variables Variables Constraints Constraints

Table Characteristics of the sample problems

Twoversions of the exp erimental co de were develop ed In the rst version

the heuristics and lower b ounding pro cedure are used after every other iteration of

the SQP metho d In the second version the heuristics are not used These co des

were run under AIX on an IBM S The total numb er of SQP iterations

total numb er of subproblems solved and CPU times were recorded for eachcodeon

each problem The CPU times were measured with the CPUTIME subroutine of the

Fortran runtime library Unfortunately our exp erience has b een that these CPU

times are only accurate to ab out since rep eated runs of the co de show slightbut

consistentvariations in the CPU time This could b e caused by an inaccuracy in

the timing routines or bycache eects These computational results are presented

in Tables and

Problem SQP Subproblems CPU Time Optimal

Iterations Solved Seconds Value

Table Computational results for the co de without heuristics

Note that the optimal ob jectivevalues are given to six signicant digits The

tolerances in EVCF were set so that no constraintwould b e violated bymore



than and so that the relative error in the optimal ob jective function

would b e smaller than Except for problem four the optimal ob jective

values found bythetwo exp erimental co des are identical to six signicant digits In

problem four the dierence is in the sixth digit In several cases there are slight

dierences b etween the two co des in how many subproblems were solved This

Problem SQP Subproblems CPU Time Optimal

Iterations Solved Seconds Value

Table Computational results for the co de with heuristics

can b e explained by slightly dierentchoices of the branching variables that were

sometimes made bythetwo co des

The co de with heuristics worked ab out as well as the co de without heuristics

on the smaller problems This is not surprising since on these problems the SQP

metho d needed an average of to iterations to solve a subproblem and there was

little opp ortunity for the heuristics to come into play On the more dicult problems

and the SQP algorithm required more iterations to solveeach subproblem

and the heuristics could b e used successfullyFor example on problem the co de

without heuristics used an average of iterations on each subproblem that it solved

while the co de with heuristics used an average of only iterations p er subproblem

The pap er byPaules and Floudas includes computational results for prob

lems three and four which can b e compared to our results These problems were

solved by b oth generalized Benders decomp osition GBD and an outer approxi

mation algorithm on an IBM computer similar to the computer used in our

study The optimal ob jectivevalues and solutions rep orted by our co des agree with

the solutions rep orted byPaules and Floudas with some dierences in the fth digit

However Paules and Floudas only rep ort their results to ve digits and it is not

clear what tolerances were used in their co de On problem three GBD required

CPU seconds while the outer required CPU

seconds In contrast our branch and b ound co des needed only ab out CPU second

to solve the problem On problem four GBD required over CPU seconds to

solve the problem The outer approximation algorithm required b etween and

CPU seconds dep ending on the starting p oint Both of our co des solved the problem in ab out CPU seconds

CHAPTER

Discussion and Conclusions

In this chapter we assess the results of the computational exp eriments describ ed in

Chapters and The questions to b e answered include

Is early branching eective in reducing the numb er of iterations p er subprob

lem in the algorithms for mixed integer programs

Do es early branching lead to an increase in the numb er of subproblems solved

in these algorithms

How eective is xed order branching in a branch and b ound algorithm for

mixed integer linear programs

Can branch and b ound co des for mixed integer linear programming based on

an interior p oint metho d comp ete with similar co des based on the simplex

metho d

Is early branching worthwhile in the branch and b ound co de for mixed integer

nonlinear programs

We will also discuss directions for future researchandways in which the p erformance

of the exp erimental co des could b e improved

The computational results in Chapters and clearly show that early branch

ing substantially reduces the numb er of iterations p er subproblem in the exp eri

mental branch and b ound co des for mixed integer linear programs Without early

branching a branch and b ound co de based on an interior p oint metho d for linear

programming probably would not b e comp etitive with a simplex based co de The

computational results in Chapter are less convincing On most of the sample

problems the average numb er of iterations p er subproblem was very small less

than ve The early branching heuristics had little opp ortunity to detect fractional

variables as the co de solved these subproblems On problems six and seven the

average numb er of iterations p er subproblem was higher and the early branching

heuristics were able to function However the early branching heuristics were only

able to reduce the numb er of iterations p er subproblem by ab out on these

problems Thus the early branching heuristics were not as eective in the co de for

mixed integer nonlinear programming problems as they were in the co des for linear

problems

The computational results in Chapters and show that early branching

do es not generally lead to an increase in the numb er of subproblems solved by the

exp erimental branch and b ound co des for mixed integer linear programs In many

cases the exp erimental branch and b ound co de with early branching solved fewer

subproblems than the exp erimental co de without early branching However the

p o or p erformance of the exp erimental co de on the problems in problem set veisa

cause for concern Furthermore OSL consistently solved fewer subproblems than the

exp erimental branch and b ound co des Improvements in the heuristics for detecting

fractional zeroone variables the heuristics for cho osing branching variables and

the implementation of implicitenumeration techniques could alleviate this problem

The computational results in Chapter also show that early branching do es not

umb er of subproblems solved by the branch and b ound lead to an increase in the n

co de for mixed integer nonlinear programming problems

The computational results for the xed order branch and b ound co de in Chap

ter show that on our capacitated facility lo cation problems the xed order branch

ing strategy did reduce the numb er of subproblems solved and the total CPU time

used by the exp erimental branch and b ound co de However the xed order branch

and b ound co de was never more than faster than the branch and b ound co de

with conventional branching Furthermore the xed order branching co de used far

more virtual storage than the conventional branch and b ound co de Thus xed

order branching was not judged to b e very successful in our computational testing

The computational results in Chapters and show that our exp erimental

branch and b ound co des for mixed integer linear programs are quite capable of

solving large zeroone mixed integer linear programs The optimal solutions found

by our co des consistently match the solutions found byOSLHowever our co des

were not as fast as OSL in solving these problems On problem sets one two and

three where our interior p oint co des could solve the LP relaxations in roughly the

same time it to ok OSLs simplex metho d to solve the linear programs and where

the numb er of subproblems solved by the exp erimental branch and b ound co des was

similar to the numb er of subproblems solved by EKKMSLV our branch and b ound

co des were comp etitive with OSLs branch and b ound co de On the other problem

sets where our interior p oint co des could not solve the linear programs as quickly

or where EKKMSLV solved fewer subproblems than the exp erimental branch and

b ound co des OSLs branch and bound code was clearly sup erior Our exp erimental

branch and b ound co de was ab out three times slower than OSL on the problems

in sets six and seven However OSLs primaldual predictorcorrector co de solves

the LP relaxations of these problems ab out three times faster than our primaldual

co de Thus it seems likely that with a b etter implementation of the primaldual

h and b ound co de could comp ete with OSL on the metho d our exp erimental branc

problems in problem sets six and seven

It seems that with substantial improvements in the implementation of the

primaldual metho d improvements in the heuristics for detecting fractional vari

ables and the implementation of implicitenumeration techniques the exp erimental

branch and b ound co de could b e improved to the p ointthatitwould comp ete with

OSL However such a co de would only b e comp etitive on problems where the inte

rior p ointmethodwas faster than the simplex metho d at solving the LP relaxations

Such problems would b e relatively large since the simplex metho d is dominantfor

smaller problems

The computational results in Chapter show that on some problems early

branching can reduce the numb er of SQP iterations p er subproblem without in

creasing the total numb er of subproblems solved However this only happ ened in

twooftheseven test problems and the numb er of iterations p er subproblem was

only reduced by ab out This gives us some reason to hop e that early branching

might b e eective in larger problems Further computational testing is needed to

determine whether early branching is generally eective

There are several areas in which our research can b e extended

Whichinterior p oint metho d works b est in a branch and b ound co de for MILP

problems

Can we nd a b etter warm start pro cedure for any of the interior p ointmeth

ods

Can we improve on the heuristics used to detect fractional zeroone variables

The exp erimental branch and b ound co de for nonlinear problems should b e

tested on larger sample problems

What other metho ds for solving the NLP subproblems can b e used This

could eect the eciency of the heuristics for early detection of fractional

variables

The ma jor contribution of this thesis is the early branching idea The com

putational results in Chapters and provide evidence for the eectiveness of

early branching A second contribution of this thesis is the computational testing of

interior p oint metho ds in a branch and b ound algorithm for zeroone mixed integer

linear programming problems Although the exp erimental branch and b ound co de

was not comp etitive with OSL there is substantial ro om for improvement in the

p erformance of the exp erimental co de

LITERATURE CITED

I Adler M G C Resende G Veiga and N K Karmarkar An

implementation of Karmkarkars algorithm for linear programming

Mathematical Programming

Umit Akinc and Basheer M Khumawala An ecient branch and b ound

algorithm for the capacitated warehouse lo cation problem Management

Science February

E Balas and A Ho Set covering algorithms using cutting planes heuristics

and subgradient optimisation A computational study Mathematical

Programming Study

E R Barnes A variation of Karmarkars algorithm for solving linear

programming problems Mathematical Programming

E Beale and R Small Mixed integer programming by a branch and b ound

technique In Proceedings of the Third IFIP Congress pages

J E Beasley An algorithm for set covering problems European Journal of

Operational Research

J E Beasley ORlibrary Distributing test problems by electronic mail

Journal of the Operational Research Society

M Benichou J M Gauthier P Giro det G Hentges G Ribiere and

Mathematical D Vincent Exp eriments in mixed integer linear programming

Programming

Dimitri Bertsekas and Rob ert Gallager Data Networks PrenticeHall

R E Bixby J W Gregory I J Lustig R E Marsten and D F Shanno

Very largescale linear programming A case study in combining interior

p oint and simplex metho ds Technical Rep ort J Scho ol of Industrial

and Systems Engineering Georgia Institute of TechnologyAtlanta

GA USA May Technical Rep ort SOR Scho ol of

Engineering and Applied Science Dept of Civil Engineering and Op erations

Research Princeton University Princeton NJ USA May

Technical Rep ort RRR RUTCOR Center of Op erations Research

Rutgers University New Brunswick NJ USA

Rob ert E Bixby E Andrew Boyd and Ronni R Indovina MIPLIB A test

set of mixed integer programming problems SIAM News March

Rob ert R Bo orstyn and Howard Frank Largescale network top ological

optimization IEEE Transactions on Communications

W Carolan J Hill J Kennington S Niemi and S Wichmann An empirical

evaluation of the KORBX algorithms for military airlift applications

Operations Research

In Chan Choi Clyde L Monma and David F Shanno Further developments

of a primaldual interior p oint metho d ORSA Journal on Computing

R Dakin A tree for mixed integer programming problems

Computer Journal

I I Dikin Iterative solution of problems of linear and quadratic

programming Doklady Akademii Nauk SSSR Translated

in Soviet Mathematics Doklady

I I Dikin On the convergence of an iterative pro cess Upravlyaemye Sistemi

In Russian

N J Drieb eck An algorithm for the solution of mixed integer programming

problems Management Science

I S Du A M Erisman and J K Reid Direct Methods for Sparse

Matrices Oxford University Press

Marco A Duran and Ignacio E Grossmann An outerapproximation

algorithm for a class of mixedinteger nonlinear programs Mathematical

Programming

S C Eisenstat MC GurshyMHSchultz and AH Sherman The Yale

Sparse Matrix Package I The symmetric co des International Journal for

Numerical Metho ds in Engineering

A S ElBakryRATapia and Y Zhang A study of indicators for

identifying zero variables in interiorp oint metho ds Technical Rep ort

TR Rice University June

Anthony V Fiacco and Garth P McCormick Nonlinear Programming

Sequential Unconstrained Minimization Techniques SIAM Philadelphia

R Fletcher Practical Methods of Optimization John Wiley Sons New

York second edition

C A Floudas A Aggarwal and A R Ciric Global optimum search for

nonconvex NLP and MINLP problems Computers and Chemical Engineering

J J H Forest J PHHirstandJATomlin Practical solution of large

mixed integer programming problems with Umpire Management Science

January

J J H Forrest and J A Tomlin Implementing interior p ointlinear

programming metho ds in the optimization subroutine library IBM Systems

Journal

J J H Forrest and J A Tomlin Implementing the simplex metho d for the

optimization subroutine library IBM Systems Journal

B Gavish D Horsky and K Srikanth An approach to the optimal

p ositioning of a new pro duct Management Science

A M Georion and R E Marsten Integer programming algorithms A

framework and stateoftheart survey Management Science

Alan George and Joseph W H Liu Computer Solution of Large Sparse

Positive Denite Systems PrenticeHall Englewo o d Clis NJ

Mario Gerla and Leonard Kleinro ck On the top ological design of distributed

computer networks IEEE Transactions on Communications

Philip E Gill Walter Murray and Margaret Wright Practical Optimization

Academic Press New York

D Goldfarb and M J To dd Karmarkars pro jective scaling algorithm In

G L Nemhauser A H G Rinno oyKanandMJTo dd editors

Optimizationvolume of Handbooks in Operations R esearch and Management

Science pages North Holland Amsterdam The Netherlands

Gene Golub and Charles Van Loan Matrix Computations Johns Hopkins

University Press Baltimore second edition

C C Gonzaga Convergence of the large step primal anescaling algorithm

for primal nondegenerate linear programs Technical Rep ort ES Dept

of Systems Engineering and Computer Science COPPE Federal Universityof

Rio de Janeiro Rio de Janeiro RJ Brazil September

Clovis C Gonzaga On lower b ound up dates in primal p otential reduction

metho ds for linear programming Mathematical Programming

I E Grossmann Mixedinteger programming approach for the synthesis of

integrated pro cess owsheets Computers and Chemical Engineering

O Guler and Yinyu Ye Convergence b ehavior of some interiorp oint

algorithms Working Pap er

Omprakash K Gupta and A Ravindran Nonlinear integer programming

algorithms A survey OPSEARCH

Omprakash K Gupta and A Ravindran Branch and b ound exp eriments in

convex nonlinear integer programming Management Science

Pierre Hansen Metho ds of nonlinear programming In P L Hammer

E J Johnson and B H Korte editors Discrete Optimization II Annals of

Discrete Mathematics North Holland New York

H H Hoang Top ological optimization of networks A nonlinear mixed

integer mo del employing generalized b enders decomp osition IEEE

Transactions on Automatic Control

IBM Kingston NY Engineering and Scientic Subroutine Subroutine

Library Guide and ReferenceNovember

IBM Kingston NY IBM Optimization Subroutine Library Guide and

Reference August

IBM Kingston NY VAST for VS Fortran Users Guide April

IBM Kingston NY VS Fortran Version Language and Library Reference

Release

Newspap er Enterprise Asso ciation Inc The World Almanac and Book of

Facts Scripps Howard Company

Granville E Paules IV and Christo doulos A Floudas APROS Algorithmic

development metho dology for discretecontinuous optimization problems

Operations Research

N K Karmarkar A new p olynomialtime algorithm for linear programming

Combinatorica

N K Karmarkar and K G Ramakrishnan Computational results of an

interior p oint algorithm for large scale linear programming Mathematical

Programming

Gary R Ko cis and Ignacio E Grossman of nonconvex

mixedinteger nonlinear programming MINLP problems in pro cess

synthesis Industrial Engineering Chemistry Research

E Kranich Interior p oint metho ds for mathematical programming A

bibliography Discussion Pap er Institute of Economy and Op erations

Research FernUniversitat Hagen PO Box D Hagen

WestGermanyMay The actual bibliography can b e accessed

electronically by sending email to netlibresearchattcom with message

send index from bib

A A Kuehn and M J Hamburger A heuristic program for lo cating

warehouses Management Science July

A Land and A Doig An automatic metho d of solving discrete programming

problems Econometrika

A Land and S Powell Computer co des for problems of integer programming

In P L Hammer E J Johnson and B H Korte editors Discrete

Optimization II Annals of Discrete Mathematics North Holland New York

D J Laughhunn Quadratic binary programming with applications to

capitalbudgeting problems Operations Research

E L Lawler and D E Wo o d Branch and b ound metho ds A survey

Operations Research

I J Lustig R E Marsten and D F Shanno On implementing Mehrotras

predictorcorrector interior p oint metho d for linear programming Technical

Rep ort SOR Scho ol of Engineering and Applied Science Dept of Civil

Engineering and Op erations Research Princeton University Princeton

NJ USA April To app ear in SIAM Journal on Optimization

I J Lustig R E Marsten and D F Shanno Computational exp erience

with a primaldual interior p oint metho d for linear programming Linear

Algebra and Its Applications

I J Lustig R E Marsten and D F Shanno Interior metho d vs simplex

metho d Beyond netlib COAL Newsletter August

Irvin J Lustig Roy E Marsten and David F Shanno Starting and

restarting the primaldual interior p oint metho d Technical Rep ort SOR

Princeton University Octob er

Irvin J Lustig Roy E Marsten and David F Shanno Computational

exp erience with a primaldual interior p oint metho d for linear programming

Linear Algebra and Its Applications

TL Magnanti and R T Wong Network design and transp ortation planning

Mo dels and algorithms Transportation Science February

J C T Mao and B A Wallingford An extension of Lawler and Bells

metho d of discrete optimization with examples from capital budgeting

Management Science

R E Marsten R Subramaniam M J Saltzman I J Lustig and D F

Shanno Interior p oint metho ds for linear programming Just call Newton

Lagrange and Fiacco and McCormick Interfaces

Roy E Marsten Matthew J Saltzman David F Shanno George S Pierce

andJFBallintijn Implementation of a dual ane interior p oint algorithm

for linear programming ORSA Journal on Computing

Kevin A McShane Clyde L Monma and David Shanno An implementation

of a primaldual interior metho d for linear programming ORSA Journal on

Computing

S Mehrotra On the implementation of a primaldual interior p oint

metho d Technical Rep ort Dept of Industrial Engineering and

Management Science Northwestern UniversityEvanston IL USA

March Revised June

Clyde L Monma and Andrew J Morton Computational exp erience with a

dual ane variant of Karmarkars metho d for linear programming Operations

Research Letters December

NAG FORTRAN Library Manual Mark Volume Numerical Analysis

Group Oxford

R Gary Parker and Ronald L Rardin Discrete Optimization Academic

Press Boston

Mauricio G C Resende and Geraldo Veiga A dual ane scaling algorithm

for minimum cost network ow Manuscript

ger Programming Harvey M Salkin and Kamlesh Mathur Foundations of Inte

NorthHolland New York

Jaya Singhal Roy E Marsten and Thomas L Morin Fixed order branch and

b ound metho ds for mixedinteger programming The ZOOM system ORSA

Journal on Computing

R A Tapia and Yin Zhang An optimalbasis identication technique for

interior p oint linear programming algorithms Linear Algebra and Its

Applications

MJTo dd Recent developments and new directions in linear programming

In M Iri and K Tanab e editors Mathematical Programming Recent

Developments and Applications pages Kluwer Academic Press

Dordrecht The Netherlands

Michael J To dd Improved b ounds and containing ellipsoids in Karmarkars

linear programming algorithm Mathematics of Operations Research

Michael J To dd and Bruce P Burrell An extension of Karmarkars algorithm

for linear programming using dual variables Algorithmica

JA Tomlin An improved branch and b ound metho d for integer

programming Operations Research

T Tsuchiya Global convergence of the ane scaling metho ds for degenerate

linear programming problems Mathematical Programming

T Tsuchiya and M Muramatsu Global convergence of a longstep ane

scaling algorithm for degenerate linear programming problems Technical

Rep ort The Institute of Statistical Mathematics

Kathryn Turner Computing pro jections for the Karmarkar algorithm Linear

Algebra and Its Applications

R J Vanderb ei and J C Lagarias I I Dikins convergence result for the

anescaling algorithm In Jerey C Lagarias and Michael J To dd editors

Mathematical Developments Arising from Linear Programming American

vidence RI Mathematical So cietyPro

R J Vanderb ei MS Meketon and B A Freedman A mo dication of

Karmarkars linear programming algorithm Algorithmica

H M Weingartner Capital budgeting of interrelated pro jects Management

Science

G G Wilson and B D Rudin Intro duction to the IBM optimization

subroutine library IBM Systems Journal

M H Wright Interior metho ds for Numerical

Analysis Manuscript AT T Bell Lab oratories Murray Hill

NJ USA November

Y Ye A builddown scheme for linear programming Mathematical

Programming

APPENDIX A

Benchmarks for the PrimalDual Co de

In this app endix we describ e a number of benchmarks which show the relativeper

formance of our dualane interior p oint co de our primaldual interior p oint co de

the primaldual interior p oint co de in IBMs Optimization Subroutine Library and

the simplex co de in OSL The articles byForrest and Tomlin provide descriptions of

the OSL implementations of the simplex metho d and the primaldual interior p oint

metho d

For the problems in problem sets one through three we used the version of

our exp erimental primaldual co de that uses the YSMP routines For the problems

in problem sets four through seven weusedaversion of the primaldual co de that

uses the ESSL subroutines Wehave found that the ESSL routines have b etter

p erformance than the YSMP routines on relatively dense problems For the prob

lems in sets eight through ten which are relatively sparse we again used the YSMP

routines

The OSL co des and the exp erimental primaldual co de were tested on the LP

relaxations of the test problems in problem sets one through ten The dualane

co de was tested on the problems in problem sets one through four The results are

presented in tables A through A For eachrunwegive the numb er of iterations

CPU time and the optimal ob jectivevalue Figure A summarizes these results

For the OSL simplex runs the routine EKKSSLVwas used DEVEX pricing

was turned o b ecause this gave faster solutions It should b e noted that the CPU

time and numb er of simplex iterations needed to solve the linear programming prob

lems was often dierent from the time used by the EKKMSLV routine to solve the

initial LP relaxation in the branch and b ound tree For example EKKSSLV required

iterations and CPU seconds to solve the LP relaxation of problem

However EKKMSLVwas able to solve the LP relaxation and other subproblems

in iterations and CPU seconds This might b e caused by the sup erno de

pro cessing feature of EKKMSLV which uses implicitenumeration techniques to

x zeroone variables at zero or one Another factor might b e dierences in the

used by EKKMSLV

The OSL co des b oth gave optimal values to seven digits The exp erimental

primaldual co de was also designed to give optimal values to seven digits while the

exp erimental dualane co de was designed to give optimal values to roughly six

digits In most cases the exp erimental primaldual co de and the two OSL co des

agree on the optimal ob jectivevalue In the few cases where there are discrepan

cies the dierences are in the seventh digit The exp erimental dualane co de is

somewhat less accurate but most of the dualane results are go o d to six digits

The OSL simplex co de is faster than either of the primaldual co des on prob

lem sets one two four ve and eight However the simplex co de is much slower

than the primaldual co des on problem sets six and seven The simplex co de used a

very large numb er of iterations on these problems so it app ears that the problems

were degenerate

Of the two primaldual co des the OSL co de is generally faster than the ex

p erimental primaldual co de This is particularly evident in problem sets six and

seven where the OSL co de is approximately three times as fast as the exp erimental

primaldual co de The OSL primaldual co de is also ab out twice as fast as the

exp erimental primaldual co de on problems eight and ten The OSL primaldual

co de makes use of a predictorcorrector scheme which has b een shown to reduce

the numb er of primaldual iterations On the problems in problem sets one

through seven OSLs predictorcorrector metho d used fewer iterations than

our co de The remaining dierence in p erformance can b e b e attributed to b etter sparse matrix linear algebra routines in the OSL co de

An imp ortant factor in the p erformance of the sparse matrix linear algebra

T

co de is the structure of the matrix AA Figures A through A showthe

pattern of nonzero elements in the matrices for three of the sample problems For

each problem weshow the matrix b efore minimum degree ordering after mini

mum degree ordering and after Cholesky factorization In problem the matrix

T

AA is quite sparse and there is very little llin after minimum degree ordering

and Cholesky factorization In problem the matrix is much more dense but

minimum degree ordering is still eective in reducing the llin during factorization

T

However in problem the original matrix AA is quite dense and even with

minimum degree ordering the llin is nearly complete after Cholesky factorization

For problems such as where the matrix is nearly completely dense it makes

more sense to use dense matrix techniques esp ecially for the lower right hand corner

of the matrix OSLs primaldual implementation automatically switches over to a

dense matrix factorization routine when the density of the matrix exceeds The

ESSL and YSMP routines continue to use algorithms for sparse matrices even on

very dense matrices and as a result p erformance suers

OSL Primal-Dual .

Experimental Dual Affine Set 1

Experimental Primal-Dual

Set 2

Set 3

Set 4

Set 5

Set 6

Set 7

Set 8

Set 9

Set 10

1 2 3 4 CPU Time, Relative to EKKSSLV

Figure A LP results for problem sets one through ten

Figure A Problem b efore minimum degree ordering

Figure A Problem after minimum degree ordering

Figure A The Cholesky factors for problem

Figure A Problem b efore minimum degree ordering

Figure A Problem after minimum degree ordering

Figure A The Cholesky factors for problem

Figure A Problem b efore ordering

Figure A Problem after minimum degree ordering

Figure A The Cholesky factors for problem

Problem Iterations CPU time Ob jective

Table A OSL simplex solutions of the LP relaxations

Problem Iterations CPU time Ob jective

Table A OSL primaldual solutions of the LP relaxations

Problem Iterations CPU time Ob jective

Table A Exp erimental primaldual solutions of the LP relaxations

Problem Iterations CPU time Ob jective

Table A Exp erimental dualane solutions of the LP relaxations

APPENDIX B

A Small Network Design Problem

The seventh example problem in chapter is a small network design problem for a

data communications network involving ve cities New York Los Angeles Chicago

Philadelphia and Houston The distances b etween these cities and the p opulations

of the cities were obtained from the World Almanac and Bo ok of Facts

The total owbetween pairs of cities was made prop ortional to the pro duct of the

p opulations These ows are given in Table The cost of a link b etween two cities

was made equal to the distance b etween the two cities in miles These distances are

given in Table

City New York Los Angeles Chicago Houston Philadelphia

New York

Los Angeles

Chicago

Houston

Philadelphia

Table B Flows b etween cities

City New York Los Angeles Chicago Houston Philadelphia

New York

Los Angeles

Chicago

Houston

Philadelphia

Table B Distances b etween cities

The problem is to cho ose a set of links b etween cities and a routing of the

data such that the total queueing delay is minimized sub ject to a budget constraint

Problems of this typ e are discussed in Toformulate this problem we

numb er the no des from to and Let x b e if the arc ij is in the network and

ij

if the arc is not in the network Well assume that the communications links are

bidirectional so we will always have x x Letf b e the owbetween no des i

ij ji ij

s

and j Let f b e the ow on arc ij of data destined for no de s

ij

Each link will have a nominal capacity of in each direction However since

the queueing delaywould b e innite if the owwas at full capacitywell intro duce

a capacity constraint of This can b e written as

n

X

s

f x

ij

ij

s

There are of these constraints with one for each direction on eachlink

s

Let F b e the total ow of data from no de i to no de s for i s The network

i

ow constraintatnode i for data destined for no de s can b e written as

X X

s s s

f f F

ij ji i

arcs ij arcs ji

For our vecity problem there are such constraints

Finallywehave a budget constraint

X

c x

ij ij

ij

Here c is the mileage b etween cities i and j This constraint limits the network to

ij

a total of miles of links Without it the optimal solution would involveevery

p ossible link

The ob jective is to minimize the total queueing delay in the network This

delay can b e approximated bythesumover all arcs of the queueing delayonan

P

n

s

is the f individual arc which is given by D f f f where f

ij ij ij ij

ij s

total o wonarci j and is the normalized capacity of the link Unfortunately

this function has a singularitywhich could cause numerical problems Toavoid this

we use the function

f f if f

ij ij ij

D f

ij



f f Otherwise

ij ij

This alternative function matches the original function for all feasible ows where

f and is continuous and twice dierentiable for all values of f

ij ij

Thus the problem can b e written as

P

D f NET min

ij

arcs ij

P

n

s

sub ject to f x for all arcs ij

ij

s ij

P P

s s s

f f F for all i s

ij ji i

arcs ij arcs ji

P

c x

ij ij

ij

s

f for all i j s

ij

x x for all i j

ij ji

x f g for all i j

ij

In this form the problem has zeroone variables continuous variables

linear constraints and a nonlinear ob jective function The optimal solution has a

total queueing delay of It uses links b etween New York and all four of the

other cities a link b etween Houston and Chicago and a link b etween Houston and Los Angeles This solution uses miles of the mile budget