+ All Categories
Home > Documents > Programación entera y optimización combinatoria

Programación entera y optimización combinatoria

Date post: 19-Mar-2016
Category:
Upload: ayanna
View: 54 times
Download: 1 times
Share this document with a friend
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
Popular Tags:
28
Programación entera y optimización combinatoria Mayo 2007 Módulo 2 :
Transcript
Page 1: Programación entera y optimización combinatoria

Programación entera y optimización combinatoria

Mayo 2007

Módulo 2:

Page 2: Programación entera y optimización combinatoria

•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.

Page 3: Programación entera y optimización combinatoria

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

Page 4: Programación entera y optimización combinatoria

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+

Page 5: Programación entera y optimización combinatoria

• 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

Page 6: Programación entera y optimización combinatoria

• 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

Page 7: Programación entera y optimización combinatoria

Pbs no lineales

Pbs convexos

Pbs enterosLP

Matching,Flujos

Page 8: Programación entera y optimización combinatoria

• 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

Page 9: Programación entera y optimización combinatoria

• 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

Page 10: Programación entera y optimización combinatoria

• 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.

Page 11: Programación entera y optimización combinatoria

• 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

Page 12: Programación entera y optimización combinatoria

• 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

Page 13: Programación entera y optimización combinatoria

– 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

Page 14: Programación entera y optimización combinatoria

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

Page 15: Programación entera y optimización combinatoria

• 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.

Page 16: Programación entera y optimización combinatoria

• 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.

Page 17: Programación entera y optimización combinatoria

• 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

Page 18: Programación entera y optimización combinatoria

• 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

Page 19: Programación entera y optimización combinatoria

• 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

Page 20: Programación entera y optimización combinatoria

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

Page 21: Programación entera y optimización combinatoria

• 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)

Page 22: Programación entera y optimización combinatoria

Matrices balanceadas

TUM TBTUM

Page 23: Programación entera y optimización combinatoria

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

Page 24: Programación entera y optimización combinatoria

• 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

Page 25: Programación entera y optimización combinatoria

• 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

Page 26: Programación entera y optimización combinatoria

Ejercicio: Demostrar que un grafo G (no dirigido)

es bipartito sii no contiene ciclos impares

Page 27: Programación entera y optimización combinatoria

• Solución de un sistema con ciclos impares• Restricción a agregar para eliminar

soluciones no enteras

Page 28: Programación entera y optimización combinatoria

Problemas en grafos y LP asociados

• Problema de flujo con costo mínimo• Problema de matching• Problema de covering


Recommended