View
291
Download
10
Category
Preview:
Citation preview
Integer ProgrammingChapter 11: Hillier and LiebermanDr. Hurley’s AGB 328 Course
Terms to KnowInteger Programming, Mixed Integer Programming, Binary Variable, Binary Integer Programming, Mutually Exclusive Alternatives, Contingent Decisions, Tours-of-duty Planning Problem, Rostering Problem, Auxiliary Binary Variable, Binary Representation
Terms to Know Cont.Set Covering Problems, Set Partitioning Problems, Exponential Growth, LP Relaxation, Branching Tree, Branching Variable, Relaxation, Incumbent, Fathom, Descendants, Lagrangian Relaxation, Cutting Plane, Cut, Minimum Cover, Global Constraints
4
Applications of Binary VariablesBinary variables only allow two
choices◦ This makes them suited for problems that
are characterized by variables that can take on only two possibilities.
Examples:◦ Do a project or not do a project?◦ To hire or not to hire?◦ To build or not to build?◦ To Sell or not to sell?
5
Case Study: California Manufacturing Company (CMC)The California Manufacturing
Company is a company with factories and warehouses throughout California.
It is currently considering whether to build a new factory in Los Angeles and/or San Francisco.
Management is also considering building one new warehouse where a new factory has been recently built.
Should the CMC build factories and/or warehouses in Los Angeles and/or San Francisco?
6
Case Study: CMC Cont.
Binary DecisionDecisionVariable
NPV(Millions)
CapitalNeeded
(Millions)
Build a factory in Los Angeles FLA $9 $6
Build a factory in San Francisco
FSF 5 3
Build a warehouse in Los Angeles
WLA 6 5
Build a warehouse in San Francisco
WSF 4 2
Building Money Available: $10 million
7
Case Study: CMC Cont.FLA, FSF, WLA,WSF are all binary
variables which take on the value of 1 if the specific item is done and zero if it is not done.
We also need to make sure that at most one warehouse is built and it is built where a factory is built.
8
Mathematical Model for CMC
}1,0{,,,
1
0
0
10*2*5*3*6
:Subject to
*4*6*5*9,,,
WSFWLAFSFFLA
WSFWLA
WSFWSF
FLAWLA
WSFWLAFSFFLA
WSFWLAFSFFLAMaxWSFWLAFSFFLA
Innovative Uses for Binary VariablesEither-Or ConstraintA Subset of Constraints Must
HoldA Constraint that Needs a Single
Value Out of Multiple PossibilitiesA Fixed Cost Is Only Associated
with a Positive Usage of a Variable
Binary Representation of General Integer Variables
Either-Or ConstraintSuppose you have a situation
where you have two potential constraints, but only one of them can hold◦To handle this issue, you can add to
one constraint My1 to the RHS and to the other constraint M(1-y1) to the RHS where y1 is a binary variable
◦For example: 5x1+9x2 ≤ 24 + My1
8x1+6x2 ≤ 35 + M(1-y1)
A Subset of Constraints Must HoldSuppose you have N constraints
where only K of the constraints hold (K<N)◦You would add to constraint i the
amount Myi and one other constraint where
◦For example: 5x1 + 12x2 ≤ 34 + My1
6x1 + 11x2 ≤ 43 + My2
7x1 + 10x2 ≤ 57 + My3
y1+ y2 + y3 = 1
A Constraint that Needs a Single Value Out of Multiple PossibilitiesSuppose you have a constraint
where the function can take on one out of many values◦To handle this issue, you would multiply
value i by a binary variable yi and sum them all together while adding one more constraint that
◦For example:◦5x1 +31x2 = 25 or 50 or 75
5x1 +31x2 = 25y1+ 50y2+ 75y3
y1+ y2 + y3 = 1
A Fixed Cost Is Only Associated with a Positive Usage of a VariableSuppose you have the situation
where your objective function only takes on a fixed cost ki if you use a corresponding variable xi > 0, if xi = 0 then ki = 0◦To handle this issue you would add to
the objective function kiyi and a new constraint xi ≤ Myi
◦For example, suppose that variable x1 has an associated set-up cost if you decide to use it
Subject to:+ 3523+42
Binary Representation of General Integer VariablesThere are some times when you
may want to represent a variable that is supposed to be an integer by transforming it into a binary representation◦This can be done by defining the
variable x =
Goods Product Company ExampleObjective: Maximize ProfitsDecision Variables: Product 1,
Product 2, and Product 3Constraints:
◦Production time available for Plants 1 and 2
◦At most two out of the three products can be produced
◦Only one of the two plants can produce the new products
Data for Goods Product Company Product 1 uses 3 hours of Plant 1 or 4
hours of Plant 2 per unit of production◦You can sell up to 7 at a profit of $5,000
Product 2 uses 4 hours of Plant 1 or 6 hours of Plant 2 per unit of production◦You can sell up to 5 at a profit of $7,000
Product 3 uses 2 hours of Plant 1 or 2 hours of Plant 2 per unit of production◦You can sell up to 9 at a profit of $3,000
Plant 1 has 30 hours available while Plant 2 has 40 hours
Mathematical Model for Goods Product Company
Subject to:
We will examine the spreadsheet model in class
Supersuds Corporation ExampleObjective: Maximize ProfitsDecision Variables: Number of TV
spots for Product 1, Product 2, and Product 3
Constraints: ◦Number of TV spots allocated to the
three products cannot be more than five
Major Issue: Proportionality Assumption is violated
Data for SupersudsIf any of the products does not buy a
TV spot, it will not get any profitIf Product 1 buys 1, 2 , or 3 TV spot(s),
its profitability would be 1, 3, or 3 respectively
If Product 2 buys 1, 2 , or 3 TV spot(s), its profitability would be 0, 2, or 3 respectively
If Product 3 buys 1, 2 , or 3 TV spot(s), its profitability would be -1, 2, or 4 respectively
Mathematical Model 1 for Supersuds
Subject to:
We will examine the spreadsheet model in class
Mathematical Model 2 for Supersuds
Subject to:
We will examine the spreadsheet model in class
23
Wyndor Case RevisitedTwo new products have been
developed:◦ An 8-foot glass door◦ A 4x6 foot glass window
Wyndor has three production plants◦ Production of the door utilizes Plants 1 and
3◦ Production of the window utilizes Plants 2
and 3Objective is to find the optimal mix of
these two new products.
24
Wyndor Case Revisited Cont.
Production Time Used for Each Unit Produced
Plant Doors Windows Available Per Week
1 1 hour 0 hour 4 hour
2 0 hour 2 hour 12 hour
3 3 hour 2 hour 18 hour
Unit Profit $300 $500
25
Wyndor Case Revisited Cont.
5) and 4 ts(Constrain 0 W0,D
3)t (Constrain 182W3D
2)t (Constrain212W
1)t (Constrain 4D
:Subject to
500300 Max WD, w.r.t.
WD
26
Changing Wyndor to Account for Setup Costs Suppose that two changes are
made to the original Wyndor problem:
◦ If Wyndor chooses to produce doors, it must pay a one time set-up cost of $700, while if Wyndor produces windows it must pay a set-up cost of $1,300.
◦ We want to restrict the doors and windows to be integer values.
27
Wyndor’s Mathematical Model With Set-Up Costs
{0,1} WSDS,
integers are nd 0, WD,
WS*99W
DS*99D
182W3D
212W
4D
:Subject to
1300700500300 Max WSDS, W,D, w.r.t.
a
WSDSWD
28
Changing Wyndor to Account for Mutually Exclusive Products
Suppose Wyndor decides that it only wants to produce doors or windows rather than both.◦ This implies that either doors have to
be zero or windows have to be zero.
29
Wyndor’s Mathematical Model With Mutually Exclusive Products
{0,1} WSDS,
integers are nd 0, WD,
1WSDS
WS*99W
DS*99D
182W3D
212W
4D
:Subject to
1300700500300 Max WSDS, W,D, w.r.t.
a
WSDSWD
30
Changing Wyndor to Account for Either-Or Constraints
Suppose the company is trying to decide whether to build a new up-to-date plant that will be used to replace plant 3.◦ This implies that Wyndor wants to
examine the profitably of using plant 4 versus plant 3.
31
Wyndor’s Data with Either/Or Constraint
Production Time Used for Each Unit Produced
Plant Doors Windows Available Per Week
1 1 hour 0 hour 4 hour
2 0 hour 2 hour 12 hour
3 3 hour 2 hour 18 hour
4 2 hours 4 hours 28 hours
Unit Profit $300 $500
32
Wyndor’s Mathematical Model With Either/Or Constraint
{0,1}P4 P3,
integers are nd 0, WD,
14P3P
P3*99284W2D
P4*99182W3D
212W
4D
:Subject to
500300 MaxP4 P3, W,D, w.r.t.
a
WD
33
The Challenges of RoundingIt may be tempting to round a
solution from a non-integer problem, rather than modeling for the integer value.
There are three main issues that can arise:◦Rounded Solution may not be
feasible.◦Rounded solution may not be close
to optimal.◦There can be many rounded
solutions
Algorithms For Solving BIPs and MIPsBranch-and-Bound AlgorithmBranch-and-Cut Algorithm
Branch-and-Bound AlgorithmThis algorithm has three main
steps in an iteration:◦Branching
This is where you create two new sub-problems
◦Bounding For each sub-problem, apply the simplex
method to the LP relaxation
◦Fathoming This where you are deciding whether to
dismiss the sub-problem from further consideration
Fathoming TestTest 1: Its bound is less than Z*,
where Z* represents the value you get from the objective function for the current best incumbent solution
Test 2: The LP relaxation problem has no solution
Test 3: The optimal solution for the LP relaxation problem is binary/integer
Branch-and-Cut AlgorithmsThese algorithms primarily rely upon:
◦Problem preprocessing Fixing variables that you know upfront must
be a particular variable Eliminating redundant constraints Tightening constraints in a way to reduce the
feasible region
◦Generating cutting planes This reduces the feasible region for the LP
relaxation which does not reduce the feasible solutions
◦Clever branch-and-bound techniques
In-Class Activity (Not Graded)Create a spreadsheet model for
each of the Wyndor problems previously discussed
Recommended