Separation Algorithms for Cutting Planes Based on Mixed Integer
Total Page:16
File Type:pdf, Size:1020Kb
Dissertation Separation Algorithms for Cutting Planes Based on Mixed Integer Row Relaxations Implementation and Evaluation in the Context of Mixed Integer Programming Solver Software von Dipl.-Wirt.-Inf. Philipp M. Christophel Schriftliche Arbeit zur Erlangung des akademischen Grades doctor rerum politicarum (dr. rer. pol.) im Fach Wirtschaftsinformatik eingereicht an der Fakult¨at f¨ur Wirtschaftswissenschaften der Universit¨at Paderborn Promotionskommission: Prof. Dr. Leena Suhl (1. Gutachter) Prof. Dr. Laurence A. Wolsey (2. Gutachter) Prof. Dr.-Ing. habil. Wilhelm Dangelmaier (3. Gutachter) Prof. Dr. Uwe H. Suhl Prof. Dr. Joachim Fischer Paderborn, Juli 2009 F¨ur Julia Bibiana Danksagung An dieser Stelle w¨urde ich gerne die Gelegenheit nutzen, mich bei den vielen Menschen, die mich auf dem Weg zu dieser Dissertation begleitet und unterst¨utzt haben, zu be- danken. Als erstes w¨are da meine Betreuerin, Prof. Leena Suhl, die mir diesen Weg durch Verst¨andnis, Vertrauen und Flexibilit¨at enorm erleichtert hat. Prof. Uwe Suhl m¨ochte ich daf¨ur danken, dass er mich mit seiner Begeisterung f¨ur MIP Solver zu meinem Thema inspiriert und meine Arbeit in vielerlei Hinsicht unterst¨utzt hat. Prof. Laurence Wolsey gilt mein Dank f¨ur einen sehr wertvollen Forschungsaufenthalt in Belgien und zahllose Anregungen, die meine Arbeit sehr bereichert haben. Außerdem auf meinem Weg begleitet haben mich viele hilfsbereite Kollegen, sowohl am DS&OR Lab, als auch am CORE in Belgien. Ihnen danke ich vor allem f¨ur interessante Gespr¨ache und aufmunternde Mittagspausen. Franz Wesselmann und allen an MOPS Beteiligten gilt mein Dank f¨ur ihre freundschaftliche und fachliche Unterst¨utzung. Bereits vor diesem nun abgeschlossenen Projekt haben meine Familie und besonders meine Eltern mich auf allen meinen Wegen begleitet. Auch dieses Mal waren sie an meiner Seite und haben mir mit Regenschirm und guten Ratschl¨agen beigestanden. Daf¨ur danke ich ihnen aus der Tiefe meines Herzens. Diese Arbeit widme ich meiner Verlobten Julia. Sie hat alle H¨ohen und Tiefen dieses Pro- jekts mit mir durchlebt. Ohne ihre Aufmunterungen und ihre ausdauernde Unterst¨utzung h¨atte ich diese Arbeit nicht zu Ende bringen k¨onnen. Danke! i ii Contents 1. Introduction 1 2. MIP Theory 5 2.1. MixedIntegerProgrammingProblems . .... 5 2.2. Formulations .................................. 8 2.3. RelaxationsandBounds . 10 2.4. ValidInequalitiesandSeparation . ...... 11 2.5. MixedIntegerRoundingInequalities . ...... 13 2.6. MixingInequalities . 15 2.7. LiftingValidInequalities. ..... 16 2.8. The Branch-and-cut Algorithm . 17 3. MIP Solver Software 23 3.1. TheUseofMIPSolvers ............................ 23 3.2. MIPSolverComponents . 27 3.3. TheMOPSMIPSolver ............................ 30 4. Separation Algorithms 35 4.1. The Flow Cover Cut Separation Algorithm . 35 4.1.1. FlowCoverInequalities . 35 4.1.2. TheSeparationAlgorithm. 39 4.2. The Aggregated cMIR Cut Separation Algorithm . ...... 42 4.2.1. Mixed Integer Rounding Inequalities . 42 4.2.2. TheSeparationAlgorithm. 47 4.3. The Flow Path Cut Separation Algorithm . 52 4.3.1. FlowPathInequalities . 52 4.3.2. TheSeparationAlgorithm. 54 5. Implementations, Algorithmic Improvements, and New Algorithms 57 5.1. Objectives.................................... 57 5.1.1. Objectives of the Implementation . 57 5.1.2. Characteristics of Good Cut Generators . 58 5.2. Framework ................................... 61 5.2.1. Overview ................................ 61 5.2.2. DataStructures............................. 63 5.2.3. Accuracy ................................ 65 5.2.4. VariableBoundsandRowTypes . 66 5.2.5. Aggregation and Path-finding . 67 iii Contents 5.2.6. BoundSubstitution . 71 5.3. TheFlowCoverCutGenerator . 75 5.4. ThecMIRCutGenerator ........................... 80 5.5. TheFlowPathCutGenerator . 84 5.6. ThePathMixingCutGenerators . 86 5.6.1. PathMixingInequalities. 86 5.6.2. Two Separation Algorithms . 92 5.6.3. Implementation of the Path Mixing Cut Generators . ..... 95 6. Evaluation 99 6.1. EvaluationMethods .............................. 99 6.1.1. Empirical Analysis of Algorithms . 99 6.1.2. ProblemInstances . 100 6.1.3. Computational Experiments and Performance Measures ...... 104 6.1.4. Presentation .............................. 109 6.1.5. TheTestEnvironment. 113 6.2. AccuracyEvaluation . 113 6.3. Evaluation of the Flow Cover Cut Generator . 115 6.3.1. ImplementationDetails . 115 6.3.2. Comparison to the Previous Flow Cover Cut Generator . 122 6.3.3. Comparison to Published Results . 123 6.4. Evaluation of the cMIR Cut Generator . 124 6.4.1. Implementation Details and Algorithmic Improvements . 124 6.4.2. Comparison to the Previous cMIR Cut Generator . 129 6.4.3. Comparison to Published Results . 131 6.4.4. Comparison between the Flow Cover and the cMIR Cut Generator 131 6.5. Evaluation of the Path-based Cut Generators . 135 6.5.1. Implementation Details of the Flow Path Cut Generator...... 135 6.5.2. Comparison of Path-based Cut Generators . 137 6.5.3. Evaluation of the Need for a Path-based Cut Generator . 142 6.6. Comparison of Cut Configurations . 143 7. Conclusions and Outlook 147 7.1. Conclusions ................................... 147 7.2. Outlook ..................................... 149 A. Notation 153 B. Example Configuration Files 155 C. Test Sets 157 D. Test Results 163 iv 1. Introduction Mixed integer programming (MIP) is a method for modeling and solving optimization problems. These optimization problems can originate from many different fields as, for example, from transportation or production planning. This is also pointed out by Bixby and Rothberg in [25], “ . in the last few years MIP has become a vital capability that powers a wide range of applications in a variety of application domains”. Similarly, Ashford states in [10] that “MIP is now widespread in decision-oriented applications across the whole industrial spectrum.” These statements reflect the current situation which is that companies all over the world use modeling languages, like AMPL [7] and MPL [73], to model decision and planning problems using MIP. These models then are solved using MIP solver software packages to find (near) optimal solutions to their problems. MIP solvers are developed and distributed by a number of companies of which the most visible are ILOG, recently acquired by IBM, with its MIP solver CPLEX [54] and Dash Optimization, part of Fair Isaac, with its MIP solver Xpress-MP [39]. Besides these two well-known companies a number of other companies offer MIP solvers, among these the MOPS GmbH & Co. KG with its MIP solver MOPS [76], that is described in section 3.3 of this thesis. Besides these commercial MIP solvers a number of academic and open-source projects exist. MINTO [3] is an academic MIP solver used in many scientific publications. SCIP [4] is also an academic solver for MIP problems with the specific feature that it combines techniques from MIP and constraint programming. The computational infrastructure for operations research (COIN) project [1] hosts a number of open-source projects dealing with MIP including the MIP solvers CBC and SYMPHONY. Another notable open-source MIP solver is GLPK [2]. An important feature of modern MIP solvers are cutting planes (or cuts for short). MIP solvers typically generate a number of different types of cuts. This thesis deals with a group of cut generators used in all modern MIP solvers. This group of cut generators is identified by the fact that they generate cuts from the mixed integer rows, i.e. the constraint matrix, of the MIP problems. This is in contrast to those cut generators that use the linear programming (LP) simplex tableau. 1 1. Introduction The situation in the MIP literature is that many publications deal with theoretical results about cuts instead of the implementation aspects of cut generators. A famous example from the past are the Gomory mixed integer cuts that, although theoretically well known since the 1960s, only in the 1990s were used in a way that they dramatically improved the performance of MIP solvers (see [31]). Although the situation has changed a lot since then, there are still not many publications about the implementation of cut generators. One reason for this is that the drivers of MIP technology, the large MIP solver companies, obviously do not have an interest in publishing details about their implementations. A reason why researchers are not motivated to publish about implementation details might be that implementation-based publications are probably not valued as much as theoretical results. This might change in the future, as the Mathematical Programming Society started the new journal Mathematical Programming Computations1. One important goal of this thesis is to give a detailed description of the implementation for three widely used cut generators, namely those for flow cover, flow path and comple- mented mixed integer rounding (cMIR) cuts. A second, even more important goal, is to drive the development of these cut generators to improve upon the methods described in current publications. As we see in chapter 5, the flow path cut generator does not leave much room for improvement. Therefore we also introduce two new cut generators that can be seen as potential substitutes for the flow path cut generator. Finally, an important goal of this thesis is to computationally evaluate the mentioned cut generators to allow conclusions about which cut generators are really needed by an MIP solver. This includes finding a default configuration of cut generators