ferts.gms : Egypt - Static Fertilizer Model

Description

A simple production and distribution model of the Egyptian fertilizer
sector for the year 1975. This model was mainly used for data and
model validation purposes.

Reference

  • Choksi, A M, Meeraus, A, and Stoutjesdijk, A J, The Planning of Investment Programs in the Fertilizer Industry. The John Hopkins University Press, Baltimore and London, 1980.

Large Model of Type : LP


Category : GAMS Model library


Main file : ferts.gms

$Title EGYPT - Static Fertilizer Model  (FERTS,SEQ=13)

$Stitle Set Definitions

$Ontext

A simple production and distribution model of the Egyptian fertilizer
sector for the year 1975. This model was mainly used for data and
model validation purposes.


Choksi, A M, Meeraus, A, and Stoutjesdijk, A, The Planning of Investment
Programs in the Fertilizer Industry. The John Hopkins University Press,
Baltimore and London, 1980.

$Offtext


 Set i          plant locations  /

                aswan
                helwan
                assiout
                kafr-el-zt
                abu-zaabal      /

     j          demand regions    /

                alexandria      alexandria
                behera          damanhur
                gharbia         tanta
                kafr-el-sh      kare el-sheikh
                dakahlia        el mansura

                damietta        damietta
                sharkia         zagazig
                ismailia        ismailia
                suez            suez
                menoufia        shibin el kom

                kalubia         benha
                giza            giza
                beni-suef       beni-suef
                fayoum          el-fayoum
                minia           el-minia

                assiout         assoiut
                new-valley      el kharga
                sohag           sohag
                quena           quena
                aswan           aswan     /

     m          productive units          /

                sulf-a-s    sulfuric acid: sulfur
                sulf-a-p    sulfuric acid: pyrites
                nitr-acid   nitric acid
                amm-elec    ammonia: water electrolysis
                amm-c-gas   ammonia: coke gas
                c-amm-nitr  calcium ammonium nitrate
                amm-sulf    ammonium sulfate
                ssp         single superphosphate      /

     p          processes       /

                sulf-a-s    sulfuric acid: sulfur
                sulf-a-p    sulfuric acid: pyrites
                nitr-acid   nitric acid
                amm-elec    ammonia: water electrolysis
                amm-c-gas   ammonia: coke gas
                can-310     calcium ammonium nitrate: 31.0 %
                can-335     calcium ammonium nitrate: 33.5 %
                amm-sulf    ammonium sulfate
                ssp-155     single superphosphate: 15.5 %   /

     cq         nutrients        /

                n           nitrogen
                p2o5        phosphorus /

     c          commodities /

                urea
                can-260     calcium ammonium nitrate: 26.0 %
                can-310     calcium ammonium nitrate: 31.0 %
                can-335     calcium ammonium nitrate: 33.5 %
                amm-sulf    ammonium phosphate
                dap         diammonium phosphate
                ssp-155     single superphosphate: 15.5 %
                c-250-55    compound 25-5.5-0
                c-300-100   compound 30-10-0

                ammonia
                nitr-acid   nitric acid
                sulf-acid   sulfuric acid
                el-aswan    electricity from aswan dam
                coke-gas    coke-oven gas
                phos-rock   phosphate rock

                limestone
                el-sulfur   elemental sulfur
                pyrites
                electric    electricity
                bf-gas      blast-furnace gas
                water       cooling water
                steam
                bags                         /

     cf(c)      final product                / urea, can-260, can-310, can-335
                                               dap, ssp-155, c-250-55, c-300-100, amm-sulf /

     ci(c)      intermediate products        / ammonia, nitr-acid, sulf-acid /

     cs(c)      intermediates for shipment   / ammonia, sulf-acid /

     cr(c)      domestic raw materials and miscellaneous inputs   / el-aswan , coke-gas , phos-rock, limestone
                                                                    el-sulfur, pyrites  , electric , bf-gas
                                                                    water    , steam    , bags     , sulf-acid /

   Alias (i,ip);


