Optimisation and synthesis of process utility systems