Using an Interior Point Method in a Branch and Bound Algorithm For

Using an Interior Point Method in a Branch and Bound Algorithm For

Using an interior p oint metho d in a branch and b ound algorithm for integer programming July Brian Borchers Department of Mathematics Weir Hall New Mexico Tech So corro NM borchersjupiternmtedu John E Mitchell Department of Mathematical Sciences Rensselaer Polytechnic Institute TroyNY mitchjrpiedu Sub ject Classication Programming integer algorithms branchandb ound Abstract This pap er describ es an exp erimental co de that has b een develop ed to solve zeroone mixed integer linear programs The exp erimental co de uses a primaldual interior p oint metho d to solve the linear programming subproblems that arise in the solution of mixed integer linear programs by the branch and b ound metho d Computational results for a number of test problems are provided Intro duction Mixed integer linear programming problems are often solved by branchand b ound metho ds Branch and b ound co des such as the ones describ ed in normally use the simplex algorithm to solve linear programming sub problems that arise In this pap er we describ e an exp erimental branchand b ound co de for zeroone mixed integer linear programming problems that uses an interior p oint metho d to solve the LP subproblems This pro ject was motivated by the observation that interior p oint metho ds tend to quickly nd feasible solutions with go o d ob jectivevalues but takea relatively long time to converge to an accurate solution For example gure shows the sequence of dual ob jectivevalues generated during the solution of a sample LP by the primaldual metho d After ve iterations the solution is dual feasible and a lower b ound is available After ten iterations the dual solution has an ob jectivevalue within of the optimal ob jectivevalue However it takes eighteen iterations to solve the problem to optimalityFurthermore the solution estimates generated byaninterior p oint metho d tend to converge steadily to an optimal solution Figure shows the sequence of values of the variable x for the sample LP After ab out ten iterations it b ecomes apparent that x is converging to a value near Within a branch and b ound algorithm accurate solutions to the LP sub problems are often not needed Any dual solution with a higher ob jectivevalue than a known integer solution provides a b ound sucient to fathom the current 1e+07 8e+06 6e+06 4e+06 Objective Value 2e+06 0 0 5 10 15 20 Iterations Figure Lower b ounds for a sample problem 1 0.8 0.6 0.4 Estimates of X(18) 0.2 0 0 5 10 15 20 Iterations Figure Estimates of x subproblem Furthermore if it b ecomes apparent that the optimal solution to the current subproblem includes an integer variable at a fractional value we can branch early without solving the current subproblem to optimalityAswe shall see later this early branching signicantly improves the p erformance of our branch and b ound co de However the simplex metho d has a signicantadvantage over interior p oint metho ds within a branch and b ound algorithm In the branch and b ound algo rithm wecanwarm start the solution of each new subproblem with the optimal solution from the parent subproblem Using the simplex metho d a new optimal solution can usually b e found after only a few simplex iterations With interior p oint metho ds warm starts are not as eective In order to determine whether the advantages of using an interior p oint metho d outweigh the advantages of using the simplex metho d wehavedevel op ed an exp erimental co de that uses the primaldual interior p oint metho d and early branching Wehave tested this co de on a numb er of sample problems and compared the p erformance of the co de to the simplex based branchandbound co de in IBMs Optimization Subroutine Library OSL These computational results are the rst contribution of the pap er The second contribution of the pap er is the early branching idea whichmight b e applicable to other branch and b ound algorithms The pap er is organized as follows In section we describ e the interior p oint metho d that wehave used to solve the subproblems We describ e the branch and b ound algorithm in section We present computational results for anumb er of sample problems in section Our conclusions are presented in section Solving the LP Subproblems The exp erimental co de solves problems of the form T P min c x sub ject to Ax b x x u Some of the x variables are restricted to the values zero and one Here A is an m by n matrix c is an n byvector and b is a m byvector Some of the primal variables maybeunb ounded For these variables wewriteu i Weintro duce slackvariables s so that the constraint x u can b e rewritten as x s u together with the nonnegativity constraint s The LP dual of this problem can b e written as T T w D max b y u T sub ject to A y w z c w z If x is an unb ounded primal variable then wexw at zero and let s i i i Within the branch and b ound algorithm we will solvea number of LP relaxations of the original problem P using the primaldual metho d describ ed in The primaldual metho d is summarized in the following algorithm Algorithm Given an initial primal solution x s with x s and x s u and an initial dual solution w y z withw z repeat the fol lowing iteration until the convergence criterion has been met Compute Compute X Z S W and S X e W Z e Compute the Newtons methodstepsx y s w and z using T T AA y b AxAc A y z w T T x A y c A y z w s x z X XZe e Z x w S SW e e W s x s s Find step sizes and that ensure x p p d p z zand w w Ifpossible make ful l steps with d d p and d Let x x x s s s y y y w w w and p p d d z z z d For an initial solution we use the metho d describ ed in In step we compute using the metho d of We consider the current solution feasible if kb Axk kxk and T kc A y w z k ky k kw k kz k We terminate the primaldual algorithm and declare the current solution opti mal when the current solution is primal and dual feasible 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 The most dicult part of the computation is calculating y in the primal dual step As long as the constraintmatrixA is sparse and has no dense columns T we can hop e that the matrix AD A will 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 YSMP or IBMs Extended Scientic Subroutine Library ESSL to solve the systems of equations Wehave found that the routines from YSMP are more eectiveonvery sparse problems while the routines from ESSL work b est on relatively dense problems If the linear programming problem is primal or dual infeasible then the algorithm will lo op without ever nding a feasible solution However in our branch and b ound algorithm it is reasonable to assume that the initial LP relaxation of the problem 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 T T current dual solution was dual feasible w z and b y u w However b ecause of numerical problems in the calculation of w and z this do es not work well in practice Wehavedevelop ed an alternative pro cedure for detecting infeasible subproblems After each primaldual iteration we compute directions w and z by w minw z if u i i i i w i otherwise and z minw z if u i i i i z i z otherwise i T T If the previous dual solution was feasible and if b y u w then y w and z give us a direction in which the dual solution is feasible and improving If w and z are nonnegative then we can moveasfaraswe wish in this improving direction and the dual problem is unb ounded Within the branch and b ound algorithm we will need to restart the primal dual metho d after xing a zeroone variable at zero or one We could simply use the last primal and dual solutions to the parent subproblem but very small values of x s w or z can lead to numerical problems Instead we use a warm i i i i start pro cedure similar to the one describ ed in If x or s islessthana i i tolerance then we set the variable to and adjust the slack as needed If w i or z is less than and x has an upp er b ound then we add to b oth w and i i i z This helps to retain dual feasibilityIfx has no upp er b ound and z is less i i i than then weadd to z Our co de uses i The Branch and Bound Algorithm Aowchart of our branch and b ound algorithm app ears in gure The algo rithm maintains one large data structure This is the tree of subproblems Each leaf no de in the tree is a record containing a description of whichvariables have b een xed and the b est known primal and dual solutions for that subproblem b ers while the primal solution consists The dual solution consists of m n num of n numbers We store only x y and w Thevalues of s and z can b e calcu lated when they are needed In contrast a simplex based branch and b ound co de would normally save only a list of the variables that had b een xed at zero or one and a listing of the variables in the current basis Thus our algorithm uses somewhat more storage than a simplex based co de In addition to the problem data and the branch and b ound tree the algo rithm maintains twovariables The upp er b ound ub

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us