korpet.gms : Investment Planning in the Korean Oil-Petro Industry

Description

This problem addresses two questions in the Korean oil refining and
petrochemical industries: a) the optimal time for capacity expansion,
and b) options available to deal with increasingly strict government
anti-pollution regulations. An interesting problem is that due to
inflexibility in production scheduling (as stated) in the petrochemical
sector it is not possible to satisfy market requirements without
producing excess amounts of certain products which then have to be
disposed of.

Reference

  • Suh, J S, An Investment Planning Model for the Oil-Refining and Petro-chemical Industries in Korea. Tech. rep., Center for Economic Research, University of Texas, 1981.

Large Model of Type : MIP


Category : GAMS Model library


Main file : korpet.gms

$Title Korea: Dynamic Oil-Petro Model (KORPET,SEQ=48)
$Stitle Set Definitions

$Ontext

   This problem addresses two questions in the Korean oil refining and
   petrochemical industries: a) the optimal time for capacity expansion,
   and b) options available to deal with increasingly strict government
   anti-pollution regulations. An interesting problem is that due to
   inflexibility in production scheduling (as stated) in the petrochemical
   sector it is not possible to satisfy market requirements without
   producing excess amounts of certain products which then have to be
   disposed of.


Suh, J S, An Investment Planning Model for the Oil-Refining and
Petro-chemical Industries in Korea. Tech. rep., Center for Economic
Research, University of Texas, 1981.

$Offtext


 Set i   plant locations /

         ulsan     kyungsangnamdo
         yosu      chollanamdo
         inchon    kyunggido      /

     j   demand regions   /

         seoul     capital city
         inchon    kyunggido
         kwangju   chollanamdo
         taegu     kyungsangbukdo
         pusan     kyungsangnamdo
         ulsan     kyungsangnamdo
         yosu      chollanamdo      /

     m   productive units   /

         ad        atmospheric distillation unit
         cr        catalytic reformer
         cc        catalytic cracker
         ds        desulfurizer
         sc        steam cracker
         bx        butadiene extractor
         pf        platfiner
         ar        aromatics unit
         hd        hydrodealkylator               /

     p   processes     /

         crad  crude oil atmospheric distillating process
         nacr  naphtha reforming process
         focc  fuel oil catalytic cracking process
         rsds  straight run residuum desulfurizing process
         nasc  naphtha steam cracking process
         btbx  butadine extraction process
         pgpf  raw pyrolysis gas platfining process
         amna  aromatics processing using reformed naphtha
         amtp  aromatics processing using treated pyrolysis gas
         tohd  toluene hydrodealkylating process   /

     c    commodities /

          sa   saudi arabian crude

          adga  gasoline from atmospheric distillation
          adna  naphtha from atmospheric distillation
          adfo  fuel oil from atmospheric distillation
          adke  kerosene from atmospheric distillation
          adrs  residuum from atmospheric distillation
          crna  catalytic reformed naphtha
          crga  catalytic reformed gasoline
          ccga  catalytic cracked gasoline
          ccfo  catalytic cracked fuel oil
          dsrs  desulfurized residuum
          scbt  steam cracked raw c4
          scrp  raw pyrolysis gas from steam cracking
          pftp  treated pyrolysis gas  from platfining

          pg   premium gasoline
          rg   regular gasoline
          di   distillate
          rf   residual fuel oil

          et   ethylene
          pp   propylene
          bt   butadiene
          be   benzene
          to   toluene
          mx   mixed xylene  /

     cfr(c)    final products from refineries             / pg , rg , di , rf /

     cfrerf(c) refinery products except residual fuel oil / pg , rg , di /

     cfrrf(c)  residual fuel oil only                     /  rf /

     cfp(c)    final products from petrochemical plants   / et , pp , bt , be , to , mx /

     ci(c)     intermediate products / adga , adna , adfo , adke , adrs , crna , crga
                                       ccga , ccfo , dsrs , scbt , scrp , pftp /

     cs(c)     interplants shipments / adna , crna /

     cr(c)     raw materials         / sa /

     cb(c)     commodities for blending refinery products / adga , adfo , adke , adrs , crga
                                                            crna , ccga , ccfo , dsrs /

     cfcb(c,c) allowed blending combinations  / (pg,rg).(adga,adna,crga,crna,ccga)
                                                     di.(adke,adfo,ccfo)
                                                     rf.(adfo,ccfo,adrs,dsrs)   /

     crcr(c,c) crude oil combination in processing  / sa.sa   /

     q         quality specification attributes   /  oc   research octane number
                                                     va   vapor pressure
                                                     su   sulfur content (weight percentage) /

     t         time periods      / 1980-84, 1985-89, 1990-94, 1995-99 /

     te(t)     expansion  period / 1985-89, 1990-94, 1995-99 /

     cf(c)     final products from refineries and petrochemical plants

     crcf(c)   raw materials and final products

 Alias (t,tp),(i,ip),(te,tep);

     cf(cfr)=yes;   cf(cfp)=yes;
     crcf(cr)=yes;  crcf(cf)=yes;
 Display cf,crcf;

