many uses of linear programming, mixed integer (linear) programming in this course linear...
TRANSCRIPT
Many uses of linear programming, mixed
integer (linear) programming in this courseLinear programming Mixed integer linear
programming
Game theory
Dominated strategiesMinimax strategies
Correlated equilibriumOptimal mixed strategies to
commit to
Nash equilibriumOptimal 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
1) Seek to minimize or maximize
2) Include “constraints” or limitations
3) There must be alternatives available
4) All equations are linear
Example LP Model Formulation:
The Product Mix ProblemDecision: How much to make of two
products?
Objective: Maximize profit
Constraints: Limited resources
Example
Two products: Chairs and Tables
Decision: How many of each to make this
month?
Objective: Maximize profit
Flair Furniture Co. DataTables
(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 + 4 C < 2400 (hours)
• Have 1000 hours of painting time
available
2 T + 1 C < 1000 (hours)
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 > 0C > 0
Model Summary
Maximize 7T + 5C
(profit)
Subject to the constraints:
3T + 4C < 2400 (carpentry hrs)
2T + 1C < 1000 (painting hrs)
C < 450 (max # chairs)
T > 100 (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)
(T = 800, C = 0)
0 800 T
C
600
0
Feasible
< 2400 hrs
Infeasible
> 2400 hrs
3T + 4C = 2400
Painting
Constraint Line
2T + 1C = 1000
Intercepts
(T = 0, C = 1000)
(T = 500, C = 0)
0 500 800 T
C1000
600
0
2T + 1C = 1000
0 100 500 800 T
C1000
600
450
0
Max Chair Line
C = 450
Min Table Line
T = 100
Feasible
Region
0 100 200 300 400 500 T
C
500
400
300
200
100
0
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 = $2,100
7T + 5C = $4,040
Optimal Point(T = 320, C =
360)
7T + 5C = $2,800
0 100 200 300 400 500 T
C
500
400
300
200
100
0
Additional Constraint
Need at least 75 more chairs than tables
C > T + 75
Or
C – T > 75
T = 320C = 360
No longer feasible
New optimal pointT = 300, C = 375
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
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;
• We make reproductions of two paintings
• 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
maximize 30x + 20y
subject to
4x + 2y ≤ 16
x + 2y ≤ 8
x + y ≤ 5
x ≥ 0
y ≥ 0
• We make reproductions of two paintings
• 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
2
0
4
6
8
2 4 6 8
optimal solution: x=3, y=2
Think of dotted lines as various
values for 30x+20y
Modified LPmaximize 30x +
20y
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 = 7.5 + 5 =
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
2
0
4
6
8
2 4 6 8
optimal LP solution: x=2.5,
y=2.5 (objective 125)
optimal IP solution: x=2,
y=3 (objective 120)
Mixed integer (linear) program
maximize 30x + 20y
subject to
4x + 2y ≤ 15
x + 2y ≤ 8
x + y ≤ 5
x ≥ 0
y ≥ 0, integer
2
0
4
6
8
2 4 6 8
optimal LP solution: x=2.5,
y=2.5 (objective 125)
optimal IP solution: x=2,
y=3 (objective 120)
optimal MIP solution: x=2.75,
y=2 (objective 122.5)
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: 4#customers: 1
willing to walk: 2
location: 7#customers: 3
willing to walk: 3
location: 9#customers: 4
willing to walk: 3
location: 1#customers: 2
willing to walk: 4
location: 15#customers: 3
willing to walk: 2