Sandia National Laboratories

Hybrid Optimization Parallel Search PACKage

HOPSPACK solves derivative-free optimization problems in a C++ software framework. The framework enables parallel operation using MPI (for distributed machine architectures) and multithreading (for single machines with multiple processors or cores). Optimization problems can be very general: functions can be noisy, nonsmooth and nonconvex, linear and nonlinear constraints are supported, and variables may be continuous or integer-valued. HOPSPACK is released with two user communities in mind: those who need an optimization problem solved, and those who wish to experiment with writing their own derivative-free solvers.

Current Release

HOPSPACK 2.0.2 is available at


HOPSPACK release history

HOPSPACK documentation



  • Only function values are required for the optimization.
  • The user simply provides a separate program that can evaluate the objective and nonlinear constraint functions at a given point.
  • Parallel resources are used and automatically load balanced, on either a cluster of computers or multi-core machines.
  • A robust implementation of the Generating Set Search (GSS) solver is supplied, including the capability to handle linear constraints.
  • Souce code builds on Linux, Windows, and Mac OSX using native compilers.
  • Multiple solvers can run simultaneously and are easily configured to share information.
  • Solvers share a cache of computed function and constraint evaluations to eliminate duplicate work.
  • Solvers can initiate and control subproblems.
  • Source is freely available under terms of the GNU Lesser General Public License.