Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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;

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote