Integer programming

書誌事項

Integer programming

Laurence A. Wolsey

Wiley, 2021

2nd ed

電子リソースにアクセスする 全1

大学図書館所蔵 件 / 7

この図書・雑誌をさがす

注記

Previous ed.: 1998

Includes bibliographical references (p. 291-309) and index

内容説明・目次

内容説明

A PRACTICAL GUIDE TO OPTIMIZATION PROBLEMS WITH DISCRETE OR INTEGER VARIABLES, REVISED AND UPDATED The revised second edition of Integer Programming explains in clear and simple terms how to construct custom-made algorithms or use existing commercial software to obtain optimal or near-optimal solutions for a variety of real-world problems. The second edition also includes information on the remarkable progress in the development of mixed integer programming solvers in the 22 years since the first edition of the book appeared. The updated text includes information on the most recent developments in the field such as the much improved preprocessing/presolving and the many new ideas for primal heuristics included in the solvers. The result has been a speed-up of several orders of magnitude. The other major change reflected in the text is the widespread use of decomposition algorithms, in particular column generation (branch-(cut)-and-price) and Benders' decomposition. The revised second edition: Contains new developments on column generation Offers a new chapter on Benders' algorithm Includes expanded information on preprocessing, heuristics, and branch-and-cut Presents several basic and extended formulations, for example for fixed cost network flows Also touches on and briefly introduces topics such as non-bipartite matching, the complexity of extended formulations or a good linear program for the implementation of lift-and-project Written for students of integer/mathematical programming in operations research, mathematics, engineering, or computer science, Integer Programming offers an updated edition of the basic text that reflects the most recent developments in the field.

目次

