nemhauserllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. polyhedral ties between linear...

14
Integer and Combinatorial Optimization GEORGE NEMHAUSER School of Industrial and Systems Engineering Georgia Institute of Technology Atlanta, Georgia LAURENCE WBESEY Center for Operations Research and Econometrics Universitt Catholique de Louvain Louvain-la-Neuve, Belgium A Wiley-Interscience Publication JOHN WILEY & SONS, INC. NewYork a Chichester Weinheim Brisbane * Singapore a Toronto

Upload: others

Post on 29-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Integer and Combinatorial Optimization

GEORGE NEMHAUSER School of Industrial

and Systems Engineering Georgia Institute of Technology Atlanta, Georgia

LAURENCE WBESEY Center for Operations Research and Econometrics Universitt Catholique de Louvain Louvain-la-Neuve, Belgium

A Wiley-Interscience Publication JOHN WILEY & SONS, INC. NewYork a Chichester Weinheim Brisbane * Singapore a Toronto

Page 2: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Contents

PART I. FOUNDATIONS

1.1 The Scope of Integer and Combinatorial Optimization

1. Introduction 2. Modeling with Binary Variables I: Knapsack, Assignment and Matching,

Covering, Packing and Partitioning 3. Modeling with Binary Variables 11: Facility Location, Fixed-Charge

Network Flow, and Traveling Salesman 4. Modeling with Binary Variables 111: Nonlinear Functions and

Disjunctive Constraints 5. Choices in Model Formulation 6. Preprocessing 7. Notes 8. Exercises

1.2 Linear Programming

1. Introduction 2. Duality 3. The Primal and Dual Simplex Algorithms 4. Subgradient Optimization 5. Notes

1.3 Graphs and Networks

1. Introduction 2. The Minimum-Weight or Shortest-Path Problem 3. The Minimum-Weight Spanning Tree Problem 4. The Maximum-Flow and Minimum-Cut Problems 5. The Transportation Problem: A Primal-Dual Algorithm 6. A Primal Simplex Algorithm for Network Flow Problems 7. Notes

1.4 Polyhedral Theory

1. Introduction and Elementary Linear Algebra 2. Definitions of Polyhedra and Dimension 3. Describing Polyhedra by Facets 4. Describing Polyhedra by Extreme Points and Extreme Rays 5. Polarity

Page 3: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

xii

6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises

Contents

1.5 Computational Complexity 114 I

Introduction Measuring Algorithm Efficiency and Problem Complexity Some Problems Solvable in Polynomial Time Remarks on 0-1 and Pure-Integer Programming Nondeterministic Polynomial-Time Algorithms and N 9 Problems The Most Difficult NP Problems: The Class N9% Complexity and Polyhedra Notes Exercises

1.6 Polynomial-Time Algorithms for Linear Programming 146

1. Introduction 146 2. The Ellipsoid Algorithm 147 3. The Polynomial Equivalence of Separation and Optimization 16 1 4. A Projective Algorithm 164 5. A Strongly Polynomial Algorithm for Combinatorial Linear Programs 172 6. Notes 180

Integer Lattices

1. Introduction 2. The Euclidean Algorithm 3. Continued Fractions 4. Lattices and Hermite Normal Form 5. Reduced Bases 6. Notes 7. Exercises

PART 11. GENERAL INTEGER PROGRAMMING

11.1 The Theory of Valid Inequalities

1. Introduction 2. Generating All Valid Inequalities 3. Gomory's Fractional Cuts and Rounding 4. Superadditive Functions and Valid Inequalities 5. A Polyhedral Description of Superadditive Valid Inequalities for

Independence Systems 6. Valid Inequalities for Mixed-Integer Sets 7. Superadditivity for Mixed-Integer Sets 8. Notes 9. Exercises

Page 4: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Contents

11.2 Strong Valid Inequalities and Facets for Structured Integer Programs

1. Introduction 2. Valid Inequalities for the 0-1 Knapsack Polytope 3. Valid Inequalities for the Symmetric Traveling Salesman Polytope 4. Valid Inequalities for Variable Upper-Bound Flow Models 5. Notes 6. Exercises

