×

Juniper: an open-source nonlinear branch-and-bound solver in Julia. (English) Zbl 1511.90001

van Hoeve, Willem-Jan (ed.), Integration of constraint programming, artificial intelligence, and operations research. 15th international conference, CPAIOR 2018, Delft, The Netherlands, June 26–29, 2018. Proceedings. Cham: Springer. Lect. Notes Comput. Sci. 10848, 377-386 (2018).
Summary: Nonconvex mixed-integer nonlinear programs (MINLPs) represent a challenging class of optimization problems that often arise in engineering and scientific applications. Because of nonconvexities, these programs are typically solved with global optimization algorithms, which have limited scalability. However, nonlinear branch-and-bound has recently been shown to be an effective heuristic for quickly finding high-quality solutions to large-scale nonconvex MINLPs, such as those arising in infrastructure network optimization. This work proposes Juniper, a Julia-based open-source solver for nonlinear branch-and-bound. Leveraging the high-level Julia programming language makes it easy to modify Juniper’s algorithm and explore extensions, such as branching heuristics, feasibility pumps, and parallelization. Detailed numerical experiments demonstrate that the initial release of Juniper is comparable with other nonlinear branch-and-bound solvers, such as Bonmin, Minotaur, and Knitro, illustrating that Juniper provides a strong foundation for further exploration in utilizing nonlinear branch-and-bound algorithms as heuristics for nonconvex MINLPs.
For the entire collection see [Zbl 1388.68011].

MSC:

90-04 Software, source code, etc. for problems pertaining to operations research and mathematical programming
90C59 Approximation methods and heuristics in mathematical programming
90C57 Polyhedral combinatorics, branch-and-bound, branch-and-cut
90C30 Nonlinear programming
PDFBibTeX XMLCite
Full Text: DOI arXiv