$Stitle Consumption and Demand Data

 Table cf75(j,c)    fertilizer consumption 1974-75 (1000 tpy)

              amm-sulf  urea  can-260  can-310  can-335  dap  ssp-155  c-250-55  c-300-100

  alexandria      3.0    1.0                       5.0           8.0
  behera         90.0   35.0     1.0              25.0    .1    64.0      1.0         .1
  gharbia        60.0   28.0                      17.0    .1    57.0      1.0         .2
  kafr-el-sh     45.0   22.0     1.0              10.0          25.0      2.0         .1
  dakahlia       60.0   20.0     1.0              26.0          52.0      1.0
  damietta       15.0    8.0                       2.0           5.0
  sharkia        50.0   28.0     1.0              31.0          43.0      1.0         .1
  ismailia        6.0    2.0                       4.0           4.0
  suez                                             1.0           1.0
  menoufia       21.0   30.0     1.0              24.0    .1    33.0      2.0         .1
  kalubia        16.0    7.0                      25.0    .1    22.0      1.0
  giza            6.0    2.0                      40.0          14.0      1.0         .1
  beni-suef       1.0   20.0     1.0              15.0          13.0      3.0
  fayoum          6.0   20.0     1.0              20.0          17.0      1.0
  minia           1.0   41.0     2.0     15.0     35.0    .1    50.0      3.0         .2
  assiout         1.0   27.0     1.0     20.0     26.0          35.0      5.0         .1
  new-valley             1.0                                     1.0
  sohag                  7.0             65.0      3.0          20.0      1.0
  quena                  3.0             95.0      2.0           8.0
  aswan                                  40.0                    8.0


 Table  alpha(c,cq)    nutrient content

               n       p2o5

 urea         .46
 can-260      .26
 can-310      .31
 can-335      .335
 amm-sulf     .206
 dap          .18       .46
 ssp-155                .155
 c-250-55     .25       .055
 c-300-100    .30       .10

 Parameters cn75(*,cq)    consumption of nutrients 1974-75 (1000 tpy) ;

  cn75(j,cq)       = sum(cf, alpha(cf,cq)*cf75(j,cf));
  cn75("total",cq) = sum(j, cn75(j,cq));

 Display cn75;


$Stitle Transportation Data

 Table road(j,*)  road distances (km)

              abu-kir  kafr-el-zt  talkha  abu-zaabal  helwan    assiout  aswan

  alexandria      16        119       187      210       244        607    1135
  behera          76         42       120       50       184        547    1065
  gharbia        150         20        55       65       122        485    1003
  kafr-el-sh     145         20        35      105       162        525    1043
  dakahlia       208         58         3      138       152        515    1033
  damietta       267        131        66      216       233        596    1114
  sharkia        240         78        58       60       110        473     991
  ismailia       365        241       146      142       173        536    1054
  suez           370        246       298      224       178        541    1059
  menoufia       157         33        90      154       109        472     990
  kalubia        190         66        81       97        76        439     957
  giza           287        133       146       48         9        372     890
  beni-suef      359        248       261      163       105        257     775
  fayoum         341        230       243      145        88        308     826
  minia          384        372       386      288       230        132     650
  assiout        616        504       518      420       362                518
  new-valley     815        703       717      619       561        199     519
  sohag          715        603       617      519       461         99     419
  quena          858        746       760      662       604        242     276
  aswan         1134       1022      1036      938       880        518

$Eject

 Table rail(i,i)   interplant rail distances (kms)

             kafr-el-zt  abu-zaabal  helwan  assiout  aswan
 abu-zaabal     85
 helwan        142            57
 assiout       504           420      362
 aswan        1022           938     880       518


 Table impd(i,*)  import distances (kms)

               barge      road

 kafr-el-zt      104         6
 abu-zaabal      210        .1
 helwan          183
 assiout         583
 aswan          1087        10


 Parameters muf(i,j)   transport cost (le per ton): final products
            mufv(j)    transport cost (le per ton): imported final products
            mui(i,i)   transport cost (le per ton): interplant shipment
            mur(i)     transport cost (le per ton): imported raw materials ;

   rail(i,ip) = rail(i,ip) + rail(ip,i);
   road(j,"import-pts") = road (j,"abu-kir");

   muf(i,j)    = ( .5 + .0144*road(j,i)            )$road(j,i);
   mufv(j)     = ( .5 + .0144*road(j,"import-pts") )$road(j,"import-pts");
   mui(i,ip)   = (3.5 + .0300*rail(i,ip)           )$rail(i,ip);
   mur(i)      = (1.0 + .0030*impd(i,"barge")      )$impd(i,"barge")
               + ( .5 + .0144*impd(i,"road" )      )$impd(i,"road ");

 Display muf,mufv,mui,mur;