11.3 Duality and Relaxation

1. Introduction 2. Duality and the Value Function 3. Superadditive Duality 4. The Maximum-Weight Path Formulation and Superadditive Duality 5. Modular Arithmetic and the Group Problem 6. Lagrangian Relaxation and Duality 7. Benders' Reformulation 8. Notes 9. Exercises

11.4 General Algorithms

1. Introduction 2. Branch-and-Bound Using Linear Programming Relaxations 3. General Cutting-Plane Algorithms 4. Notes 5: Exercises

11.5 Special-Purpose Algorithms

1. Introduction 2. A Cutting-Plane Algorithm Using Strong Valid Inequalities 3. Primal and Dual Heuristic Algorithms 4. Decomposition Algorithms 5. Dynamic Programming 6. Notes 7. Exercises

11.6 Applications of Special-Purpose Algorithms

1. Knapsack and Group Problems 2. 0-1 Integer Programming Problems 3. The Symmetric Traveling Salesman Problem 4. Fixed-Charge Network Flow Problems 5. Applications of Basis Reduction 6. Notes 7. Exercises

Page 5: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

xiv Contents

PART HII. COMBINATOUL OPTIMIZATION 533

111.1 Integral Polyhedra 535 '

Introduction Totally Unimodular Matrices Network Matrices Balanced and Totally Balanced Matrices Node Packing and Perfect Graphs Blocking and Integral Polyhedra Notes Exercises

m.2 Matching 608

1. Introduction 2. Maximum-Cardinality Matching 3. Maximum-Weight Matching 4. Additional Results on Matching and Related Problems 5. Notes 6. Exercises

DP.3 Mratroid and Submodular Function Optimization 659

1. Introduction 659 2. Elementary Properties 662 3. Maximum-Weight Independent Sets 666 4. . Matroid Intersection 67 1 5. Weighted Matroid Intersection 678 6. Polymatroids, Separation, and Submodular Function Minimization 688 7. Algorithms To Minimize a Submodular Function 694 8. Covering with Independent Sets and Matroid Partition 702 9. Submodular Function Maximization 708

10. Notes 712 11. Exercises 714

References 721

Author Index 749

Subject Index

Page 6: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

SUBJECT INDEX

Adjacency matrix, 52, 118 Affine:

function, 325 independence, 192 transformation, 150

Algorithm, see also specific entries balanced matrix, totally, recognition, 570 basis, reduced, 514

of lattice, 199 Bellman-Ford, 58 branch-and-bound, 355, 363, 482, 484, 497 constraint generation, 411, 413 cutting-plane, 498, 710

/branch-and-bound, 388, 459, 463, 485, 489, 502

fractional, 351, 367,373, 386 general, 367 Gomory, 368 mixed-integer, 374 primal, 374 strong, 386

decomposition, 409-417 for DFC and FC for row inclusion matrices, 566 for DFNP and FNP for chordal graphs, 577-585 dual descent, greedy, 397-388 dual simplex, 37

lexicographic, 371 efficiency, 117 ellipsoid, 124, 147-162, 698 euclidean, 184-187 feasibility, 179 fixed-charge, branch-and-bound, 497 greedy, 60, 666-667, 679, 689, 712 group, increasing, 448 Hermite normal form, 193 heuristic, 393-409

analysis, 399 probabilistic, 408 worst-case, 399

dual, 400 dual descent, 397 greedy, see Greedy, heuristic interchange, 394, 397, 406-407, 477-478 nearest insertion, 477-478 nearest neighbor, 475, 477,494 primal, 452

primal-dual, 395 randomized, 407-409 scalinglrounding, 442-443 simplex-based, for BIP, 457-459

knapsack problem, 0-1 separation, 462 linear programming, polynomial-time, 146-181

ellipsoid, 147-160 projective, 164-172 strongly polynomial for combinatorial

problems, 172-180 linear programming relaxation, 451-452 matching:

