1 / 28

Programación entera y optimización combinatoria

Módulo 2 :. Programación entera y optimización combinatoria. Mayo 2007. Bibliografía. Nemhauser: Integer and combinatorial optimization Papadimitrou: Combinatorial Optimization Minoux: Graphes et algorithmes Chrétienne: Problèmes d'ordonnancement Minoux: Programmation mathématique

ayanna
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. Bibliografía • Nemhauser: Integer and combinatorial optimization • Papadimitrou: Combinatorial Optimization • Minoux: Graphes et algorithmes • Chrétienne: Problèmes d'ordonnancement • Minoux: Programmation mathématique • Murty: Linear programming. • Luenberger: Linear and nonlinear programming.

  3. Programación entera • Introducción • Programación entera y grafos • Métodos de corte • Métodos generales • Complejidad de los problemas de optimización • Algoritmos aproximados • Aplicaciones • Herramientas de cálculo

  4. Introducción • Problemas de optimización combinatoria y entera : maximizan o minimizan funciones de varias variables sujeto a restricciones de integridad sobre todas o algunas variables. • Ejemplos de aplicación: distribución de productos o mercaderías, secuenciamiento de tareas en problemas de producción, diseñode redes de comunicación, etc. • Programación lineal entera mixta (MIP): Max cx + hy / Ax + Gy  b, con x  Zn+, y  Rn+

  5. Def: región factible S: S={(x,y) / x  Zn+, y  Rn+, Ax+ Gy  b} • Def: solución óptima: una solución factible (x0,y0) es óptima si  (x,y)  S , cx0+hy0  cx +hy • Def: valor óptimo = cx0+hy0 • Un MIP puede ser no factible o no acotado o factible • Def: problema lineal entero: (IP) Max cx / Ax  b, x  Zn+ • Pbs contínuos e IP son casos particulares de MIP

  6. Variables enteras: muchas veces se usan para representar relaciones lógicas (variables binarias 0-1), o sea x  Bn+, B={0,1} • No hay definición unánimede optimización combinatoria, pero en geneal son problemas 0-1 IP, trabajando con conjuntos finitos. • Def Sea N={1..n} finito y c=(c1,...cn), para F  N, definimos c(F)=cj, y = 2 N, un problema de optimización combinatoria (cp) es : (cp) Max c(F) / F   • En optimización combinatoria se busca la solución en un conjunto finito o en un contable infinito

  7. Pbs no lineales Pbs convexos LP Matching, Flujos Pbs enteros

  8. Def: Instancia de un problema de optimización es un par (F, c) / c: F R y el problema consiste en encontrar f  F /c(f)  c(y)  y  F EJEMPLOS • Traveling Salesman Problem (TSP): Instancia: • dado un entero n>0 una matriz de distancias [dij]nxn entre cualquier par de n ciudades / dij Z+. • tour: es un camino cerrado /visita cada ciudad exactamente una vez • Pb: encontrar un tour con largo total mínimo, o sea: F= {permutaciones de n objetos} y c: F R asigna a cada   F, un costo  d ij

  9. 0-1 Knapsack Instancia: • Sean n alimentos/ costo aj y una capacidad nutritiva cj  j=1..n . Cada alimento puede ser elegido para ser llevado o no y no se puede fraccionar. • Existe un presupuesto b o capacidad de la mochila que no puede ser superado. • Pb: elegir un subconjunto de alimentos que maximice el valor nutritivo no excediendo el presupuesto (capacidad de la mochila) Max  cjxj /  ajxjb , x=(x1,..xn)  Bn

  10. Asignación Instancia: • Sean n personas y m trabajos con nm. • Cada trabajo debe ser hecho por una persona y cada persona puede hacer a lo sumo un trabajo • cij=costo de una persona j haciendo un trabajo i • Pb: encontrar una asignación de personas a trabajos /minimice el costo total de completar todos los trabajos: xij  B={0,1}, xij =1 si persona j asignada a trabajo i, si no xij =0 xij =1 , xij 1 j i • Función objetivo: Min   cijxij • Existen m+n elementos y se particionan en 2 conjuntos disjuntos de trabajos y personas.

  11. Matching • A diferencia con el problema anterior, no podemos asumir esta partición • Sean 2n estudiantes /se quieren asignar a n cuartos dobles: c/estudiante debe ser asignado exactamente a 1 compañero. • (i,j) /i<j, asigna al estudiante i y al estudiante j a igual pieza. Sea cij el costo asociado : Min   cijxij/ xki =1 , xij = 1, i=1...2n, x  Bn(2n-1) k<ij>i • matching perfecto: con = en restricción

  12. Scheduling • Varios trabajos a ser procesados en una máquina y el órden en que se procesan no se especifica. • Restricciones del tipo: tarea k precede a la j en la máquina i o viceverza. • Sean n trabajos y m máquinas. • Cada trabajo debe ser procesado en todas las máquinas • Para cada trabajo el orden de máquinas es fijo: para el trabajo j, primero se procesa en j(1), luego en j(2), etc. • Una máquina procesa un trabajo por vez. • Las tareas no son interrumpibles en una máquina. • Datos:m,n, pij= tiempo de proceso del trabajo i en máquina j, orden de pasada: j(1)..j(m) • Sea tij la fecha de comienzo del trabajo j en la máquina i

  13. La operación (r+1) no puede comenzar hasta completada la r: tj(r+1),jtj(r),j + pj(r),j • xijk=1 si el trabajo j precede al trabajo k en la máquina i (jk), 0 si no. • tik tij +pij si xijk=1 y • tij tik +pik si xijk=0 • Sea w una cota superior en tij-tik+pij i,j,k • Pb: Min  tj(m) / tij  0 , xki =1 , xijk  {0,1} (1) tj(r+1),jtj(r),j + pj(r),j r=1..m-1 (2) tij - tik  - pij +w (1- xijk) (3) tik- tij  - pik +w xijk • (2) y (3) restricciones disyuntivas

  14. Poliedros enteros • Def.: Una matriz entera Amxn es una matriz totalmente unimodular (TUM) si  submatriz cuadrada de A su determinante es 0, 1 o -1. • Observación: aij=0,1 o -1 • Teo: son equivalentes: • A es TUM • AT , [A I son TUM • Eliminando una fila (columna) de A  nueva matriz TUM • Multiplicando una fila (columna) de A  nueva matriz TUM • Permutando filas o columnas de A  nueva matriz TUM • Duplicando filas o columnas de A  nueva matriz TUM • Pivoteando en A  nueva matriz es TUM

  15. Def: Un poliedro no vacío P Rn se dice entero si cada cara no vacía (incluye aristas y vértices) contiene un punto entero • Teo: Un poliedro P= {x Rn / Axb} con rango(A)=n es entero sii todos sus puntos extremos son enteros. • Sea LP : zLP = max{cTx / x P} Teo: Las siguientes afirmaciones son equivalentes: • P es entero • LP tiene una solución entera óptima  c Rn, para las cuales tiene solución óptima • LP tiene una solución entera óptima  c Zn, para las cuales tiene solución óptima • zLP es entera  c Zn para el cual LP tiene solución óptima.

  16. Teo: Si A es TUM  P(b)={x Rn+ / Axb, x 0} es entero  b entero /P(b) no vacío. Considerar el conjunto Ax+Iy=b, xR+n , yR+m, con A TUM y b entero, sea (A,I)=(AB,AN), donde AB es una matriz básica para el prog. Lineal  AB-1 es una matriz entera (por construcción y por ser por ser A TUM, |AB|=1),  AB-1.bes entero y como a cada solución básica factible le corresponde un punto extremo  P es entero. • Teo: (recíproco): Si P(b)={x Rn+ / Axb, x 0} es entero  b entero /P(b) no vacío  A es TUM XB= B-1.b = Adj(B).b/|B|= Adj(B). b.|B-1| (ya que |B|. |B-1| =1) Por hipótesis, XB entero y b entero cualesquiera / existe solución  B-1 entera, cada elemento zij de esta matriz es entero  |B-1| entero y como |B|. |B-1| =1, debe ser |B|= |B-1| =1. B es una base cualquiera  es una matriz cuadrada no singular y su determinante es 1 o –1. Si es singular su determinante es nulo. Para submatrices de rango menor a m, eliminar una o mas filas y repetir el mismo razonamiento.

  17. Teo: Sea A TUM, con b,b’,d,d’ enteros y P(b,b’,d,d’)={x Rn/ b’ Ax  b, d’  x  d} es no vacío, entonces P(b,b’,d,d’) es un poliedro entero. • Teo: Sea A TUM con c entero y Q(c)={u Rm+ / uTAc} es no vacío, entonces Q(c) es un poliedro entero. Condiciones suficientes para TUM • Teorema anterior: Si P(b) es entero  bZn / P(b) es no vacío => A es TUM • Teo: A es TUM  J  N={1..n} existe una partición J1, J2 de J/ aij - aij1 i=1..m jJ1 jJ2

  18. Teo: Sea A una matriz con elementos aij{0,-1,1}, con no más de dos elementos no nulos en cada columna. A es TUM  las filas de A pueden ser particionadas en dos subconjuntos I1 e I2/ si una columna tiene dos elementos no nulos se cumple: a) Si ambos elementos tienen el mismo signo entonces una fila pertenece a I1 y la otra a I2, b) Si ambos elementos tienen diferente signo entonces ambas filas pertenecen al mismo subconjunto • Teo: Sea A una matriz (0,-1,1) con no más de dos entradas no nulas en cada columna, si cuando hay dos entradas no nulas iaij =0, A es TUM

  19. NOTAS: • Una matriz de incidencia nodo-arcos de un grafo bipartito es TUM . • Si la matriz es (0,1) y es TUM ==> el grafo asociado es bipartito • Las matrices de intervalo son TUM • Las matrices de incidencia nodos-arcos en un grafo dirigido son TUM

  20. Matrices balanceadas y totalmente balanceadas • Def: A(0,1) es una matriz totalmente balanceada (TB) si no contiene una submatriz en MK k3 MK: es una familia de matrices (0,1) k*k cuyas filas y columnas suman 2 y no contienen la submatriz :  1 1  1 1 • Def: A(0,1) es balanceada si no contiene una submatriz en MK k3 e impar

  21. Nota: matrices en MK : • Las matrices en MK con k3 que no contienen una Ml con l<k, es una matriz de incidencia de un ciclo. Sea A MK / no contiene una Ml con l<k , si k impar => det A =2 , de lo contrario det A =0 • Teo: Si A es TB =>las siguientes matrices son TB: • (A,I) • AT • permutaciones de filas de A • submatrices de A • Teo: Si A es TUM => A es balanceada (demos x abs)

  22. Matricesbalanceadas TUM TUM TB

  23. EJEMPLO: 1 1 1 1 1 1 0 0 A= 1 0 1 0 1 0 0 1 a) A no es TUM ya que det(A)=-2 b) A es TB c) P(1)= {x Rn+ / Ax1, x 0} es entero d) P(b), con b=(2,1,1,1) T contiene un punto extremo (1/2,1/2,1/2,1/2)T e) La matriz 0 A con A’M4 A’ 0 es balanceada y no es TUM ni TB

  24. Def: problema FC (fractional packing): (FP) max cTx / x P = {x  Rn+ /Ax1}, Amxn(0,1) Dual: (DFP) min y / yTAc, x  Rm+ • Def: problema FP (fractional covering): (FC) min cTx / x Q = {x  Rn+ /Ax  1}, Amxn(0,1) Dual: (DFC) max y / yTA  c, x  Rm+ • Asumimos cj>0 j=1..n • Teo: Sea Amxn(0,1), sin filas ni columnas nulas: P(b) ={x  Rn+ /Axb}, es entero  bi {1,}, i=1..m  Q(b) = {x  Rn+ /Ax  b}, es entero  b Bm

  25. Teo: Si A es TB=> Q(b)= {x  Rn+ /Ax  b}, es entero y DFC tiene soluciones óptimas enteras b Bm . • Teo: Si A es TB=> P(b) = {x  Rn+ /Axb}, es entero y DFP tiene soluciones óptimas enteras b {1,}. • Teo: ( )Sea Amxn(0,1), sin filas ni columnas nulas, es equivalente: • A balanceada (sin ciclos impares) • P(b) = {x  Rn+ /Axb}, es entero b {1,}. • Q(b)= {x  Rn+ /Ax  b}, es enterob Bm • Nota: el reconocimiento de matrices TB (por matrices de inclusión) se hace en tiempo polinomial

  26. Ejercicio: Demostrar que un grafo G (no dirigido) es bipartito sii no contiene ciclos impares

  27. Solución de un sistema con ciclos impares • Restricción a agregar para eliminar soluciones no enteras

  28. Problemas en grafos y LP asociados • Problema de flujo con costo mínimo • Problema de matching • Problema de covering

More Related