# Mixed integer linear programming

## Presentation on theme: "Mixed integer linear programming"— Presentation transcript:

Mixed integer linear programming
Many uses of linear programming, mixed integer (linear) programming in this course Linear programming Mixed integer linear programming Game theory Dominated strategies Minimax strategies Correlated equilibrium Optimal mixed strategies to commit to Nash equilibrium Optimal mixed strategies to commit to in more complex settings Social choice, expressive marketplaces Winner determination in auctions, exchanges, … with partially acceptable bids Winner determination in: auctions, exchanges, … without partially acceptable bids; Kemeny, Slater, other voting rules; kidney exchange Mechanism design Automatically designing optimal mechanisms that use randomization Automatically designing optimal mechanisms that do not use randomization

Brief introduction to linear and mixed integer programming

Properties of Linear Programming (LP) Models
Seek to minimize or maximize Include “constraints” or limitations There must be alternatives available All equations are linear

Example LP Model Formulation: The Product Mix Problem
Decision: How much to make of two products? Objective: Maximize profit Constraints: Limited resources

Two products: Chairs and Tables
Example Two products: Chairs and Tables Decision: How many of each to make this month? Objective: Maximize profit

Flair Furniture Co. Data
Tables (per table) Chairs (per chair) Hours Available Profit Contribution \$7 \$5 Carpentry Req 3 hrs 4 hrs 2400 Painting Req 2 hrs 1 hr 1000 Other Limitations: Make no more than 450 chairs Make at least 100 tables

Decision Variables: T = Num. of tables to make C = Num. of chairs to make Objective Function: Maximize Profit Maximize \$7 T + \$5 C

Constraints: Have 2400 hours of carpentry time available
3 T C < (hours) Have 1000 hours of painting time available 2 T C < (hours)

Make no more than 450 chairs C < 450 (num. chairs)
More Constraints: Make no more than 450 chairs C < 450 (num. chairs) Make at least 100 tables T > 100 (num. tables) Nonnegativity: Cannot make a negative number of chairs or tables T > 0 C > 0

