TomSym Structural Optimization of Process Flowsheets

From TomWiki
Jump to navigationJump to search

Notice.png

This page is part of the TomSym Manual. See TomSym Manual.

TomSym implementation of GAMS Example (PROCSEL,SEQ=116)

The goal is the profitable production of chemical C, which can be produced from chemical B where B may be the raw material that can be purchased from the external market or an intermediate that is produced from raw material A. There are two alternative paths of producing B from A. A mixed-integer nonlinear formulation is presented to solve the optimal production and capacity expansion problem.

Kocis, G R, and Grossmann, I E, Relaxation Strategy for the Structural Optimization of Process Flow Sheets. Independent Engineering Chemical Research 26, 9 (1987), 1869-1880.

Morari, M, and Grossmann, I E, Eds, Chemical Engineering Optimization Models with GAMS. Computer Aids for Chemical Engineering Corporation, 1991.

Process flowsheet:

A2    +-----+  B2      BP
       +----->|  2  |----->+    |
  A    |      +-----+      |    |  B1    +-----+    C1
  ---->|                   +----+------->|  1  |-------->
       |      +-----+      |             +-----+
       +----->|  3  |----->+
        A3    +-----+  B3

a2: consumption of chemical a in process 2 a3: consumption of chemical a in process 3 b2: production capacity of chemical b in process 2 b3: production capacity of chemical b in process 3 bp: amount of chemical b purchased in external market b1: consumption of chemical b in process 1 c1: production capacity of chemical c in process 1

toms a2 a3 b2 b3 bp b1 c1
posvbls = [a2 a3 b2 b3 bp b1 c1]';

% Variables are positive
cbnd1 = {posvbls >= 0};

% Binary variables, existence of process 1 2 and 3
toms integer y1 y2 y3

eq1 = {c1 == 0.9*b1        % Input-output for process 1
    exp(b2) - 1 ==  a2     % Input-output for process 2
    exp(b3/1.2) - 1 == a3  % Input-output for process 3
    b1 == b2 + b3 + bp     % Mass balance for chemical b
    c1  <= 2*y1            % Logical constraint for process 1
    b2  <= 4*y2            % Logical constraint for process 2
    b3  <= 5*y3};          % Logical constraint for process 3

% total profit in million dollars per year
% sales revenue, fixed investment cost, operating cost and purchases
pr = 11*c1;
pr = pr - 3.5*y1 - y2 - 1.5*y3;
pr = pr - b2 - 1.2*b3;
pr = pr - 1.8*(a2+a3) - 7*bp;

% c1 is less than 1
cbnd2 = {c1 <= 1};

solution = ezsolve(-pr,{cbnd1,cbnd2,eq1});
Problem type appears to be: minlp
Time for symbolic processing: 0.17066 seconds
Starting numeric solver
===== * * * =================================================================== * * *
TOMLAB - TOMLAB Development license  999007. Valid to 2011-12-31
=====================================================================================
Problem: ---  1:                                f_k      -1.923098737768011500
                                              f(x_0)     -0.000000000000000000

Solver: minlpBB.  EXIT=0.  INFORM=0.
Dense Branch and Bound MINLP
Optimal integer solution found

FuncEv   25 GradEv   29 HessEv   23 ConstrEv   28 ConJacEv   27 ConHessEv   23 Iter    9 
CPU time: 0.031200 sec. Elapsed time: 0.031000 sec.