cardinality, 618, 625 bipartite, 612

weighted, 628 matrix, totally balanced, recognition, 570 matroid, greedy, for maximum-weight

independent sets, 666-671 intersection:

maximum cardinality, 677, 706 weighted, 684

mixed-integer, cutting-plane, 374 minimum-weight path, Dijkstra's, 56-58 network flow problem, primal simplex, 76-81 nondeterministic, 128, 131 objective rounding, 177 path:

augmenting, 65 minimum-cost , 75-76

minimum-weight, Dijkstra's, 56-58 polynomial-time, 119

strong, combinatorial for linear programs, 172-180

primal, simplex, 33, 76 primal-dual, 69-70 projective, 164-172 for recognizing an EPT matrix, 555-561 for recognizing TB matrices, 570-573 reduced basis of lattice, 199 relaxation, 349, 482

assignment problemibranch-and-bound, 482- 483

1-tree, subgradient optimization, branch-and- bound, 484-485

FCPlbranch-and-bound, 485 separation, 412, 462, 487

Page 7: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Subject Index

Algorithm (Continued) simplex:

dual, 37 primal, 33 simple upper bounds, 39

sliding objective function approximate ellipsoid, 155. See also Ellipsoid

spanning-tree, construction, 60-61 special purpose, 383,433 subgradient, 46, 410, 484 submodular, function maximization, greedy,

712 superadditive, dual, 435 transportation problem, primal-dual, 68-76

Alphabet, 118 Annealing, see Simulated annealing Antiblocker, 102 Antiblocking:

clutter, 594 matrix, 102

Antihole, 575 Approximation scheme:

fully polynomial, 401 polynomial, 402

Arc, 54 forward, 64 reverse, 64 saturated, 63 slack, 309 variable j , 309, 313

Artificial variable, 36 Ascent, steepest, 43 Assignment problem, 5, 68, 332, 482

generalized, 346 Augmenting path, see Path

Backtracking, 358 Balanced matrix, 563, 564, 573

totally, 563-565, 570-573, 576 recognition algorithm, 570

Basic solution, 30 feasible, 31

Basis, 30 adjacent, 31 degenerate, 32 dual feasible, 31, 37, 321 matroid, see Matroid nondegenerate, 34 orthogonal, 196 reduced, see Reduced basis of lattice

Bellman-Ford algorithm, 58 Benders' decomposition, 412,508 Benders' reformulation, 337-341, 710 Binary:

alphabet, 118 digits, 157 representation, 72 search, 128 string, 119 variable, 5-13

Bipartite, 50, 54, 544, 575, 593, 612, 651

Blocker, 101 Blocking, 586

clutter, 587, 650 matrix, 103 pair, 103, 590 polyhedron, 101, 586-598

Blossom, 616 base of, 616 shrinking, 616

Boolean: function, 695 implications, 215

Bounded, 107 Bounds, tightening, 18 Branch-and-bound, 354-367, 454

algorithm, 355,363,482, 484,497 node selection, 358

adaptive rules, 358 best estimate, 359 best upper bound, 359 quick improvement, 359

a priori rules, 358 variable selection, 359

degradation, 359 integer infeasibility, 360 penalties, 359

Branching, 55, 661 problem, 532, 680 scheme, 365

Breadth-first search. see Search

Capital budgeting, 3 Certificate of feasibility, 114, 128 Certificate of optimality, 114, 124 C-G:

function, 306 inequality, 210, 220-225, 228, 232

Characteristic vector, 118, 259 Checking stage, 129 Chord, 575 Chordal graph, 576-578

strong, 605 Chromatic:

index, 651 number, 582

Claw, 585 Claw-free, 585 Clique, 260, 573

cover, 298 matrix, 574, 576

perfect graph, 583 problem, maximum weight, 163

Closest vector problem, 182 Closure, 664

elementary, 225 Clutter, 562, 574, 576, 583, 587 Coloring, 582, 651 Column operation, elementary, 192 Comb, 277

inequality, 277-280 generalized, 280

