La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Programación entera y optimización combinatoria Mayo 2007 Módulo 2:"— Transcripción de la presentación:

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

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  Z n +, y  R n +

5 Def: región factible S: S={(x,y) / x  Z n +, y  R n +, Ax+ Gy  b} Def: solución óptima: una solución factible (x 0,y 0 ) es óptima si  (x,y)  S, cx 0 +hy 0  cx +hy Def: valor óptimo = cx 0 +hy 0 Un MIP puede ser no factible o no acotado o factible Def: problema lineal entero: (IP) Max cx / Ax  b, x  Z n + 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  B n +, B={0,1} No hay definición unánime de optimización combinatoria, pero en geneal son problemas 0-1 IP, trabajando con conjuntos finitos. Def Sea N={1..n} finito y c=(c 1,...c n ), para F  N, definimos c(F)=  c j, 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 Pbs enteros LP Matching, Flujos

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 [d ij ] nxn entre cualquier par de n ciudades / d ij  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 a j y una capacidad nutritiva c j  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  c j x j /  a j x j  b, x=(x 1,..x n )  B n

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 –c ij =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: x ij  B={0,1}, x ij =1 si persona j asignada a trabajo i, si no x ij =0  x ij =1,  x ij  1 j i –Función objetivo: Min   c ij x ij –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   c ij x ij /  x ki =1,  x ij = 1, i=1...2n, x  B n(2n-1) k 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, p ij = 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: t j(r+1),j  t j(r),j + p j(r),j –x ijk =1 si el trabajo j precede al trabajo k en la máquina i (j  k), 0 si no. –t ik  t ij +p ij si x ijk =1 y –t ij  t ik +p ik si x ijk =0 –Sea w una cota superior en t ij -t ik +p ij  i,j,k –Pb: Min  t j(m) / t ij  0,  x ki =1, x ijk  {0,1} (1) t j(r+1),j  t j(r),j + p j(r),j r=1..m-1 (2) t ij - t ik  - p ij +w (1- x ijk ) (3) t ik - t ij  - p ik +w x ijk –(2) y (3) restricciones disyuntivas

14 Poliedros enteros Def.: Una matriz entera A mxn es una matriz totalmente unimodular (TUM) si  submatriz cuadrada de A su determinante es 0, 1 o -1. Observación: a ij =0,1 o -1 Teo: son equivalentes: –A es TUM –A T, [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  R n se dice entero si cada cara no vacía (incluye aristas y vértices) contiene un punto entero Teo: Un poliedro P= {x  R n / Ax  b} con rango(A)=n es entero sii todos sus puntos extremos son enteros. Sea LP : z LP = max{c T x / x  P} Teo: Las siguientes afirmaciones son equivalentes: 1.P es entero 2.LP tiene una solución entera óptima  c  R n, para las cuales tiene solución óptima 3.LP tiene una solución entera óptima  c  Z n, para las cuales tiene solución óptima 4.z LP es entera  c  Z n para el cual LP tiene solución óptima.

16 Teo: Si A es TUM  P(b)={x  R n + / 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)=(A B,A N ), donde A B es una matriz básica para el prog. Lineal  A B -1 es una matriz entera (por construcción y por ser por ser A TUM, |A B |=1),  A B -1.b es 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  R n + / Ax  b, x  0} es entero  b entero /P(b) no vacío  A es TUM X B = B -1.b = Adj(B).b/|B|= Adj(B). b.|B -1 | (ya que |B|. |B -1 | =1) Por hipótesis, X B entero y b entero cualesquiera / existe solución  B -1 entera, cada elemento z ij 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  R n / 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  R m + / u T A  c} es no vacío, entonces Q(c) es un poliedro entero. Condiciones suficientes para TUM Teorema anterior: Si P(b) es entero  b  Z n / P(b) es no vacío => A es TUM Teo: A es TUM   J  N={1..n} existe una partición J 1, J 2 de J/  a ij -  a ij  1  i=1..m j  J1 j  J2

18 Teo: Sea A una matriz con elementos a ij  {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 I 1 e I 2 / si una columna tiene dos elementos no nulos se cumple: a) Si ambos elementos tienen el mismo signo entonces una fila pertenece a I 1 y la otra a I 2, 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  i a ij =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 M K  k  3 M K : 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 M K  k  3 e impar

21 Nota: matrices en M K : –Las matrices en M K con k  3 que no contienen una M l con l  det A  =2, de lo contrario  det A  =0 Teo: Si A es TB =>las siguientes matrices son TB : –(A,I) –AT–AT –permutaciones de filas de A –submatrices de A Teo: Si A es TUM => A es balanceada (demos x abs)

22 Matrices balanceadasTUMTBTUM

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  R n + / 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’  M 4 A’ 0 es balanceada y no es TUM ni TB

24 Def: problema FC (fractional packing): (FP) max c T x / x  P = {x  R n + /Ax  1}, A mxn (0,1) Dual: (DFP) min  y / y T A  c, x  R m + Def: problema FP (fractional covering): (FC) min c T x / x  Q = {x  R n + /Ax  1}, A mxn (0,1) Dual: (DFC) max  y / y T A  c, x  R m + Asumimos c j >0  j=1..n Teo: Sea A mxn (0,1), sin filas ni columnas nulas: P(b) ={x  R n + /Ax  b}, es entero  b i  {1,  }, i=1..m  Q(b) = {x  R n + /Ax  b}, es entero  b  B m

25 Teo: Si A es TB=> Q(b)= {x  R n + /Ax  b}, es entero y DFC tiene soluciones óptimas enteras  b  B m. Teo: Si A es TB=> P(b) = {x  R n + /Ax  b}, es entero y DFP tiene soluciones óptimas enteras  b  {1,  }. Teo: (  )Sea A mxn (0,1), sin filas ni columnas nulas, es equivalente: –A balanceada (sin ciclos impares) –P(b) = {x  R n + /Ax  b}, es entero  b  {1,  }. –Q(b)= {x  R n + /Ax  b}, es entero  b  B m 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


Descargar ppt "Programación entera y optimización combinatoria Mayo 2007 Módulo 2:"

Presentaciones similares


Anuncios Google