Topics in Branch and Bound on Computational Grids
Total Page:16
File Type:pdf, Size:1020Kb
TOPICS IN BRANCH AND BOUND ON COMPUTATIONAL GRIDS by Wasu Glankwamdee Presented to the Graduate and Research Committee of Lehigh University in Candidacy for the Degree of Doctor of Philosophy in Industrial and Systems Engineering Lehigh University July 2008 Approved and recommended for acceptance as a dissertation in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Date Jeff T. Linderoth Dissertation Advisor Accepted Date Committee Members: Ted K. Ralphs, Committee Chair Jeff T. Linderoth Robert H. Storer Garth T. Isaak ii Acknowledgements I wish to express my sincere appreciation and acknowledge my inestimable debt to my advisor, Prof. Jeff Linderoth, who has provided me with immeasurable advice, encouragement, and help. His guidance, support, and enthusiasm have been the main source of inspiration for me. I am grateful to my thesis committee, Prof. Ted Ralphs, Prof. Robert Storer, and Prof. Garth Isaak for their valuable comments and time. Their advice, support, and kindness can never be repaid fully. I thank all my friends at COR@L Lab and all the Thais at Lehigh. I really appreciate your friendship and encouragement. I would like to especially thank my super system administrator, Ashutosh Mahajan, who has always been a great helper, and Mustafa Kilinc for his work on improving MINTO. My deepest gratitude goes to my wonderful family. I would like to thank and express my love to my parents (Suvalai and Atthakorn), my sister (Alisa), my uncle (Sutham), and my girlfriend (Panida). Their love, support, encouragement, and understanding have kept me strong and happy throughout my graduate study. iii Contents Acknowledgements iii Contents iv List of Tables viii List of Figures ix Abstract 1 1 Introduction 4 1.1 Mixed Integer Programming Preliminaries . ... 6 1.2 Branching Variable Selection . 9 1.3 NodeSelection .............................. 12 1.4 ComputationalGrids ........................... 14 1.5 LiteratureSurvey ............................. 16 1.5.1 FaultTolerance .......................... 16 1.5.2 Contention ............................ 17 1.5.3 Search and Branching Strategy . 19 1.5.4 WorkEstimation ......................... 20 1.5.5 SoftwareforMIP ......................... 23 1.6 ComputationalTools ........................... 24 iv 1.6.1 MW ................................ 24 1.6.2 AdditionalMWFeatures. 26 1.6.3 Condor............................... 30 1.6.4 MINTO .............................. 31 1.7 PerformanceProfile............................ 32 1.8 ThesisOutline............................... 33 2 Branch and Bound on Computational Grids 36 2.1 Issues of Branch and Bound on Computational Grids . 37 2.1.1 Contention ............................ 37 2.1.2 Ramp-upandRamp-down . 38 2.1.3 Clean-up.............................. 39 2.1.4 High-water/Low-water . 40 2.2 CaseStudy:TheKnapsackProblem . 40 2.2.1 Background ............................ 40 2.2.2 MWImplementation . 43 2.2.3 Preliminary Computational Experience . 47 2.2.4 Branch-and-Bound Parameters . 53 2.2.5 Large-Scale Computation . 53 2.3 Conclusions ................................ 57 3 Branch-and-Bound Tree Size Estimation 58 3.1 ReviewofNotableEstimationMethods . 59 3.1.1 Knuth’sMethod ......................... 59 3.1.2 Cornuejols’Method. 61 3.2 OnlineKnuth’sMethod ......................... 62 3.2.1 Algorithm ............................. 63 3.2.2 Computational Experiments . 65 v 3.3 PseudocostEstimationMethod . 69 3.3.1 Algorithm ............................. 70 3.3.2 Computational Experiments . 73 3.4 Bias Reduction for Pseudocost Estimation Method . 80 3.4.1 Algorithm ............................. 81 3.4.2 Computational Experiments . 87 3.5 PracticalPseudocostEstimationMethod . 93 3.5.1 Algorithm ............................. 94 3.5.2 Computational Experiments . 94 3.6 CaseStudy ................................ 100 3.6.1 SolvedInstances ......................... 101 3.6.2 UnsolvedInstances . 106 3.7 Conclusions ................................ 110 4 A Grid-Enabled MIP Solver 112 4.1 Computationally Intensive Branching . 113 4.1.1 Algorithm ............................. 115 4.1.2 Bound Fixing and Implications . 116 4.1.3 Strong Branching Implementation . 118 4.1.4 Lookahead Branching Implementation . 119 4.1.5 Computational Experiments . 120 4.2 MWBlackbox Preliminaries . 128 4.2.1 MWDriver blackbox ....................... 129 4.2.2 MWTask blackbox ........................ 129 4.2.3 MWWorker blackbox....................... 131 4.3 Grid-EnabledMINTO(MW-MINTO). 131 4.3.1 MW-MINTO Implementation . 132 4.3.2 Implementing the Master for Effective Branch and Bound . 135 vi 4.4 StartingBranchingStrategy . 136 4.5 RestartStrategy ............................. 140 4.6 CaseStudy ................................ 149 4.7 Conclusions ................................ 150 5 Conclusions 151 5.1 Contributions ............................... 151 5.2 FutureResearchDirections. 153 A List of Test Instances 155 A.1 Test Instances for Section 4.1.5 . 155 A.2 Test Instances for Section 3.2.2, 3.3.2, 3.4.2, 3.5.2 . 155 A.3 Test Instances for Section 3.6.1 . 156 B Computational Results 158 B.1 Computational Results for Section 3.2.2 . 158 B.2 Computational Results for Section 3.3.2 . 168 B.3 Computational Results for Section 3.4.2 . 178 B.4 Computational Results for Section 3.5.2 . 188 B.5 Computational Results for Section 3.6.1 . 198 Vita 236 vii List of Tables 2.1 Performance of MWKnap with Best-First Master Task Pool on cir200 . 49 2.2 Performance of MWKnap with Depth-First Master Task Pool on cir200 49 2.3 Branch-and-Bound Algorithmic Parameters . 54 2.4 Available Processors for Solution of cir300 Instance ......... 55 3.1 BranchingInformation . 72 3.2 Mean Square Error of Nˆ ......................... 87 3.3 Geometric Mean of |E| as branch pseudo numtrust Varies . 99 3.4 Geometric Mean of |E| as branch pseudoinit iter Varies . 100 3.5 Estimated Tree Size of Difficult Instances (1) . 107 3.6 Estimated Tree Size of Difficult Instances (2) . 108 3.7 Estimated Tree Size of Difficult Instances (3) . 109 4.1 Bound Fixing of Lookahead Branching . 117 4.2 Implications for Lookahead Branching . 117 4.3 Performance of MW-MINTO with Lookahead Branching . 139 4.4 Performance of MW-MINTO withRestart ................. 145 4.5 Performance of MW-MINTO withRestart ................. 146 4.6 Performance of MW-MINTO withRestart ................. 147 viii List of Figures 2.1 The work and result portions of KnapTask ............... 44 2.2 Algorithm 2 in MWWorker ......................... 45 2.3 The portions of act on completed task(MWTask *t) in KnapMaster 47 2.4 Memory Usage of Different Worker Node Orders on cir250 ...... 50 2.5 Distribution of Task Time on cir250 Before Optimal Solution is Found 52 2.6 Distribution of Task Time on cir250 After Optimal Solution is Found 53 2.7 Workers Used During Solution of cir300 Instance........... 56 2.8 Number of Tasks in Master List During Solution of cir300 Instance . 57 3.1 Performance Profile of |E| at 10% of OK-LU, OK-E, K, P ...... 67 3.2 Performance Profile of |E| at 20% of OK-LU, OK-E, K, P ...... 67 3.3 Performance Profile of |E| at 30% of OK-LU, OK-E, K, P ...... 68 3.4 Performance Profile of |E| at 40% of OK-LU, OK-E, K, P ...... 68 3.5 Performance Profile of |E| at 50% of OK-LU, OK-E, K, P ...... 69 3.6 ExampleofPseudocostEstimationMethod. 72 3.7 Performance Profile of |E| at 10% of Pseudocost Estimation Methods 75 3.8 Performance Profile of |E| at 20% of Pseudocost Estimation Methods 76 3.9 Performance Profile of |E| at 30% of Pseudocost Estimation Methods 76 3.10 Performance Profile of |E| at 40% of Pseudocost Estimation Methods 77 3.11 Performance Profile of |E| at 50% of Pseudocost Estimation Methods 77 3.12 Error Distribution of P-LU-Global at10% ............... 78 ix 3.13 Error Distribution of P-LU-Global at20% ............... 78 3.14 Error Distribution of P-LU-Global at30% ............... 79 3.15 Error Distribution of P-LU-Global at40% ............... 79 3.16 Error Distribution of P-LU-Global at50% ............... 80 3.17 Global Pseudocost (P-LU-Global).................... 82 3.18 Local Pseudocost (P-LU-Local) ..................... 83 3.19 NotationsforaSearchTree . 84 3.20 Average Estimate Error (∆)....................... 85 3.21 BiasReductionat10% . 88 3.22 BiasReductionat20% . 89 3.23 BiasReductionat30% . 89 3.24 BiasReductionat40% . 90 3.25 BiasReductionat50% . 90 3.26 Comparison of E at10% ......................... 91 3.27 Comparison of E at20% ......................... 91 3.28 Comparison of E at30% ......................... 92 3.29 Comparison of E at40% ......................... 92 3.30 Comparison of E at50% ......................... 93 3.31 Quality of zs ................................ 96 3.32 Pseudocost Estimation Method with zopt and zs at 10% . 97 3.33 Pseudocost Estimation Method with zopt and zs at 20% . 97 3.34 Pseudocost Estimation Method with zopt and zs at 30% . 98 3.35 Pseudocost Estimation Method with zopt and zs at 40% . 98 3.36 Pseudocost Estimation Method with zopt and zs at 50% . 99 3.37 Performance Profile of |E| at 10% of P-LU, OK-LU, P ........ 102 3.38 Performance Profile of |E| at 20% of P-LU, OK-LU, P ........ 103 3.39 Performance Profile of |E| at 30% of P-LU, OK-LU, P ........ 103 x 3.40 Performance Profile of |E| at 40% of P-LU, OK-LU, P ........ 104 3.41 Performance Profile of |E| at 50% of P-LU, OK-LU, P ........ 104 3.42 EstimatedTreeSizeOverTime . 105 4.1 LookaheadSearchTree . 115 4.2 Notations for Abbreviated Lookahead Search Tree . 116 4.3 Performance Profile of Running Time as α Varies . 122 4.4 Performance Profile of Running Time as β Varies . 122 4.5 Performance Profile of Running Time as γ Varies . 123 4.6 Performance Profile of Running Time as δ Varies . 124 4.7 Performance Profile of Number of Nodes Evaluated . 125 4.8 PerformanceProfileofRunningTime . 126 4.9 Performance Profile of Number of Nodes Evaluated . 127 4.10 PerformanceProfileofRunningTime . 128 4.11 MintoBlackbox::get userinfo() .................... 133 4.12 MintoBlackBox::setup initial tasks() ............... 134 4.13 MintoBlackbox::act on completed task() .............. 135 4.14 Performance Profile of Number of Nodes Evaluated with MW-MINTO . 148 4.15 Performance Profile of Equivalent Runtime with MW-MINTO .