A method for solving the problem of heat exchanger network synthesis in chemical process plants is presented based on the use of the out-of-kilter algorithm. The method represents an extension of previous approaches based on network flow problem formulations. A new approach to overcome the constraints in forbidden-match problems, termed the dual stream approach, has been developed based on the use of a stream as both a hot and a cold stream. This approach results in considerable savings in utility costs in certain forbidden-match problems. An algorithm to deal with heating or cooling utilities that undergo temperature changes, termed non-point-temperature utilities, is presented using the transshipment model. The new algorithm determines the utility mass flow rates and pinch points accurately.