$************************************************************* $ Simultaneous Optimization Model for Heat Exchanger $ Network Synthesis $ T. F. Yee and I. E. Grossmann $ $ CACHE Process Design Case Studies $ M. Morari and I.E. Grossmann $ $ Optimal Solution: 154,997 $************************************************************* OPTION {{ IPRIMAL2; XYMASTER; RANDOMX; }} DECLARATION {{ INDEX {i,j,k}; SET I = |1:2|; SET J = |1:2|; SET K = |1:2|; SET L = |1:3|; PARA fci(I) = {10, 20}; PARA fcj(J) = {15, 13}; PARA tiin(I) = {650, 590}; PARA tiout(I) = {370, 370}; PARA tjin(J) = {410, 350}; PARA tjout(J) = {650, 500}; PARA qci(I) = ; PARA qcj(J) = ; PARA cfi(I) = {1,1}; PARA cfj(J) = {1,1}; PARA mqiqj(I,J) = >; PARA hucost = {80}; PARA cucost = {15}; PARA unitc = {5500}; PARA acoeff = {150}; PARA hucoeff = {150}; PARA cucoeff = {150}; PARA aexp = {1}; PARA cfhu = {5}; PARA cfcu = {1}; PARA thuin = {680}; PARA thuout = {680}; PARA tcuin = {300}; PARA tcuout = {320}; XVAR {qcold(I), qhot(J), q(I,J,L), tki(I,L), tkj(J,L), dt(I,J,L), dtcu(I), dthu(J)}; POSI {qcold(I), qhot(J), q(I,J,L), tki(I,L), tkj(J,L), dt(I,J,L), dtcu(I), dthu(J)}; YVAR {z(I,J,K), zcu(I), zhu(J)}; BINA {z(I,J,K), zcu(I), zhu(J)}; UBDS qcold(I) = {qci(I)}; UBDS qhot(J) = {qcj(J)}; UBDS q(I,J,L) = >>; LBDS tki(I,L) = {370, 370, 370, 370, 370, 370}; UBDS tki(I,L) = {650, 650, 650, 590, 590, 590}; LBDS tkj(J,L) = {410, 410, 410, 350, 350, 350}; UBDS tkj(J,L) = {650, 650, 650, 500, 500, 500}; LBDS dt(I,J,L) = {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; UBDS dt(I,J,L) = >>; LBDS dtcu(I) = {10, 10}; UBDS dtcu(I) = ; LBDS dthu(J) = {10, 10}; UBDS dthu(J) = ; PARA dtmax(I,J,K) = {280,130,280,150,280,130,280,150}; PARA l1rhs(I) = ; PARA l2rhs(J) = ; PARA l11rhs(I) = ; PARA l12rhs(J) = ; }} MODEL {{ MIN: hucost*<> + cucost*<> + <> >> >> + <> + <> + acoeff*<> >> >> + cucoeff*<> + hucoeff*<>; l1(i E I): <> >> + qcold(i) =e= l1rhs(i); l2(j E J): <> >> + qhot(j) =e= l2rhs(j); l3(i E I, k E K): fci(i)*tki(i,k) - fci(i)*tki(i,k+1) - <> =e= 0; l4(j E J, k E K): fcj(j)*tkj(j,k) - fcj(j)*tkj(j,k+1) - <> =e= 0; l5(i E I): tki(i,1) =e= tiin(i); l6(j E J): tkj(j,3) =e= tjin(j); l7(i E I, k E K): tki(i,k) - tki(i,k+1) =g= 0; l8(j E J, k E K): tkj(j,k) - tkj(j,k+1) =g= 0; l9(i E J): tki(i,3) =g= tiout(i); l10(j E J): tkj(j,1) =l= tjout(j); l11(i E I): fci(i)*tki(i,3) - qcold(i) =e= l11rhs(i); l12(j E J): fcj(j)*tkj(j,1) + qhot(j) =e= l12rhs(j); l13(i E I, j E J, k E K): q(i,j,k) - mqiqj(i,j)*z(i,j,k) =l= 0; l14(i E I): qcold(i) - qci(i)*zcu(i) =l= 0; l15(j E J): qhot(j) - qcj(j)*zhu(j) =l= 0; l16(i E I, j E J, k E K): dt(i,j,k) - tki(i,k) + tkj(j,k) + dtmax(i,j,k)*z(i,j,k) =l= dtmax(i,j,k); l17(i E I, j E J, k E K): dt(i,j,k+1) - tki(i,k+1) + tkj(j,k+1) + dtmax(i,j,k)*z(i,j,k) =l= dtmax(i,j,k); l18(i E I): -dtcu(i) + tki(i,3) =g= tcuout; l19(j E J): dthu(j) + tkj(j,1) =l= thuout; }}