A framework for parallel large-scale global optimization

AbstractThe paper describes the design and implementation of BNB-Solver, an object-oriented framework for discrete and continuous parallel global optimization. The framework supports exact branch-and-bound algorithms, heuristic methods and hybrid approaches. BNB-Solver provides a support for distributed and shared memory architectures. The implementation for distributed memory machines is based on MPI and thus can run on almost any computational cluster. In order to take advantages of multicore processors we provide a separate multi-threaded implementation for shared memory platforms. We introduce a novel collaborative scheme for combining exact and heuristic search methods that provides the support for sophisticated parallel heuristics and convenient balancing between exact and heuristic methods. In the experimental results section we discuss a nonlinear programming solver and a highly efficient knapsack solver that significantly outperforms existing parallel implementations.