WORHP offers a total of ten interfaces (3 for Fortran, 3 for C/C++, Matlab, ASTOS, AMPL, CasADi) for different programming languages and communication paradigms.

You can use the navigation to narrow the displayed interfaces to your needs.

AMPL Interface

The AMPL© interface provides the executable to be used with the ampl command line program to solve nonlinear programs.

ASTOS Interface

WORHP can be used in GESOP and ASTOS through the CAMTOS transcriptor; ASTOS is devoted to solve various aerospace-related trajectory optimization problems with its extensive model library, whereas GESOP allows the complete definition of user-formulated optimization problems.

Basic Feature Interface

The BFI is aimed at Fortran 95 and C/C++ users who value the conciseness of the Unified Solver Interface, but do not want or need the advanced flexibility offered by the Reverse Communication paradigm.

CasADi interface

CasADi is a symbolic framework for automatic differentiation and numeric optimization. Using the syntax of computer algebra systems, it implements automatic differentiation in forward and adjoint modes by means of a hybrid symbolic/numeric approach. The main purpose of the tool is to be a low-level tool for quick, yet highly efficient implementation of algorithms for numerical optimization.

Full Feature Interface

The FFI is aimed at beginner and power users using Fortran 95 (+ two common Fortran 2003 extensions) or C/C++. The FFI is the preferred interface for solving optimization problems with WORHP.

Its main features are the very concise Unified Solver Interface, using only four data structures to hold all solver data, and the Reverse Communication paradigm, which offers unrivaled control over the optimization process.

Matlab Interface

The Matlab® interface provides a tailored routine which enables WORHP users to conveniently model and solve optimization problems in the Matlab programming environment. It can also be used to solve optimization problems that are not tractable with its various builtin minimization routines.

Future versions of WORHP may also include drop-in replacement interfaces for Matlab's builtin minimization routines.


Traditional Interface

The traditional interface is aimed at users using Fortran 77 or C/C++ who want to use WORHP as a replacement for a traditional NLP solver with only minimal adaptions to their source code.

It offers less control over solver settings then the Unified Solver Interface, but is more intuitive for programmers used to traditional NLP solvers.