MINOS (software de optimización)


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

MINOS es un paquete de software de Fortran para resolver problemas de optimización matemática lineal y no lineal . MINOS (Sistema modular de optimización no lineal en el núcleo) se puede utilizar para programación lineal, programación cuadrática y funciones y restricciones objetivas más generales, y para encontrar un punto factible para un conjunto de igualdades y desigualdades lineales o no lineales. [1]

MINOS fue desarrollado por primera vez por Bruce Murtagh y Michael Saunders , principalmente en el Laboratorio de Optimización de Sistemas del Departamento de Investigación de Operaciones de la Universidad de Stanford. [2] En 1985, Saunders recibió el premio inaugural Orchard-Hays [3] de la Mathematical Programming Society (ahora Mathematical Optimization Society ) por su trabajo en MINOS. A pesar de ser uno de los primeros solucionadores de optimización restringida de propósito general que surgió, el paquete sigue siendo muy utilizado. MINOS es compatible con AIMMS , AMPL , APMonitor , GAMS y TOMLABsistemas de modelado. Además, sigue siendo uno de los solucionadores más utilizados en el servidor NEOS [4] [5] y en GAMS . [6]

Operación

Idealmente, el usuario debería proporcionar gradientes de las funciones no lineales. (Esto es automático en la mayoría de los sistemas de modelado mencionados anteriormente). Si no se proporcionan algunos o todos los gradientes, MINOS aproximará los que faltan por diferencias finitas, pero esto podría ser lento y menos confiable. Si la función objetivo es convexa y las restricciones son lineales, la solución obtenida será un minimizador global. De lo contrario, la solución obtenida puede ser un minimizador local.

Para programas lineales, se utiliza un método simplex primal de dos fases . La primera fase minimiza la suma de inviabilidades. Para problemas con restricciones lineales y un objetivo no lineal, se utiliza un método de gradiente reducido. Se mantiene una aproximación de cuasi-Newton al hessiano reducido para obtener direcciones de búsqueda. El método es más eficiente cuando hay muchas restricciones o límites activos en la solución.

Para problemas con restricciones no lineales, se usa un método lagrangiano restringido linealmente. [7] Esto implica una secuencia de iteraciones principales, cada una de las cuales resuelve (quizás aproximadamente) un subproblema limitado linealmente. El objetivo del subproblema es un Lagrangiano aumentado y las restricciones del subproblema son linealizaciones de las restricciones no lineales en el punto actual.

MINOS está diseñado para grandes problemas dispersos. No hay un límite fijo en el tamaño del problema. La mayor parte del almacenamiento de trabajo está contenido en una matriz de doble precisión (que debería ser lo suficientemente grande). El código fuente es adecuado para todas las máquinas científicas con un compilador Fortran.

Referencias

  1. ^ BA Murtagh, MA Saunders (2003). "Guía del usuario de MINOS 5.51" (PDF) . Cite journal requiere |journal=( ayuda )
  2. ^ BA Murtagh, MA Saunders (1978). "Optimización linealmente restringida a gran escala" (PDF) . Programación matemática . 14 : 41–72.
  3. ^ Ganadores del premio Beale-Orchard-Hays
  4. ^ Servidor NEOS
  5. ^ Saunders, Michael (2013). Algoritmos y software de optimización en SOL (PDF) .
  6. ^ Guía de resolución de GAMS / MINOS
  7. ^ Más, Jorge J .; Wright, Stephen J. (1993). "Capítulo 8: Optimización restringida". Guía de software de optimización . Fronteras en Matemática Aplicada. doi : 10.1137 / 1.9781611970951.ch8 .

Otras lecturas

enlaces externos


Obtenido de " https://en.wikipedia.org/w/index.php?title=MINOS_(optimization_software)&oldid=701820443 "