WORHP
WORHP [ESA auch bekannt als „eNLP“ (NLP solver), ist ein mathematisches Programm bzw. eine Bibliothek zur numerischen Lösung stetiger hochdimensionaler nichtlinearer Optimierungsprobleme. Die Abkürzung WORHP bedeutet ausgeschrieben “We Optimize Really Huge Problems” („Wir optimieren richtig große Probleme“), dies stellt das primäre Anwendungsgebiet der Software dar. WORHP ist hybrid in den Sprachen Fortran und C implementiert und bietet zusätzlich die Möglichkeit über verschiedene Schnittstellen in C/C++- und Fortran-Programmen integriert zu werden. Zusätzlich existieren Schnittstellen zur Einbindung in die Modellierungsumgebungen Matlab, CasADi und AMPL.[1]
], bei derWORHP
| |
---|---|
Konsolenansicht, Ausgangssituation und Optimale Lösung | |
Basisdaten
| |
Entwickler | Christof Büskens, Matthias Gerdts et al. |
Erscheinungsjahr | 2010 |
Aktuelle Version | 1.16 (7. Mai 2024) |
Betriebssystem | Linux, Microsoft Windows |
Programmiersprache | ANSI C, FORTRAN 77, Fortran 95 und Fortran 2003 |
Kategorie | Mathematik, Optimierung |
Lizenz | Proprietär, Kostenfrei für akademische Zwecke |
deutschsprachig | nein |
worhp.de |
Formulierung des Problems
BearbeitenWORHP wurde entwickelt, um Probleme der Form
- unter
mit hinreichend glatten Funktionen (Zielfunktion) und (Nebenbedingungen) zu lösen, die nichtlinear sein dürfen und nicht notwendig konvex sein müssen. Sogar Probleme mit sehr großen Dimensionen und können effizient gelöst werden, wenn das Problem hinreichend dünnbesetzt ist; die höchsten bisher erreichten Dimensionen liegen in der Größenordnung . Problemstellungen, in denen es nicht möglich ist, Zielfunktion und Nebenbedingungen separat auszuwerten, oder in denen es möglich ist, die Nebenbedingungen elementweise auszuwerten, können von WORHP ausgenutzt werden, um die Berechnung effizient zu gestalten.
Ableitungen
BearbeitenWORHP benötigt die erste Ableitung (Gradient) von und von (Jacobi-Matrix) und die zweite Ableitung (Hesse-Matrix) der Lagrange-Funktion; in einer Modellierungsumgebung wie AMPL können diese durch automatische Differentiation zur Verfügung gestellt werden, aber in anderen Anwendungen müssen diese durch den Benutzer übergeben werden. Erste und zweite Ableitungen können durch WORHP mit Hilfe von finiten Differenzen ermittelt werden. Um die typischerweise dadurch entstehende sehr hohe Anzahl an Funktionsauswertungen in hochdimensionalen dünnbesetzten Anwendungen zu vermeiden, wird die Graphenfärbungstheorie ausgenutzt, um erste und zweite Ableitungen zu gruppieren. Zweite Ableitungen können außerdem durch Variationen der klassischen BFGS-Verfahren, inklusive block-diagonaler und dünnbesetzter Variante, approximiert werden. WORHP implementiert als erstes NLP-Verfahren ein strukturerhaltendes (ggf. also dünnbesetztes) SBFGS-Verfahren, für das ein Konvergenzbeweis existiert.[2]
Struktur
BearbeitenAuf NLP-Ebene basiert WORHP auf einem klassischen SQP-Algorithmus, wohingegen die quadratischen Teilprobleme mit Hilfe von Innere-Punkte-Verfahren gelöst werden. Dieser Aufbau wurde gewählt um von der Robustheit von SQP-Verfahren und dem zuverlässigen numerischen Aufwand von IP-Verfahren zu profitieren, da klassische Aktive-Mengen-Strategien bei hochdimensionalen Problemen ungeeignet sind.
Entwicklung
BearbeitenDie Entwicklung von WORHP startete 2006 mit einer Finanzierung des deutschen Zentrums für Luft- und Raumfahrt und wurde unter dem Namen „eNLP“ nach 2008 mit Unterstützung der ESA/ESTEC zusammen mit dem Innere-Punkte-Löser ipfilter[3] fortgesetzt. Ziel war die Implementierung eines NLP-Lösers zur Bestimmung optimaler Trajektorien, zur Missionsanalyse und für Raumfahrtanwendungen im Allgemeinen.[4] (Die Benutzung von Ipfilter in WORHP wurde nach 2010 nicht weiter verfolgt.) Das Steinbeis-Forschungszentrum Optimierung, Steuerung und Regelung und Wissenschaftler der Arbeitsgruppe Optimierung und Optimale Steuerung an der Universität Bremen und der Universität der Bundeswehr München arbeiten an der weiteren Entwicklung von WORHP.[5] Die Entwickler von WORHP betonen, dass es trotz seines akademischen Ursprungs von Beginn an als industriell nutzbares Werkzeug entwickelt wurde, statt als reine Forschungsplattform.[6]
Anwendungen
BearbeitenWORHP wurde in Programmen zur Analyse von Trajektorien wie LOTNAV[7] und ASTOS integriert und wird am ESOC und am ESTEC genutzt. Es ist auch möglich WORHP als Optimierer in CasADi (ab Version 1.5.0 beta)[8] einzubinden und es wird als lokaler Optimierer im Programm SVAGO MDO[9], entwickelt an der Universität Bremen und am Politecnico di Milano, zur multidisziplinären Optimierung im ESA-PRESTIGE-Programm genutzt.[10]
Weblinks
Bearbeiten- WORHP-Website (englisch)
- The ESA NLP Solver WORHP – Kapitelzusammenfassung bei SpringerLink (englisch)
Einzelnachweise
Bearbeiten- ↑ WORHP Interfaces. In: worhp.de. Archiviert vom am 7. Dezember 2013; abgerufen am 28. Januar 2024 (englisch).
- ↑ Patrik Kalmbach: Effiziente Ableitungsbestimmung bei hochdimensionaler nichtlinearer Optimierung. Universität Bremen, Bremen 23. Juni 2011, urn:nbn:de:gbv:46-00102087-10 (Dissertation).
- ↑ Luis Vicente, Renata Silva, Michael Ulbrich, Stefan Ulbrich: ipfilter – An NLP Solver based on a primal-dual interior-point filter algorithm. In: mat.uc.pt. Abgerufen am 27. Mai 2013 (englisch).
- ↑ Sven Erb: eNLP: application-centric NLP-based optimization in the aerospace market. In: ensta-paris.fr. ITN Sadco First Industrial Workshop, 2. März 2011, abgerufen am 23. Oktober 2013 (englisch).
- ↑ Entwicklerteam WORHP. In: worhp.de. Abgerufen am 28. Januar 2024.
- ↑ Christof Büskens, Dennis Wassel: The ESA NLP Solver WORHP. In: Giorgio Fasano, János D. Pintér (Hrsg.): Modeling and Optimization in Space Engineering (= Springer Optimization and Its Applications). Band 73. Springer, 2013, ISBN 978-1-4614-4469-5, doi:10.1007/978-1-4614-4469-5_4.
- ↑ J. L. Cano, M. Bello, J. Rodriguez-Canabal: Navigation and Guidance for Low-Thrust Trajectories, LOTNAV. 2004, bibcode:2004ESASP.548..609C
- ↑ CasADi wiki. In: github.com. Abgerufen am 27. Mai 2013 (englisch).
- ↑ Francesco Castellini: PRESTIGE MDO research, Research Achievements. 2009, ehemals im ; abgerufen am 23. März 2011. (Seite nicht mehr abrufbar. Suche in Webarchiven) (nicht mehr online verfügbar)
- ↑ Universities selected for PRESTIGE programme. In: esa.int. ESA, 17. Februar 2009, archiviert vom am 21. Oktober 2012; abgerufen am 28. Januar 2024 (englisch).