Page 8: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

subject Index %.

combinatorid optimization problem, 4 complementarity condition, 330 complementary slackness, 29, 305 complexity, 114, 117, 139 Component, 53, 555 Concave function, 11;~42-43 Cone, 86, 156, 164

polyhedral, 99 connected, 53, 552

strongly, 55 CoNP, 130, 141 Constraint generation algorithm, 411, 413 Constraints:

adding, 39, 358 disjunctive, 12 complicating, 323, 329, 337, 512 generalized upper-bound, 365 nice, 323 redundant, 19

Continued fractions, 187-189 Convergence, finite, 370, 378 Convex, 150

combination, 83 function, 11, 329 hull, 83, 106, 125, 127, 206, 241 set, 86

Cost-splitting, 3341 Cover, 299

inequality, 459 extended, 461, 498

minimal, 463 Covering, 6

by edges, 538, 586, 588, 639 fractional, 103 by independent sets, 702, 707 problem, 6, 144,464,571, 589, 702, 709

fractional, 562,566 greedy heuristic, 466

Cramer's rule, 123 Cryptography, 513 Cut, 62

capacity, 63 clutter, 587 edge, 551

proper, 551 function, 660 Gomory fractional, 368 minimum weight, 62, 63, 586-587, 592 primal, 376 -set equality, 486 T-, see T-cut

Cutting-plane algorithm, 498, 710 ibranch-and-bound, 388, 459, 463, 485, 489, 502 fractional, 351, 367, 373, 386 general, 367 Gomory, 368 mixed-integer, 374

i primal, 374 strong, 386

Cycle, 52, 78

directed, 54 negative weight, 59 odd, 583

Cycling, 34

Data, 4, 115 Data structures, 82 Davis-Putnam procedure, 256 Decision problem, 127 Decomposition, 556

algorithms, 409-417 integral, 595

Degree, 51, 608 constraints, 272, 470

Demand nodes, 596 Dependent set, 265,283, 659

extension, 266 minimal, 266

Depth-first search, see Search Determinant, 123, 196, 540 Dicut, 535 Digraph, 54, 320, 496, 546 Dijkstra's algorithm, 56,446, 592 Dimension, 86, 92, 108

full, 86-87 D-inequality, 213, 218, 220 Diophantine a~proximation, 184, 187, 189, 200 Dipath, 55, 535, 675, 682 Disjunctive:

constraints, 12, 212 procedure, 213

Distribution, 3 , Division, 352, 355, 356 Dominance, 207, 247 Dual, 28, 296-341

cost-splitting, 334 feasible basis, 371 gap, 299, 329 heuristic, 400 integral, totally, 537-539,562, 638, 690-691 Lagrangian, 323-337,409-411, 484, 494 linear programming, 28-30 matroid, 665 optimal solution, 175, 176 problem, 28, 97 restricted, 336 simplex algorithm, 37

lexicographic, 371 strong, 29, 299, 301, 305, 672, 677 superadditive, 304-312

general integer programming, 304 mixed-integer programming, 308

surrogate, 334 weak, 28,299,304, 672

Dynamic programming, 417-424,433, 440

Edge, 50 coloring, 651-654 coverings, 639 end, 551 shrinking, 487

Page 9: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Ellipsoid, 147 algorithm, 124, 147-162, 698 property, 148 volume, 148

Enumeration tree, 352 Epsilon-approximate solution, 174, 331 EPT matrix, see Tree Equality-constrained subgraph, 627 Equality set, 86, 91 Euclidean:

algorithm, 184-187 distance, 45

Euler cycle, 478, 609 Exchange property, see Matroid Exponential, 120 Extreme point, 93, 95, 123, 125, 158 Extreme ray, 94-95, 123

Face, 88, 108 proper, 88

Facet, 89-91, 127 validity, 141

Facet-defining inequality, 158 Facility location, 3, 7, 15, 17, 287

capacitated, 8, 347 median problem, 408 uncapacitated, 8, 340, 384,416,496, 509, 709

