Sandia National Laboratories

Version 4 (modified by tplante, 8 years ago) (diff)


Hybrid Optimization Parallel Search PACKage

HOPSPACK solves derivative-free optimization problems with 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 have linear and nonlinear constraints, and variables that are continuous or integer-valued. Functions can be noisy, nonsmooth, and nonconvex. 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.

Go to the Quick Start (TBD) page for fast instructions on using a precompiled binary.

Read the User Manual (TBD) for more information.



TBD Only function values are required for the optimization.

The user simply provides a program that can evaluate the objective and nonlinear constraint functions at a given point. The program runs separately from HOPSPACK for maximum flexibility.

HOPSPACK can be run in parallel on a cluster of computers or on multi-core machines.

A robust implementation of the Generating Set Search (GSS) algorithm is supplied.

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.

Current Release

TBD download link

TBD user manual link

Welcome to Trac 0.11.1

Trac is a minimalistic approach to web-based management of software projects. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress.

"trac-admin yourenvdir initenv" created a new Trac environment, containing a default set of wiki pages and some sample data. This newly created environment also contains documentation to help you get started with your project.

You can use trac-admin to configure  Trac to better fit your project, especially in regard to components, versions and milestones.

TracGuide is a good place to start.

The Trac Team

Starting Points

For a complete list of local wiki pages, see TitleIndex.