$onEmpty

Set i(*) supply /
'seattle', 
'san-diego' /;

Set j(*) markets /
'new-york', 
'chicago', 
'topeka' /;

Parameter a(*) capacity of plant i in cases /
'seattle' 350, 
'san-diego' 600 /;

Parameter b(j) demand at market j in cases /
'new-york' 325, 
'chicago' 300, 
'topeka' 275 /;

Parameter d(i,j) distance in thousands of miles /
'seattle' 'new-york' 2.5, 
'seattle' 'chicago' 1.7, 
'seattle' 'topeka' 1.8, 
'san-diego' 'new-york' 2.5, 
'san-diego' 'chicago' 1.8, 
'san-diego' 'topeka' 1.4 /;

Scalar f freight in dollars per case per thousand miles / 90 /;

Parameter c(i,j) transport cost in thousands of dollars per case /
'seattle' 'new-york' 0.225, 
'seattle' 'chicago' 0.153, 
'seattle' 'topeka' 0.162, 
'san-diego' 'new-york' 0.225, 
'san-diego' 'chicago' 0.162, 
'san-diego' 'topeka' 0.126 /;

positive Variable x(i,j) shipment quantities in cases /
'seattle' 'new-york' L 50, 
'seattle' 'chicago' L 300, 
'seattle' 'topeka' M 0.036, 
'san-diego' 'new-york' L 275, 
'san-diego' 'chicago' M 0.009, 
'san-diego' 'topeka' L 275 /;

free     Variable z total transportation costs in thousands of dollars /L 153.675 /;

Equation cost define objective function /M 1, LO 0, UP 0 /;

Equation supply(i) observe supply limit at plant i /
'seattle' L 350, 
'seattle' LO -Inf, 
'seattle' UP 350, 
'san-diego' L 550, 
'san-diego' LO -Inf, 
'san-diego' UP 600 /;

Equation demand(j) satisfy demand at market j /
'new-york' L 325, 
'new-york' M 0.225, 
'new-york' LO 325, 
'new-york' UP +Inf, 
'chicago' L 300, 
'chicago' M 0.153, 
'chicago' LO 300, 
'chicago' UP +Inf, 
'topeka' L 275, 
'topeka' M 0.126, 
'topeka' LO 275, 
'topeka' UP +Inf /;

$offEmpty
