IEOR 269, Spring 2010 Integer Programming and Combinatorial Optimization
Total Page:16
File Type:pdf, Size:1020Kb
IEOR 269, Spring 2010 Integer Programming and Combinatorial Optimization Professor Dorit S. Hochbaum Contents 1 Introduction 1 2 Formulation of some ILP 2 2.1 0-1 knapsack problem . 2 2.2 Assignment problem . 2 3 Non-linear Objective functions 4 3.1 Production problem with set-up costs . 4 3.2 Piecewise linear cost function . 5 3.3 Piecewise linear convex cost function . 6 3.4 Disjunctive constraints . 7 4 Some famous combinatorial problems 7 4.1 Max clique problem . 7 4.2 SAT (satisfiability) . 7 4.3 Vertex cover problem . 7 5 General optimization 8 6 Neighborhood 8 6.1 Exact neighborhood . 8 7 Complexity of algorithms 9 7.1 Finding the maximum element . 9 7.2 0-1 knapsack . 9 7.3 Linear systems . 10 7.4 Linear Programming . 11 8 Some interesting IP formulations 12 8.1 The fixed cost plant location problem . 12 8.2 Minimum/maximum spanning tree (MST) . 12 9 The Minimum Spanning Tree (MST) Problem 13 i IEOR269 notes, Prof. Hochbaum, 2010 ii 10 General Matching Problem 14 10.1 Maximum Matching Problem in Bipartite Graphs . 14 10.2 Maximum Matching Problem in Non-Bipartite Graphs . 15 10.3 Constraint Matrix Analysis for Matching Problems . 16 11 Traveling Salesperson Problem (TSP) 17 11.1 IP Formulation for TSP . 17 12 Discussion of LP-Formulation for MST 18 13 Branch-and-Bound 20 13.1 The Branch-and-Bound technique . 20 13.2 Other Branch-and-Bound techniques . 22 14 Basic graph definitions 23 15 Complexity analysis 24 15.1 Measuring quality of an algorithm . 24 15.1.1 Examples . 24 15.2 Growth of functions . 26 15.3 Definitions for asymptotic comparisons of functions . 26 15.4 Properties of asymptotic notation . 26 15.5 Caveats of complexity analysis . 27 16 Complexity classes and NP-completeness 28 16.1 Search vs. Decision . 28 16.2 The class NP ........................................ 29 17 Addendum on Branch and Bound 30 18 Complexity classes and NP-completeness 31 18.1 Search vs. Decision . 31 18.2 The class NP ........................................ 32 18.2.1 Some Problems in NP ............................... 33 18.3 The class co-NP ...................................... 34 18.3.1 Some Problems in co-NP ............................. 34 18.4 NPand co-NP ........................................ 34 18.5 NP-completeness and reductions . 35 18.5.1 Reducibility . 35 18.5.2 NP-Completeness . 36 19 The Chinese Checkerboard Problem and a First Look at Cutting Planes 40 19.1 Problem Setup . 40 19.2 The First Integer Programming Formulation . 40 19.3 An Improved ILP Formulation . 40 20 Cutting Planes 43 20.1 Chinese checkers . 43 20.2 Branch and Cut . 44 IEOR269 notes, Prof. Hochbaum, 2010 iii 21 The geometry of Integer Programs and Linear Programs 45 21.1 Cutting planes for the Knapsack problem . 45 21.2 Cutting plane approach for the TSP . 46 22 Gomory cuts 46 23 Generating a Feasible Solution for TSP 47 24 Diophantine Equations 48 24.1 Hermite Normal Form . 49 25 Optimization with linear set of equality constraints 51 26 Balas's additive algorithm 51 27 Held and Karp's algorithm for TSP 54 28 Lagrangian Relaxation 55 29 Lagrangian Relaxation 59 30 Complexity of Nonlinear Optimization 61 30.1 Input for a Polynomial Function . 61 30.2 Table Look-Up . 61 30.3 Examples of Non-linear Optimization Problems . 62 30.4 Impossibility of strongly polynomial algorithms for nonlinear (non-quadratic) opti- mization . 64 31 The General Network Flow Problem Setup 65 32 Shortest Path Problem 68 33 Maximum Flow Problem 69 33.1 Setup . 69 33.2 Algorithms . 71 33.2.1 Ford-Fulkerson algorithm . 72 33.2.2 Capacity scaling algorithm . 74 33.3 Maximum-flow versus Minimum Cost Network Flow . 75 33.4 Formulation . 75 34 Minimum Cut Problem 77 34.1 Minimum s-t Cut Problem . 77 34.2 Formulation . 78 35 Selection Problem 79 36 A Production/Distribution Network: MCNF Formulation 81 36.1 Problem Description . 81 36.2 Formulation as a Minimum Cost Network Flow Problem . 83 36.3 The Optimal Solution to the Chairs Problem . 84 IEOR269 notes, Prof. Hochbaum, 2010 iv 37 Transhipment Problem 87 38 Transportation Problem 87 38.1 Production/Inventory Problem as Transportation Problem . 88 39 Assignment Problem 90 40 Maximum Flow Problem 90 40.1 A Package Delivery Problem . 90 41 Shortest Path Problem 91 41.1 An Equipment Replacement Problem . 92 42 Maximum Weight Matching 93 42.1 An Agent Scheduling Problem with Reassignment . 93 43 MCNF Hierarchy 96 44 The maximum/minimum closure problem 96 44.1 A practical example: open-pit mining . 96 44.2 The maximum closure problem . 98 45 Integer programs with two variables per inequality 101 45.1 Monotone IP2 . 101 45.2 Non{monotone IP2 . 103 46 Vertex cover problem 104 46.1 Vertex cover on bipartite graphs . 105 46.2 Vertex cover on general graphs . 105 47 The convex cost closure problem 107 47.1 The threshold theorem . 108 47.2 Naive algorithm for solving (ccc) . 111 47.3 Solving (ccc) in polynomial time using binary search . 111 47.4 Solving (ccc) using parametric minimum cut . 111 48 The s-excess problem 113 48.1 The convex s-excess problem . 114 48.2 Threshold theorem for linear edge weights . 114 48.3 Variants / special cases . 115 49 Forest Clearing 116 50 Producing memory chips (VLSI layout) 117 51 Independent set problem 117 51.1 Independent Set v.s. Vertex Cover . 118 51.2 Independent set on bipartite graphs . 118 IEOR269 notes, Prof. Hochbaum, 2010 v 52 Maximum Density Subgraph 119 52.1 Linearizing ratio problems . 119 52.2 Solving the maximum density subgraph problem . 119 53 Parametric cut/flow problem 120 53.1 The parametric cut/flow problem with convex function (tentative title) . 121 54 Average k-cut problem 122 55 Image segmentation problem 122 55.1 Solving the normalized cut variant problem . 123 55.2 Solving the λ-question with a minimum cut procedure . 125 56 Duality of Max-Flow and MCNF Problems 127 56.1 Duality of Max-Flow Problem: Minimum Cut . 127 56.2 Duality of MCNF problem . 127 57 Variant of Normalized Cut Problem 128 57.1 Problem Setup . 129 57.2 Review of Maximum Closure Problem . 130 57.3 Review of Maximum s-Excess Problem . 131 57.4 Relationship between s-excess and maximum closure problems . 132 57.5 Solution Approach for Variant of the Normalized Cut problem . 132 58 Markov Random Fields 133 59 Examples of 2 vs. 3 in Combinatorial Optimization 134 59.1 Edge Packing vs. Vertex Packing . 134 59.2 Chinese Postman Problem vs. Traveling Salesman Problem . 135 59.3 2SAT vs. 3SAT . ..