Articulo de referencia

IPOPT

{{cite web|url=https://github.com/coin-or/Ipopt/releases/tag/releases%2F3.14.16|title= Github release page|website= [[GitHub]]}} "},"latest release date":{"wt":"{{Start date and...

IPOPT , abreviatura de " Interior Point OPT imizer " (que se pronuncia IP-Opt), es una biblioteca de software para la optimización no lineal a gran escala de sistemas continuos.

Está escrito en C++ (tras migrar desde Fortran y C ) y se distribuye bajo la licencia EPL (anteriormente CPL ). IPOPT implementa un método de punto interior primal-dual y utiliza búsquedas lineales basadas en métodos de filtro ( Fletcher y Leyffer ).

IPOPT puede ser llamado desde varios entornos de modelado: C , C++ , Fortran , Java , R , Python y otros. [ 2 ]

IPOPT forma parte del proyecto COIN-OR .

IPOPT está diseñado para aprovechar la información de la primera derivada ( gradiente ) y la segunda derivada ( hessiana ) si se proporciona (generalmente mediante rutinas de diferenciación automática en entornos de modelado como AMPL ). Si no se proporcionan hessianas, IPOPT las aproximará utilizando un método cuasi-Newton , específicamente una actualización BFGS .

IPOPT fue desarrollado originalmente [ 3 ] por el estudiante de doctorado Andreas Wächter y el profesor Lorenz T. Biegler del Departamento de Ingeniería Química de la Universidad Carnegie Mellon . Su trabajo fue reconocido con el Premio de la Sociedad de Computación INFORMS en 2009.

Arvind Raghunathan creó posteriormente una extensión de IPOPT para la programación matemática con restricciones de equilibrio (MPEC). [ 4 ] Esta versión de IPOPT se conoce generalmente como IPOPT-C (donde la 'C' significa 'complementariedad'). Si bien en teoría cualquier programa de enteros mixtos puede reformularse como un MPEC, puede o no ser resoluble con IPOPT-C. La solución de MINLP (programas no lineales de enteros mixtos) utilizando IPOPT aún se está explorando. [ 5 ] [ 6 ]

Carl Laird y Andreas Wächter son los desarrolladores de IPOPT 3.0, una reimplementación de IPOPT en C++ . Por este desarrollo, Wächter y Laird recibieron el Premio JH Wilkinson de Software Numérico de 2011 .

Véase también

Referencias

  1. "Página de lanzamiento de Github" . GitHub .
  2. "Repositorio de IPOPT en GitHub" . GitHub . Fundación COIN-OR. 26 de abril de 2024. Consultado el 27 de abril de 2024 .
  3. Wächter, Andreas; Biegler, Lorenz T. (2006). "Sobre la implementación de un algoritmo de búsqueda lineal con filtro de punto interior para programación no lineal a gran escala" (PDF) . Mathematical Programming . 106 : 25–57 . doi : 10.1007/s10107-004-0559-y . S2CID 14183894 . 
  4. Raghunathan, Arvind U.; Biegler, Lorenz T. (2005). "Un método de punto interior para programas matemáticos con restricciones de complementariedad (MPCCS)". SIAM Journal on Optimization . 15 (3): 720– 750. doi : 10.1137/S1052623403429081 .
  5. "Proyecto MINLP de código abierto CMU-IBM" . Archivado del original el 22 de junio de 2006.
  6. "Bonmin" . 27 de octubre de 2023.
  • Página principal de IPOPT