$Stitle data

 Scalar     year        years per time period             / 5 /
 Parameter  midyear(t)  year which is in the middle of period
            ts(t,t)     time summation matrix ;

 midyear(t) = 1977 + year*ord(t);
 ts(t,tp)$(ord(tp) le ord(t)) = 1;
 Display ts;


 Table a(c,c,p) input-output coefficients

         crad      nacr      focc      rsds

 sa.sa   -1.00
 sa.adga   .04
 sa.adna   .14     -1.00
 sa.adke   .09
 sa.adfo   .18               -1.00
 sa.adrs   .54                         -1.00
 sa.crga             .16
 sa.crna             .56
 sa.ccga                       .51
 sa.ccfo                       .25
 sa.dsrs                                1.00


 +       nasc      btbx      pgpf      amna     amtp     tohd

 sa.adna -1.00
 sa.scbt   .08     -1.00
 sa.scrp   .23               -1.00
 sa.crna                               -1.00
 sa.pftp                       .68              -1.00
 sa.et     .29
 sa.pp     .15
 sa.bt               .53
 sa.to                                   .26      .24    -1.00
 sa.be                                   .40      .39      .63
 sa.mx                                   .15      .16

 Table b(m,p) capacity utilization coefficients

    crad nacr focc rsds nasc btbx pgpf amna amtp tohd

 ad 1.0
 cr      1.0
 cc           1.0
 ds                1.0
 sc                     1.0
 bx                          1.0
 pf                               1.0
 ar                                    1.0  1.0
 hd                                              1.0



 Table ka(m,i) initial capacity  (1000 tpy)

         inchon    ulsan     yosu

 ad      3702.     12910.    9875.
 cr      369.      1200.     790.
 cc
 ds
 sc                517.      1207.
 bx                45.       94.
 pf                201.
 ar                181.      148.
 hd                180.

 Parameter rket1(i)  rate of capacity expansion at time period 1 / inchon .3 , ulsan .4 , yosu .6 /
           kat1      planned capacity in time period 1;

 kat1(m,i) = ka(m,i)*(1 + rket1(i));
 Display kat1;

 Parameter op(p) operating cost  (us $ per ton) / crad    1.55 , nacr    9.71 , focc    3.5  , rsds   14
                                                  btbx  101.82 , nasc  143.04 , pgpf   50.25 , amna  190.87
                                                  amtp  190.87 , tohd  645.99 /
*        operating cost includes catalyst cost,chemical cost,labor
*        cost,depreciation cost,utility costs (steam,electricity,
*        cooling water) and maintenance cost.


 Table d(c,j) ratio of regional demand (percentage)
*        all petrochemical final products are demanded by the downstream petrochemical plants which are
*        located very cloase to the refineries and petrochemical plants.  the demand pattern between regions
*        for final products is assumed to remain constant over time.

         inchon    seoul

 pg       1.7      76.4
 rg       3.6      53.7
 di      22.4      31.4
 rf       68.0

 +       kwangju   taegu     pusan     ulsan     yosu

 pg      2.3        10.6       9.0
 rg      10.4       19.6      12.7
 di      8.1        19.4      18.7
 rf      5.0        15.8       9.6       .9        .7
 et                                    38.1      61.9
 pp                                    30.2      69.8
 bt                                    28.6      71.4
 be                                    37.8      62.2
 to                                    30.8      69.2
 mx                                    60.9      39.1

 Parameter tqcf(c)  total quantity demanded (1000 tpy)  / pg  335.9 , rg  783.1 , di  5391.2 , rf  12696.1
                                                           et  184.5 , pp  219.3 , bt    35.6 , be    110.5
                                                           to   84.1 , mx   59.8 /
