I want to solve the following optimization problem from Optimization of Chemical processes:
841.PNG 46.2KB
7 downloads
Here is what I have done so far:
- Assume wcp is constant for all streams
- Contraints can be derived from the equations of heat: Q=wcp*dTcold=wcp*dThot=U*A*dTLM
Where dTcold & dThot are the change in temperature of each cold and hot stream in a heat exchanger. And dTLM=(dT1-dT2)/ln(dT1/dT2).
A clearer representation of this can be seen in the following image:
hx.png 12.62KB
5 downloads
- With that the objective function is specified as: Atotal = A1+A2+A3
- Some linear equilibrium constraints can be made as follows:
From the heat equation dTcold=dThot, from that I got:
T1+T5=400
-T1+T2+T4=400
-T2+T3=100
-The inequality linear constraints can be set as:
T1<T2
T2<T3
T1<T4
-Lower and upper bounds for the variables are somewhat irrelevant, given the constraints, either way I specified them as:
0<A1,2,3<Inf
100<T1<300
100<T2<400
100<T3<600
100<T4<400
100<T5<300
-Lastly, some non-linear constraints were specified as:
U*A*dTLM-wcp*dTcold=0
Could have used dTcold or dThot, but should be the same if the other contraints hold.
Coded that into Matlab (and I have checked multiple times that everything is coded as described above), but I get very inconsistent results, a slight change in the initial guess of the estimated parameters leads to a different answer every time. Is there something wrong with my approach?