The C++ programming language.

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.

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.

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.

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.

Syndicate content