dual descent, 397 FCPA with separation, 387 greedy heuristic, 393 L'agrangian dual, 409 p- , 402-406, 411 primal-dual heuristic, 398 strong formulation, 384 weak formulation, 385

Farkas' lemma, 30, 97 integer version, 191

FCPA, see Cutting-plane algorithm, fractional Feasibility:

algorithm, 179 problem, 127

homogeneous, 164 integer programming, 127-129, 133 linear equations integer variables, 182 lower bound, 127, 139, 141

property, strict, 148 Feasible:

region, 4 solution, 4

Fibonacci number, 186 Finitely generated, 104 Fixed-charge:

network flow problem, 8, 18, 423, 495-513 branch-and-bound algorithm, 497 fractional cutting-plane algorithm, 498 multi-source, 506, 508 single-source, 496, 506

uncapacitated, 496 transportation problem, 502

Fixed cost, 18,496

Subject Index

Flow, 62 blocking, 63 cover inequalities generalized, 499

extended, 501 feasible integral, 596 maximum, 62-68, 487, 695

minimum-cut theorem, 63 problem with budget constraints, 332

Forest, 53, 648 Formulation, 15, 217, 338, 384 Fourier-Motzkin elimination, 11 1 Function, separable, 11

Gaussian elimination, 121, 179 gcd, see Greatest common divisor Generalized upper-bound, see GUB Gomory cut, 212

fractional, 227-229, 236 mixed integer, 249-250

Good characterization, 124 Gradient, 43 Gram-Schmidt orthogonalization, 196 Graph, 50-82

acyclic, 52 bipartite, see Bipartite chordal, see Chordal graph comparability, 606 complement, 52, 578 complete, 51, 270 component, 53 connected, 53 directed, see Digraph intersection, 117 interval, 605 line, 584 perfect, see Perfect planar, 582 random, 408 reduced, 488, 616 simple, 51 underlying, 54

Greatest common divisor, 183 Greedy:

algorithm, 60, 666-667, 679, 689 heuristic, 393, 397, 400, 403, 428, 440, 452, 466,

476, 712 Group, 315

algorithm, increasing, 448 problem, 312-322, 444

GUB (generalized upper-bound): constraints, 365 dichotomy, 356

Hadamard inequality, 197 Hamiltonian cycle, 129, 270

problem, 129 directed, 144

Nermite normal form, 184, 189-195 algorithm, 193

Idt Im Im Im In1

Page 10: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Subject Index

Heuristic algorithms, 393-409 analysis, 399

probabilistic, 408 worst-case, 399

dual, 400 dual-descent, 397 greedy, see Greedy, heuristic interchange, 394, 397, 406-407, 477-478 nearest insertion, 477-478 nearest neighbor, 475, 477, 494 primal-dual, 395 randomized, 407-409

Hole, 575 odd, 261, 575

Hypersphere, 147, 158, 517

Identity transformation, 132 Imperfect, 584 Implicit enumeration, 354 Impossible to solve, 121 Incidence matrix, 76

neighborhood subtree-neighborhood subtree, 573

node-edge, 51 node-arc, 54

Incidence vector, see Characteristic vector Independence:

affine, 84, 108 linear, 83, 84 system, 237, 659, 663 test, 666

Independent set, 265, 281,659 Inequality: .

dominating, 207 equivalent, 91 max-min, 103 min-max, 104 set, 86 stronger, 207 valid, see Valid inequality

Inner point, 86-87 Instance, 4, 115

feasible, 127 size, 118

Integer programming feasibility problem, 129, 515-520

Integer programming problem, 4, 104, 115, 125- 128

0-1, 456-469 FCPIbranch-and-bound, 459 simplex heuristic, 457

fixed number of variables, 520 Integer round down, 595-598,708 Integer rounding, see Rounding Interior point, 86-87, 101 Interval matrix, 544, 549

Job processing, 689-694,704 Join, see T-join

Knapsack problem: 0-1, 5, 265-270, 418, 420-422, 450-464

