840 likes | 1.33k Views
Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado. Programación Lineal Entera. Antonio H. Escobar Z. 2013. Técnica de Descomposición Matemática de Benders. Descomposición de Benders.
E N D
Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado Programación Lineal Entera Antonio H. Escobar Z. 2013
Técnica de Descomposición Matemática de Benders
Descomposición de Benders • Metodología de solución exacta usada para resolver problemas de gran tamaño. • Divide el problema en un problema maestro y uno o varios problemas satélites individualmente más simples de resolver. • Aplicado cuando dentro del problema aparecen variables complicantes. Se consideran variables complicantes: • Variables enteras dentro de un problema lineal que también tiene variables continuas. • Variables con exponentes diferentes a 1 o dentro de funciones no lineales, dentro de un problema que resulta ser un PL si estas variables se retiran del problema. • Variables continuas dentro de un PL que no permiten separar el problema en varios problemas independientes de PL de menor tamaño.
Descomposición de Benders • Metodología de solución exacta usada para resolver problemas de Programación Lineal Entera Mixta PLEM. • Resuelve un PLEM a través de la solución de sucesivos problemas de Programación Entera con un número reducido de restricciones. • Usa conceptos de: • Programación Lineal; • Dualidad; • Programación Entera PE; • Problema maestro; • Problema satélite.
Descomposición de Benders • Problemas de Programación Lineal Entera Mixta PLEM que se desea resolver:
Garantiza soluciones factibles ya que si: El problema dual es ilimitado y el primal es infactible.
Sólo interesan los valores de x que no hagan el problema dual ilimitado.
Si queremos que en un mismo problema se determine el valor de las variables complicantes x e implícitamente se determine el valor de las variables continuas y, debemos resolver el siguiente problema equivalente:
(PLEM) (PLE) Problema original expresado en función de los puntos extremos y las direcciones extremas del PLD.
Calcular los puntos extremos y las direcciones extremas requiere la solución de PL´s: (PLE)
Reescribimos el problema: Haciendo:
(PLE) (PLE)
(PLE) Calcular los puntos extremos y las direcciones extremas requiere la solución de PL´s.
En resumen: (PLEM) (PLE)
Ejemplo: Demostrar que el PLEM de la parte superior es equivalente al PLE de la parte inferior. (PLEM) (PLE)
Paso 1: El problema se expresa en función de las variables complicantes y se construye un PL. (PLEM) x es temporalmente retirado de la F.O. x pasa al rhs en las restricciones.
Paso 3: Se encuentran los puntos extremos y las direcciones extremas del poliedro convexoU:
Paso 4: Usando los puntos extremos y las direcciones extremas, se determinan las restricciones de: (PLE)
En el problema PLEM original, sólo aparece una variable complicante x : Por lo tanto, cx = x (PLEM)
Cálculo de las restricciones del PLE asociadas a los puntos extremos del PLD:
Restricciones del PLE asociadas a los puntos extremos del PLD:
Cálculo de las restricciones del PLE asociadas a las direcciones extremas del PLD:
Restricciones del PLE asociadas a las direcciones extremas del PLD:
En consecuencia: (PLE) (PLE)
Lo que demuestra que los dos problemas siguientes son equivalentes: (PLEM) (PLE)
En conclusión: • Es posible transformar un PLEM en un PLE. • Para resolver el problema de PLE se requiere determinar todos los puntos extremos y todas las direcciones extremas del poliedro convexo del problema Dual. • La variable z que aparece en el problema final es continua. Esta forma de resolver el problema no es eficiente. El método de descomposición de Benders resuelve el problema PLE usando únicamente un subconjunto de puntos extremos y direcciones extremas: los estrictamente necesarios.
Algoritmo de Descomposición de Benders • Genera un conjunto reducido de restricciones del PLE (cortes de Benders), es decir, determina sólo el subconjunto necesario de puntos extremos y direcciones extremas. • Para un valor definido de x y para cada punto extremo encontrado para el PLD se puede definir la siguiente limitante superior de z porque representa una solución factible del PLEM: • Si lo que se encuentra es una dirección extrema, no se actualiza la limitante superior porque representa una solución infactible para el problema original. • La solución del PLE con un número reducido de restricciones permite identificar una limitante inferior de z porque representa un problema relajado del PLEM original:
Algoritmo de Descomposición de Benders Paso inicial: • Definir el siguiente problema maestro inicial: Este problema de PLE no contiene aún restricciones asociadas a puntos extremos o direcciones extremas de U. (PLE)
Espacio solución del PLE inicial: x puede asumir cualquier valor entero positivo y z puede crecer Ilimitadamente hacia + ∞ o hacia - ∞ z 0 1 2 3 … x
Algoritmo de Descomposición de Benders Paso inicial: • La solución de este PLE define la limitante inferior LI. Dado que z es continua e irrestricta, y el problema es de minimización, z crece ilimitadamente hacia -∞, en consecuencia: LI = - ∞ • Como no se tiene aún un punto extremo del PLD ni un valor definido para x, no se tiene una solución factible para el problema. En consecuencia: LS = + ∞
Algoritmo de Descomposición de Benders Paso inicial: • Se define un valor inicial entero para las variables complicantes representadas por x. • Un valor inicial adecuado está relacionado con información disponible del problema que se desea resolver. • Si no se tiene un valor inicial entero estimado para x, que se denominará x* , podemos asumir el valor 0: x* = 0
Algoritmo de Descomposición de Benders Paso 1: solución del subproblema satélite Usando el valor actual de x , denominado x* , resolver el PLD: Como resultado de resolver el PLD se tiene un punto extremo o una dirección extrema del poliedro convexo U.
C (x*) v* u* C (x*) La solución es una dirección extrema La solución es un punto extremo
Algoritmo de Descomposición de Benders Paso 2: Actualización de la limitante superior Si la solución del PLD: Es un punto extremo, que se denominará u* , actualizar la limitante superior LS si la actual limitante satisface la desigualdad: Si no es un punto extremo ir al paso 3.
Algoritmo de Descomposición de Benders Paso 3: Generación del corte de Benders • Si la solución del PLD es un punto extremo: u* construir la restricción: z ≥ cx* + u* ( b – A x* ) • Si la solución del PLD es una dirección extrema: v* construir la restricción: 0≥ v* ( b – A x* )
Algoritmo de Descomposición de Benders Paso 4: Redefinición del problema maestro Adicionar la restricción generada en el paso 3: z ≥ cx* + u* ( b – A x* ) ó 0≥ v* ( b – A x* ) Al problema maestro actual: Donde Ω1 y Ω2 es el subconjunto de puntos extremos y direcciones extremas adicionados hasta ahora al PLE. (PLE)
Algoritmo de Descomposición de Benders Paso 5: Resolver el problema maestro Resolver el problema maestro actualizado: Y encontrar el nuevo valor de x : nuevo x* . (PLE)
Algoritmo de Descomposición de Benders Paso 6: Actualizar la limitante inferior Actualizar el límite inferior LI utilizando el resultado de: LI = z* (PLE)
Algoritmo de Descomposición de Benders Paso 7: Criterio de parada Si LI < LS vaya al paso 1. En caso contrario, si LI = LS, x* es la parte de la solución óptima del problema PLEM asociada a las variables complicantes. Para encontrar el valor de las variables y resolver: La solución óptima del problema es: x* , y* , LI = LS = cx* + dy*
Algoritmo de Descomposición de Benders Ejemplo: Usando el algoritmo de descomposición de Benders, resolver el siguiente problema de PLEM: Forma estándar
Algoritmo de Descomposición de Benders Paso inicial: • Definimos el siguiente problema maestro inicial: Este problema de PLE no contiene aún restricciones asociadas a puntos extremos o direcciones extremas de U. (PLE)
Espacio solución del PLE inicial: x puede asumir cualquier valor entero positivo y z puede crecer Ilimitadamente hacia + ∞ o hacia - ∞ z 0 1 2 3 … x