*          the growth rate of demand for pg,rg and petrochemical products
*          is assumed to be 15 per cent per year and the growth rate of
*          demand for the rest of the refinery products is assumed to be
*          10 per cent per year.

            grfp(c)  growth rate of demand for final products per year / (di,rf)                      .1
                                                                         (pg,rg,et,pp,bt,be,to,mx)    .15 /
            r(c,j,t) demand for final products (1000 tpy);

 r(cf,j,t) = (tqcf(cf)*d(cf,j)/100.)*((1 + grfp(cf))**(midyear(t) - 1980));

 Display r;

 Table tc(i,*)  transportation cost (us $ per ton)

         inchon    seoul

 inchon             .84
 yosu    1.86      2.65
 ulsan   5.00      3.62

 +       kwangju   yosu      taegu     ulsan     pusan

 inchon  5.44      7.77      5.44      8.55      4.90
 yosu    3.54                3.00      3.72      1.77
 ulsan   5.03      3.72       .69                2.59

*        there are 4 modes of transportation: vessel, railroad tanker car (rtc), tanker truck (tt) and pipeline (pl)
*        each transportation mode is tied to each demand region and the unit transportation cost for each
*        transportation mode is different from each other and even for the same transportation mode, the unit
*        transportation cost is different according to the total volume transported.


 Table pr(c,*)  commodity prices (us $ per ton)

         imports   exports

 sa      231.7
 et      908.      705.
 pp      704.      529.
 bt      706.      629.
 mx      662.      373.
 to      662.      526.
 be      706.      373.


 Scalar    eu      export upper bound (1000 tpy)       / 400 /
           imu     import upper bound (1000 tpy)       / 300 /

 Parameter pv(c)   import prices (us $ per ton)
           pe(c)   export prices (us $ per ton);

 pv(crcf) = pr(crcf,"imports");
 pe(crcf) = pr(crcf,"exports");

 Table  inv(m,*)  investment data

*         size        capacity limit of economy of scale (1000 tpy)
*         cost        cost of the production unit at size "size" (1000 us$)
*         scale       scale factor;  cost = xx*size ** scale

          size        cost       scale

 ad       10000       50000      .67
 cr       1000        40000      .67
 cc       2000        200000     .67
 ds       2000        160000     .67
 sc       500         200000     .67
 bx       100         50000      .67
 pf       200         150000     .67
 ar       400         150000     .67
 hd       200         150000     .67

 Set is investment function segment  /1*4/

 Scalar    life           life of productive units            (years)   / 20   /
           discr          discount rate                                 /   .1 /
           caprf          capital recovery factor
 Parameter site(i)        site factor                                   /  inchon    1.5 , (ulsan,yosu)  1 /
           omega(m,is,i)  cost increase for small plants   (1000 us$)
           ss(m,is)       investment segment size          (1000 tpy)
           discf          discount factor;


 inv(m,"fixed") = inv(m,"cost")*(.5**(inv(m,"scale")-1)-1);
 omega(m,"1",i) = inv(m,"fixed")*site(i);
 omega(m,"2",i) = inv(m,"cost")*site(i);
 omega(m,"3",i) = omega(m,"2",i)*5 ;
 omega(m,"4",i) = omega(m,"2",i)*10*1.25;

 ss(m,"2") = inv(m,"size");
 ss(m,"3") = ss(m,"2")*5;
 ss(m,"4") = ss(m,"2")*10;

        life =20;
        discr = .1;
        caprf = discr/(1-(1 + discr) ** (-life));
        discf(t) = (1 + discr) ** (1980 - midyear(t));

 Display inv,omega,ss,caprf,discf;


 Table qll(c,q)  quality bounds (lower bounds)

         oc

 pg      95.
 rg      85.

 Table quu(c,q)  quality bounds (upper bounds)

         va        su
 pg      12.
 rg      12.
 di                1.00
 rf                4.00


 Table at attributes of commodities in blending

         oc     va     su

 sa.adga 84.0   16.0
 sa.adna 59.4    2.5
 sa.adke               .26
 sa.adfo               1.02
 sa.adrs               4.35
 sa.crga 115.0   5.0
 sa.crna  97.0   2.5
 sa.ccga  93.7   6.9
 sa.ccfo                .91
 sa.dsrs               1.00

 Parameter suurf(t)  upper limit of sulfur content in rf / 1980-84  4 , 1985-89  3.5 , 1990-94  3 , 1995-99  2.5 /

$Stitle model definition

 positive variables
          z(c,p,i,t)         process level                            (1000 tpy)
          w(c,c,c,i,t)       blending level at refinery               (1000 tpy)
          h(m,i,t)           capacity expansion                       (1000 tpy)
          s(m,is,i,t)        scale segment of investment              (1000 tpy)
          xf(c,i,j,t)        domestic shipment: final products        (1000 tpy)
          xi(c,c,i,i,t)      domestic shipment: intermediates         (1000 tpy)
          vf(c,j,t)          imports: final products                  (1000 tpy)
          vr(c,i,t)          imports: raw materials-crude oil         (1000 tpy)
          e(c,i,t)           exports: final products                  (1000 tpy)

 Variables
          tcost              total cost                              (1000 us $)
          rawmat(t)          raw material cost                       (1000 us $)
          operat(t)          operating cost                          (1000 us $)
          trans(t)           transportation cost                     (1000 us $)
          ccost(t)           capital cost                            (1000 us $)
          import(t)          import cost                             (1000 us $)
          export(t)          export revenue                          (1000 us $)

 Binary variable
          y(m,i,t)           binary variable

 Equations
          mbr(c,i,t)         raw material balance                     (1000 tpy)
          mbir(c,c,i,t)      intermediate material balance: refinery  (1000 tpy)
          mbip(c,c,i,t)      intermediate material balance: petrochem (1000 tpy)
          mbfr(c,i,t)        final material balance: refinery goods   (1000 tpy)
          mbfp(c,i,t)        final material balance: petrochemicals   (1000 tpy)
          qcfl(c,q,i,t)      quality constraints: lower bounds
          qcfu(c,q,i,t)      quality constraints: upper bounds
          cc(m,i,t)          capacity constraints                     (1000 tpy)
          id(m,i,t)          investment variable definition           (1000 tpy)
          ic(m,i,t)          combination of 0 and 1
          mdcf(c,j,t)        market demand of final products          (1000 tpy)
          eub(t)             exports constraints: upper bounds        (1000 tpy)
          imub(t)            imports constraints: upper bounds        (1000 tpy)
          obj                accounting: total cost                   (1000 us$)
          araw(t)            accounting: raw material cost            (1000 us$)
          aoper(t)           accounting: operating cost               (1000 us$)
          atrans(t)          accounting: transportation cost          (1000 us$)
          acap(t)            accounting: investment cost              (1000 us$)
          aim(t)             accounting: import cost                  (1000 us$)
          aex(t)             accounting: export revenue               (1000 us$);

