Alkylation Process



    {  Process.mpl  }

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

    {  Alkylation Process Optimization,  Non Linear, Process:- Size: 8 x 11, Rproc:- Size: 8 x 15  }

#define process
!#define rproc

Option
    Modeltype=nonlinear
    Parsertype=extended

TITLE
    Process;

VARIABLE
    Olefin     INITIAL 1745;
    Isor       INITIAL 12000;
    Acid       INITIAL 110;
    Alkylate   INITIAL 3048;
    Isom       INITIAL 1974;
    Strength   INITIAL 0;
    Octane     INITIAL 0;
    Ratio      INITIAL 8;
    Dilute     INITIAL 3.6;
    F4         INITIAL 145;
    Profit     INITIAL 872;
    Rangey     INITIAL 1;
    Rangem     INITIAL 1;
    Ranged     INITIAL 1;
    Rangef     INITIAL 1;

MODEL

    MAX Profit;

SUBJECT TO

    Makeup:   Alkylate = Olefin + Isom - 0.22 * Alkylate;

    Sdef:     Acid = Alkylate * Dilute * Strength / (98 - Strength) / 1000;

    Drat:     Ratio = (Isor + Isom) / Olefin;

    Dprofit:  Profit = 0.063 * Alkylate * Octane - 5.04 * Olefin - 0.035 * Isor - 10 * Acid - 3.36 * Isom;

#ifdef process
    Yield:    Alkylate = Olefin * (1.12 + 0.13167 * Ratio - 0.00667 * sqr(Ratio));
    Motor:    Octane = 86.35 + 1.098 * Ratio - 0.038 * sqr(Ratio) - 0.325 * (89 - Strength);
    Ddil:     Dilute = 35.82 - 0.222 * F4;
    Df4:      F4 = -133 + 3 * Octane;
#endif

#ifdef rproc
    Rngyield: Rangey * Alkylate = Olefin * (1.12 + 0.13167 * Ratio - 0.00667 * sqr(Ratio));
    Rngmotor: Rangem * Octane = 86.35 + 1.098 * Ratio - 0.038 * sqr(Ratio) - 0.325 * (89 - Strength);
    Rngddil:  Ranged * Dilute = 35.82 - 0.222 * F4;
    Rngdf4:   Rangef * F4 = -133 + 3 * Octane;
#endif

BOUNDS
    0.9   <= Rangey    <= 1.1;
    0.9   <= Rangem    <= 1.1;
    0.9   <= Ranged    <= 1.1;
    0.9   <= Rangef    <= 1.1;
    0.85  <= Strength  <= 93;
    90    <= Octane    <= 95;
    3     <= Ratio     <= 12;
    1.2   <= Dilute    <= 4;
    145   <= F4        <= 162;
    10    <= Olefin    <= 2000;
    0 <= Isor <= 16000;
    0 <= Acid <= 16000;
    0 <= Alkylate <= 5000;
    0 <= Isom  <= 2000;

END


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