Teorema de Karush Kuhn Tucker en PNL (Ejercicios Resueltos)

Las condiciones de optimalidad establecidas en el Teorema de Karush Kuhn Tucker (KKT) permiten abordar la resolución de modelos de Programación No Lineal que consideran tanto restricciones de igualdad (ecuaciones) como desigualdad (inecuaciones).

En términos comparativos las condiciones de KKT son más generales que el Método de Lagrange el cual se puede aplicar a problemas no lineales que consideran exclusivamente restricciones de igualdad.

En el siguiente artículo mostraremos cómo utilizar el Teorema de Karush Kuhn Tucker para resolver un problema de Programación No Lineal con 2 variables de decisión.

Sin pérdida de generalidad un modelo de Programación No Lineal se puede representar a través del siguiente formato:

problema-general-kkt

Luego podemos reescribir cualquier problema en dicha estructura manteniendo la equivalencia de la representación matemática. Para ejemplificar lo anterior consideremos el siguiente modelo de optimización no lineal que resulta de interés su resolución.

modelo-pnl

El problema anterior se puede representar gráficamente a través del software Geogebra de modo de encontrar su solución óptima (x1=2 y x2=1) en el par ordenado etiquetado con la letra “C”  en el gráfico a continuación, con valor óptimo V(P)=2.

El conjunto de factibilidad corresponde al área achurada. Adicionalmente se puede observar que en la solución óptima se encuentran activas las restricciones 1 y 3 (el resto de las restricciones por cierto se cumple pero no en igualdad).

resolucion-grafica-programa

Por supuesto la resolución mediante el Método Gráfico es sólo referencial y se ha utilizado en este caso para corroborar los resultados a obtener en la aplicación del teorema. En este contexto el problema en su forma estándar es simplemente:

forma-estandar-kkt

Notar que sólo fue necesario cambiar la forma de las restricciones de no negatividad (esto se puede hacer multiplicando por -1 cada una de ellas). Cabe destacar que en este caso en particular el problema no considera restricciones de igualdad.

Luego las condiciones necesarias de primer orden de Karush Kuhn Tucker (KKT) están dadas por:

condiciones-kkt-primer-orde

Por ejemplo, si en las condiciones generales anteriores consideramos el problema no restringido (asumiendo que todas las restricciones son inactivas) la solución óptima por simple inspección es x1=3 y x2=2, que corresponde a la coordenada “E” de la gráfica anterior y que se puede observar no es una solución factible para el problema.

De este modo la circunferencia de menor radio que intercepta el conjunto de factibilidad es precisamente aquella que pasa por la coordenada “C” donde las restricciones 1 y 3 se cumplen en igualdad, razón por la cual las cuales activaremos de forma simultanea:

desarrollo-condiciones-kkt

Al calcular los gradientes respectivos se obtiene:

kkt-primer-orden

Lo cual da origen al siguiente sistema de ecuaciones:

sistema-ecuaciones-primer-o

Reemplazando x1=2 y x2=1 podemos despejar los valores de los multiplicadores los cuales cumplen con las condiciones de no negatividad:

solucion-sistema-primer-ord

Adicionalmente se puede verificar que x1=2 y x2=1 satisface las restricciones omitidas (2, 4 y 5) por lo cual se puede afirmar que dicha solución cumple las condiciones necesarias de primer orden de Karush Kuhn Tucker (KKT).

A continuación verificamos el cumplimiento de las condiciones de segundo orden de KKT, en particular lo que tiene relación con la convexidad del problema. Para ello calculamos la Matriz Hessiana o de segundas derivadas de la función objetivo y las restricciones activas.

condiciones-de-segundo-orde

El primer determinante de la Matriz Hessiana es D1=8/3>=0 y el segundo determinante es D2=(8/3)*(8/3)=(64/9)>=0. Se concluye que el problema es convexo y por tanto x1=2 y x2=1 es mínimo local y global para el problema. La resolución computacional de este problema con AMPL corrobora los resultados alcanzados:

solucion-ampl-problema-no-l

Ejercicio Resuelto Teorema de Karush Kuhn Tucker (KKT)

Un asesor financiero está evaluando la compra de acciones de firmas de cierto sector industrial. Desea minimizar la variación de la cartera resultante compuesta por acciones de dos firmas, pero también quiere tener un tasa de retorno de al menos un 9%. Después de obtener datos históricos sobre la variación y rendimientos de ambos instrumentos, desarrolla el siguiente modelo de optimización no-lineal:

ejemplo kkt

Donde x e y representan la proporción de dinero invertida en cada acción. Formule explícitamente todas las condiciones de optimalidad del Teorema de Karush-Kuhn-Tucker para este problema y úselas para determinar la cartera óptima. Justifique adecuadamente su respuesta. Analice todos los posibles casos.

Respuesta:

Según el Teorema de Weierstrass, el problema admite solución óptima pues tiene una función objetivo continua y un dominio de soluciones factibles cerrado y acotado (que se puede apreciar incluso geométricamente). En este sentido el dominio de soluciones factibles son los puntos en la recta que unen los pares ordenados etiquetados con las letras A y B, donde:

A=(x,y)=(\frac{1}{3},\frac{2}{3}) y B=(x,y)=(1,0)

representación gráfica teorema de kkt

Más aún es fácil ver que la Matriz Hessiana de la función objetivo es positiva definida y por ende es una función (estrictamente) convexa.

\bigtriangledown f(x,y)=(0.32x+0.20y,0.20x+0.18y)

H=D^{2}(x,y)=\begin{pmatrix}0.32&0.20\\0.20&0.18\end{pmatrix}

Como las restricciones son lineales, y la función objetivo es estrictamente convexa, resulta que es problema propuesto es un problema convexo.

Lo anterior (que el problema sea convexo) implica que las condiciones de optimalidad de Karush-Kuhn-Tucker son necesarias y suficientes para hallar la solución óptima del mismo.

Las condiciones del Teorema de Karush-Kuhn-Tucker para este problema son:

i)
0.32x + 0.20y + λ1 – 0.11μ1 – μ2 = 0
0.18y + 0.20x + λ1 – 0.08μ1 – μ3 = 0
ii)
(-0.11x – 0.08y + 0.09) μ1 = 0
-x1 μ2 = 0 -x3 μ3 = 0
iii)
x + y = 1
0.11x + 0.08y ≥ 0.09
x≥0, y≥0
iv)
μ1≥0, μ2≥0, μ3≥0

Al considerar el esquema de activación de restricciones, siempre debe estar activa la ecuación x+y =1 y lo que cabe entonces es no activar ninguna inecuación o a lo sumo activar una de ellas.

Los diferentes casos que se podrían llegar a analizar son:

i) Ninguna inecuación activa.

Tomamos μ1=0, μ2=0, μ3=0 y resolvemos:

0.32x + 0.20y + λ1 = 0
0.18y + 0.20x + λ1 = 0
x + y = 1

Cuya solución resulta ser: x=-0.2 e y=1.2 que es infactible.

ii) Activando sólo la inecuación 0.11x + 0.08y ≥ 0.09.

Tomamos μ2=0, μ3=0 y resolvemos:

0.32x + 0.20y + λ1 – 0.11μ1 = 0
0.18y + 0.20x + λ1 – 0.08μ1 = 0
x + y = 1
0.11x + 0.08y = 0.09

Cuya solución resulta ser: x=1/3 e y=2/3 con multiplicadores λ1=0,04444453 y μ1=1,777777502, con lo cual tenemos un punto que cumple con todas las condiciones del teorema.

iii) Activando sólo la inecuación x≥0.

Tomamos μ1=0, μ3=0 y resolvemos:

0.32x + 0.20y + λ1 – μ2 = 0
0.18y + 0.20x + λ1 = 0
x + y = 1
x = 0