$stitle technology data

 Table a(c,p)  input-output coefficients

             sulf-a-s  sulf-a-p  nitr-acid  amm-elec  amm-c-gas

 el-aswan                                     -12.0
 coke-gas                                                -2.0
 pyrites                  -.826
 el-sulfur    -.334
 sulf-acid    1.0         1.0
 ammonia                            -.292      1.0       1.0
 nitr-acid                          1.0

 electric     -50         -75       -231                 -1960
 bf-gas                                                   -609
 water         -20        -60       -.6                   -700
 steam                                                      -4

    +       ssp-155  can-310  can-335  amm-sulf

 phos-rock    -.62
 sulf-acid    -.41                       -.76
 ammonia               -.20     -.21     -.26
 nitr-acid             -.71     -.76
 limestone             -.12     -.04
 ssp-155      1.0
 can-310               1.0
 can-335                        1.0
 amm-sulf                                 1.0

 bags       -22.      -23.    -23.      -22.
 water       -6.      -49.    -49.      -17.
 electric   -14.                        -19.
 steam                  -.4    -.4


 Table b(m,p)  capacity utilization coefficients

             sulf-a-s  sulf-a-p  nitr-acid  amm-elec  amm-c-gas   ssp-155  can-310  can-335  amm-sulf

 sulf-a-s        1
 sulf-a-p                  1
 nitr-acid                           1
 amm-elec                                       1
 amm-c-gas                                                 1
 ssp                                                                  1
 c-amm-nitr                                                                    1        1
 amm-sulf                                                                                       1

$Stitle prices

 Parameter pv(c)   import prices (cif us$ per ton 1975)   /

 pyrites       17.5
 el-sulfur     55

 urea         150
 can-260       75
 can-310       90
 can-335      100
 amm-sulf      75
 dap          175
 ssp-155       80
 c-250-55     100
 c-300-100    130
                                                          /

 Table pd(i,c)   domestic raw material prices

            limestone  coke-gas  el-aswan  phos-rock    sulf-acid
*              le/ton  le/mncf     le/mwh     le/ton      le/ton

 kafr-el-zt                                      5.0
 abu-zaabal                                      4.0
 helwan           1.2       16                              3
 assiout                                         3.5
 aswan            1.2                 1


 Parameter pmisc(c)   miscellanous material costs   /

$maxcol 17
 electric  .007   le/kwh
 bf-gas    .0075  le/cm
 water     .031   le/cm
 steam    1.25    le/ton
 bags      .28    le/unit
$maxcol 120
                                             /;


  pd(i,cr)$pmisc(cr) = pmisc(cr);

 Display pd;

 Parameter nh3; nh3("ammonia","helwan") = 31;

$Stitle capacity data
$Eject

 Table dcap(i,m) design capacity of plants (t per day)

             sulf-a-s  sulf-a-p  nitr-acid  amm-elec  amm-c-gas   ssp   c-amm-nitr  amm-sulf

 aswan                             800         450                         1100
 helwan                            282                   172                364        24
 kafr-el-zt    200        50                                      600
 assiout       250                                                600
 abu-zaabal    242       227                                      600


 Parameter k(m,i)  initial capacity (1000 tpy); k(m,i) = .33*dcap(i,m);

 Scalars er   exchange rate   / .4 /
         util utilization     / na /;

 Sets  mpos(m,i)     productive units possibilities
       ppos(p,i)     process possibilities
       cpos(c,i)     commodity possibilities
       cposp(c,i)    commodity production possibilities
       cposn(c,i)    commodity consumption possibilities
       cposi(c,i,i)  commodity consumption and production possibilities: interplant
       cposd(c,i)    domestic raw material purchase possibilities
       cposr(c,i)    imported input commidity possibilities;

    mpos (m,i)                = yes$k(m,i);
    ppos (p,i)                = yes$(sum(m$(not mpos(m,i)), b(m,p) ne 0) eq 0) ;
    ppos ("can-310","helwan") = no;
    ppos ("can-335","aswan")  = no;
    cposp(c,i)                = yes$sum(p$ppos(p,i), a(c,p) gt 0) ;
    cposn(c,i)                = yes$sum(p$ppos(p,i), a(c,p) lt 0) ;
    cposi(cs,i,ip)            = cposp(cs,i)*cposn(cs,ip);
    cposd(cr,i)               = yes$(cposn(cr,i)$pd(i,cr));
    cposr(cr,i)               = yes$(cposn(cr,i)$pv(cr));
    cpos(c,i)                 = cposp(c,i) + cposn(c,i) ;

 Display mpos, ppos, cposp, cposn, cpos , cposi, cposd, cposr;

