TomSym Structural Optimization of Process Flowsheets: Difference between revisions
(Created page with "{{Part Of Manual|title=the TomSym Manual|link=TomSym Manual}} TomSym implementation of GAMS Example (PROCSEL,SEQ=116) The goal is the profitable production of chemic...") |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 11: | Line 11: | ||
Process flowsheet: | Process flowsheet: | ||
<pre> | |||
A2 +-----+ B2 BP | A2 +-----+ B2 BP | ||
+----->| 2 |----->+ | | +----->| 2 |----->+ | | ||
Line 18: | Line 19: | ||
+----->| 3 |----->+ | +----->| 3 |----->+ | ||
A3 +-----+ B3 | A3 +-----+ B3 | ||
</pre> | |||
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 | 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 | ||
Line 54: | Line 56: | ||
<pre> | <pre> | ||
Problem type appears to be: minlp | Problem type appears to be: minlp | ||
Time for symbolic processing: 0. | Time for symbolic processing: 0.17066 seconds | ||
Starting numeric solver | Starting numeric solver | ||
===== * * * =================================================================== * * * | ===== * * * =================================================================== * * * | ||
Line 67: | Line 69: | ||
FuncEv 25 GradEv 29 HessEv 23 ConstrEv 28 ConJacEv 27 ConHessEv 23 Iter 9 | FuncEv 25 GradEv 29 HessEv 23 ConstrEv 28 ConJacEv 27 ConHessEv 23 Iter 9 | ||
CPU time: 0.031200 sec. Elapsed time: 0. | CPU time: 0.031200 sec. Elapsed time: 0.031000 sec. | ||
</pre> | </pre> |
Latest revision as of 09:33, 8 November 2011
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.