Chap. 2 ppt

OR/MA 504
Introduction to Mathematical
Programming
Chapter 2
Modeling and Solving LP Problems in
a Spreadsheet
3-2
Introduction
• Solving LP problems graphically is only
possible when there are two decision
variables
• Few real-world LP have only two
decision variables
• Fortunately, we can now use
spreadsheets to solve LP problems
3-3
Spreadsheet Solvers
• The company that makes the Solver in
Excel, Lotus 1-2-3, and Quattro Pro is
Frontline Systems, Inc.
Check out their web site:
http://www.solver.com
• Other packages for solving MP problems:
AMPL
CPLEX
LINDO
MPSX
3-4
The Steps in Implementing an LP
Model in a Spreadsheet
1. Organize the data for the model on the
spreadsheet.
2. Reserve separate cells in the spreadsheet for
each decision variable in the model.
3. Create a formula in a cell in the spreadsheet
that corresponds to the objective function.
4. For each constraint, create a formula in a
separate cell in the spreadsheet that
corresponds to the left-hand side (LHS) of the
constraint.
3-5
Let’s Implement a Model for the
Blue Ridge Hot Tubs Example...
MAX: 350X1 + 300X2
S.T.: 1X1 + 1X2 <= 200
9X1 + 6X2 <= 1566
12X1 + 16X2 <= 2880
X1, X2 >= 0
} profit
} pumps
} labor
} tubing
} nonnegativity
3-6
Implementing the Model
See file Fig2-1.xls
3-7
How Solver Views the Model
• Target cell - the cell in the spreadsheet
that represents the objective function
• Changing cells - the cells in the
spreadsheet representing the decision
variables
• Constraint cells - the cells in the
spreadsheet representing the LHS
formulas on the constraints
3-8
Using Excel to Solve the LP
• Let’s use Solver in Excel to find the
solution the Blue Ridge Hot Tub
problem
3-9
Goals For Spreadsheet Design
• Communication -
A spreadsheet's primary business
purpose is communicating information to managers.
• Reliability -
The output a spreadsheet generates
should be correct and consistent.
• Auditability -
A manager should be able to retrace
the steps followed to generate the different outputs from
the model in order to understand and verify results.
• Modifiability -
A well-designed spreadsheet should be
easy to change or enhance in order to meet dynamic
user requirements.
3-10
Spreadsheet Design Guidelines - I
• Organize the data, then build the model
around the data.
• Do not embed numeric constants in
formulas.
• Things which are logically related should
be physically related.
• Use formulas that can be copied.
• Column/rows totals should be close to the
columns/rows being totaled.
3-11
Spreadsheet Design Guidelines - II
• The English-reading eye scans left to right,
top to bottom.
• Use color, shading, borders and protection
to distinguish changeable parameters from
other model elements.
• Use text boxes and cell notes to document
various elements of the model.
3-12
Make vs. Buy Decisions:
The Electro-Poly Corporation
• Electro-Poly is a leading maker of slip-rings.
• A $750,000 order has just been received.
Model 1
Model 2
Model 3
3,000
2,000
900
Hours of wiring/unit
2
1.5
3
Hours of harnessing/unit
1
2
1
Cost to Make
$50
$83
$130
Cost to Buy
$61
$97
$145
Number ordered
• The company has 10,000 hours of wiring
capacity and 5,000 hours of harnessing capacity.
3-13
Defining the Decision Variables
M1 = Number of model 1 slip rings to make in-house
M2 = Number of model 2 slip rings to make in-house
M3 = Number of model 3 slip rings to make in-house
B1 = Number of model 1 slip rings to buy from competitor
B2 = Number of model 2 slip rings to buy from competitor
B3 = Number of model 3 slip rings to buy from competitor
3-14
Defining the Objective Function
Minimize the total cost of filling the order.
MIN: 50M1+ 83M2+ 130M3+ 61B1+ 97B2+ 145B3
3-15
Defining the Constraints
• Demand Constraints
M1 + B1 = 3,000 } model 1
M2 + B2 = 2,000 } model 2
M3 + B3 =
900 } model 3
• Resource Constraints
2M1 + 1.5M2 + 3M3 <= 10,000 } wiring
1M1 + 2.0M2 + 1M3 <= 5,000 } harnessing
• Nonnegativity Conditions
M1, M2, M3, B1, B2, B3 >= 0
3-16
Implementing the Model
See file Fig2-2.xls
3-17
An Investment Problem:
Retirement Planning Services, Inc.
• A client wishes to invest $750,000 in the
following bonds.
Company
Return
Years to
Maturity
Acme Chemical
8.65%
11
1-Excellent
DynaStar
9.50%
10
3-Good
Eagle Vision
10.00%
6
4-Fair
Micro Modeling
8.75%
10
1-Excellent
OptiPro
9.25%
7
3-Good
Sabre Systems
9.00%
13
2-Very Good
Rating
3-18
Investment Restrictions
• No more than 25% can be invested in
any single company.
• At least 50% should be invested in
long-term bonds (maturing in 10+
years).
• No more than 35% can be invested in
DynaStar, Eagle Vision, and OptiPro.
3-19
Defining the Decision Variables
X1 = amount of money to invest in Acme Chemical
X2 = amount of money to invest in DynaStar
X3 = amount of money to invest in Eagle Vision
X4 = amount of money to invest in MicroModeling
X5 = amount of money to invest in OptiPro
X6 = amount of money to invest in Sabre Systems
3-20
Defining the Objective Function
Maximize the total
annual investment return:
MAX: .0865X1+ .095X2+ .10X3+ .0875X4+ .0925X5+ .09X6
3-21
Defining the Constraints
• Total amount is invested
X1 + X2 + X3 + X4 + X5 + X6 = 750,000
• No more than 25% in any one investment
Xi <= 187,500, for all i
• 50% long term investment restriction.
X1 + X2 + X4 + X6 >= 375,000
• 35% Restriction on DynaStar, Eagle Vision, and
OptiPro.
X2 + X3 + X5 <= 262,500
• Nonnegativity conditions
Xi >= 0 for all i
3-22
Implementing the Model
See file Fig2-3.xls
3-23
A Transportation Problem: Tropicsun
Supply
Groves
Distances (in miles)
Capacity
21
Mt. Dora
275,000
Processing
Plants
1
50
Ocala
4
200,000
40
35
400,000
30
Eustis
2
Orlando
600,000
5
22
55
20
Clermont
300,000
3
25
Leesburg
6
225,000
3-24
Defining the Decision Variables
Xij = # of bushels shipped from node i to node j
Specifically, the nine decision variables are:
X14 = # of bushels shipped from Mt. Dora (node 1) to Ocala (node 4)
X15 = # of bushels shipped from Mt. Dora (node 1) to Orlando (node 5)
X16 = # of bushels shipped from Mt. Dora (node 1) to Leesburg (node 6)
X24 = # of bushels shipped from Eustis (node 2) to Ocala (node 4)
X25 = # of bushels shipped from Eustis (node 2) to Orlando (node 5)
X26 = # of bushels shipped from Eustis (node 2) to Leesburg (node 6)
X34 = # of bushels shipped from Clermont (node 3) to Ocala (node 4)
X35 = # of bushels shipped from Clermont (node 3) to Orlando (node 5)
X36 = # of bushels shipped from Clermont (node 3) to Leesburg (node 6)
3-25
Defining the Objective Function
Minimize the total number of bushel-miles.
MIN: 21X14 + 50X15 + 40X16 +
35X24 + 30X25 + 22X26 +
55X34 + 20X35 + 25X36
3-26
Defining the Constraints
• Capacity constraints
X14 + X24 + X34 <= 200,000
X15 + X25 + X35 <= 600,000
X16 + X26 + X36 <= 225,000
} Ocala
} Orlando
} Leesburg
• Supply constraints
X14 + X15 + X16 = 275,000
X24 + X25 + X26 = 400,000
X34 + X35 + X36 = 300,000
} Mt. Dora
} Eustis
} Clermont
• Nonnegativity conditions
Xij >= 0 for all i and j
3-27
Implementing the Model
See file Fig2-4.xls
3-28
A Blending Problem:The Agri-Pro Company
• Agri-Pro has received an order for 8,000 pounds of
chicken feed to be mixed from the following feeds.
Percent of Nutrient in
Nutrient
Feed 1
Feed 2
Feed 3
Feed 4
Corn
30%
5%
20%
10%
Grain
10%
30%
15%
10%
Minerals
20%
20%
20%
30%
Cost per pound
$0.25
$0.30
$0.32
$0.15
• The order must contain at least 20% corn, 15%
grain, and 15% minerals.
3-29
Defining the Decision Variables
X1 = pounds of feed 1 to use in the mix
X2 = pounds of feed 2 to use in the mix
X3 = pounds of feed 3 to use in the mix
X4 = pounds of feed 4 to use in the mix
3-30
Defining the Objective Function
Minimize the total cost of filling the order.
MIN:
0.25X1 + 0.30X2 + 0.32X3 + 0.15X4
3-31
Defining the Constraints
• Produce 8,000 pounds of feed
X1 + X2 + X3 + X4 = 8,000
• Mix consists of at least 20% corn
(0.3X1 + 0.05X2 + 0.2X3 + 0.1X4)/8000 >= 0.2
• Mix consists of at least 15% grain
(0.1X1 + 0.3X2 + 0.15X3 + 0.1X4)/8000 >= 0.15
• Mix consists of at least 15% minerals
(0.2X1 + 0.2X2 + 0.2X3 + 0.3X4)/8000 >= 0.15
• Nonnegativity conditions
X1, X2, X3, X4 >= 0
3-32
A Comment About Scaling
• Notice the coefficient for X2 in the ‘corn’
constraint is 0.05/8000 = 0.00000625
• As Solver runs, intermediate calculations are
made that make coefficients larger or smaller.
• Storage problems may force the computer to
use approximations of the actual numbers.
• Such ‘scaling’ problems sometimes prevents
Solver from being able to solve the problem
accurately.
• Most problems can be formulated in a way to
minimize scaling errors...
3-33
Re-Defining the Decision Variables
X1 = thousands of pounds of feed 1 to use in the mix
X2 = thousands of pounds of feed 2 to use in the mix
X3 = thousands of pounds of feed 3 to use in the mix
X4 = thousands of pounds of feed 4 to use in the mix
3-34
Re-Defining the Objective Function
Minimize the total cost of filling the order.
MIN:
250X1 + 300X2 + 320X3 + 150X4
3-35
Re-Defining the Constraints
• Produce 8,000 pounds of feed
X1 + X2 + X3 + X4 = 8
• Mix consists of at least 20% corn
(0.3X1 + 0.05X2 + 0.2X3 + 0.1X4)/8 >= 0.2
• Mix consists of at least 15% grain
(0.1X1 + 0.3X2 + 0.15X3 + 0.1X4)/8 >= 0.15
• Mix consists of at least 15% minerals
(0.2X1 + 0.2X2 + 0.2X3 + 0.3X4)/8 >= 0.15
• Nonnegativity conditions
X1, X2, X3, X4 >= 0
3-36
Scaling: Before and After
• Before:
– Largest constraint coefficient was 8,000
– Smallest constraint coefficient was
0.05/8 = 0.00000625.
• After:
– Largest constraint coefficient is 8
– Smallest constraint coefficient is
0.05/8 = 0.00625.
• The problem is now more evenly scaled!
3-37
The Assume Linear Model Option
• The Solver Options dialog box has an option
labeled “Assume Linear Model”.
• This option makes Solver perform some tests to
verify that your model is in fact linear.
• These test are not 100% accurate & may fail as a
result of a poorly scaled model.
• If Solver tells you a model isn’t linear when you
know it is, try solving it again. If that doesn’t
work, try re-scaling your model.
3-38
Implementing the Model
See file Fig2-5.xls
3-39
A Production Planning Problem:
The Upton Corporation
• Upton is planning the production of their heavy-duty air
compressors for the next 6 months.
1
2
3
Unit Production Cost
$240
$250
Units Demanded
1,000
Maximum Production
Minimum Production
•
•
•
•
Month
4
5
6
$265
$285
$280
$260
4,500
6,000
5,500 3,500
4,000
4,000
3,500
4,000
4,500 4,000
3,500
2,000
1,750
2,000
2,250 2,000
1,750
Beginning inventory = 2,750 units
Safety stock = 1,500 units
Unit carrying cost = 1.5% of unit production cost
Maximum warehouse capacity = 6,000 units
3-40
Defining the Decision Variables
Pi = number of units to produce in month i, i=1
to 6
Bi = beginning inventory month i, i=1 to 6
3-41
Defining the Objective Function
Minimize the total cost production
& inventory costs.
MIN: 240P1+250P2+265P3+285P4+280P5+260P6
+ 3.6(B1+B2)/2 + 3.75(B2+B3)/2 + 3.98(B3+B4)/2
+ 4.28(B4+B5)/2 + 4.20(B5+ B6)/2 + 3.9(B6+B7)/2
Note: The beginning inventory in any month is the
same as the ending inventory in the previous month.
3-42
Defining the Constraints - I
• Production levels
2,000 <= P1 <= 4,000 } month 1
1,750 <= P2 <= 3,500 } month 2
2,000 <= P3 <= 4,000 } month 3
2,250 <= P4 <= 4,500 } month 4
2,000 <= P5 <= 4,000 } month 5
1,750 <= P6 <= 3,500 } month 6
3-43
Defining the Constraints - II
• Ending Inventory (EI = BI + P - D)
1,500 < B1 + P1 - 1,000 < 6,000 } month 1
1,500 < B2 + P2 - 4,500 < 6,000 } month 2
1,500 < B3 + P3 - 6,000 < 6,000 } month 3
1,500 < B4 + P4 - 5,500 < 6,000 } month 4
1,500 < B5 + P5 - 3,500 < 6,000 } month 5
1,500 < B6 + P6 - 4,000 < 6,000 } month 6
3-44
Defining the Constraints - III
• Beginning Balances
B1 = 2750
B2 = B1 + P1 - 1,000
B3 = B2 + P2 - 4,500
B4 = B3 + P3 - 6,000
B5 = B4 + P4 - 5,500
B6 = B5 + P5 - 3,500
B7 = B6 + P6 - 4,000
Notice that the Bi
can be computed
directly from the
Pi. Therefore,
only the Pi need
to be identified
as changing
cells.
3-45
Implementing the Model
See file Fig2-6.xls
3-46
A Multi-Period Cash Flow Problem:
The Taco-Viva Sinking Fund - I
• Taco-Viva needs a sinking fund to pay $800,000 in
building costs for a new restaurant in the next 6 months.
• Payments of $250,000 are due at the end of months 2
and 4, and a final payment of $300,000 is due at the end
of month 6.
• The following investments may be used.
Investment
A
B
C
D
Available in Month Months to Maturity Yield at Maturity
1, 2, 3, 4, 5, 6
1
1.8%
1, 3, 5
2
3.5%
1, 4
3
5.8%
1
6
11.0%
3-47
Summary of Possible Cash Flows
Cash Inflow/Outflow at the Beginning of Month
Investment
1
2
3
4
5
6
7
A1
-1
1.018
B1
-1 <_____> 1.035
C1
-1 <_____> <_____> 1.058
D1
-1 <_____> <_____> <_____> <_____> <_____> 1.11
A2
-1
1.018
A3
-1
1.018
B3
-1 <_____> 1.035
A4
-1
1.018
C4
-1 <_____> <_____> 1.058
A5
-1
1.018
B5
-1 <_____> 1.035
A6
-1
1.018
Req’d Payments $0
$0
$250
$0
$250
$0
$300
3-48
(in $1,000s)
Defining the Decision Variables
Ai = amount (in $1,000s) placed in investment A at
the beginning of month i=1, 2, 3, 4, 5, 6
Bi = amount (in $1,000s) placed in investment B at
the beginning of month i=1, 3, 5
Ci = amount (in $1,000s) placed in investment C at
the beginning of month i=1, 4
Di = amount (in $1,000s) placed in investment D at
the beginning of month i=1
3-49
Defining the Objective Function
Minimize the total cash invested in month 1.
MIN: A1 + B1 + C1 + D1
3-50
Defining the Constraints
• Cash Flow Constraints
1.018A1 – 1A2 = 0
} month 2
1.035B1 + 1.018A2 – 1A3 – 1B3 = 250 } month 3
1.058C1 + 1.018A3 – 1A4 – 1C4 = 0 } month 4
1.035B3 + 1.018A4 – 1A5 – 1B5 = 250 } month 5
1.018A5 –1A6 = 0
} month 6
1.11D1 + 1.058C4 + 1.035B5 + 1.018A6 = 300 } month 7
• Nonnegativity Conditions
Ai, Bi, Ci, Di >= 0, for all i
3-51
Implementing the Model
See file Fig2-7.xls
3-52
Risk Management:
The Taco-Viva Sinking Fund - II
• Assume the CFO has assigned the following risk ratings to
each investment on a scale from 1 to 10 (10 = max risk)
Investment
A
B
C
D
Risk Rating
1
3
8
6
• The CFO wants the weighted average risk to not exceed 5.
3-53
Defining the Constraints
• Risk Constraints
1A1 + 3B1 + 8C1 + 6D1
A1 + B1 + C1 + D1
1A2 + 3B1 + 8C1 + 6D1
A2 + B1 + C1 + D1
1A3 + 3B3 + 8C1 + 6D1
A3 + B3 + C1 + D1
1A4 + 3B3 + 8C4 + 6D1
A4 + B3 + C4 + D1
1A5 + 3B5 + 8C4 + 6D1
A5 + B5 + C4 + D1
1A6 + 3B5 + 8C4 + 6D1
A6 + B5 + C4 + D1
<5
} month 1
<5
} month 2
<5
} month 3
<5
} month 4
<5
} month 5
<5
} month 6
3-54
An Alternate Version of the Risk Constraints
• Equivalent Risk Constraints
-4A1 – 2B1 + 3C1 + 1D1 < 0 } month 1
-2B1 + 3C1 + 1D1 – 4A2 < 0 } month 2
3C1 + 1D1 – 4A3 – 2B3 < 0 } month 3
1D1 – 2B3 – 4A4 + 3C4 < 0 } month 4
1D1 + 3C4 – 4A5 – 2B5 < 0 } month 5
1D1 + 3C4 – 2B5 – 4A6 < 0 } month 6
Note that each
coefficient is equal
to the risk factor
for the investment
minus 5 (the max.
allowable
weighted average
risk).
3-55
Implementing the Model
See file Fig2-8.xls
3-56
Data Envelopment Analysis (DEA):
Steak & Burger
• Steak & Burger needs to evaluate the performance
(efficiency) of 12 units.
• Outputs for each unit (Oij) include measures of: Profit,
Customer Satisfaction, and Cleanliness
• Inputs for each unit (Iij) include: Labor Hours, and
Operating Costs
• The “Efficiency” of unit i is defined as follows:
nO
Weighted sum of unit i’s outputs
Weighted sum of unit i’s inputs
nO
 Oij w j
j 1
nI
I v
=
j 1
ij j
 Oij w j
j 1
nI
 I ij v j
j 1
3-57
Defining the Decision Variables
wj = weight assigned to output j
vj = weight assigned to input j
A separate LP is solved for each unit, allowing each
unit to select the best possible weights for itself.
3-58
Defining the Objective Function
Maximize the weighted output for unit i :
nO
MAX:  Oij w j
nO
 Oij w j
j 1
j 1
3-59
Defining the Constraints
• Efficiency cannot exceed 100% for any unit
nO
nI
j 1
j 1
 Okj w j   I kj v j , k  1 to the number of units
• Sum of weighted inputs
for unit i must equal 1

nO n I
nI
j 1 j 1
I ij v j  1
 I ij v j  1
j 1
• Nonnegativity Conditions
wj, vj >= 0, for all j
3-60
Important Point
When using DEA, output variables should be
expressed on a scale where “more is better”
and input variables should be expressed on a
scale where “less is better”.
3-61
Implementing the Model
See file Fig2-9.xls
3-62
End of Chapter 2
3-63