Cuya solución resulta ser: x=0 e y=1 con multiplicadores λ1=-0.18 y μ2 = 0.02 pero no verifica 0.11x + 0.08y = 0.08 ≥ 0.09.

iv) Activando sólo la inecuación y≥0.

Tomamos μ1=0, μ2=0 y resolvemos:

0.32x + 0.20y + λ1 = 0
0.18y + 0.20x + λ1 – μ3 = 0
x + y = 1
y = 0

Cuya solución resulta ser: x=1 e y=0 con multiplicadores λ1=-0.32 y μ3=-0.12 y este último no cumple con la no-negatividad.

En consecuencia, la solución óptima es aquella obtenida en el caso ii) pues el problema es convexo: x=1/3 e y=2/3. Dicha solución corresponde al par ordenado etiquetado con la letra A en la gráfica anterior. El valor óptimo es 0.102222 y se obtiene simplemente al evaluar la solución óptima en la función objetivo.

Estrategia de Inventario en el Plan Maestro de la Producción (PMP)

Una estrategia pura para desarrollar un Plan Maestro de la Producción (PMP) es la acumulación de inventarios cuando la capacidad de producción excede el Pronóstico de Demanda, para luego desacumular inventario cuando los requerimientos son mayores o incluso cuando la demanda supera la capacidad de producción.

Para presentar una aplicación de esta estrategia consideraremos los antecedentes de operación descritos en el artículo Formulación y Resolución de un modelo de Programación Entera para un Plan Maestro de la Producción (PMP).

  • Costo de Contratar un Trabajador: US$1.000
  • Costo de Despedir un Trabajador: US$1.800
  • Costo de Almacenamiento Unitario Mensual: US$10
  • Inventario Inicial: 500 unidades
  • Costo Remuneración (Sueldo) de un Trabajador al Mes: US$600
  • Número de Trabajadores al Inicio de la Planificación: 100
  • Unidades de Producto producidas por un Trabajador al Mes: 50

Luego de aplicar la estrategia de acumulación y desacumulación de inventario se obtiene la siguiente alternativa factible con costo total de US$1.988.200.

estrategia-inventario-plan-

Cabe destacar que si bien esta estrategia evita la contratación y despido de trabajadores, de todos modos es necesario contratar 66 trabajadores en el mes de Enero. Este número no es arbitrario: corresponde a la mínima cantidad de trabajadores que permite mediante el inventario enfrentar los requerimientos de demanda durante el período de planificación.

Por ejemplo, si se contrata en Enero más de 66 trabajadores se alcanzaría una opción factible pero no en el mínimo posible de trabajadores. Si se contrata menos de 66 trabajadores no se alcanza un plan factible, lo que obligaría a la contratación de trabajadores en un mes posterior a Enero (lo cual determinaría una estrategia mixta).

Algunas conclusiones que se pueden obtener de la aplicación de este enfoque:

  • Tiene la ventaja práctica de poder enfrentar de mejor forma una demanda real mayor a la pronosticada cuando se dispone de inventario.
  • El costo adicional de esta opción es de US$519.800 en comparación al valor óptimo alcanzado en la resolución del modelo de optimización para los mismos datos. Lo anterior corrobora la evidencia empírica de que las estrategias puras suelen ser más costosas que los enfoques mixtos.
  • Evita una alta rotación de personal lo cual afecta la moral de los trabajadores y la productividad de los mismos.

Fuerza Laboral Exacta aplicada a un Plan Maestro de la Producción (PMP)

En el desarrollo de un Plan Maestro de la Producción (PMP) resulta de interés el análisis de estrategias puras, es decir, enfoques en los cuales se utiliza una variable de ajuste de forma exclusiva para responder a la demanda pronosticada. Si bien en la práctica lo usual es utilizar una combinación de alternativas para lograr cumplir con los requerimientos (estrategia mixta), el estudio de las estrategias puras ayuda a comprender las ventajas y desventajas asociadas a la utilización de una determinada variable de ajuste.

