Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porOctavio Trujillo Modificado hace 9 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.