A general method for the optimum design of heat recovery steam generators