En este artículo buscaremos mediante la fuerza laboral, en particular, mediante la contratación y despido de trabajadores responder de forma exacta a las necesidades proyectadas. Para ello es necesario recordar los siguientes antecedentes de operación detallados en la Formulación y Resolución de un Modelo de Programación Entera para un Plan Maestro de la Producción (Cabe destacar que en la resolución computacional de alcanza el mínimo costo de US$1.468.400 al utilizar What’sBest!)

  • Costo de Contratar un Trabajador: US$1.000
  • Costo de Despedir un Trabajador: US$1.800
  • Costo de Almacenamiento Unitario Mensual: US$10
  • Inventario Inicial: 500 unidades
  • Costo Remuneración (Sueldo) de un Trabajador al Mes: US$600
  • Número de Trabajadores al Inicio de la Planificación: 100
  • Unidades de Producto producidas por un Trabajador al Mes: 50

La utilización de la fuerza laboral o mano de obra exacta evita la acumulación de inventario contratando y despidiendo trabajadores para cumplir con la demanda estimada de cada período (mes). En este contexto al disponer de un inventario inicial de 500 unidades, sólo se necesitan fabricar 3.500 unidades en el mes de Enero. Para lograr este nivel de producción se necesitan 70 trabajadores (recordar que cada trabajador produce 50 unidades al mes) y por tanto se despiden 30 trabajadores.

Continuando con el procedimiento en el mes de Febrero se necesitan 4.500 unidades (ahora no se dispone de inventario que haya quedado a fines de Enero) y por tanto es necesario disponer de 90 trabajadores. Por ello contratamos 20 trabajadores.

En Marzo se necesitan 4o trabajadores adicionales de modo de contar con 130 en operación para lograr un nivel de producción de 6.500 unidades.

Así sucesivamente se continua con la evaluación hasta completar el período de planificación. La evaluación económica de esta estrategia pura se presenta a continuación:

fuerza-laboral-exacta-plan-

El costo total asciende a US$1.627.200 lo cual es US$158.800 mayor al alcanzado mediante la resolución computacional. Sin embargo, no sólo el costo adicional es un factor en desmedro de esta alternativa, sino también se pueden mencionar los siguientes factores:

  • La alta rotación de personal puede crear un clima de inestabilidad laboral al interior de la empresa lo cual afecta la moral de los trabajadores y su productividad. Adicionalmente es una fuente potencial de conflictos con los sindicatos.

  • Si bien la evaluación económica no lo considera es importante tener en cuenta que un trabajador nuevo requerirá de un tiempo de aprendizaje luego del cual podrá lograr una productividad equivalente con un trabajador que lleva más tiempo en operación en la empresa.

  • Al no acumular inventarios el plan de fuerza laboral exacta es propenso a generar quiebres de stock cuando la demanda real supere en magnitud a la demanda pronosticada.

Formulación un modelo de Programación Entera para un Plan Maestro de la Producción (PMP)

La Planificación Agregada y el Plan Maestro de la Producción (PMP o MPS según sus siglas en inglés Master Production Schedule) son metodologías ampliamente utilizadas hoy en día en empresas de manufactura para planificar las necesidades de producción de una serie de productos, de modo de responder a un pronóstico de demanda a través de los recursos productivos que se disponen.

En este contexto, la evidencia empírica muestra que existen diversas estrategias que se pueden utilizar para enfrentar la demanda, cada una de las cuales se puede valorar en términos de costos pero también a través de una serie de criterios cualitativos que por su naturaleza son difíciles de estimar en una unidad monetaria.

A continuación se presenta un gráfico con el Pronóstico de Demanda de un producto para el cual propondremos un modelo de optimización que permita cumplir con dichos requerimientos, minimizando los costos asociados a la utilización de los recursos productivos:

pronostico-demanda-pmp