branch-and-bound, 454 linear programming relaxation, 451 primal heuristic, 452 separation algorithm, 462

integer, 125, 312 dynamic programming, 433 heuristics, 440, 442 multiple choice, 527 superadditive dual, 435

lower bound feasibility, 136 multidimensional, 5

Lagrangian: dual, 323-337,409 relaxation, 323-337

Lattice, 182, 518 basis of, 190, 197

Leaf, 53 Lexicographic, 34, 371-373

totally reverse, 568 LIFO (last in, first out), 358 Lifting, 261-267

heuristic for, 461 Linear algebra, 83 Linear equations problem, 121

integer feasibility, 182 Linear programming, 4, 27-49, 115, 122-124, 131

polynomial-time algorithms, 146-181 ellipsoid algorithm, 147-160 projective algorithm, 164-172 strongly polynomial for combinatorial

problems, 172-180 Line Graph, 584 Logical inequalities, 19 Lot-sizing, 16

capacitated, 347 uncapacitated, 218, 288-290, 418, 422-424,

508-513 backlogging, 431

Matching, 226, 608-657 I-, 608 2-, 273, 469, 641, 647

fractional, 471, 494 inequality, 276, 490, 495 integer, 471, 483

algorithm: cardinality, 618, 625

bipartite, 612 weighted, 628

b-, 608, 640-648 0-1, 608, 647, 702 integer, 608, 643 perfect, 644

bonds, 144 perfect, 480, 638, 649 polytope, 633, 636-640

Page 11: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Subject Index

Matching (Continued) problem, 5, 400, 608

cardinality, 608, 611-626 weighted, 124, 608, 627-636

separation, 658 Matroid, 659-703

basis, 664 binary, 714 circuit, 664 cographic, 665, 667 covering with inaependent sets, 702 dual, 665 exchange property, 664 graphic, 660, 665 greedy algorithm for maximum-weight

independent sets, 666-671 intersection, 671-678, 692

algorithm: maximum cardinality, 677, 706 weighted, 684

k-, 661, 709 polytope, 688 problem, 671

weighted, 678-688 matric, 660, 665 optimization problem, 661 partition, 660, 704 polytope, 668 rank function, 665 representation, 666 span, 664 sum, 704 union, 705-706

Max-min equality, 591 strong, 592

Membership problem, 139, 141 extreme point, 141

c, strict, 148 Minkowski's theorem, 96 MIR inequality, see Mixed-integer, rounding Mixed-integer:

cutting-plane algorithm, 374 programming problem, 3, 115, 338, 374,

413 dual, 308

rounding, 244-246 set, 242-254

Model formulation, 5-17 choices in, 14 valid inequalities, 217

Modular arithmetic, 212, 236, 312 Multigraph, 478

Neighborhood, 407 subtree, 571

Neighbors, 576 Network:

design, 3

flow problem, 8, 62, 76, 549 fixed-charge, see Fixed-charge primal simplex algorithm, 76-81

matrix, 546-561 Node, 50

conservation, 62 cover, 144 covering by edges, 608 demand, 62 duplication, 582 even, 612 exposed, 611 induced subgraph, 52, 579-580 intermediate, 52 isolated, 53 minimal, 675 odd, 612 partition, 537 selection, see Branch-and-bound simplicial, 576 supply, 62

Node-arc incidence matrix, 54 Node-edge incidence matrix, 51 Node-induced subgraph, 575, 582 Node-neighborhood subtree incidence matrix, 572 Node packing, 115-117, 216, 297, 307, 467-468,

573-585, 594 polytope, 141, 163, 259-261, 574 unweighted, lower bound feasibility, 133

Node-star incidence matrix, 571 Nondecreasing, 229, 660 Nondeterministic:

algorithm, 128, 131 polynomial, 127, 129, 141

Nondifferentiable optimization, 41 Nonlinear function, 10 Nonsingular, 150 NP, see Nondeterministic NP-complete, 131

strongly, 138 NP-hard, 138

Objective function, 4 nonlinear, 11

