Saltar al contenido

Condición de Karush-Kuhn-Tucker – Multiplicador de Lagrange

Basta ya de buscar en otras páginas ya que estás al espacio correcto, contamos con la solución que quieres sin complicarte.

Solución:

Eché un vistazo al periódico al que te vinculaste. Tengo algunas observaciones:

  • Parece que los autores del artículo lograron derivar expresiones explícitas de forma cerrada para las condiciones de estacionariedad para una clase especial de funciones. Esto a veces es posible para problemas muy específicos.

  • Si recuerdas tu cálculo, para una función univariante $f(x)$, el mínimo o máximo se encuentra cuando $f'(x) = 0$. Puede pensar en el KKT como una generalización de esta idea para un problema de optimización con restricciones.

  • La razón por la que yo (y los autores) decimos condiciones de “estacionariedad” en lugar de condiciones de “optimidad” es porque las condiciones KKT son condiciones necesarias pero insuficientes para la optimalidad. Para true garantía de optimización, necesita probar su solución contra SSOC (condiciones suficientes de segundo orden). Nuevamente, las condiciones de segundo orden son análogas a la idea de Cálculo-101 de determinar si $f”(x)$ es positivo o negativo, lo que te dice si la solución de $f'(x) = 0$ es un mínimo o máximo.

  • No obstante, en este caso, según los supuestos del artículo, en ausencia de puntos de silla, podemos suponer que la solución es óptima.

  • Esto significa tu no tiene que usar ningún algoritmo/biblioteca de optimización en este caso particular. Para una función de fijación de precios determinada, todo lo que tiene que hacer es evaluar una función en función de los resultados proporcionados en el documento. Esta es una propiedad muy agradable: significa que la optimización se realiza implícitamente para usted. Consulte el Ejemplo 1 en el documento para ver un ejemplo resuelto.

En general, el KKT no proporciona un algoritmo para encontrar un óptimo; es sólo una prueba de estacionariedad. Sin embargo, en casos muy específicos (es decir, con condiciones de regularidad asumidas, convexas, sin desigualdades, etc.), las condiciones KKT pueden proporcionar expresiones de forma cerrada para la solución óptima de un problema.

De hecho… esta es la idea detrás del Método de los Multiplicadores de Lagrange. El método del multiplicador de Lagrange es simplemente un caso especial de las condiciones KKT sin restricciones de desigualdad.

Nota al margen: una de las razones detrás de la dificultad de usar el KKT como un algoritmo práctico para encontrar puntos estacionarios/óptimos se debe a las “condiciones de complementariedad” en el sistema KKT (ver artículo de Wikipedia). cuando tiene restricciones de desigualdad, debe satisfacer un conjunto de restricciones conocidas como “restricciones de complementariedad”. Puede haber términos bilineales desagradables, no convexos y degenerados en estas restricciones, y se requieren técnicas especiales para manejarlos: se requieren métodos enumerativos para obtener la optimización global y, por lo tanto, el problema es NP-difícil. Existe un campo de investigación completamente nuevo en el área floreciente de los problemas de complementariedad (y su clase de problemas relacionados, MPEC = programas matemáticos con restricciones de equilibrio)… actualmente se está trabajando mucho para determinar diferentes tipos de condiciones de estacionariedad para esta clase. de problemas Está fuera del alcance de la pregunta, pero pensé en hacerle saber lo que hay.

Las condiciones KKT son condiciones necesarias para que un problema de optimización con restricciones tenga un mínimo local. Para problemas complejos, estas condiciones normalmente motivan el desarrollo de algoritmos de minimización en lugar de intentar encontrar los valores que satisfacen las condiciones KKT.

Existe un software de optimización en caja negra y se recomienda aprovecharlo. Quizás un SQP (programación cuadrática secuencial) sería ideal para este problema.

La caja de herramientas de optimización en Matlab es realmente fácil de usar. Es probable que la función fmincon resuelva su problema. Consulte: http://www.mathworks.com/products/optimization/

Hay alternativas, aunque personalmente nunca las he usado. Consulte: http://wwwasdoc.web.cern.ch/wwwasdoc/minuit/minmain.html

Si conservas alguna duda y forma de enriquecer nuestro crónica puedes realizar un exégesis y con gusto lo interpretaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *