Industrial Pollution Control



    {  Pollout.mpl   }

    {  GAMS Model Library, http://www.gams.com/modlib/libhtml/pollut.htm  }

    {  Industrial Pollution Control,  NLP,  Size: 8x42  }



TITLE
    PollutionControl;

Option
    Modeltype=nonlinear
    Parsertype=extended

INDEX
    j := (food, textile, apparel, lumber, furniture, pulppaper,
          printing, chemicals, coalpetro, rubber, leather,
          claystone, steel, nfmetals, metalspr, machinery,
          elecmach, transport, precmach, misc);
    i := (cod, so2, land, water);

DATA
    W[j,i] := (0.08488,0.00909,0.02990,0.07195,
               0.03353,0.02470,0.08980,0.17032,
               0.03353,0.02470,0.02780,0.01345,
               0.00135,0.00084,0.06890,0.01606,
               0.00153,0.00084,0.03500,0.01429,
               0.23368,0.07461,0.04690,0.15532,
               0.07609,0.05767,0.01290,0.01850,
               0.07689,0.05767,0.05370,0.09680,
               0.03736,0.01663,0.27080,0.02900,
               0.02794,0.00456,0.06040,0.09200,
               0.02794,0.00456,0.04980,0.07320,
               0.00213,0.08800,0.11510,0.09520,
               0.00633,0.02361,0.08900,0.07780,
               0.00091,0.03376,0.02670,0.03720,
               0.00125,0.00860,0.06790,0.04930,
               0.00089,0.00376,0.06210,0.02480,
               0.00123,0.00369,0.02950,0.02300,
               0.00079,0.00127,0.07870,0.04300,
               0.00396,0.00252,0.03830,0.03010,
               0.00931,0.00252,0.04240,0.03500);
    A[j] := SPARSEFILE("Pollut.dat",2);
    B[j] := SPARSEFILE("Pollut.dat",3);
    K[j] := SPARSEFILE("Pollut.dat",4);
    K0[j] := SPARSEFILE("Pollut.dat",5);
    N10[j] := SPARSEFILE("Pollut.dat",6);
    Tau[i] := (153000,120000,250000,250000);
    Alpha := 0.6;
    Beta := 1.4;
    Gamma1 := 1.4;
    Gamma2 := 0.9;
    Klo[j] := Alpha*K0;
    Llo[j] := Alpha*N10;
    Kup[j] := Beta*K0;
    Lup[j] := Beta*N10;
    M := 10000000;

VARIABLES
    Kv[j] INITIAL K0;
    L[j] INITIAL N10;
    Tk;
    Tl;

MODEL
    MAX Output = SUM(j: A*Kv^(1-B)*L^B);

SUBJECT TO

    Eq4[i]: SUM(j: W/K*Kv) <= Tau;

    Eq5a:   Tk >= Gamma2 * Tl;
    Eq5b:   Tk <= Gamma1 * Tl;

    Kdef:   Tk = SUM(j: Kv);
    Ldef:   Tl = SUM(j: L);

BOUNDS
   Klo <= Kv <= Kup;
   Llo <= L <= Lup;
   0 <= Tk <= M;
   0 <= Tl <= M;

END


Back To Top | Maximal Home Page | List of Models | Previous Page | Next Page