
An Efficient Simplex-based Method for Solving Large Linear Programs Shireen S. Dadmehr May 1995 TR95-15 RICE UNIVERSITY An Efficient Simplex-Based Method for Solving Large Linear Programs by Shireen Sara Dadmehr A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE Doctor of Philosophy APPROVED, THESIS COMMITTEE: Professor of Computational and Applied Mathematics John E. Dennis, Jr. Noah Harding Professor of Computational and Applied Mathematics WillyZaenepoel Professor of Computer Science e~~ Research Scientist in Computational and Applied Mathematics Houston, Texas March, 1995 Contents Abstract 11 Acknowledgments Ill List of Figures Vll List of Tables Vlll 1 Introduction 1 2 Constructing a Crash Basis 3 2.1 The Simplex Method ...... 3 2.2 Two Classes of Structured LP Problems 5 2.3 General Method . 6 2.4 Motivation . 7 2.5 Related Work . 10 2.5.1 Staircase Problems 10 2.5.2 Block-angular Problems 11 3 Matrix Decomposition 12 3.1 Decomposition Complexity . 12 3.2 Matroid-Based Decomposition 17 3.2.1 Matroid Theory .... 17 3.2.2 Our Decomposition Technique for Staircase LPs 23 3.3 Triangle Decomposition . 24 3.3.1 Block-Angular Decomposition Heuristic ..... 24 3.3.2 Our Decomposition Method for Non-staircase Structured LPs 26 3.4 Column Sorting Decomposition Method . 27 4 Algorithmt Details 30 4.1 Preprocessing .......... 30 4.2 Constraint Matrix Decomposition 31 V 4.2.1 Matroid-Ba.sed Decomposition . 31 4.2.2 Triangle Decomposition . 35 4.2.3 Column Sorting Decomposition 38 4.3 Creating Advanced Ba.sis . 39 4.4 Solving Original Problem . 42 4.5 Justification of Techniques and Parameter Defaults 42 4.5.1 Choosing the Number of Subproblems ... 42 4.5.2 Parameters Related to Form of Subproblems 44 4.5.3 Solving the Subproblems 45 4.5.4 Supplementing the Ba.sis 48 4.6 A Theoretical Aside . 48 4. 7 Decomposition Complexity . 51 5 Computational Results 54 5.1 Test Problems ....... 54 5.2 Choosing a Decomposition Method 54 5.3 Naive Decomposition Fails 55 5.4 Exact Decomposition ..... 56 5.5 DECMP vs. CPLEX . 57 5.5.1 Performance Discussion 57 5.5.2 Observed Trends for Three LP Models 58 5.6 DECMP vs. OSL 59 5.7 Summary .............. 64 6 Conclusions and Future Work 74 6.1 Conclusions . 74 6.2 Future Work .. 74 A Test Problems 76 B Parameter Summary of Best Results 83 C Constraint Matrix Pictures 88 C.l Nonpivoted Constraint Matrices ....... 88 C.2 Column-Sorting Pivoted Constraint Matrices . 88 Vl Bibliography 90 Abstract An Efficient Simplex-Based Method for Solving Large Linear Programs by Shireen Sara Dadmehr A simplex-based method of solving specific classes of large-scale linear programs is presented. The structure of both staircase and block-angular linear programs is exploited to construct an advanced or "crash" basis to be used with a simplex-based linear program solver. First, the constraint matrix is decomposed into blocks. In contrast to many other systems that require additional information about the form of the linear program, the method described here determines this decomposition without prior knowledge of the matrix structure. As the problem of automatically finding such a decomposition is NP-complete, a heuristic is used to discover blocks within the constraint matrix. After a decomposition of the constraint matrix is determined, smaller linear pro­ grams called subproblems are formed. These subproblems are solved using a simplex­ based solver, and the solution information is used to construct an advanced or "crash" basis for the original linear program. In contrast to decomposition methods that iter­ atively solve subproblems to obtain a solution to the original problem, this approach requires solving each subproblem at most twice. Finally, the original linear program is solved by providing the advanced basis to a simplex-based solver. Results indicate that this method solves some large linear programs much faster than state-of-the-art simplex-based solvers do. For example, for a set of linear pro­ grams that range in size from 5, 000 x 9,000 to 30, 000 x 50, 000 constraints and variables, the presented method solves each linear program in about a tenth the num­ ber of simplex iterations. This reduces the total time required to solve each linear program by a factor of from two to five. Acknowledgments I want to thank everyone on my committee for the time and effort expended on my behalf. I especially want to thank Dr. Bixby for all his valuable comments along the way. Thanks Linda Neyra, Fran Mailian, Monica Martinez, and Martha Carey for doing more than your share of chores to make my being a long-distance student less stressful. Thanks Natalia Alexandrov for your friendship, support, and uncountably many insightful comments and things you've done for me throughout the years I've known you. Thanks Andee Reiff for being such a fun friend and always being able to make me laugh. Thanks Andrew Wright for everything from reading and rereading and re-rereading my thesis, to giving me great comments on presentation, to putting up with the dreaded "thesis wife". I promise that now we'll have some free time. No, really. A big thanks to all the CAAM/MASC graduate students I've met at Rice that have made school quite a fun and interesting experience, including but certainly not limited to Lawrence Cowsar, Rudy Elizondo, Ronni Indovina, Tony Kearsley, Anne Kilgore, Sue Minkoff, Aurelio Oliveira, Zeferino Parada, and Wei Zuo. And finally, thanks to my family for their support and for always giving me something to talk about. Figures 2.1 A staircase matrix structure . 5 2.2 A block-angular matrix structure 6 3.1 Matrix B for matroid M with base X . 18 3.2 Partitioned version of B . 19 3.3 Transpose of B above . 19 3.4 Matrix B for matroid M with base X . 20 3.5 Partitioned version of B . 28 3.6 Partitioned version of BN . 28 3. 7 Matrix B for M displaying partitioned BN 28 3.8 Partition of B induced by that of BN . 28 3.9 Matrix B for M with partitioned BN,row x E X 3 , and column y E ½ 29 4.1 Constraint Matrix During Matroid-Based Decomposition . 32 5.1 pencil LPs, top: Number of Matrix Rows vs. Solution Time for the six models using the solution methods: CPLEX primal('-'), DECMP primal('-.'), and CPLEX barrier ('-'). bottom: Rows vs. Total Iterations for CPLEX primal('-'), DECMP primal('-.') . 60 5.2 r* LPs, top: Rows vs. Solution Time for the methods CPLEX primal ('-'), DECMP primal('-.'), and CPLEX barrier('-'). bottom: Rows vs. Iterations for CPLEX primal('-'), DECMP primal('-.'). 61 5.3 storm LPs, top: Rows vs. Solution Time for the methods CPLEX primal('-'), DECMP primal('-.'), and CPLEX barrier('-'). bottom: Rows vs. Iterations for CPLEX primal('-'), DECMP primal('-.') 62 C.l top: grow7, bottom: pencil050 . 89 Tables 2.1 Primal Simplex vs. Barrier on Two Staircase Models . 9 4.1 Comparing Effect of Varying the Number of Subproblems for pencil050 43 4.2 Comparing Effect of Varying the Number of Subproblems for perl 44 4.3 Comparing Effect of Varying the Number of Subproblems for r30 . 45 4.4 Comparison of Subproblem Solving Sequence. Tested on: pl5, RR20050_2, kenll, pencill00 . 46 4.5 Comparison of 2 Info. Sharing Techniques Between Subproblems. Tested on: perl, pds2 . 46 4.6 Comparison of Altering and Not Altering the RHS While Solving Subproblems. Tested on: ken 7, r05 . 47 4. 7 Resolving Infeasible Subproblems. Tested on: per 1, pds2 ... 48 4.8 Five Basis Supplementation Ideas. Tested on: perl, pds2, ken7 49 5.1 Decomposition Comparisons for Nine LPs . 55 5.2 NAIVE vs. DECMP on Two LPs . 65 5.3 EXACT vs. DECMP on Block-Angular LPs (iterations) 66 5.4 EXACT vs. DECMP on Staircase LPs (iterations) . 66 5.5 Iteration Count for EXACT (primal simplex) 66 5.6 CPLEX vs. DECMP on Block-Angular LPs 67 5.7 CPLEX vs. DECMP on Staircase LPs . 68 5.8 CPLEX vs. DECMP on Other LPs . 69 5.9 CPLEX vs. DECMP on bonus and efgh with full objective functions 70 5.10 Primal OSL vs. DECMP on the pencil* class of staircase LPs . 70 5.11 Dual OSL vs. DECMP on the pencil* class of staircase LPs .. 71 5.12 Primal OSL vs. DECMP on the p* class of block-angular LPs 72 5.13 Dual OSL vs. DECMP on the p* block-angular class of LPs . 73 IX A.l Block-Angular LPs: original{preprocessed/nonaggregrated) values 76 A.2 Staircase LPs: original(preprocessed/nonaggregated) values . 77 A.3 Other LPs: original{preprocessed/nonaggregated) values 77 A.4 Block-Angular LPs: Problem Statistics 78 A.5 Staircase LPs: Problem Statistics . 79 A.6 Other LPs: Problem Statistics . 80 A.7 Block-Angular LPs: columns with "i-j" nonzeros original {pre. / nonagg.) . 81 A.8 Staircase LPs: columns with "i-j" nonzeros original {pre. / nonagg.) 81 A.9 Other LPs: columns with "i-j" nonzeros original (pre. / nonagg.) 82 B.1 Block-Angular LPs: Parameter Information For The Best Results 84 B.2 Staircase LPs: Parameter Information For The Best Results 85 B.3 Other LPs: Parameter Information For The Best Results 86 B.4 All LPs: Optimal Solution Value . 87 1 Chapter 1 Introduction Staircase and block-angular problems are important classes of linear programming problems (LPs). Staircase linear programs arise in all time-phased or dynamic linear programming models in system control and optimization. Real-world problems may be found in a wide range of disciplines, including economic development, agricul­ tural planning, production scheduling, and dynamic traffic assignment, [12].
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages122 Page
-
File Size-