Numerical Algorithms Group (NAG), expertos en algoritmos, software y HPC han anunciado la reingeniería de su buque insignia NAG Library para Python. La última versión de NAG Library for Python trae nuevos contenidos algorítmicos en el área de optimización matemática. Todo el contenido de la NAG Library funciona perfectamente con los tipos de datos NumPy.

La reingeniería de la NAG Library proporciona a los desarrolladores de Python muchas mejoras a la usabilidad permitiendo el desarrollo más rápido de aplicaciones incluyendo, documentación de rutinas autocontenida, seguridad de hilos, ejemplos curados demostrando algorítmica y funcionalidad importante relacionada con Python, y soporte para llamadas a Python nativo y equivalentes a rutinas en lenguaje C proporcionando una ruta unificada desde el prototipo en Python para distribuir como código compilado.

Además de la NAG Library for Python, hay dos nuevos algoritmos de optimización NAG: Optimización libre de derivativos para la adaptación de datos y Método de punto interior para problemas de programación lineal a gran escala que amplían aún más el número de algoritmos matemáticos y estadísticos disponibles en la NAG Library.

La optimización libre de derivadas para el solucionador de datos fue desarrollado en colaboración con el Centro de Formación Doctoral en Modelado Matemático con Enfoque Industrial (InFoMM) en la Universidad de Oxford. Calibrar los parámetros de modelos numéricos complejos para que se ajusten a las observaciones del mundo real es uno de los problemas más comunes que se encuentran en muchas aplicaciones, como finanzas, simulaciones multifísicas e ingeniería. No es fácil, ni siquiera posible, evaluar derivados de funciones que aparecen en el modelo de optimización y, por lo tanto, muchos enfoques bien establecidos en optimización matemática pueden no ser satisfactorios. Pasar a un régimen libre de derivadas presenta nuevos enfoques para aproximar la solución sin calcular o estimar los derivados. NAG agregó su primer solucionador libre de derivadas a la NAG Library hace aproximadamente cinco años. Desde entonces, este campo ha atraído una gran atención académica, lo que ha dado lugar a numerosos avances. El nuevo solucionador de optimización libre de derivadas puede explotar con eficacia la estructura de los problemas de calibración y se cree que es el primer solucionador comercial de este tipo disponible públicamente en el mundo.

La segunda rutina de optimización es un método de punto interior para problemas de programación lineal a gran escala basado en un paquete de álgebra lineal dispersa muy eficiente e implementa dos variantes de métodos de punto interior: los métodos Primal-Dual y Self-Dual. El Primal-Dual por lo general ofrece la convergencia más rápida y es el solucionador de elección. Ambas implementaciones deberían presentar aceleraciones significativas para problemas a gran escala en comparación con los actuales solucionadores de LP / QP en la Biblioteca. La programación lineal es popular en las finanzas y la logística, en particular la optimización de los procesos de planificación, producción y transporte, pero también se presta a muchos otros campos e industrias.

Un equipo de NAG estará disponible en JupyterCon, la conferencia oficial de Jupyter; una aplicación web de código abierto que le permite crear y compartir documentos que contienen códigos, ecuaciones, visualizaciones y textos narrativos en vivo; y demostrará cómo los algoritmos de la NAG Library pueden brindar múltiples beneficios a sus usuarios.

La NAG Library for Phyton de 64 bits está disponible para Linux, Apple Mac OS y Microsoft Windows y es compatible con Python 2.7, 3.5 y 3.6.