Se puede apreciar que la demanda presenta una estacionalidad marcada donde al inicio y final del año los valores son menores a la demanda de un mes promedio (7.817 unidades).

En contraste con lo anterior en los meses de Junio, Julio y Agosto se presenta un peak de demanda, superando en magnitud claramente lo que correspondería a la demanda de un mes promedio. Adicionalmente consideremos los siguientes antecedentes de operación:

  • Costo de Contratar un Trabajador: US$1.000
  • Costo de Despedir un Trabajador: US$1.800
  • Costo de Almacenamiento Unitario Mensual: US$10
  • Inventario Inicial: 500 unidades
  • Costo Remuneración (Sueldo) de un Trabajador al Mes: US$600
  • Número de Trabajadores al Inicio de la Planificación: 100
  • Unidades de Producto producidas por un Trabajador al Mes: 50

La pregunta inmediata es: ¿Cómo responder a la demanda pronosticada durante el período de planificación al menor costo posible?. Algunas posibles respuestas son:

Fuerza Laboral Exacta: Esto es mediante contratación y despido de trabajadores para responder de forma exacta a las necesidades de cada mes. Con esta alternativa se busca evitar la acumulación de inventario.

Acumulación y Liquidación de Inventario: Producir en mayor volumen en los meses de menor demanda de modo de acumular inventario para enfrentar los requerimientos adicionales de los meses de mayor demanda. Si se considera adecuado se puede utilizar esta alternativa buscando no afectar el tamaño de la fuerza laboral.

Por cierto también se puede utilizar una estrategia mixta o híbrida que mezcle por ejemplo características de las 2 opciones presentadas anteriormente. Este enfoque generalmente es el que permite alcanzar menores costos.

Adicionalmente cabe destacar que en un Plan Maestro de la Producción (PMP) se podrían considerar otras alternativas o variables de ajuste no consideradas en este ejemplo como la utilización de trabajadores en tiempo extraordinario, la subcontratación parcial de la producción, la eventual postergación de demanda, entre otras opciones.

Luego, en relación a los antecedentes de operación previamente detallados, un modelo de Programación Entera para el Plan Maestro de la Producción es:

1. Variables de Decisión:

variables-de-decision-pmp

2. Función Objetivo:

funcion-objetivo-pmp

3. Restricciones:

Satisfacer la Demanda (Balance de Inventario): Donde Dt corresponde a la demanda pronosticada para el mes t (parámetros).

restriccion-demanda-pmp

Balance Mano de Obra: La cantidad de trabajadores en operación en cada período corresponde a los trabajadores disponibles al final del mes anterior, más los contratados y menos los despedidos en el mes en curso.

balance-trabajadores-pmp

Capacidad de Producción: La producción de cada mes se ve limitada por la disponibilidad de trabajadores y el rendimiento mensual (en unidades de producto) que cada uno de éstos tiene.

capacidad-produccion-pmp

No Negatividad e Integralidad: Todas las variables de decisión deben adoptar valores no negativos y adicionalmente ser enteras.

no-negatividad-e-integralid

El modelo anterior se puede implementar con Solver y What’sBest! obteniendo los siguientes resultados:

Implementación Computacional en Solver: Se alcanza una solución factible con valor en la función objetivo de US$1.468.700.

solucion-solver-plan-maestr

El detalle de la resolución la puedes revisar en el siguiente tutorial de nuestro canal de Youtube:

Implementación Computacional con What’sBest!: Se alcanza una solución factible con valor en la función objetivo de US$1.468.400, la cual es ligeramente inferior en costos a la solución obtenida con Solver.

solucion-whatsbest-plan-mae

La carga del modelo en What’sBest! y la obtención de los resultados anteriores se puede revisar en el siguiente tutorial de nuestro canal de Youtube:

[sociallocker]Problema PMP www.gestiondeoperaciones.net[/sociallocker]

Programación No Lineal no Convexo

