User Tools

Site Tools


gams:schrage_s_snow_removal_problem_stochastic_programming

Schrage's Snow Removal Problem

$TITLE STOCHASTIC PROGRAMMING: SCHRAGE’S SNOW REMOVAL PROBLEM
$offupper offsymxref offsymlist onlisting inlinecom { }
$ontext
Two-Stage Stochastic Programming Problem with Recourse
Source: Linus Schrage, LINDO, 3rd ed., p.140-145
By: Richard E. Rosenthal (Oct 91)
$offtext
SETS
  R consumable resources / FUEL, SALT /
  A activities           / PLOWING, SALTING /
  S states of nature     / WARM, COLD /
  E durable resources    / TRUCK-DAYS /
;
PARAMETER C1(R) cost of buying resources in Stage 1
/
  FUEL 70
  SALT 20
/ ;
TABLE C2(S,R) cost of buying resources in Stage 2
     FUEL SALT
WARM 73     30
COLD 73     32
;
PARAMETER SALV(R) salvage value of resources after Stage 2
/
FUEL 65
SALT 15
/ ;
TABLE OPCOST(S,A) operating cost in Stage 2
     PLOWING   SALTING
WARM     110       110
COLD     120       120
;
TABLE EFF(S,A) efficiency factor for snow removal activity
     PLOWING   SALTING
WARM     1.0       1.2
COLD     1.0       1.1
;
TABLE CON(R,A) consumption rates for snow removal activity
     PLOWING SALTING
FUEL     1.0     1.0
SALT     0.0     1.0
;
PARAMETER DEM(S) demand for snow removal
/
WARM 3500
COLD 5100
/ ;
PARAMETER PROB(S) probability of Stage 2 states of nature
/
WARM 0.4
COLD 0.6
/ ;
PARAMETER SUP(E) equipment supply
/
TRUCK-DAYS 5000
/ ;
POSITIVE VARIABLES
 X1(R)   Stage 1 resource purchases
 X2(S,R) Stage 2 resource purchases under SON s
 Y2(S,A) Stage 2 activities under SON s
 W2(S,R) Stage 2 salvages under SON s
;
FREE VARIABLE
 Z total expected cost ;
EQUATIONS
 BAL(S,R) Stage 2 resource balance under SON s
 EQUIP(S,E) Stage 2 equipment supply under SON s
 DEMAND(S) Stage 2 snow removal demand under SON s
 OBJDEF;

BAL(S,R)..   X1(R) + X2(S,R) =E= W2(S,R) + SUM(A, CON(R,A) * Y2(S,A)) ;
* Purchases = Salvage + Consumption

EQUIP(S,E).. SUM(A, Y2(S,A) ) =L= SUP(E) ;
DEMAND(S)..  SUM(A, EFF(S,A) * Y2(S,A) ) =G= DEM(S) ;
OBJDEF..     SUM( R, C1(R) * X1(R) )
             + SUM( (S,R), PROB(S) * C2(S,R) * X2(S,R) )
             + SUM( (S,A), PROB(S) * OPCOST(S,A) * Y2(S,A) )
             - SUM( (S,R), PROB(S) * SALV(R) * W2(S,R) )
             =E= Z ;
OPTION LIMROW=10, LIMCOL=0, SOLPRINT=ON
MODEL SNOW / ALL / ;
SOLVE SNOW USING LP MINIMIZING Z;
gams/schrage_s_snow_removal_problem_stochastic_programming.txt · Last modified: 2007/10/21 04:33 by franz