Разработчик(и) | Кристоф Бюскенс, Матиас Гердтс и др. |
---|---|
Первоначальный выпуск | Март 2010 ( 2010-03 ) |
Стабильный релиз | 1.16 / 7 мая 2024 г. ( 2024-05-07 ) |
Написано в | ANSI C , FORTRAN 77 , FORTRAN 95 и FORTRAN 2003 |
Операционная система | Unix-подобные , Windows XP и более поздние версии |
Доступно в | Английский |
Тип | Числовое программное обеспечение |
Лицензия | Запатентованная разработка , бесплатная для академических пользователей. |
Веб-сайт | worhp.de |
WORHP ( / wɔːrp / «warp», аббревиатура от «We Optimize Really Huge Problems»), также известный как eNLP (European NLP Solver) от ESA , представляет собой математическую программную библиотеку для численного решения крупномасштабных непрерывных нелинейных задач оптимизации .
WORHP — это гибридная реализация Fortran и C , которая может использоваться из программ C/ C++ и Fortran с использованием различных интерфейсов различной сложности и гибкости. Также имеются интерфейсы для сред моделирования MATLAB , CasADi и AMPL . [1]
WORHP предназначен для решения проблем вида
с достаточно гладкими функциями (цель) и (ограничения), которые могут быть нелинейными и не обязательно выпуклыми. Даже проблемы с большими размерами и могут быть решены эффективно, если проблема достаточно разрежена. Случаи, когда цель и ограничения не могут быть оценены отдельно или когда ограничения могут быть оценены поэлементно, могут быть использованы WORHP для повышения вычислительной эффективности.
WORHP требует первую производную ( градиент ) и ( якобиан ) и вторую производную ( матрицу Гессе ) функции Лагранжа ; в среде моделирования, такой как AMPL, они предоставляются методами автоматического дифференцирования , но должны быть предоставлены вызывающей стороной в других средах. Первые и вторые производные могут быть аппроксимированы WORHP с использованием конечных разностей . Чтобы уменьшить в противном случае чрезмерно большое количество необходимых оценок функций в крупномасштабных разреженных задачах, теория раскраски графов используется для группировки первых и вторых частных производных. Вторые производные также могут быть аппроксимированы с использованием вариаций классического метода BFGS , включая блочно-диагональные или разреженные матрицы BFGS.
Уровень NLP WORHP основан на SQP , в то время как квадратичные подзадачи решаются с использованием метода внутренней точки . Этот подход был выбран для извлечения выгоды из надежности методов SQP и надежной сложности времени выполнения методов IP, поскольку традиционные методы активного набора могут быть непригодны для крупномасштабных задач.
Разработка WORHP началась в 2006 году при финансировании DLR и была продолжена под маркой eNLP после 2008 года при поддержке ESA/ ESTEC совместно с решателем внутренних точек ipfilter [2] (включение которого в eNLP было прекращено после 2010 года) с целью разработки европейского решателя NLP для использования в оптимизации траектории, анализе миссий и аэрокосмических приложениях в целом. [3]
Разработкой WORHP руководит Steinbeis-Forschungszentrum Optimierung, Steuerung und Regelung и ученые Группы оптимизации и оптимального управления в Университете Бремена и в Университете Бундесвера в Мюнхене . [4] Разработчики подчеркивают, что WORHP, несмотря на свои академические корни, задуман как инструмент промышленного уровня, а не как академическая исследовательская платформа. [5]
WORHP был интегрирован в инструменты анализа траектории, такие как LOTNAV [6] и ASTOS , и используется в ESOC и ESTEC . Он может использоваться как оптимизатор в CasADi (начиная с версии 1.5.0beta) [7] и как локальный оптимизатор в SVAGO MDO [8], инструменте, разработанном в Университете Бремена и Миланском политехническом университете для оптимизации многопрофильного проектирования с помощью программы ESA PRESTIGE. [9]