NODES format

 

If the problem dimensions may depend on past events, then a pathwise description of the problem becomes cumbersome. SMPS allows a node by node construction of the event tree, as shown in this example. A multi-period production and inventory problem is set up, where the number of products depends on previous events. For instance, if the demand for a particular product exceeds a threshold, then a complementary product may be introduced; conversely, if the demand is low, a product may be discontinued. A problem of this type was introduced in Gassmann and Schweitzer[1].

 

 

The algebraic formulation is as follows:

 


 

where   Ht–1 is the history vector, i.e., Ht–1=(s0,…,st–1),

St(Ht–1) is the set of branches in the event tree contingent on observing the history Ht–1,

pt(Ht–1,st) is the probability of observing event sequence (Ht–1,st),

It(Ht–1,st) is the set of products produced during period t under the event sequence (Ht–1,st),

Jt(Ht–1,st) is the set of resources needed for the scheduled production during period t under the event sequence (Ht–1,st),

hit is the cost of dealing with one unsold unit of product i during period t, either holding it in inventory or disposing of it if production ceases.

rit(Ht–1,st) is the revenue of selling one unit of product i during period t under the event sequence (Ht–1,st),

cit(Ht–1,st) is the cost of producing one unit of product i during period t under the event sequence (Ht–1,st),

git(Ht–1,st) is the cost of being short one unit of product i during period t under the event sequence (Ht–1,st),

dit(Ht–1,st) is the observed demand for product i under the event sequence (Ht–1,st),

vi is the storage capacity required to store one unit of product i,

C is the total available storage capacity,

aij is the amount of resource j required to produce one unit of product i,

Mjt(Ht–1,st) is the amount of resource j available in period t under the event sequence (Ht–1,st),

pit(Ht–1,st) is the amount of product i produced in period t under the event sequence (Ht–1,st),

xit(Ht–1,st) is the amount of product i left unsold in period t under the event sequence (Ht–1,st),

yit(Ht–1,st) is the amount of discontinued product i remaining in period t under the event sequence (Ht–1,st),

zit(Ht–1,st) is the amount of product i sold in period t under the event sequence (Ht–1,st),

dit(Ht–1,st) = 0 if product i was newly introduced in period t–1 under the event sequence (Ht–1,st),

                   = 1 if product i was also produced in the previous period.

 

Time file

Core file

Stoch file

MPL file

 

Reference

[1] H.I. Gassmann and E. Schweitzer, “A comprehensive input format for stochastic linear programs”, Annals of Operations Research 104 (2001) 89–125.