$Eject

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

 mbir(cr,cb,i,t)..  sum(p, a(cr,cb,p)*z(cr,p,i,t)) + sum(ip$tc(i,ip), xi(cr,cb,ip,i,t) - xi(cr,cb,i,ip,t))$cs(cb)
                =g= sum(cfr$cfcb(cfr,cb), w(cr,cb,cfr,i,t));

 mbip(cr,ci,i,t)..
   sum(p, a(cr,ci,p)*z(cr,p,i,t)) + sum(ip$tc(i,ip), xi(cr,ci,ip,i,t) - xi(cr,ci,i,ip,t))$cs(ci)  =g= 0;

 mbfr(cfr,i,t)..  sum((cr,cb)$cfcb(cfr,cb), w(cr,cb,cfr,i,t)) =e= sum(j, xf(cfr,i,j,t));

 mbfp(cfp,i,t)..  sum((cr,p), a(cr,cfp,p)*z(cr,p,i,t)) =g= sum(j, xf(cfp,i,j,t)) + e(cfp,i,t);

 qcfl(cfr,q,i,t)$qll(cfr,q)..
   sum((cr,cb)$cfcb(cfr,cb), at(cr,cb,q)*w(cr,cb,cfr,i,t)) =g= sum(j, qll(cfr,q)*xf(cfr,i,j,t));

 qcfu(cfr,q,i,t)$quu(cfr,q)..
   sum((cr,cb)$cfcb(cfr,cb), at(cr,cb,q)*w(cr,cb,cfr,i,t)) =l= sum(j, quu(cfr,q)*xf(cfr,i,j,t))$cfrerf(cfr)
                                                             + sum(j, suurf(t)*xf(cfr,i,j,t))$cfrrf(cfr);

 cc(m,i,t)..  sum(p, b(m,p)*sum(cr, z(cr,p,i,t))) =l= kat1(m,i) + sum(tep$ts(t,tep), h(m,i,tep));

 id(m,i,te)..  h(m,i,te) =e= sum(is, ss(m,is)*s(m,is,i,te));

 ic(m,i,te)..  y(m,i,te) =e= sum(is, s(m,is,i,te));

 mdcf(cf,j,t)..  sum(i, xf(cf,i,j,t)) + vf(cf,j,t)$cfp(cf) =g= r(cf,j,t);

 eub(t)..  sum((cfp,i), e(cfp,i,t)) =l= eu;

 imub(t).. sum((cfp,j), vf(cfp,j,t)) =l= imu;

 obj..  tcost =e= year*sum(t, discf(t)*(rawmat(t) + operat(t) + trans(t) + ccost(t) + import(t) - export(t)));

 araw(t)..  rawmat(t) =e= sum((cr,i), pv(cr)*vr(cr,i,t));

 aoper(t).. operat(t) =e= sum(p, op(p)*sum((cr,i), z(cr,p,i,t)));

 atrans(t)..  trans(t) =e= sum((cf,i,j), tc(i,j)*xf(cf,i,j,t)) + sum((cr,cs,i,ip), tc(i,ip)*xi(cr,cs,i,ip,t));

 acap(t)..  ccost(t) =e= caprf*sum((tep,m,is,i)$ts(t,tep), omega(m,is,i)*s(m,is,i,tep));

 aim(t)..  import(t) =e= sum((cfp,j), pv(cfp)*vf(cfp,j,t));

 aex(t)..  export(t) =e= sum((cfp,i), pe(cfp)*e(cfp,i,t));

 Model petro /all/;

 Solve petro minimizing tcost using mip;

$Stitle report

 Parameter  vrlev(i,t)     crude oil imports level           (1000 ton)
            wlev(c,c,i,t)  blending level: detailed          (1000 ton)
            wlevf(c,i,t)   blending level: aggreated         (1000 ton)
            tzlev(p,i,t)   total production level            (1000 ton)
            tzplev(p,t)    total production per process      (1000 ton)
            xilev(c,i,i,t) shipment of intermediate products (1000 ton)
            xflev(c,j,t)   shipment of final products        (1000 ton)
            tic(m,i,t)     total installed capacity per plant (1000 ton)
            tict(m,t)      total installed capacity          (1000 ton)
            tac(m,t)       total added capacity              (1000 ton)
            ti(m,i,t)      total investment cost per unit   (1000 us $)
            tit(i,t)       total investment cost per plant  (1000 us $)
            tcu            undiscounted total cost          (1000 us $);

 vrlev(i,t)      = sum(cr, vr.l(cr,i,t));
 wlev(cb,cf,i,t) = sum(cr, w.l(cr,cb,cf,i,t));
 wlevf(cf,i,t)   = sum((cr,cb), w.l(cr,cb,cf,i,t));
 tzlev(p,i,t)    = sum(cr, z.l(cr,p,i,t));
 tzplev(p,t)     = sum((cr,i), z.l(cr,p,i,t));
 xilev(ci,ip,i,t) = sum(cr, xi.l(cr,ci,ip,i,t));
 xflev(cf,j,t) = sum(i, xf.l(cf,i,j,t));
 tic(m,i,t)    = kat1(m,i) + sum(tp$ts(t,tp), h.l(m,i,tp));
 tict(m,t) = sum(i, tic(m,i,t));
 tac(m,t)  = sum(i, h.l(m,i,t));
 ti(m,i,t) = sum(is, omega(m,is,i)*s.l(m,is,i,t));
 tit(i,t)  = sum(m, ti(m,i,t));
 tcu = sum(t, year*(rawmat.l(t) + operat.l(t) + trans.l(t) + ccost.l(t) + import.l(t) - export.l(t)));

 Display vrlev,wlev,wlevf,tzlev,tzplev,xilev;
 Display xf.l,xflev,vf.l,e.l,h.l,s.l,tac,tic,tict,ti,tit,tcu;