A flexible, generic network optimisation framework is described. The purpose of this framework is to reduce the effort required to solve particular network optimisation problems. The essential idea behind the framework is to develop a generic network optimisation problem to which many network optimisation problems can be mapped. A number of approaches to solve this generic problem can then be developed. To solve some specific network design or configuration problem the specific problem is mapped to the generic problem and one of the problem solvers is used to obtain a solution. This solution is then mapped back to the specific problem domain. Using the framework in this way, a network optimisation problem can be solved using less effort than modelling the problem and developing some algorithm to solve the model. The use of the framework is illustrated in two separate problems: design of an enterprise network to accommodate voice and data traffic and configuration of a core diffserv/MPLS network. In both cases, the framework enabled solutions to be found with less effort than would be required if a more direct approach was used.