Como novedad en la última Mark de la librería NAG existe un método de conjunto activo de primer orden (First-order Active-set o FOAS). FOAS está basado en un gradiente conjugado no lineal para optimización no lineal con restricciones de límite, de gran escala. El resolvedor es ideal para problemas muy grandes (decenas de miles o más variables) donde las derivadas de primer orden están disponibles o son relativamente poco costosas de estimar.

Un objetivo de diseño clave para el nuevo resolvedor FOAS fue proporcionar un reemplazo atractivo y moderno para la rutina uncon_conjgrd_comp (e04dg) existente en la librería NAG. Mientras que el resolvedor e04dg estaba destinado para programación no lineal (NLP) sin restricciones, el nuevo resolvedor handle_solve_bounds_foas (e04kf) no solo se ha ampliado para resolver NLP con restricciones de límite sino también para ofrecer notables ganancias de rendimiento.

Las implementaciones de métodos de primer orden no solo son ubicuas y tienen un uso extendido, sino que también han demostrado soportar el desafío de los tamaños siempre crecientes en los problemas impuestos por la industria. Las aplicaciones más notables están en estadística, p. ej. calibración de parámetros y regresión de modelos no lineales, entre muchos otros. Los métodos de primer oren y el método del gradiente conjugado han sido tema de investigación durante más de 50 años y continuan siendo mejorados. 

Valores de referencia de FOAS

La siguiente figura 1, ofrece valores de referencia utilizando perfiles de rendimiento sobre un conjunto de problemas NLP CUTEst (Constrained and Unconstrained Testing) para los resolvedores e04kf y e04dg. Comparando los dos gráficos, se puede observar que el nuevo resolvedor es más eficiente en tiempo y en términos de llamadas del usuario: resuelve el 45% de los problemas más rápidamente (gráfico izquierdo) y el 60% de los problemas requiere menos evaluaciones del gradiente (gráfico derecho). Estos resultados muestran la clara ventaja de e04kf. Animamos claramente a los usuarios actuales de uncon_conjgrd_comp (e04dg) a actualizar.


Figura 1: Perfiles de rendimiento comparando los resolvedores e04kf y e04dg sobre  114 problemas NLP CUTEst sin restricciones. Las medidas de rendimiento son: tiempo (izquierda) y número de llamadas al gradiente (derecha). Para el gráfico de tiempo (izquierda), la línea superior indica el resolvedor más rápido. Para el gráfico de la derecha, la línea superior representa menores llamadas al gradiente.