Programación Lineal Entera

Post on 02-Feb-2016

115 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of Programación Lineal Entera

Programación Lineal Entera

Antonio H. Escobar Z.

2013

Universidad Tecnológica de Pereira – Colombia

Posgrado en Ingeniería – Maestría/Doctorado

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:

(PLEM)

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.

(PLE)

Calcular los puntos extremos y las direcciones extremas requiere la solución de PL´s:

Haciendo:

Reescribimos el problema:

La siguiente relación es equivalente:

(PLE)

(PLE)

(PLE)

Calcular los puntos extremos y las direcciones extremas requiere la solución de PL´s.

(PLEM)

(PLE)

En resumen:

(PLEM)

(PLE)

Ejemplo: Demostrar que el PLEM de la parte superior es equivalente al PLE de la parte inferior.

(PLEM)

Paso 1: El problema se expresa en función de las variables complicantes y se construye un PL.

x es temporalmente retirado de la F.O.

x pasa al rhs en las restricciones.

Paso 2: Se encuentra el Dual del PL anterior:

Paso 3: Se encuentran los puntos extremos y las direcciones extremas del poliedro convexo U:

(PLE)

Paso 4: Usando los puntos extremos y las direcciones extremas, se determinan las restricciones de:

(PLEM)

En el problema PLEM original, sólo aparece una variable complicante x :

Por lo tanto, cx = x

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:

(PLE)

En consecuencia:

(PLE)

(PLEM)

(PLE)

Lo que demuestra que los dos problemas siguientes son equivalentes:

Al resolver el PLE se tiene:

(PLEM)

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 crecerIlimitadamente hacia + ∞ o hacia - ∞

z

x0 1 2 3 …

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*)

La solución es un punto extremo

La solución es una dirección extrema

C (x*)

u*

v*

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)

z

x0 1 2 3 …

Espacio solución del PLE inicial:

x puede asumir cualquier valor entero positivo y z puede crecerIlimitadamente hacia + ∞ o hacia - ∞

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 la variable complicante, igual a 0 ya que no se conoce una solución entera inicial para x:

x* = 0

Algoritmo de Descomposición de Benders: iteración 1

Paso 1: solución del subproblema satélite

Usando x* = 0 resolvemos el problema dual (PLD):

0 0

Algoritmo de Descomposición de Benders: iteración 1

•El paso 2 no actualiza la incumbente porque no se encontró un punto extremo.

•Se va al paso 3 y se construye la restricción asociada a la dirección extrema, ya que el PL es ilimitado a través de la dirección v2 = (1, 5/2 ):

Nueva restricción:

Paso 5: Resolver el problema maestro

Resolver el problema maestro actualizado:

Algoritmo de Descomposición de Benders: iteración 1

Paso 4: Redefinición del problema maestro

Adicionar al problema maestro actual, la restricción generada en el paso 3:

0 ≥ 12 - 19 x

(PLE)

Espacio solución del PLE actual:

x puede asumir cualquier valor entero positivo ≥ 1z puede crecer Ilimitadamente hacia + ∞ o hacia - ∞

z

x0 1 2 3 …

x ≥ 12/19

Algoritmo de Descomposición de Benders: iteración 1

Paso 6:

LI = - ∞

•Como no se tiene aún un punto extremo del PLD, a pesar de tener ya un valor definido para x, no se tiene una solución factible para el problema. En consecuencia:

LS = + ∞

Paso 7:

LI < LS

Regresar al paso 1 usando la solución de x* obtenida en el paso 5.Como no se encontró solución para x, se asume un x* ≥ 1 y entero.

Algoritmo de Descomposición de Benders: iteración 2

Paso 1: solución del subproblema satélite

Usando x* = 2 resolvemos el problema dual (PLD):

2 2

Algoritmo de Descomposición de Benders: iteración 2

Paso 2 se actualiza la incumbente (LS) porque se encontró un punto extremo: 2 2

Paso 3 se construye la restricción asociada al punto extremo: u* = (0,0).

Nueva restricción:

Paso 5: Resolver el problema maestro