A diferencia de la Programación Lineal donde sus distintas aplicaciones corresponden a problemas de optimización convexos (situación que facilita la resolución computacional), en Programación No Lineal no existen garantías a priori que permita garantizar que un modelo en particular será un problema convexo.

Es decir, una aplicación de Programación No Lineal puede ser un problema convexo o un problema no convexo.

En este artículo abordaremos a través de un ejemplo sencillo las dificultades prácticas y algorítmicas asociadas a la resolución de un modelo de Programación No Lineal no convexo.

Consideremos el siguiente modelo matemático no lineal con restricciones:

problema-no-lineal-no-conve

Una primera aproximación a su resolución consiste en graficar la función anterior utilizando Geogebra:

grafico-de-funcion-no-conve

Se puede observar que la función es no convexa, constatándose adicionalmente la presencia de mínimos locales (por ejemplo los Puntos B y C) y mínimo global (Punto A).

En este sentido la expectativa que debiéramos tener al implementar este problema computacionalmente es obtener la solución óptima para un valor de x en el intervalo entre [4,5] (por simple inspección) lo que corresponde al Punto A de la gráfica anterior.

Una alternativa de resolución computacional para este problema es utilizar AMPL como lenguaje de programación matemática y MINOS 5.5 como solver de resolución. El código de la implementación y los resultados alcanzados se muestra a continuación:

solucion-ampl-problema-no-c

La solución óptima encontrada por el algoritmo corresponde a x=1 (Punto C) lo que permite alcanzar un valor en la función objetivo igual a cero: f(1)=0. Claramente según nuestro gráfico esta solución corresponde sólo a un mínimo local aun cuando el programa sugiere que es el mínimo global del problema.

Otra alternativa de resolución consiste en la utilización de Solver. En primera instancia el algoritmo converge a la solución x=1 con f(1)=0.

solucion-solver-problema-no

Sin embargo, si manualmente editamos el valor de la celda color amarillo B3 (variable de decisión) a “2” y reoptimizamos con Solver se obtiene lo siguiente:

reoptimizacion-pnl-solver

Se alcanza ahora una nueva solución con x=2,45608774 con f(2,45608774)=-1,41869663 lo que corresponde al Punto B de nuestro gráfico y que si bien corresponde a un mínimo local provee un valor menor en la función objetivo al ser comparado con el Punto C. En este contexto resulta razonable considerar el valor “4” para la celda cambiante como punto de partida para una nueva reoptimización:

reoptimizacion-2-pnl-solver

Ahora obtenemos lo que correspondería al mínimo global del problema (Punto A) con solución óptima x=4,64443285 y valor óptimo f(4,64443285)=-3,63143221.

Finalmente hemos resuelto el problema con What’sBest! donde en el siguiente tutorial de nuestro canal de Youtube mostramos los detalles de la implementación:

Luego de reoptimizar sobre la solución local alcanzada en primera instancia se obtiene el mínimo global del problema (Punto A):

solucion-whatsbest-problema

Conclusiones: Las principales dificultades enfrentadas al intentar resolver un modelo de Programación No Lineal no convexo es no tener la certeza si la solución obtenida a través de una herramienta computacional corresponde a un mínimo local o mínimo global.

Con las herramientas presentadas en este artículo fue necesario reoptimizar sobre soluciones obtenidas en primera instancia  para encontrar la solución óptima del problema. Cabe destacar que en este ejemplo al disponer de una representación gráfica del problema sabíamos de antemano cuál era la solución del problema lo cual nos permitía contrastar los resultados computacionales. En este sentido claramente un modelo de mayor complejidad (por ejemplo, un mayor número de variables de decisión y/o restricciones) una aproximación intuitiva no tiene sentido práctico.

En este contexto una de las principales áreas actuales de desarrollo de la Investigación de Operaciones es proveer de métodos numéricos de resolución que permita abordar de forma eficiente la complejidad de esta categoría de problemas de optimización.