Biofouling in heat exchangers can be managed by regular cleaning. A mathematical framework for the optimization problem involved in selecting the best cleaning schedules for such units is presented that considers (i) an induction period associated with conditioning and colonization, which introduces complexity to the fouling kinetics, and (ii) the existence of several outcomes from cleaning, depending on the choice of cleaning method. The problem is to decide how, when, and which exchanger to clean. A mixed integer nonlinear programming approach, based on the use of a logistic function to model fouling resistance-time dynamics, is shown to give tractable results. The methodology is illustrated with a case study involving a small network of three heat exchangers. An optimized solution based on a cost/performance analysis shows that the cleaning intervals and cleaning methods differ for each exchanger.