martes, 17 de diciembre de 2019

LISTA DE PROBLEMAS


El problema de asignación cuadrática ( QAP ) es uno de los problemas fundamentales de optimización combinatoria en la rama de optimización o investigación de operaciones en matemáticas , desde la categoría de los problemas de ubicación de las instalaciones .
El problema modela el siguiente problema de la vida real:
Hay un conjunto de n instalaciones y un conjunto de n ubicaciones. Para cada par de ubicaciones, se especifica una distancia y para cada par de instalaciones se especifica un peso o flujo (por ejemplo, la cantidad de suministros transportados entre las dos instalaciones). El problema es asignar todas las instalaciones a diferentes ubicaciones con el objetivo de minimizar la suma de las distancias multiplicadas por los flujos correspondientes.
Intuitivamente, la función de costos alienta a las fábricas con altos flujos entre sí a ubicarse juntas.
La declaración del problema se parece a la del problema de asignación , excepto que la función de costo se expresa en términos de desigualdades cuadráticas, de ahí el nombre.

Definición matemática formal editar ]

La definición formal del problema de asignación cuadrática es la siguiente:
Dados dos conjuntos, P ( "instalaciones") y L ( "sitios"), de igual tamaño, junto con una función de ponderación w  : P × P → R y una función de distancia d  : L × L → R . Encuentre la biyección f  : P → L ("asignación") tal que la función de costo:
se minimiza
Por lo general, las funciones de peso y distancia se ven como matrices cuadradas de valor real , de modo que la función de costo se escribe como:
En notación matricial:
dónde  es el conjunto de  matrices de permutación,  es la matriz de peso y  es la matriz de distancia

Complejidad computacional editar ]

El problema es NP-hard , por lo que no existe un algoritmo conocido para resolver este problema en tiempo polinómico, e incluso las instancias pequeñas pueden requerir un tiempo de cálculo prolongado. También se demostró que el problema no tiene un algoritmo de aproximación que se ejecute en tiempo polinómico para ningún factor (constante), a menos que P = NP. [1] El problema del vendedor ambulante puede verse como un caso especial de QAP si se supone que los flujos conectan todas las instalaciones solo a lo largo de un solo anillo, todos los flujos tienen el mismo valor distinto de cero (constante). Muchos otros problemas de problemas de optimización combinatoria estándar pueden escribirse de esta forma.

Aplicaciones editar ]

Además de la formulación original de la ubicación de la planta, QAP es un modelo matemático para el problema de la colocación de componentes electrónicos interconectados en una placa de circuito impreso o en un microchip , que es parte de la etapa de ubicación y ruta del diseño asistido por computadora en la industria electrónica. 









La programación cuadrática (QP) es el proceso de resolver un tipo especial de problema de optimización matemática , específicamente, un problema de optimización cuadrática (restringido linealmente), es decir, el problema de optimizar (minimizar o maximizar) una función cuadrática de varias variables sujetas a lineal restricciones sobre estas variables. La programación cuadrática es un tipo particular de programación no lineal .

Formulación del problema editar ]

El problema de programación cuadrática con n variables ym restricciones puede formularse de la siguiente manera. [1] Dado:
  • un vector n -dimensional de valor real c ,
  • una matriz simétrica real n × n -dimensional Q ,
  • una matriz real m × n -dimensional A , y
  • un vector real b dimensional m ,
El objetivo de la programación cuadrática es encontrar un vector n- dimensional x , que
donde T denota la transposición del vector deLa notación x ⪯ b significa que cada entrada del vector x es menor o igual que la entrada correspondiente del vector b .
Se puede plantear un problema de programación relacionado, la programación cuadrática restringida cuadráticamente , agregando restricciones cuadráticas a las variables.

Métodos de solución editar ]

Para problemas generales, se utilizan comúnmente una variedad de métodos, que incluyen
En el caso en que Q sea positivo definido , el problema es un caso especial del campo más general de optimización convexa .

Restricciones de igualdad editar ]

La programación cuadrática es particularmente simple cuando Q es positivo definido y solo hay restricciones de igualdad; específicamente, el proceso de solución es lineal. Al usar multiplicadores de Lagrange y buscar el extremo de los lagrangianos, se puede demostrar fácilmente que la solución al problema de igualdad restringida
está dado por el sistema lineal
dónde  es un conjunto de multiplicadores de Lagrange que salen de la solución junto con .
La forma más fácil de acercarse a este sistema es la solución directa (por ejemplo, factorización LU ), que para problemas pequeños es muy práctica. Para problemas grandes, el sistema plantea algunas dificultades inusuales, más notablemente que el problema nunca es definitivo positivo (incluso sies), lo que hace que sea muy difícil encontrar un buen enfoque numérico, y hay muchos enfoques para elegir dependiendo del problema. [4]
Si las restricciones no acoplan demasiado las variables, un ataque relativamente simple es cambiar las variables para que las restricciones se cumplan incondicionalmente. Por ejemplo, supongamos(generalizar a distinto de cero es sencillo). Mirando las ecuaciones de restricción:
introducir una nueva variable  definido por
dónde  tiene dimensión de menos el número de restricciones. Luego
y si  es elegido para que la ecuación de restricción siempre será satisfecha. Encontrar talimplica encontrar el espacio nulo de, que es más o menos simple dependiendo de la estructura de La sustitución en la forma cuadrática da un problema de minimización sin restricciones:
cuya solución viene dada por:
Bajo ciertas condiciones en , la matriz reducida Será positivo definitivo. Es posible escribir una variación en el método de gradiente conjugado que evite el cálculo explícito de[5]

