Optimization Toolbox

Optimización no lineal

Optimization Toolbox proporciona algoritmos de optimización de uso extendido para resolver problemas de programación no lineal en MATLAB. Esta toolbox incluye solvers para la optimización no lineal con y sin restricciones, así como solvers para la optimización de mínimos cuadrados.

Optimización no lineal sin restricciones

Optimization Toolbox utiliza tres algoritmos para resolver los problemas de minimización no lineal sin restricciones:

  • El algoritmo cuasi-Newton emplea un procedimiento mixto de búsqueda cúbica y cuadrática y la fórmula BFGS (Broyden-Fletcher-Goldfarb-Shanno) para actualizar las aproximaciones de la matriz hessiana.
  • El algoritmo de Nelder-Mead (o downhill símplex) es un algoritmo de búsqueda directa que únicamente utiliza los valores de la función (no necesita derivadas) y controla funciones objetivo no diferenciables. Global Optimization Toolbox proporciona algoritmos de optimización adicionales sin derivadas para la optimización no lineal.
  • El algoritmo de región de confianza se emplea para problemas no lineales sin restricciones y es especialmente útil en problemas a gran escala donde se puede aprovechar la dispersión o la estructura.
Utilización de la optimización no lineal sin restricciones para buscar la máxima eficiencia en el mapa de rendimiento de un motor.
Utilización de la optimización no lineal sin restricciones para buscar la máxima eficiencia en el mapa de rendimiento de un motor.

Optimización no lineal con restricciones

Los problemas de optimización no lineal con restricciones se componen de funciones objetivo lineales o no lineales y pueden estar sujetos a restricciones lineales y no lineales. Optimization Toolbox utiliza cuatro algoritmos para resolver estos problemas:

  • El algoritmo de punto interior se emplea para la optimización no lineal general. Es especialmente útil para problemas a gran escala que tienen dispersión o estructura y es tolerante a fallos de evaluación en funciones objetivo y de restricción definidas por el usuario. Se basa en una función de barrera y, de manera opcional, mantiene todas las iteraciones estrictamente factibles con respecto a los límites durante la ejecución de la optimización.
  • El algoritmo SQP se emplea para la optimización no lineal general. Respeta los límites en todas las iteraciones y es tolerante a fallos de evaluación en funciones objetivo y de restricción definidas por el usuario.
  • El algoritmo de conjunto activo se emplea para la optimización no lineal general.
  • El algoritmo reflexivo de región de confianza se emplea únicamente para los problemas con restricciones de límite o para igualdades lineales. Es especialmente útil en los problemas a gran escala.

Los algoritmos de punto interior y reflexivo de región de confianza permiten estimar matrices hessianas utilizando diferentes enfoques.

En el caso del algoritmo de punto interior, es posible estimar las matrices hessianas mediante:

  • BFGS (densa)
  • BFGS de memoria limitada (para problemas a gran escala)
  • Función multiplicadora hessiana
  • Hessiana real (dispersa o densa)
  • Diferencia finita de gradientes, sin necesidad de conocer la estructura de dispersión

En el caso del algoritmo reflexivo de región de confianza, puede emplear:

  • Diferencia finita de gradientes, estructura de dispersión de la hessiana
  • Hessiana real (dispersa o densa)
  • Función multiplicadora hessiana

Además, los algoritmos de punto interior y reflexivo de región de confianza le permiten calcular los productos hessiana-por-vector en una función sin tener que formar la matriz hessiana explícitamente.

Utilización de la programación no lineal con restricciones para diseñar un sistema de suspensión óptimo.
Utilización de la programación no lineal con restricciones para diseñar un sistema de suspensión óptimo.
Siguiente: Programación lineal y cuadrática

Probar Optimization Toolbox

Obtener software de prueba

MATLAB para usuarios de Excel

Ver seminario virtual