Integer programming
著者
書誌事項
Integer programming
Wiley, 2021
2nd ed
大学図書館所蔵 件 / 全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」 より