$************************************************************* $ A. Aggarwal and C.A. Floudas, "Synthesis of General $ Distillation Sequences: Nonsharp Separation", Comput. $ Chem. Eng., 1990, 14 (6), 631--653. $ $ Example 1 $ $ Optimal Solution: 1.56707 $************************************************************* OPTIONS{{ FTOL = 1e-6; OTOL = 1e-6; RFIX; BALLR = "1.0"; BALLS = "1.0"; RFIXBOTH; BALLT = "1e+10"; }} VARIABLES{{ INDEX {i,j}; SET I = |0:2|; SET J = |0:19|; SET K = |0:1|; PARA feed(I) = {100,100,100}; PARA comp(I) = ; PARA prod0(I) = {30,50,30}; PARA prod1(I) = {70,50,70}; PARA tot0 = <>; PARA tot1 = <>; XVAR {x4(I), x5(I), x8(I), x12(I), x13(I), x17(I), rlk(K), rhk(K)}; YVAR {y(K), f(J), ff4(I), ff12(I)}; POSI {x4(I), x5(I), x8(I), x12(I), x13(I), x17(I), rlk(K), rhk(K), f(J), ff4(I), ff12(I)}; BINA {y(K)}; UBDS f(J) = ; UBDS ff4(I) = {100, 100, 100}; UBDS ff12(I) = {100, 100, 100}; LBDS rhk(K) = {0.85, 0.85}; UBDS rhk(K) = {1, 1}; LBDS rlk(K) = {0.85, 0.85}; UBDS rlk(K) = {1, 1}; UBDS x4(I) = ; UBDS x5(I) = ; UBDS x8(I) = ; UBDS x12(I) = ; UBDS x13(I) = ; UBDS x17(I) = ; STP y(K) = {1, 1}; #Columns 1 and 2 in series # STP f(J) = {300, 0,0,0,300,100,30,70,200,200, 0, 0,200,100, 0,50,50,100,30,70}; # STP ff4(I) = {100,100,100}; # STP ff12(I) = { 0,100,100}; #Columns 2 and 1 in series STP f(J) = { 0,300,0,0,200,100,30,70,100, 0,50,50,300,200,200, 0, 0,100,30,70}; STP ff4(I) = {100,100, 0}; STP ff12(I) = {100,100,100}; }} CONSTRAINTS{{ MIN: 0.23947*y(0) + -0.0139904*f(4) + 0.0093514*rlk(0)*f(4) + 0.0077308*rhk(0)*f(4) - 0.0005719*x4(0)*f(4) + 0.0042656*x4(1)*f(4) + 0*x4(2)*f(4) + 0.75835*y(1) + -0.0661588*f(12) + 0.0338147*rlk(1)*f(12) + 0.0373349*rhk(1)*f(12) + 0.0016371*x12(0)*f(12) + 0.0288996*x12(1)*f(12) + 0*x12(2)*f(12); l1: f(0) + f(1) + f(2) + f(3) =e= 300; l2: f(5) =e= f(6) + f(7); l3: f(8) =e= f(9) + f(10) + f(11); l4: f(13) =e= f(14) + f(15) + f(16); l5: f(17) =e= f(18) + f(19); ln1: f(5) *x5(0) =e= rlk(0)*ff4(0); ln3: f(8) *x8(1) =e= rhk(0)*ff4(1); ln2: f(13)*x13(1) =e= rlk(1)*ff12(1); ln4: f(17)*x17(2) =e= rhk(1)*ff12(2); ln5(i E I): ff4(i) =e= f(4) *x4(i); ln6(i E I): ff12(i) =e= f(12)*x12(i); l6: <> =e= f(4); l7: <> =e= f(12); ln7(i E I): ff4(i) =e= f(5) *x5(i) + f(8) *x8(i); ln8(i E I): ff12(i) =e= f(13)*x13(i) + f(17)*x17(i); l8: f(4) =e= f(5) + f(8); l9: f(12) =e= f(13) + f(17); ln9(i E I): comp(i)*f(0) + f(14)*x13(i) =e= ff4(i); ln10(i E I): comp(i)*f(1) + f(9)*x8(i) =e= ff12(i); ln11(i E I): comp(i)*f(2) + f(6)*x5(i) + f(10)*x8(i) + f(15)*x13(i) + f(18)*x17(i) =e= prod0(i); ln12(i E I): comp(i)*f(3) + f(7)*x5(i) + f(11)*x8(i) + f(16)*x13(i) + f(19)*x17(i) =e= prod1(i); l10: f(2) + f(6) + f(10) + f(15) + f(18) =e= tot0; l11: f(3) + f(7) + f(11) + f(16) + f(19) =e= tot1; l12: x5(2) =E= 0; l13: x17(0) =E= 0; l14: <> =e= 1; l15: <> =e= 1; l16: <> =e= 1; l17: <> =e= 1; l18: <> =e= 1; l19: <> =e= 1; l20: f(4) =l= 300*y(0); l21: f(12) =l= 300*y(1); }}