Cortes 2007

download Cortes 2007

of 19

description

cortes

Transcript of Cortes 2007

  • Programacin entera y optimizacin combinatoria Mayo 2007Mdulo 2:

  • Mtodos de corteSea 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 relajadoestas 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 GomoryDef: parte entera de un nmero real y, y, es el entero ms grande q / q yEjemplos:2.7 = 2-1.3= -20 = 0Def: 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 LPsbf=siMientras x* no entera y sbf =si hacer:elegir una fila i agregar un corte de Gomory generado por iaplicar el simplex dualsi el dual es no acotado, entonces sbf=noresolver el nuevo problema. Sea x*=nuevo ptimofin mientras

  • EJEMPLOS

  • Finitud del algorimoDef: 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 objetivoLa 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: - 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 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 ptimoPuede ser problemtico decidir cuando un nmero es entero o no, ya que los errores se acumulan

  • Gomory para MIPEl algoritmo de Gomory se extiende directamente ara MIPEn 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 inferiormenteSi CIP tiene un valor ptimo acotado ==> tiene solucinptima en un extremo de conv(S) y es solucin ptima de IPSi x0 es una solucin ptima de IP ==>x0 es solucin ptima de CIP

  • Mtodo primal de corteSean 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 crezcaProblema: 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 bsicasxi es entera i Bxi + yijxj=yi0, j NBsupongamos existe una columna k / y0k
  • 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 factibleLa solucin es dual factible?- Si : finCorte y pivoteo: agregar un corte de la forma anterior, pivotear manteniendo las condiciones de solucin entera primal factible y volver al punto anterior