Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
IPOPT, сокращение от "Interior Point OPTimizer, произносится I P Opt", – это программная библиотека для крупномасштабной нелинейной оптимизации непрерывных систем. Она написана на C++ (после перехода с Fortran и C) и распространяется под лицензией EPL (ранее CPL). IPOPT реализует примально-дуальный метод внутренней точки и использует поиск по линиям на основе фильтрующих методов (Флетчера и Лейффера). IPOPT может вызываться из различных сред моделирования: C, C++, Fortran, Java, R, Python и других. IPOPT является частью проекта COIN OR. IPOPT предназначен для использования информации о первой производной (градиенте) и второй производной (гессиане) при её предоставлении (обычно с помощью автоматических процедур дифференцирования в средах моделирования, таких как AMPL). Если гессиан не предоставлен, IPOPT будет аппроксимировать его квазиньютоновскими методами, в частности, обновлением BFGS. IPOPT был первоначально разработан аспирантом Андреасом Вахтером и профессором Лоренцем Т. Биглером из кафедры химической инженерии Университета Карнеги — Меллона. Их работа была отмечена премией INFORMS Computing Society в 2009 году. Арвинд Рагхунатан позже создал расширение IPOPT для математического программирования с ограничениями равновесия (MPEC). Эта версия IPOPT обычно известна как IPOPT C (где "C" означает "дополнительность"). Хотя теоретически любую программу смешанного целочисленного программирования можно переформулировать как MPEC, её разрешимость с помощью IPOPT C не гарантирована. Решение MINLP (смешанных нелинейных задач целочисленного программирования) с использованием IPOPT всё ещё изучается. Карл Лэрд и Андреас Вахтер являются разработчиками IPOPT 3.0, представляющего собой перереализацию IPOPT на C++. Вахтер и Лэрд были удостоены премии имени Дж. Х. Уилкинсона за численное программное обеспечение за эту разработку в 2011 году.
IPOPT, short for "Interior Point OPTimizer, pronounced I P Opt", is a software library for large scale nonlinear optimization of continuous systems. It is written in C++ (after migrating from Fortran and C) and is released under the EPL (formerly CPL). IPOPT implements a primal dual interior point method, and uses line searches based on Filter methods (Fletcher and Leyffer). IPOPT can be called from various modeling environments: C, C++, Fortran, Java, R, Python, and others. IPOPT is part of the COIN OR project. IPOPT is designed to exploit 1st derivative (gradient) and 2nd derivative (Hessian) information if provided (usually via automatic differentiation routines in modeling environments such as AMPL). If no Hessians are provided, IPOPT will approximate them using a quasi Newton methods, specifically a BFGS update. IPOPT was originally developed by Ph. D. student Andreas Wächter and Prof. Lorenz T. Biegler of the Department of Chemical Engineering at Carnegie Mellon University. Their work was recognized with the INFORMS Computing Society Prize in 2009. Arvind Raghunathan later created an extension to IPOPT for Mathematical programming with equilibrium constraints (MPEC). This version of IPOPT is generally known as IPOPT C (with the 'C' standing for 'complementarity'). While in theory any mixed integer program can be recast as an MPEC, it may or may not be solvable with IPOPT C. Solution of MINLPs (Mixed Integer Nonlinear Programs) using IPOPT is still being explored. Carl Laird and Andreas Wächter are the developers of IPOPT 3.0, which is a re implementation of IPOPT in C++. Wächter and Laird were awarded the 2011 J. H. Wilkinson Prize for Numerical Software for this development.