WORHP
   HOME

TheInfoList



OR:

WORHP ( "warp", an acronym for "We Optimize Really Huge Problems"), also referred to as eNLP (European NLP solver) by
ESA The European Space Agency (ESA) is a 23-member international organization devoted to space exploration. With its headquarters in Paris and a staff of around 2,547 people globally as of 2023, ESA was founded in 1975 in the context of European ...
, is a mathematical software
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
for numerically solving large scale continuous
nonlinear optimization In mathematics, nonlinear programming (NLP) is the process of solving an optimization problem where some of the constraints are not linear equalities or the objective function is not a linear function. An optimization problem is one of calculation ...
problems. WORHP is a hybrid Fortran and C implementation and can be used from C/
C++ C++ (, pronounced "C plus plus" and sometimes abbreviated as CPP or CXX) is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programmin ...
and Fortran programs using different interfaces of varying complexity and flexibility. There are also interfaces for the
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
,
CasADi CasADi is a free and open source symbolic framework for automatic differentiation and optimal control. See also *Automatic differentiation *JModelica.org JModelica.org is a commercial software platform based on the Modelica modeling language fo ...
and
AMPL AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (e.g. large-scale optimization and scheduling-type problems). It was developed ...
modelling environments.


Problem formulation

WORHP is designed to solve problems of the form ::: \min_ f(x) :subject to ::: L \leq \begin x \\ g(x) \end \leq U with sufficiently smooth functions f:\R^n \to \R (objective) and g:\R^n \to \R^m (constraints) that may be nonlinear, and need not necessarily be convex. Even problems with large dimensions n and m can be solved efficiently, if the problem is sufficiently sparse. Cases where objective and constraints cannot be evaluated separately, or where constraints can be evaluated element-wise can be exploited by WORHP to increase the computational efficiency.


Derivatives

WORHP requires the first
derivative In mathematics, the derivative is a fundamental tool that quantifies the sensitivity to change of a function's output with respect to its input. The derivative of a function of a single variable at a chosen input value, when it exists, is t ...
(
Gradient In vector calculus, the gradient of a scalar-valued differentiable function f of several variables is the vector field (or vector-valued function) \nabla f whose value at a point p gives the direction and the rate of fastest increase. The g ...
) of f and of g (
Jacobian In mathematics, a Jacobian, named for Carl Gustav Jacob Jacobi, may refer to: *Jacobian matrix and determinant (and in particular, the robot Jacobian) *Jacobian elliptic functions *Jacobian variety * Jacobian ideal *Intermediate Jacobian In mat ...
) and second derivatives (
Hessian matrix In mathematics, the Hessian matrix, Hessian or (less commonly) Hesse matrix is a square matrix of second-order partial derivatives of a scalar-valued Function (mathematics), function, or scalar field. It describes the local curvature of a functio ...
) of the Lagrange function; in a modelling environment like AMPL, these are provided by
automatic differentiation In mathematics and computer algebra, automatic differentiation (auto-differentiation, autodiff, or AD), also called algorithmic differentiation, computational differentiation, and differentiation arithmetic Hend Dawood and Nefertiti Megahed (2023) ...
methods, but need to be provided by the caller in other environments. First and second derivatives can be approximated by WORHP using
finite differences A finite difference is a mathematical expression of the form . Finite differences (or the associated difference quotients) are often used as approximations of derivatives, such as in numerical differentiation. The difference operator, commonly d ...
. To reduce the otherwise prohibitively high number of necessary function evaluations in large scale
sparse Sparse is a computer software tool designed to find possible coding faults in the Linux kernel. Unlike other such tools, this static analysis tool was initially designed to only flag constructs that were likely to be of interest to kernel deve ...
problems, graph colouring theory is used to group first and second partial derivatives. Second derivatives may also be approximated using variations of the classic BFGS method, including block-diagonal or sparse BFGS matrices.


Structure

The NLP level of WORHP is based on SQP, while the quadratic subproblems are solved using an
interior point method Interior-point methods (also referred to as barrier methods or IPMs) are algorithms for solving Linear programming, linear and nonlinear programming, non-linear convex optimization problems. IPMs combine two advantages of previously-known algorit ...
. This approach was chosen to benefit from the robustness of SQP methods and the reliable runtime complexity of IP methods, since traditional
active set In mathematical optimization, the active-set method is an algorithm used to identify the active constraints in a set of inequality constraints. The active constraints are then expressed as equality constraints, thereby transforming an inequalit ...
methods may be unsuitable for large-scale problems.


Development

Development of WORHP started in 2006 with funding from DLR and was continued under the ''eNLP'' label after 2008 with support by ESA /
ESTEC The European Space Research and Technology Centre (ESTEC) is the European Space Agency's main technology development and test centre for spacecraft and space technology. It is situated in Noordwijk, South Holland, in the western Netherlands, alth ...
together with the Interior-Point solver ipfilter (whose inclusion in eNLP was discontinued after 2010) to develop a European NLP solver for use in trajectory optimisation, mission analysis and aerospace applications in general. The development of WORHP is led by th
Steinbeis-Forschungszentrum Optimierung, Steuerung und Regelung
and scientists of th
Optimization and Optimal Control Group
at the
University of Bremen The University of Bremen () is a public university in Bremen, Germany, with approximately 18,400 students from 117 countries. Its 12 faculties offer more than 100 degree programs. The University of Bremen has been among the top 50 European rese ...
, and at the
Bundeswehr University of Munich Entrance to the university University of the Bundeswehr Munich (, UniBw München) is one of two research universities in Germany at federal level that both were founded in 1973 as part of the German Armed Forces (''Bundeswehr''). Originally call ...
. The developers stress that WORHP, despite its academic roots, is intended as industrial-grade tool rather than an academic research platform.


Applications

WORHP has been integrated into trajectory analysis tools such as LOTNAV and
ASTOS ASTOS is a tool dedicated to mission analysis, Trajectory optimization, vehicle design and simulation for space scenarios, i.e. launch, re-entry missions, orbit transfers, Earth observation, navigation, coverage and re-entry safety assessments. ...
, and is being used at
ESOC The European Space Operations Centre (ESOC) serves as the main mission control centre for the European Space Agency (ESA) and is located in Darmstadt, Germany. ESOC's primary function is the operation of uncrewed spacecraft on behalf of ESA and ...
and
ESTEC The European Space Research and Technology Centre (ESTEC) is the European Space Agency's main technology development and test centre for spacecraft and space technology. It is situated in Noordwijk, South Holland, in the western Netherlands, alth ...
. It can be used as optimiser in CasADi (since version 1.5.0beta) and as local optimiser in SVAGO MDO tool developed at University of Bremen and
Politecnico di Milano The Polytechnic University of Milan (, abbreviated as PoliMi) is a university in Milan, Italy. It is the largest technical university in the country, with about 40,000 enrolled students. The university offers undergraduate, graduate, and higher ...
on
Multidisciplinary design optimization Multi-disciplinary design optimization (MDO) is a field of engineering that uses optimization methods to solve design problems incorporating a number of disciplines. It is also known as multidisciplinary system design optimization (MSDO), and mul ...
through the ESA PRESTIGE program.


See also

*
Sequential quadratic programming Sequential quadratic programming (SQP) is an iterative method for constrained nonlinear optimization, also known as Lagrange-Newton method. SQP methods are used on mathematical problems for which the objective function and the constraints are twi ...
* Penalty-interior-point algorithm


References


External links


WORHP home page

WORHP overview chapter
{{Mathematical optimization software Mathematical optimization software Mathematical software Numerical software