Model Summary Maximize 7T + 5C (profit)
Subject to the constraints: 3T + 4C < 2400 (carpentry hrs) 2T + 1C < 1000 (painting hrs) C < (max # chairs) T > (min # tables) T, C > 0 (nonnegativity)

Graphical Solution Graphing an LP model helps provide insight into LP models and their solutions. While graphing can only be done in two or three dimensions, the same properties apply to all LP models and solutions.

Carpentry Constraint Line 3T + 4C = 2400 Intercepts (T = 0, C = 600)
Carpentry Constraint Line 3T + 4C = 2400 Intercepts (T = 0, C = 600) (T = 800, C = 0) Infeasible > 2400 hrs 3T + 4C = 2400 Feasible < 2400 hrs T

Painting Constraint Line 2T + 1C = 1000 Intercepts (T = 0, C = 1000)
600 Painting Constraint Line 2T + 1C = 1000 Intercepts (T = 0, C = 1000) (T = 500, C = 0) 2T + 1C = 1000 T

Max Chair Line C = 450 Min Table Line T = 100 Feasible Region C 1000
600 450 Max Chair Line C = 450 Min Table Line T = 100 Feasible Region T

Objective Function Line 7T + 5C = Profit
500 400 300 200 100 Objective Function Line 7T + 5C = Profit Think of line of solutions at a particular profit. Anywhere on that line yields the same profit 7T + 5C = \$4,040 Optimal Point (T = 320, C = 360) 7T + 5C = \$2,800 7T + 5C = \$2,100 T

500 400 300 200 100 Additional Constraint Need at least 75 more chairs than tables C > T + 75 Or C – T > 75 New optimal point T = 300, C = 375 T = 320 C = 360 No longer feasible T

LP Characteristics Feasible Region: The set of points that satisfies all constraints Corner Point Property: An optimal solution must lie at one or more corner points Optimal Solution: The corner point with the best objective function value is optimal

In higher dimensions In multiple dimensions, the region of interest is of higher dimension. polytope – a polygon in higher dimension - a geometric object with flat sides simplex – a generalization of the notion of a triangle or tetrahedron to arbitrary dimension – a convex hull Algorithmic method – optimal value will always be on a vertex of the polytope – walking along edges to vertices of higher objective function

Linear programs: example
We make reproductions of two paintings If x is the number of painting 1 and y is the number of painting 2, state this poroblem as a series of equations of requirements: Something to maximize and inequalities to satisfy; Painting 1 sells for \$30, painting 2 sells for \$20 Painting 1 requires 4 units of blue, 1 green, 1 red Painting 2 requires 2 blue, 2 green, 1 red We have 16 units blue, 8 green, 5 red

Linear programs: example
We make reproductions of two paintings maximize 30x + 20y subject to 4x + 2y ≤ 16 x + 2y ≤ 8 x + y ≤ 5 x ≥ 0 y ≥ 0 Painting 1 sells for \$30, painting 2 sells for \$20 Painting 1 requires 4 units of blue, 1 green, 1 red Painting 2 requires 2 blue, 2 green, 1 red We have 16 units blue, 8 green, 5 red

Solving the linear program graphically
maximize 30x + 20y subject to 4x + 2y ≤ 16 x + 2y ≤ 8 x + y ≤ 5 x ≥ 0 y ≥ 0 8 Think of dotted lines as various values for 30x+20y 6 4 optimal solution: x=3, y=2 2 2 4 6 8

Modified LP maximize 30x + 20y Optimal solution: x = 2.5, y = 2.5
subject to 4x + 2y ≤ 15 x + 2y ≤ 8 x + y ≤ 5 x ≥ 0 y ≥ 0 Optimal solution: x = 2.5, y = 2.5 Solution value = = 12.5 Half paintings? – interested in integer answers

Integer (linear) program
maximize 30x + 20y subject to 4x + 2y ≤ 15 x + 2y ≤ 8 x + y ≤ 5 x ≥ 0, integer y ≥ 0, integer 8 optimal IP solution: x=2, y=3 (objective 120) 6 optimal LP solution: x=2.5, y=2.5 (objective 125) 4 2 4 6 8 2

Mixed integer (linear) program
maximize 30x + 20y subject to 4x + 2y ≤ 15 x + 2y ≤ 8 x + y ≤ 5 x ≥ 0 y ≥ 0, integer 8 optimal IP solution: x=2, y=3 (objective 120) 6 optimal LP solution: x=2.5, y=2.5 (objective 125) 4 optimal MIP solution: x=2.75, y=2 (objective 122.5) 2 4 6 8 2

Solving linear/integer programs
Linear programs can be solved efficiently Simplex, ellipsoid, interior point methods… (Mixed) integer programs are NP-hard to solve Quite easy to model many standard NP-complete problems as integer programs (try it!) Search type algorithms such as branch and bound Standard packages for solving these GNU Linear Programming Kit, CPLEX, … LP relaxation of (M)IP: remove integrality constraints Gives upper bound on MIP (~admissible heuristic)

Practice modeling hard problems as LP or (M)IP problems

Exercise in modeling: knapsack-type problem
We arrive in a room full of precious objects Can carry only 30kg out of the room Can carry only 20 liters out of the room Want to maximize our total value Unit of object A: 16kg, 3 liters, sells for \$11 There are 3 units available Unit of object B: 4kg, 4 liters, sells for \$4 There are 4 units available Unit of object C: 6kg, 3 liters, sells for \$9 Only 1 unit available What should we take?

Exercise in modeling: cell phones (set cover)
We want to have a working phone in every continent (besides Antarctica) … but we want to have as few phones as possible Phone A works in NA, SA, Af Phone B works in E, Af, As Phone C works in NA, Au, E Phone D works in SA, As, E Phone E works in Af, As, Au Phone F works in NA, E

Exercise in modeling: hot-dog stands
We have two hot-dog stands to be placed in somewhere along the beach We know where the people that like hot dogs are, how far they are willing to walk Where do we put our stands to maximize #hot dogs sold? (price is fixed) location: 1 #customers: 2 willing to walk: 4 location: 4 #customers: 1 willing to walk: 2 location: 7 #customers: 3 willing to walk: 3 location: 9 #customers: 4 willing to walk: 3 location: 15 #customers: 3 willing to walk: 2