Objective rounding algorithm, 177 Objective value, 107 Odd-set constraints, 124, 610 O( ) notation, 57, .Optimal:

solution, 4, 94-95, 536 value, 4, 107

Optimality conditions, 296 Optimization, 161 Orthonormal matrix, 150

Packing, 6, 115, 117, 299, 394, 401, 464 fractional, 103, 562, 571

Partition, 6, 352, 704 feasibility, 134-135

Page 12: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Subject Index

Path, 52 alternating, 611 augmenting, 64, 66, 75, 611-612

algorithm, 65 shortest, 67

clutter, 587 directed, 54 maximum weight, 308, 320 minimum weight, 56, 58, 121, 444, 511, 535,

586-587,592 shortest, 55-59

Perfect, 573-585 elimination scheme, 576 graph, 574

conjecture, 576 theorem, 582

matching, see Matching Performance guarantee, 399, 477 Perturbation lemma, 168 Phase I, 36, 78 Piecewise linear function, 11,329, 366 Pivot element, 33 Polar, 99, 139, 206

I-, 100, 163, 239 Polarity, 98-104 Polyhedron, 85-98, 139, 161

bounded, 86 dual, 108 full-dimensional, 86 integral, 535-607, 638, 669 minimal representation, 91, 539 projection of, 97-98 rational, 85 volume, 148 .

Polyrnatroid, 688-694 polytope, 690 rank function, 688

calculation of, 693 separation, 693

Polynomial: equivalence, 161, 163, 387, 592 function, 127 normalization, 176 reduction, 132 space, 121 -time, 146, 162-163

algorithm, 119 strong, 172

combinatorial algorithm for linear programs, 172-180

transformation, 131 Polytope, 86

full-dimensional, 100 integral, 562 master, 238, 241 round, 515

Portfolio analysis, 3 Positive definite, 147, 150 Positive homogeneity, 247

Postman problem, 609, 648 Precision, finite, 157, 159 Preprocessing, 17-20 Primal:

-dual algorithm,.69-70 heuristic, 452, 475 problem, 28, 97 simplex algorithm, 33, 76

Principle of optimality, 419 Priorities, 359 Probabilistic analysis, 408 Problem, 115 Production planning, 290 Production scheduling, 3, 16 Projection, 49, 85, 98, 164 Projective algorithm, 164-172 Pruning, 352-357 Pseudonode, 616 Pseudopolynomial, 137,421 Pure integer programming problem, see Integer

programming problem

Quadratic Boolean function, 695, 697, 701, 711

Radius, 571 Rank, 76, 84,226

bounded, 227 Rational:

approximation problem, 183 number, 120, 183 polyhedron, 85

Ray, 93, 164 epsilon-approximate, 166 extreme, see Extreme ray integer, 104

Recognition problem, 127, 550, 555, 565, 570 Reduced basis of a lattice, 184, 195-201, 518

algorithm, 199 applications, 513 heuristic, 514

Reduced price, 20, 32, 392 Reduced problem, 453 Reduction, 132 Reformulation, see Formulation Relative error, 399 Relatively prime, 183 Relaxation, 296-300, 353

adding variables, 299 algorithm, 349, 482 dual, 300 choice of, 383 group, 298 Lagrangian, 298, 323-337, 410 linear programming, 298, 355, 451 state space, 431 surrogate, 334

Representation, 88 Restriction, 344 Rotation, 151

Page 13: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Round, 515 Rounding, 160, 227

heuristic, 440 integer, 209, 232-233, 594-598 method, 210

Row inclusion matrix, 565-566 Row intersection graph, 550 Running time, 119

Satisfiability problem, 133 Scaling, 72

heuristic, 441 Scheduling, 3, 13, 287, 347 Search:

breadth-first, 67, 359 depth-first, 358 feasibility, 457 local improvement, 458

Separable, see Function, separable; Set, separable Separation, 161-164

algorithm, 412, 462, 487 problem, 161, 387, 459, 499, 693

Sequential decision process, 417 Set:

dependent, 265, 283, 659 extension, 266 minimal, 266