Dualidad lagrangiana editar ]

El dual lagrangiano de un QP es también un QP. Para ver eso, centrémonos en el caso dondey Q es positivo definido. Escribimos la función lagrangiana como
Definición de la función dual (lagrangiana)  como , encontramos un infimum de, utilizando  y definición positiva de Q:
Por lo tanto, la doble función es
y entonces el dual lagrangiano del QP es
Además de la teoría de la dualidad lagrangiana, hay otros emparejamientos de dualidad (por ejemplo Wolfe , etc.).

Complejidad editar ]

Para positivo definido , el método elipsoide resuelve el problema en un tiempo polinomial (débilmente) [6] Si, por otro lado, Q es indefinido, entonces el problema es NP-duro . [7] De hecho, incluso si Q tiene solo un valor propio negativo , el problema es (fuertemente) NP-duro . [8]

Solventes y lenguajes de scripting (programación) editar ]

NombreBreve informacion
OBJETIVOSUn sistema de software para modelar y resolver problemas de optimización y programación
ALGLIBBiblioteca numérica con doble licencia (GPL / propietaria) (C ++, .NET).
AMPLUn lenguaje de modelado popular para la optimización matemática a gran escala.
Monitor de APConjunto de modelado y optimización para sistemas LP , QP, NLP , MILP , MINLP y DAE en MATLAB y Python.
CGALUn paquete de geometría computacional de código abierto que incluye un solucionador de programación cuadrática.
CPLEXSolucionador popular con una API (C, C ++, Java, .Net, Python, Matlab y R). Gratis para académicos.
Función de solucionador de ExcelUn solucionador no lineal ajustado a hojas de cálculo en las que las evaluaciones de funciones se basan en las celdas de recálculo. Versión básica disponible como complemento estándar para Excel.
GAMSUn sistema de modelado de alto nivel para la optimización matemática.
GurobiSolucionador con algoritmos paralelos para programas lineales a gran escala, programas cuadráticos y programas de enteros mixtos. Gratis para uso académico.
IMSLUn conjunto de funciones matemáticas y estadísticas que los programadores pueden integrar en sus aplicaciones de software.
IPOPTIpopt (Interior Point OPTimizer) es un paquete de software para la optimización no lineal a gran escala
Artelys KnitroUn paquete integrado para la optimización no lineal
ArceLenguaje de programación de propósito general para las matemáticas. La solución de un problema cuadrático en Maple se logra a través de su comando QPSolve .
MATLABUn lenguaje de programación de propósito general y orientado a la matriz para la computación numérica. La programación cuadrática en MATLAB requiere la Caja de herramientas de optimización además del producto base de MATLAB
MathematicaUn lenguaje de programación de propósito general para las matemáticas, que incluye capacidades simbólicas y numéricas.
MOSEKUn solucionador para la optimización a gran escala con API para varios lenguajes (C ++, Java, .Net, Matlab y Python)
Biblioteca numérica NAGUna colección de rutinas matemáticas y estadísticas desarrolladas por el Grupo de Algoritmos Numéricos para múltiples lenguajes de programación (C, C ++, Fortran, Visual Basic, Java y C #) y paquetes (MATLAB, Excel, R, LabVIEW). El capítulo de Optimización de la Biblioteca NAG incluye rutinas para problemas de programación cuadrática con matrices de restricciones lineales dispersas y no dispersas, junto con rutinas para la optimización de sumas de cuadrados lineales, no lineales, de funciones lineales o no lineales con restricciones no lineales, acotadas o sin restricciones. . La Biblioteca NAG tiene rutinas para la optimización local y global, y para problemas continuos o enteros.
Octava GNUUn lenguaje de programación gratuito (su licencia es GPLv 3) de propósito general y orientado a matrices para computación numérica, similar a MATLAB. La programación cuadrática en GNU Octave está disponible a través de su comando qp
R (Fortran)Marco de cómputo estadístico universal multiplataforma con licencia GPL , consulte su página quadprog . Portado a javascript bajo licencia MIT . Portado a C # bajo LGPL .
SAS / ORUn conjunto de solucionadores para la optimización lineal, entera, no lineal, sin derivados, de red, combinatoria y de restricción; el lenguaje de modelado algebraico OPTMODEL ; y una variedad de soluciones verticales dirigidas a problemas / mercados específicos, todos los cuales están completamente integrados con el Sistema SAS .
TK SolverSistema de software de modelado matemático y resolución de problemas basado en un lenguaje declarativo basado en reglas, comercializado por Universal Technical Systems, Inc ..
TOMLABAdmite la optimización global, la programación de enteros, todos los tipos de mínimos cuadrados, la programación lineal, cuadrática y sin restricciones para MATLAB . TOMLAB admite solucionadores como Gurobi , CPLEX , SNOPT y KNITRO .
XPRESSSolucionador para programas lineales a gran escala, programas cuadráticos, programas generales no lineales y enteros mixtos. Tiene API para varios lenguajes de programación, también tiene un lenguaje de modelado Mosel y funciona con AMPL, GAMS . Gratis para uso académico.

No hay comentarios:

Publicar un comentario