Upload
ayanna
View
59
Download
1
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Programación entera y optimización combinatoria
Mayo 2007
Módulo 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.
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
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+
• 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
• 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á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=(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
Pbs no lineales
Pbs convexos
Pbs enterosLP
Matching,Flujos
• 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
• 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 / ajxjb , x=(x1,..xn) Bn
• AsignaciónInstancia:– Sean n personas y m trabajos con nm.– 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.
• 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<i j>i
– matching perfecto: con = en restricción
• 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
– La operación (r+1) no puede comenzar hasta completada la r:
tj(r+1),jtj(r),j + pj(r),j
– xijk=1 si el trabajo j precede al trabajo k en la máquina i (jk), 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),jtj(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
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
• 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 / Axb} 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:
1. P es entero2. LP tiene una solución entera óptima c Rn, para las cuales
tiene solución óptima3. LP tiene una solución entera óptima c Zn, para las cuales
tiene solución óptima4. zLP es entera c Zn para el cual LP tiene solución óptima.
• Teo: Si A es TUM P(b)={x Rn+ / Axb, x 0} es entero b
entero /P(b) no vacío. Considerar el conjunto Ax+Iy=b, xR+
n , yR+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.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 Rn+ / Axb, 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.
• 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+ /
uTAc} es no vacío, entonces Q(c) es un poliedro entero.
Condiciones suficientes para TUM• Teorema anterior: Si P(b) es entero bZn / 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 - aij1 i=1..m
jJ1 jJ2
• 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
• 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
Matrices balanceadas y totalmente balanceadas
– Def: A(0,1) es una matriz totalmente balanceada (TB) si no contiene una submatriz en MK k3
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 k3 e impar
• Nota: matrices en MK :– Las matrices en MK con k3 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)
Matrices balanceadas
TUM TBTUM
EJEMPLO: 1 1 1 1
1 1 0 0 A= 1 0 1 0 1 0 0 1a) A no es TUM ya que det(A)=-2b) A es TBc) P(1)= {x Rn
+ / Ax1, x 0} es enterod) 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
• Def: problema FC (fractional packing):(FP) max cTx / x P = {x Rn
+ /Ax1}, Amxn(0,1) Dual:
(DFP) min y / yTAc, 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
+ /Axb}, es entero bi {1,}, i=1..m Q(b) = {x Rn
+ /Ax b}, es entero b Bm
• 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+ /Axb}, 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
+ /Axb}, es entero b {1,}.– Q(b)= {x Rn
+ /Ax b}, es enterob Bm
• Nota: el reconocimiento de matrices TB (por matrices de inclusión) se hace en tiempo polinomial
Ejercicio: Demostrar que un grafo G (no dirigido)
es bipartito sii no contiene ciclos impares
• Solución de un sistema con ciclos impares• Restricción a agregar para eliminar
soluciones no enteras
Problemas en grafos y LP asociados
• Problema de flujo con costo mínimo• Problema de matching• Problema de covering