Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cortes 2007
Cortes 2007
Programación entera y
optimización combinatoria
Mayo 2007
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)
• Algoritmos de corte:
– Gomory (método fraccional dual)
– Método primal de corte
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
(1) fijxj fi0 - Corte de Gomory
• Def: lex >: un vector vRn 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
• 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.
•Sea y0l la primera columna del cuadro que
corresponde a los términos independientes, cuyo
primer elemento es - el valor objetivo
•La sucesión de valores y0l con l=1..n, es lex-
decreciente y acotada,
•Si y00l = y00l +f00l con f00l >0, entonces el próximo
corte a introducir es el correspondiente a la fila 0: -
f00l =- f0jlxj + s
•Supongamos se elige la columna p para pivotear:
y00l+1 = y00l - y0pl *(f00l /f0pl)
si el l-simo cuadro era óptimo, y0pl 0 p y además
y0pl f0pl =>
y00l+1 y00l - f00l = y00l
• Conclusión: la convergencia se alcanza en
un número finito de pasos.
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
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
• Sean P={xRn, Ax b} y S=P Zn
• Sean
– IP=Max {cx / xS} y
– CIP=Max {cx/ x conv(S)}
• Teo: Dado P={xRn, 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
Método primal de corte
• Sean S={xZn, Ax b}, P={xRn, 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)?
• 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