1 / 19

Programación entera y optimización combinatoria

Módulo 2 :. 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) ¿Sirve tomar la solución real de (ILP) y luego redondear la solución al entero más próximo?.

dougal
Download Presentation

Programación entera y optimización combinatoria

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Módulo 2: Programación entera y optimización combinatoria Mayo 2007

  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

  8. EJEMPLOS

  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 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 

  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 NB\k

  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

More Related