independent, 265, 281, 659 separable, 670

Set-covering problem, see Covering Set-function maximization, 393 Set-packing problem, see Packing Set-partitioning problem, see Partition Short, 124 Shortest path problem, see Path, shortest Shortest vector problem, 182, 197, 200 Shrinking, 487, 616 Simplex, 516

algorithm: dual, 37 primal, 33 simple upper bounds, 39

Simplex-based heuristic, 457 Simplicial, 576 Simulated annealing, 407 Single source problem, 496, 506 Size of problem instance, 118 Sliding objective function, 155 Smith normal form, 195, 319 Space requirements, 121 Sphere, 147 Star, 551

minimum weight, 586 State, 417 Steepest ascent, 43 Steiner branching problem, 496, 507 Subdifferential, 45 Subgradient, 45, 409

algorithm, 46, 410, 484 optimization, 41-49, 409

Subgraph, 52 induced, 52 spanning, 52

Submodular, 144, 403, 660, 662-663 function maximization, 708-712

greedy algorithm, 712 function minimization, 693-702

Subset sum problem, 136, 513 Subspace, 85

orthogonal, 85 Subtour, 10,273

elimination constraints, 273-275, 470, 487 Superadditive, 229-237, 300, 316, 320

dual algorithm, 435 duality, 304-312 dual problem, 304 valid inequality, 230, 237-242

mixed-integer, 246-254 Supermodular, 660 Supply-demand vector, 596 Supply nodes, 596 Support, 88

Su' Subject Index

I

TB , see Balanced matrix T-cut, 649-651 TDI, see Dual, integral T-join, 648-651, 702 Tour, 10, 270,469, 588 Transformation, 131 Transportation problem, 62, 68, 122

primal-dual algorithm, 68-76 Transpose, 540, 564 Transversal, 714 Traveling salesman:

polytope, 270-281 dimension, 272

Traveling salesman problem, 9, 16, 586 symmetric, 469-495

branch-and-bound, 482 1-tree, subgradient, 484 assignment problem, 482 PCP, 485

heuristics, 475 double spanning tree, 479 greedy feasible, 476 interchange, 477 nearest insertion, 477 nearest neighbor, 475 spanning tree, perfect matching, 480

relaxations, 469 2-matching, 469, 475

1-tree, 470,473 fractional, 471 integer, 471

Tree, 53 I-, 470, 484, 494 directed, 55, 546 edge-path incidence matrix, 550-559

recognition algorithm, 555 polytope, 669, 698

Page 14: NEMHAUSERllrc.mcast.edu.mt/digitalversion/table_of_contents...xii 6. Polyhedral Ties Between Linear and Integer Programs 7. Notes 8. Exercises Contents 1.5 Computational Complexity

Subject Index

spanning, 55, 77, 546 minimum weight, 60-61

Triangle inequality, 478 TU, see Unimodular matrix

UFL, see Facility location, uncapacitated ULS, see Lot-sizing, uncapacitated Unary, 137 Unbounded, 4, 95, 107 Unimodular matrix, 189,319

totally, 540-546, 549, 561, 574

Valid inequality, 88, 205-295 generating all, 217-227 knapsack, 0-1, 265-270 mixed integer sets, 242-246 node packing, 259-261 rank, 226-227 representing a face, 88 strong, 259-290, 386 superadditive, 230, 237-242, 249, 252 supporting, 88 traveling salesman, 270-281 variable upper bound flow model, 281-

290 Validity problem, 139, 141 Value dominance, 352

Value function, 300 Variable, 4

adding of, 39 artificial, 36 bounded, 222 branching, see Branch-and-bound complicating, 323 decision, 417 dichotomy, 356 fixing, 19, 452, 468 regular, 457 slack, 37 selection in branching, 359

Variable upper bound, 281 Vizing's theorem, 652

Walk, 52, 313 closed, 52 directed, 54 even, 54 length of, 52 odd, 54

Weyl's theorem, 98 Wheel, 110 Worst-case:

analysis, 119, 399 performance, 399