mexss.gms : Mexico Steel - Small Static


A simplified representation of the Mexican steel sector is used
to introduce a process industry production and distribution
scheduling problem.

Small Model of Type : LP

Category : GAMS Model library

Main file : mexss.gms

$title Mexico Steel - Small Static (MEXSS,SEQ=15)

A simplified representation of the Mexican steel sector is used
to introduce a process industry production and distribution
scheduling problem.

Kendrick, D, Meeraus, A, and Alatorre, J, The Planning of Investment
Programs in the Steel Industry. The Johns Hopkins University Press,
Baltimore and London, 1984.

A scanned version of this out-of-print book is accessible at

Keywords: linear programming, production problem, distribution problem, scheduling,
          micro economics, steel industry

$sTitle Set Definitions
   i     'steel plants'          / ahmsa      'altos hornos - monclova'
                                   fundidora  'monterrey'
                                   sicartsa   'lazaro cardenas'
                                   hylsa      'monterrey'
                                   hylsap     'puebla'                  /
   j     'markets'               / mexico-df, monterrey, guadalaja /
   c     'commodities'           / pellets    'iron ore pellets - tons'
                                   coke       'tons'
                                   nat-gas    'natural gas - 1000 n cubic meters'
                                   electric   'electricity - mwh'
                                   scrap      'tons'
                                   pig-iron   'molten pig iron - tons'
                                   sponge     'sponge iron - tons'
                                   steel      'tons'                   /
   cf(c) 'final products'        / steel /
   ci(c) 'intermediate products' / sponge, pig-iron /
   cr(c) 'raw materials'         / pellets, coke, nat-gas, electric, scrap /
   p     'processes'             / pig-iron   'pig iron production from pellets'
                                   sponge     'sponge iron production'
                                   steel-oh   'steel production: open hearth'
                                   steel-el   'steel production: electric furnace'
                                   steel-bof  'steel production: bof'   /
   m     'productive units'      / blast-furn 'blast furnaces'
                                   openhearth 'open hearth furnaces'
                                   bof        'basic oxygen converters'
                                   direct-red 'direct reduction units'
                                   elec-arc   'electric arc furnaces'   /;

$sTitle Model Parameters
Table a(c,p) 'input-output coefficients'
            pig-iron    sponge  steel-oh  steel-el  steel-bof
   pellets     -1.58     -1.38
   coke         -.63
   nat-gas                -.57
   electric                                   -.58
   scrap                            -.33                 -.12
   pig-iron     1.0                 -.77                 -.95
   sponge                 1.0                -1.09
   steel                            1.0       1.0         1.0;

Table b(m,p) 'capacity utilization'
              pig-iron  sponge  steel-oh  steel-el  steel-bof
   blast-furn      1.0
   openhearth                        1.0
   bof                                                    1.0
   direct-red              1.0
   elec-arc                                    1.0           ;

Table k(m,i) 'capacities of productive units (mill tpy)'
               ahmsa  fundidora  sicartsa  hylsa  hylsap
   blast-furn   3.25       1.40      1.10
   openhearth   1.50        .85
   bof          2.07       1.50      1.30
   direct-red                                .98    1.00
   elec-arc                                 1.13     .56;

   dt  'total demand for final goods in 1979 (million tons)' /  5.209 /
   rse 'raw steel equivalence                     (percent)' / 40     /;

   d(c,j) 'demand for steel in 1979 (mill tpy)'
   dd(j)  'distribution of demand' / mexico-df 55, monterrey 30, guadalaja 15 /;

d("steel",j) = dt * (1 + rse/100) * dd(j)/100;

Table rd(*,*) 'rail distances from plants to markets (km)'
             mexico-df  monterrey  guadalaja    export
   ahmsa          1204        218       1125       739
   fundidora      1017                  1030       521
   sicartsa        819       1305        704
   hylsa          1017                  1030       521
   hylsap          185       1085        760       315
   import          428        521        300          ;

   muf(i,j) 'transport rate: final products(us$ per ton)'
   muv(j)   'transport rate: imports       (us$ per ton)'
   mue(i)   'transport rate: exports       (us$ per ton)';

muf(i,j) = ( 2.48 + .0084*rd(i,j))       $rd(i,j);
muv(j)   = ( 2.48 + .0084*rd("import",j))$rd("import",j);
mue(i)   = ( 2.48 + .0084*rd(i,"export"))$rd(i,"export");

Table prices(c,*) 'product prices (us$ per unit)'
              domestic  import  export
   pellets        18.7
   coke           52.17
   nat-gas        14.0
   electric       24.0
   scrap         105.0
   steel                   150.   140.;

   pd(c) 'domestic prices(us$ per unit)'
   pv(c) 'import prices  (us$ per unit)'
   pe(c) 'export prices  (us$ per unit)'
   eb    'export bound       (mill tpy)';

pd(c) = prices(c,"domestic");
pv(c) = prices(c,"import");
pe(c) = prices(c,"export");
eb    = 1.0;

$sTitle Model Definition
   z(p,i)   'process level                             (mill tpy)'
   x(c,i,j) 'shipment of final products                (mill tpy)'
   u(c,i)   'purchase of domestic materials (mill units per year)'
   v(c,j)   'imports                                   (mill tpy)'
   e(c,i)   'exports                                   (mill tpy)'
   phi      'total cost                                (mill us$)'
   phipsi   'raw material cost                         (mill us$)'
   philam   'transport cost                            (mill us$)'
   phipi    'import cost                               (mill us$)'
   phieps   'export revenue                            (mill us$)';

Positive Variable z, x, u, v, e;

   mbf(c,i) 'material balances: final products (mill tpy)'
   mbi(c,i) 'material balances: intermediates  (mill tpy)'
   mbr(c,i) 'material balances: raw materials  (mill tpy)'
   cc(m,i)  'capacity constraint               (mill tpy)'
   mr(c,j)  'market requirements               (mill tpy)'
   me(c)    'maximum export                    (mill tpy)'
   obj      'accounting: total cost            (mill us$)'
   apsi     'accounting: raw material cost     (mill us$)'
   alam     'accounting: transport cost        (mill us$)'
   api      'accounting: import cost           (mill us$)'
   aeps     'accounting: export cost           (mill us$)';

mbf(cf,i)..  sum(p, a(cf,p)*z(p,i)) =g= sum(j, x(cf,i,j)) + e(cf,i);

mbi(ci,i)..  sum(p, a(ci,p)*z(p,i)) =g= 0;

mbr(cr,i)..  sum(p, a(cr,p)*z(p,i)) + u(cr,i) =g= 0;

cc(m,i)..    sum(p, b(m,p)*z(p,i)) =l= k(m,i);

mr(cf,j)..   sum(i, x(cf,i,j)) + v(cf,j) =g= d(cf,j);

me(cf)..     sum(i, e(cf,i)) =l= eb;

obj..        phi      =e= phipsi + philam + phipi - phieps;

apsi..       phipsi   =e= sum((cr,i), pd(cr)*u(cr,i));

alam..       philam   =e=   sum((cf,i,j), muf(i,j)*x(cf,i,j))
                          + sum((cf,j),   muv(j)*v(cf,j))
                          + sum((cf,i),   mue(i)*e(cf,i));

api..        phipi    =e= sum((cf,j), pv(cf)*v(cf,j));

aeps..       phieps   =e= sum((cf,i), pe(cf)*e(cf,i));

Model mexss 'small static problem' / all /;

solve mexss using lp minimizing phi;