Resolver el problema maestro actualizado:

Algoritmo de Descomposición de Benders: iteración 2

Paso 4: Redefinición del problema maestro

Adicionar al problema maestro actual, la restricción generada en el paso 3:

z ≥ x

(PLE)

Espacio solución del PLE actual:

solución óptima del problema maestro: x* = 1 y z* = 1

z

x0 1 2 3 …

x ≥ 12/19z ≥ x

Algoritmo de Descomposición de Benders: iteración 2

Paso 6: Se actualiza la limitante inferior usando la solución del problema maestro:

LI = z* = 1

La limitante superior es actualmente:

LS = 2

Paso 7:

LI < LS

Regresar al paso 1 usando la solución x* = 1 obtenida en el paso 5.

Algoritmo de Descomposición de Benders: iteración 3

Paso 1: solución del subproblema satélite

Usando x* = 1 resolvemos el problema dual (PLD):

1 1

Algoritmo de Descomposición de Benders: iteración 3

Paso 2 se actualiza la incumbente (LS) porque se encontró un punto extremo: 1 1

Paso 3 no se construye la restricción asociada al punto extremo: u* = (0,0) porque este punto extremo ya se había encontrado:

Paso 5: Resolver el problema maestro

No se resuelve el problema maestro actualizado porque no cambió:

Algoritmo de Descomposición de Benders: iteración 3

Paso 4: Redefinición del problema maestro

No se realiza.

(PLE)

Se conserva la solución actual para el problema maestro:

solución óptima del problema maestro: x* = 1 y z* = 1

z

x0 1 2 3 …

x ≥ 12/19z ≥ x

Algoritmo de Descomposición de Benders: iteración 3

Paso 6: no se actualiza la limitante inferior, esta continua siendo:

LI = z* = 1

La limitante superior fue actualizada en el paso 2:

LS = 1

Paso 7:

LI = LS

Fin del proceso iterativo. La solución para la variable entera es x* = 1

Algoritmo de Descomposición de Benders: iteración 3

Para encontrar la solución óptima de las variables contínuas y se resuelve el siguiente PL con x* = 1:

1 1

Esquema general del algoritmo de descomposición de Benders

Problema maestro

Problema satélite x*

u*

(PLE)

(PLD)

v*

Observaciones:

• Matemáticamente las técnicas de descomposición se pueden usar siempre. Pertenecen a la categoría de métodos exactos.

• El método de Benders también se denomina descomposición primal , porque el problema maestro fija variables del primal.

• Algorítmicamente sólo se justifica su uso cuando se puede obtener una ventaja computacional respecto a otros métodos.

• El algoritmo es eficiente si el número de variables complicantes es mucho menor que el número total de variables, ya que el número de iteraciones está relacionado con el número de variables complicantes.

Observaciones:

• El problema maestro elabora propuestas para las variables complicantes. Los subproblemas envían valores de la derivada del costo respecto a los recursos.

• Matemáticamente, el problema maestro recibe del problema satélite restricciones o cortes. Esto significa que en cada iteración se modifica la región factible del problema maestro.

• En cada iteración, el problema maestro modifica la función objetivo del problema satélite pero no altera su región factible.

• A medida que aumenta el número de cortes, el problema maestro toma decisiones más próximas a la solución óptima.

Observaciones:

• Cada corte elimina la solución óptima del problema maestro obtenida en la iteración anterior.

• Si el problema satélite o el problema maestro pasa dos veces la misma información, el algoritmo termina.

• La LI es monótonamente creciente (en minimización), la LS no necesariamente es decreciente.

• El problema completo puede temporalmente encontrarse en una solución factible o infactible. Si se sale de la región factible surgirá un corte asociado a una dirección extrema del PLD que tratará de conducir el problema a la factibilidad.

Observaciones:

• Si el PLE asociado al problema maestro se resuelve con una técnica como Branch-and-Cut, la cual requiere resolver PLs relajados, es conveniente resolver los subproblemas usando el método Dual Simplex. El número creciente de restricciones del primal se convierte en un número creciente de columnas en el dual.