Este documento describe dos métodos para resolver problemas de optimización entera: (1) el método de corte de Gomory, el cual agrega restricciones lineales para excluir soluciones no enteras manteniendo soluciones enteras factibles, y (2) el método primal de cortes, el cual usa cortes para habilitar el pivoteo a puntos extremos adyacentes con el fin de mejorar la función objetivo de forma de encontrar una solución óptima entera, primal y dual factible. Ambos métodos iteran agregando cortes hasta converger a una sol
2. Métodos de corte
Sea el problema de optimización:
(ILP) Min c’x /
Ax=b, x ≥0, x entero
(A, c y b enteros)
¿Sirve tomar la solución real de (ILP) y
luego redondear la solución al entero más
próximo?
3. Sea (LP) una relajación de (ILP):
(LP) Min c’x /
Ax=b, x ≥0
(A, c y b enteros)
Se cumple que: óptimo (ILP) ≥ óptimo (LP)
Ideas básicas en los métodos de corte:
• ir agregando a LP restricciones, de a una por vez,
de forma de excluir el óptimo no entero del
problema relajado
• estas nuevas restricciones no deben excluir ningún
punto entero de la región factible
4. • Def: plano de corte es una restricción lineal tal
que no excluye ningún punto entero del
conjunto de soluciones factibles
• Algoritmos de corte:
– Gomory (método fraccional dual)
– Método primal de corte
5. Cortes de Gomory
• Def: parte entera de un número real y, y, es el
entero más grande q / q ≤ y
Ejemplos:
2.7 = 2
-1.3= -2
0 = 0
• Def: parte fraccionaria f= y- y del número y.
Nota: 0 ≤ f ≤ 1
6. (1) ∑ fijxj ≥ fi0 - Corte de Gomory
• Teo: Si (1) es agregado al final del
‘tableau’ óptimo del (LP), ninguna
solución entera es eliminada. El nuevo
tableau es básico, primal no factible (si
fi0≠0) y dual factible
7. Algoritmo fraccional dual:
• Resolver LP, relejación entera de ILP. Sea x*
solución óptima de LP
• sbf=‘si’
• Mientras x* no entera y sbf =‘si’ hacer:
– elegir una fila ‘i’
– agregar un corte de Gomory generado por ‘i’
– aplicar el simplex dual
– si el dual es no acotado, entonces sbf=no
– resolver el nuevo problema. Sea x*=nuevo óptimo
– fin mientras
9. Finitud del algorimo
• Def: orden lexicográfico: un vector v∈Rn
, v≠ 0, es
lexicográfico >0 (o lex-positivo) si su primera
componente no nula es positiva
• Def: lex >: un vector v∈Rn
se dice lex > que otro
vector u ∈Rn
, v lex> u, si el vector v-u es lex-positivo
0 1 0
0 es lex-positivo y 0 lex > 5
3 -4 -3
-1 5 -1
10. • La prueba se basa en considerar el algoritmo
simplex dual con una regla de pivoteo que en
caso de empate seleccione la columna de
acuerdo al orden lexicográfico positivo.
• Dado un problema (ILP) se resuelve la
relajación LP por simplex, se puede asegurar
que el cuadro óptimo final tiene todas sus
columnas lex-positivas o se lo puede
transformar en uno de esta forma (se considera
como primer fila la de los costos reducidos).
• Consideremos un problema LP a los que se le
han agregado sucesivamente n cortes al final de
cada cuadro óptimo del simplex.
11. •Sea y0
l
la primera columna del cuadro que
corresponde a los términos independientes, cuyo
primer elemento es - el valor objetivo
•La sucesión de valores y0
l
con l=1..n, es lex-
decreciente y acotada,
•Si y00
l
= y00
l
+f00
l
con f00
l
>0, entonces el próximo
corte a introducir es el correspondiente a la fila 0: -
f00
l
=- ∑ f0j
l
xj + s
•Supongamos se elige la columna p para pivotear:
y00
l+1
= y00
l
- y0p
l
*(f00
l
/f0p
l
)
si el l-simo cuadro era óptimo, y0p
l
≥ 0 ∀p y además
y0p
l
≥ f0p
l
=>
l+1 l l l
12. • Conclusión: la convergencia se alcanza
en un número finito de pasos.
13. Evaluación
• Por ser un algoritmo dual, no produce
una solución primal factible hasta
alcanzar el óptimo
• Puede ser problemático decidir cuando
un número es entero o no, ya que los
errores se acumulan
14. Gomory para MIP
• El algoritmo de Gomory se extiende
directamente ara MIP
• En MIP no es razonable utilizar la fila de
la función objetivo para producir cortes
ya que este puede ser no entero
15. • Sean P={x∈Rn
, Ax ≤ b} y S=P∩ Zn
• Sean
– IP=Max {cx / x∈S} y
– CIP=Max {cx/ x ∈conv(S)}
• Teo: Dado P={x∈Rn
, Ax ≤ b}, y S=P∩ Zn
y c ∈Rn
se
cumple:
– El valor objetivo de IP esta acotado inferiormente sii
el valor objetivo de CIP esta acotado inferiormente
– Si CIP tiene un valor óptimo acotado ==> tiene
solución´óptima en un extremo de conv(S) y es
solución óptima de IP
– Si x0 es una solución óptima de IP ==>x0 es solución
óptima de CIP
16. Método primal de corte
• Sean S={x∈Zn
, Ax ≤ b}, P={x∈Rn
, Ax ≤ b} y
conv(S) la envoltura convexa de P. Nota:
conv(S)⊆P
• Sea x1 una solución entera no óptima de
conv(S), o sea un punto extremo de conv(S)
• Idea básica: usar cortes para habilitar el pivoteo
en un punto extremo adyacente de conv(S) de
forma que si el objetivo era maximizar, el
objetivo crezca
• Problema: cuantos cortes son necesarios para
encontrar un punto extremo de conv(S)?
17. • Partimos de un cuadro de simplex con una sbf (solución
básica factible) entera
• Sea B=conjunto de índices de variables básicas y NB el
de las no básicas
• xi es entera ∀ i ∈B
• xi +∑ yijxj=yi0,
j∈NB
• supongamos existe una columna k / y0k <0 (cuadro no
óptimo) y sea r la fila pivote/:
yr0/ yrk =min(yi0/ yik)
i
• si yrk =1 , la próxima solución básica también es entera
18. • Si yrk ≠ 1, agregamos el corte:
xk+∑ yrj /yrk xj ≤ yr0 /yrk
j∈NBk
19. Se encuentra una solución óptima cuando:
solución entera, primal y dual factible
Algoritmo primal de cortes:
• Comenzar con una solución entera, primal
factible
• La solución es dual factible?- Si : fin
• Corte y pivoteo: agregar un corte de la forma
anterior, pivotear manteniendo las
condiciones de solución entera primal factible
y volver al punto anterior