Preface to the Second Edition xii Preface to the First Edition xiii Abbreviations and Notation xvii About the Companion Website xix 1 Formulations 1 1.1 Introduction 1 1.2 What Is an Integer Program? 3 1.3 Formulating IPs and BIPs 5 1.4 The Combinatorial Explosion 8 1.5 Mixed Integer Formulations 9 1.6 Alternative Formulations 12 1.7 Good and Ideal Formulations 15 1.8 Notes 18 1.9 Exercises 19 2 Optimality, Relaxation, and Bounds 25 2.1 Optimality and Relaxation 25 2.2 Linear Programming Relaxations 27 2.3 Combinatorial Relaxations 28 2.4 Lagrangian Relaxation 29 2.5 Duality 30 2.6 Linear Programming and Polyhedra 32 2.7 Primal Bounds: Greedy and Local Search 34 2.8 Notes 38 2.9 Exercises 38 3 Well-Solved Problems 43 3.1 Properties of Easy Problems 43 3.2 IPs with Totally Unimodular Matrices 44 3.3 Minimum Cost Network Flows 46 3.4 Special Minimum Cost Flows 48 3.4.1 Shortest Path 48 3.4.2 Maximum s t Flow 49 3.5 Optimal Trees 50 3.6 Submodularity and Matroids 54 3.7 Two Harder Network Flow Problems 57 3.8 Notes 59 3.9 Exercises 60 4 Matchings and Assignments 63 4.1 Augmenting Paths and Optimality 63 4.2 Bipartite Maximum Cardinality Matching 65 4.3 The Assignment Problem 67 4.4 Matchings in Nonbipartite Graphs 73 4.5 Notes 74 4.6 Exercises 75 5 Dynamic Programming 79 5.1 Some Motivation: Shortest Paths 79 5.2 Uncapacitated Lot-Sizing 80 5.3 An Optimal Subtree of a Tree 83 5.4 Knapsack Problems 84 5.4.1 0-1 Knapsack Problems 85 5.4.2 Integer Knapsack Problems 86 5.5 The Cutting Stock Problem 89 5.6 Notes 91 5.7 Exercises 92 6 Complexity and Problem Reductions 95 6.1 Complexity 95 6.2 Decision Problems, and Classes NP and P 96 6.3 Polynomial Reduction and the Class NPC 98 6.4 Consequences of P =NP orP NP 103 6.5 Optimization and Separation 104 6.6 The Complexity of Extended Formulations 105 6.7 Worst-Case Analysis of Heuristics 106 6.8 Notes 109 6.9 Exercises 110 7 Branch and Bound 113 7.1 Divide and Conquer 113 7.2 Implicit Enumeration 114 7.3 Branch and Bound: an Example 116 7.4 LP-Based Branch and Bound 120 7.5 Using a Branch-and-Bound/Cut System 123 7.6 Preprocessing or Presolve 129 7.7 Notes 134 7.8 Exercises 135 8 Cutting Plane Algorithms 139 8.1 Introduction 139 8.2 Some Simple Valid Inequalities 140 8.3 Valid Inequalities 143 8.4 A Priori Addition of Constraints 147 8.5 Automatic Reformulation or Cutting Plane Algorithms 149 8.6 Gomory's Fractional Cutting Plane Algorithm 150 8.7 Mixed Integer Cuts 153 8.7.1 The Basic Mixed Integer Inequality 153 8.7.2 The Mixed Integer Rounding (MIR) Inequality 155 8.7.3 The Gomory Mixed Integer Cut 155 8.7.4 Split Cuts 156 8.8 Disjunctive Inequalities and Lift-and-Project 158 8.9 Notes 161 8.10 Exercises 162 9 Strong Valid Inequalities 167 9.1 Introduction 167 9.2 Strong Inequalities 168 9.3 0-1 Knapsack Inequalities 175 9.3.1 Cover Inequalities 175 9.3.2 Strengthening Cover Inequalities 176 9.3.3 Separation for Cover Inequalities 178 9.4 Mixed 0-1 Inequalities 179 9.4.1 Flow Cover Inequalities 179 9.4.2 Separation for Flow Cover Inequalities 181 9.5 The Optimal Subtour Problem 183 9.5.1 Separation for Generalized Subtour Constraints 183 9.6 Branch-and-Cut 186 9.7 Notes 189 9.8 Exercises 190 10 Lagrangian Duality 195 10.1 Lagrangian Relaxation 195 10.2 The Strength of the Lagrangian Dual 200 10.3 Solving the Lagrangian Dual 202 10.4 Lagrangian Heuristics 205 10.5 Choosing a Lagrangian Dual 207 10.6 Notes 209 10.7 Exercises 210 11 Column (and Row) Generation Algorithms 213 11.1 Introduction 213 11.2 The Dantzig-Wolfe Reformulation of an IP 215 11.3 Solving the LP Master Problem: Column Generation 216 11.4 Solving the Master Problem: Branch-and-Price 219 11.5 Problem Variants 222 11.5.1 Handling Multiple Subproblems 222 11.5.2 Partitioning/Packing Problems with Additional Variables 223 11.5.3 Partitioning/Packing Problems with Identical Subsets 224 11.6 Computational Issues 225 11.7 Branch-Cut-and-Price: An Example 226 11.7.1 A Capacitated Vehicle Routing Problem 226 11.7.2 Solving the Subproblems 229 11.7.3 The Load Formulation 230 11.8 Notes 231 11.9 Exercises 232 12 Benders' Algorithm 235 12.1 Introduction 235 12.2 Benders' Reformulation 236 12.3 Benders' with Multiple Subproblems 240 12.4 Solving the Linear Programming Subproblems 242 12.5 Integer Subproblems: Basic Algorithms 244 12.5.1 Branching in the (x, 𝜂, y)-Space 244 12.5.2 Branching in (x, 𝜂)-Space and "No-Good" Cuts 246 12.6 Notes 247 12.7 Exercises 248 13 Primal Heuristics 251 13.1 Introduction 251 13.2 Greedy and Local Search Revisited 252 13.3 Improved Local Search Heuristics 255 13.3.1 Tabu Search 255 13.3.2 Simulated Annealing 256 13.3.3 Genetic Algorithms 257 13.4 Heuristics Inside MIP Solvers 259 13.4.1 Construction Heuristics 259 13.4.2 Improvement Heuristics 261 13.5 User-Defined MIP heuristics 262 13.6 Notes 265 13.7 Exercises 266 14 From Theory to Solutions 269 14.1 Introduction 269 14.2 Software for Solving Integer Programs 269 14.3 How Do We Find an Improved Formulation? 272 14.4 Multi-item Single Machine Lot-Sizing 277 14.5 A Multiplexer Assignment Problem 282 14.6 Integer Programming and Machine Learning 285 14.7 Notes 287 14.8 Exercises 287 References 291 Index 311

「Nielsen BookData」 より

詳細情報

  • NII書誌ID(NCID)
    BC00640077
  • ISBN
    • 9781119606536
  • 出版国コード
    us
  • タイトル言語コード
    eng
  • 本文言語コード
    eng
  • 出版地
    Hoboken, N.J.
  • ページ数/冊数
    xix, 316 p.
  • 大きさ
    24 cm
  • 分類
  • 件名
ページトップへ