Anda di halaman 1dari 19

Mdulo 2:

Programacin entera y
optimizacin combinatoria
Mayo 2007

Mtodos de corte
Sea el problema de optimizacin:
(ILP) Min cx /
Ax=b, x 0, x entero
(A, c y b enteros)
Sirve tomar la solucin real de (ILP) y luego
redondear la solucin al entero ms prximo?

Sea (LP) una relajacin de (ILP):


(LP)
Min cx /
Ax=b, x 0
(A, c y b enteros)
Se cumple que: ptimo (ILP) ptimo (LP)
Ideas bsicas en los mtodos 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 ningn punto
entero de la regin factible

Def: plano de corte es una restriccin lineal tal que no excluye


ningn punto entero del conjunto de soluciones factibles

Algoritmos de corte:
Gomory (mtodo fraccional dual)
Mtodo primal de corte

Cortes de Gomory
Def: parte entera de un nmero real y, y , es el
entero ms grande q / q y
Ejemplos:
2.7 = 2
-1.3 = -2
0 = 0
Def: parte fraccionaria f= y- y del nmero y.
Nota: 0 f 1

(1)

fijxj fi0 - Corte de Gomory

Teo: Si (1) es agregado al final del


tableau ptimo del (LP), ninguna
solucin entera es eliminada. El nuevo
tableau es bsico, primal no factible (si
fi00) y dual factible

Algoritmo fraccional dual:


Resolver LP, relejacin entera de ILP. Sea x*
solucin 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

EJEMPLOS

Finitud del algorimo


Def: orden lexicogrfico: un vector vRn, v 0, es
lexicogrfico >0 (o lex-positivo) si su primera
componente no nula es positiva
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 lexicogrfico positivo.
Dado un problema (ILP) se resuelve la relajacin 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 trminos independientes, cuyo primer elemento es
- el valor objetivo
La sucesin de valores y0l con l=1..n, es lex-decreciente
y acotada,
Si y00l = y00l +f00l con f00l >0, entonces el prximo
corte a introducir es el correspondiente a la fila 0: - f 00l
=- 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 adems
y0pl f0pl =>
y00l+1 y00l - f00l = y00l

Conclusin: la convergencia se alcanza


en un nmero finito de pasos.

Evaluacin
Por ser un algoritmo dual, no produce
una solucin primal factible hasta
alcanzar el ptimo
Puede ser problemtico decidir cuando
un nmero 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 funcin 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
solucinptima en un extremo de conv(S) y es
solucin ptima de IP
Si x0 es una solucin ptima de IP ==>x0 es solucin
ptima de CIP

Mtodo 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 solucin entera no ptima de
conv(S), o sea un punto extremo de conv(S)
Idea bsica: 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 (solucin


bsica factible) entera
Sea B=conjunto de ndices de variables bsicas y NB el
de las no bsicas
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 prxima solucin bsica tambin es entera

Si yrk 1, agregamos el corte:


xk + yrj /yrk xj yr0 /yrk
j NB\k

Se encuentra una solucin ptima cuando:


solucin entera, primal y dual factible
Algoritmo primal de cortes:
Comenzar con una solucin entera, primal
factible
La solucin es dual factible?- Si : fin
Corte y pivoteo: agregar un corte de la forma
anterior, pivotear manteniendo las condiciones
de solucin entera primal factible y volver al
punto anterior

Anda mungkin juga menyukai