$Stitle equations

 Variables  z(p,i)       process level                              (1000 tpy)
            xf(c,i,j)    domestic shipment activity: final products (1000 tpy)
            xi(c,i,i)    domestic shipment activity: intermediates  (1000 tpy)
            vf(c,j)      imports: final products                    (1000 tpy)
            vr(c,i)      imports: raw materials                     (1000 tpy)
            u(c,i)       domestic raw material purchases               (units)

            psi          discounted total cost                       (1000 le)
            psip         domestic recurrent cost            (1000 le per year)
            psil         transport cost                     (1000 le per year)
            psii         import cost                        (1000 le per year)

 Positive Variables      zl, xf, xi, vf, vr, u

 Equations  obj          objective function                   (1000 le discounted)
            mbd(cq,j)    material balance on demand: nutrient           (1000 tpy)
            mbdb(c,j)    material balance on demand: material           (1000 tpy)
            mb(c,i)      material balance                               (1000 tpy)
            cc(m,i)      capacity constraint                            (1000 tpy)

            ap           accounting: domestic recurrent cost    (1000 le per year)
            al           accounting: transport cost             (1000 le per year)
            ai           accounting: import cost                (1000 le per year);
$Double

 mbd(cq,j)..   sum(cf, alpha(cf,cq)*( sum(i$cposp(cf,i), xf(cf,i,j)) + vf(cf,j)$pv(cf))) =g= cn75(j,cq);

 mbdb(cf,j)$cf75(j,cf)..  sum(i$cposp(cf,i), xf(cf,i,j)) + vf(cf,j)$pv(cf) =g= cf75(j,cf);

 mb(c,i)..  sum(p$ppos(p,i), a(c,p)*z(p,i))
          + sum(ip, xi(c,ip,i)$cposi(c,ip,i) - xi(c,i,ip)$cposi(c,i,ip))
          + vr(c,i)$cposr(c,i) + u(c,i)$cposd(c,i)
          - sum(j$cposp(c,i), xf(c,i,j))$cf(c) =g= 0 ;

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

 obj.. psi =e= psip + psil + psii ;

 ap.. psip =e= sum((cr,i)$cposd(cr,i), pd(i,cr)*u(cr,i));

 al.. psil =e= sum(cf, sum((i,j)$cposp(cf,i), muf(i,j)*xf(cf,i,j)) + sum(j, mufv(j)*vf(cf,j)))
             + sum((cs,i,ip)$cposi(cs,i,ip), mui(i,ip)*xi(cs,i,ip))
             + sum((cr,i)$cposr(cr,i), mur(i)*vr(cr,i));

 ai.. psii/er  =e= sum((cf,j), pv(cf)*vf(cf,j)) + sum((cr,i)$cposr(cr,i), pv(cr)*vr(cr,i));

$single

 Model stat2  / mbdb, mb, cc, obj, ap, al, ai /
       stat4  / mbd, mb, cc, obj, ap, al, ai / ;

* define scenario for scenario 1 as stated in reference: no interplant shipments and capacity utilization of 85%

 xi.fx(cs,i,ip) = 0;
 util = .85;

 Solve stat2 minimizing psi using lp ;

 Parameters rxf(i,j,c)   domestic shipment activity : final products (1000 tpy)
            tds          total domestic supply : final products      (1000 tpy)
            tif          total import : final product                (1000 tpy)
            tl           transportation load                      (1000 ton_km) ;

   rxf(i,j,cf) = xf.l(cf,i,j) ;
           tds = sum((cf,i,j), xf.l(cf,i,j));
           tif = sum((cf,j), vf.l(cf,j));
   tl("rail")  = sum((cs,i,ip), rail(i,ip)*xi.l(cs,i,ip)) ;
   tl("road")  = sum((cr,i), vr.l(cr,i)*impd(i,"road"))
               + sum((cf,i,j), xf.l(cf,i,j)*road(j,i))
               + sum((cf,j), vf.l(cf,j)*road(j,"import-pts"));
   tl("barge") = sum((cr,i), vr.l(cr,i)*impd(i,"barge")) ;

 Display mbdb.lo, mbdb.m, mb.m, cc.up, cc.m, rxf, tds, tif, vf.l, z.l, vr.l, u.l, tl;