The Supporting Hyperplane Optimization Toolkit

In this paper, an open source solver for mixed-integer nonlinear programming (MINLP) problems is presented. The Supporting Hyperplane Optimization Toolkit (SHOT) combines a dual strategy based on polyhedral outer approximations (POA) with primal heuristics. The outer approximation is achieved by expressing the nonlinear feasible set of the MINLP problem with linearizations obtained with the extended supporting hyperplane (ESH) and extended cutting plane (ECP) algorithms. The dual strategy can be tightly integrated with the mixed-integer programming (MIP) subsolver in a so-called single-tree manner, i.e., only a single MIP optimization problem is solved, and the polyhedral linearizations are added as lazy constraints through callbacks in the MIP solver. This enables the MIP solver to reuse the branching tree in each iteration, in contrast to most other POA-based methods. SHOT has been released as a COIN-OR open source project, and it utilizes a flexible task-based structure making it easy to extend and modify. It is currently available as a solver in GAMS, and can be utilized in Pyomo and JuMP as well through its ASL interface. The main functionality and solution strategies available in SHOT are described in this paper, and their impact on the performance are illustrated through numerical benchmarks on all the 406 convex MINLP problems in the problem library MINLPLib. Many of the features introduced in SHOT can be utilized in other POA-based solvers as well. To show the overall effectiveness of SHOT, it is also compared to other state-of-the-art solvers on the same benchmark set.



View The Supporting Hyperplane Optimization Toolkit