The aim of the present paper was to move water through a reservoir network in such a way as to meet consumer demands and level constraints, minimise the cost of electricity, and minimise the loss of chlorine. This was to be achieved by choosing the switching intervals of reservoir inlet pumps and valves, at the same time complying with the allowed minimum interval size of each device. Switching combinations that threatened to exceed constraints were rejected heuristically. Flows were balanced by linear programming (LP). The genetic algorithm gave confidence in the near-optimality of its solutions, through the well-defined Pareto fronts between the competing objectives. The method was applied to a 16-reservoir water distribution system in Durban, South Africa. Comparison with an equivalent ‘dead-band’ control showed a 30% improvement in a weighted objective.