AMPL Stochastic Programming: It is late summer in a northern city and the direct
ID: 3773442 • Letter: A
Question
AMPL Stochastic Programming:
It is late summer in a northern city and the director of streets is making decisions regarding the purchase of fuel and salt to be used in snow removal in the approaching winter. If insufficient supplies are purchased before a severe winter, substantially higher prices must be paid to purchase these supplies quickly during the winter. There are two methods of snow removal: plowing or salting. Salting is generally cheaper. However, excess salt after a warm winter must be carried until next winter. On the other hand, excess fuel is readily usable by other city departments, so the penalty for stocking too much fuel is lower. The director of streets classifies a winter as either warm or cold and attaches probabilities 0.4 and 0.6, respectively, to these two possible states of nature.
Daily cost of operating a truck, exclusive of fuel and salt, is $110 in a warm winter and $120 in a cold winter.
Truck fleet has a capacity of 5,000 truck-days during the winter season.
If only plowing is used, then a warm winter will require 3,500 truck-days of snow removal; whereas, a cold winter will require 5,100.
Salting is a more effective use of trucks than plowing. o In a warm winter, one truck salting is equivalent to 1.2 trucks plowing o In a cold winter, one truck salting is equivalent to 1.1 trucks plowing.
Note that in a cold winter, the limited truck capacity implies some salting will be necessary.
A. Develop an AMPL model and Data file
Explanation / Answer
MIN = 70 * BF1 + 20 * BS1 + KW;
-BF1 - BFW + XFW + PW + SW = 0; !(Fuel Usage);
-BS1 - BSW + XSW + SW = 0; !(Salt Usage);
PW + SW < 5000; !(Truck Usage);
PW + 1.2 * SW > 3500; !(Snow Removal);
KW - 73*BFW - 30*BSW + 65*XFW + 15*XSC !(Cost);
- 110 * PW - 110 * SW = 0;
When solved, the solution is:
Objective value: 583333.3
Variable Value Reduced Cost
BF1 2916.667 0.0000000
BS1 2916.667 0.0000000
KW 320833.3 0.0000000
BFW 0.0000000 3.000000
XFW 0.0000000 5.000000
PW 0.0000000 13.33334
SW 2916.667 0.0000000
BSW 0.0000000 10.00000
XSW 0.0000000 5.00000
Row Slack or Surplus Dual Price
1 583333.3 1.000000
2 0.0000000 70.00000
3 0.0000000 20.00000
4 2083.333 0.0000000
5 0.0000000 -166.6667
6 0.0000000 -1.000000
The solution is as you would expect if you knew be
forehand the winter is to be warm: buy
sufficient fuel and salt in the first period to fol
low a “pure salt spreading” policy in the second pe
riod.
No supplies are bought, nor is there any excess in
period 2.
12.4.2 The Cold Winter Solution
The corresponding LP, if we knew the winter would b
e cold, is:
MIN = 70 * BF1 + 20 * BS1 + KC;
-BF1 - BFC + XFC + PC + SC = 0;
-BS1 + SC - BSC + XSC = 0;
PC + SC <= 5000;
PC + 1.1 * SC >= 5100;
KC - 73 * BFC + 65 * XFC - 120 * PC - 120 * SC - 32 * BSC + 15 *
XSC=0;
Here is a sets formulation of the above model:
SETS:
COLD/BF1, BS1, BFC, BSC, XFC, XSC, PC, SC, KC/:
QTY, FUEL, SALT, COST1, COST2, SALV, TRUCKVAL,
PLOWVAL;
ENDSETS
DATA:
COST1 = 70 20 0 0 0 0 0 0 1;
FUEL = -1 0 -1 0 1 0 1 1 0;
SALT = 0 -1 0 -1 0 1 0 1 0;
TRUCKVAL = 0 0 0 0 0 0 1 1 0;
PLOWVAL = 0 0 0 0 0 0 1 1.1 0;
COST2 = 0 0 -73 -32 65 15 -120 -120 1;
ENDDATA
MIN = @SUM( COLD( I): QTY * COST1);
@SUM( COLD( I): QTY * FUEL) = 0;
@SUM( COLD( I): QTY * SALT) = 0;
@SUM( COLD( I): TRUCKVAL * QTY) <= 5000;
@SUM( COLD( I): PLOWVAL * QTY) >= 5100;
@SUM( COLD( I): COST2 * QTY) = 0;
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.