This paper introduces a method for solving optimal pump configurations as a MINLP (mixed integer non-linear programming) problem. The pump configurations considered consist of an arbitrary number of centrifugal pumps, of different sizes, coupled in series and/or parallel. Given the total required pressure rise and the required flow, the optimal pump configuration is sought. The pump configuration is optimized with respect to the minimum total cost including the investment and the running costs. The optimization problem consists of a non-linear objective function subject to linear and non-linear equality and inequality constraints including real, integer and binary variables. The MINLP problem is solved by a proposed ECP (extended cutting plane) method combined with a general (integer) branch and bound method, as well as by the DICOPT++ software in which an outer approximation method is used coupled with a zero-one branch and bound method. Simple linear transformations illustrate that integer problems are also efficiently solved by zero-one programming. Different problem formulations are also given to improve the solution by the methods. Results obtained by solving the optimization problem as a min-min problem are also given. Some problems arise from the fact that the objective function may have several local optima and is generally non-convex. Examples are given to illustrated the procedures.