Software:WORHP

From HandWiki
Revision as of 13:41, 9 February 2024 by JMinHep (talk | contribs) (add)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Mathematical software library
WORHP
Logo and claim of WORHP.
Worhp 933x581.png
Developer(s)Christof Büskens, Matthias Gerdts et al.
Initial releaseMarch 2010; 14 years ago (2010-03)
Stable release
1.15 / 3 August 2022; 2 years ago (2022-08-03)
Written inANSI C, FORTRAN 77, Fortran 95 and Fortran 2003
Operating systemUnix-like, Windows XP and later
Available inEnglish
TypeNumerical software
LicenseProprietary, Free of charge for academic users.
Websiteworhp.de

WORHP (/wɔːrp/ "warp", an acronym for "We Optimize Really Huge Problems"), also referred to as eNLP (European NLP solver) by ESA, is a mathematical software library for numerically solving large scale continuous nonlinear optimization problems.

WORHP is a hybrid Fortran and C implementation and can be used from C/C++ and Fortran programs using different interfaces of varying complexity and flexibility. There are also interfaces for the MATLAB, CasADi and AMPL modelling environments.[1]

Problem formulation

WORHP is designed to solve problems of the form

[math]\displaystyle{ \min_{x \in \R^n} f(x) }[/math]
subject to
[math]\displaystyle{ L \leq \begin{pmatrix} x \\ g(x) \end{pmatrix} \leq U }[/math]

with sufficiently smooth functions [math]\displaystyle{ f:\R^n \to \R }[/math] (objective) and [math]\displaystyle{ g:\R^n \to \R^m }[/math] (constraints) that may be nonlinear, and need not necessarily be convex. Even problems with large dimensions [math]\displaystyle{ n }[/math] and [math]\displaystyle{ m }[/math] 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 (Gradient) of [math]\displaystyle{ f }[/math] and of [math]\displaystyle{ g }[/math] (Jacobian) and second derivatives (Hessian matrix) of the Lagrange function; in a modelling environment like AMPL, these are provided by automatic differentiation methods, but need to be provided by the caller in other environments. First and second derivatives can be approximated by WORHP using finite differences. To reduce the otherwise prohibitively high number of necessary function evaluations in large scale sparse 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. This approach was chosen to benefit from the robustness of SQP methods and the reliable runtime complexity of IP methods, since traditional active set 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 together with the Interior-Point solver ipfilter[2] (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.[3]

The development of WORHP is led by the Steinbeis-Forschungszentrum Optimierung, Steuerung und Regelung and scientists of the Optimization and Optimal Control Group at the University of Bremen, and at the Bundeswehr University of Munich.[4] The developers stress that WORHP, despite its academic roots, is intended as industrial-grade tool rather than an academic research platform.[5]

Applications

WORHP has been integrated into trajectory analysis tools such as LOTNAV[6] and ASTOS, and is being used at ESOC and ESTEC. It can be used as optimiser in CasADi (since version 1.5.0beta)[7] and as local optimiser in SVAGO MDO[8] tool developed at University of Bremen and Politecnico di Milano on Multidisciplinary design optimization through the ESA PRESTIGE program.[9]

See also

References

  1. "WORHP interfaces". http://worhp.de/content/interfaces. 
  2. "ipfilter — An NLP Solver based on a primal-dual interior-point filter algorithm". http://www.mat.uc.pt/ipfilter. 
  3. Sven Erb (2011-03-02). "eNLP: application-centric NLP-based optimization in the aerospace market". ITN Sadco First Industrial Workshop. http://uma.ensta.fr/itn-sadco/?module=conf_aero&action=programme. 
  4. "Development Team". https://worhp.de/content/developers. Retrieved 2018-01-09. 
  5. Christof Büskens; Dennis Wassel (2012). "The ESA NLP Solver WORHP". Modeling and Optimization in Space Engineering. Springer Optimization and its Applications. 73. pp. 85–110. doi:10.1007/978-1-4614-4469-5_4. ISBN 978-1-4614-4468-8. 
  6. J. L. Cano; M. Bello; J. Rodriguez-Canabal (2004). "Navigation and Guidance for Low-Thrust Trajectories, LOTNAV". 18th International Symposium on Space Flight Dynamics 548: 609. Bibcode2004ESASP.548..609C. 
  7. "CasADi wiki". https://github.com/casadi/casadi/wiki. Retrieved 2013-05-27. 
  8. Francesco Castellini (2009). "PRESTIGE MDO research, Research Achievements". http://www.aero.polimi.it/~castellini. Retrieved 2011-03-23. 
  9. ESA education (2009). "Universities selected for PRESTIGE programme". http://www.esa.int/esaMI/Education/SEM3E4WX3RF_0.html. Retrieved 2011-03-23. 

External links