Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap4.Correspondencias y Asignaciones
Cap4.Correspondencias y Asignaciones
ASIGNACIONES
INTEGER PROGRAMMING
4.1. Rutas de aumento y optimalidad.
Definición 4.1. Una correspondencia (pareo) es un conjunto de arcos
disjuntos, esto es, como máximo un arco de una correspondencia es incidente a
cualquier nodo .
Definición 4.1.. Un correspondencia es un conjunto de arcos disjuntos,
esto es, como máximo un arco de una correspondencia es incidente a
cualquier nodo .
1
Note que todos los arcos(e1,e2,e3,e4) del
e2
e1 grafo inciden en al menos uno de los
3
nodos , por lo que es un cubrimiento por
2 nodos
e3
e4
4
Sea en el siguiente grafo
1
Note que el Arco e3 no incide en ninguno
e2
e1 de los nodos que pertenecen a , Por lo
3
tanto no es un cubrimiento por nodos; sin
2 embargo si es cubrimiento por nodos.
e3
e4
4
ha mostrado que existe una dualidad débil entre correspondencia y cubrimiento por
Se
nodos. Es decir, para cada correspondencia y cada cubrimiento por nodos . Lo que
se pretende es resolver el problema de Correspondencia de Máxima Cardinalidad .
Para resolverlo es necesario examinar como construir correspondencias de
cardinalidad cada vez mayor.
Para resolver este problema de máxima cardinalidad se introducen los siguientes
conceptos.
Definición 4.3. Una ruta alterna con respecto a una correspondencia es una
ruta
( es un nodo expuesto )
Ejemplo: Sea la correspondencia , y
e1 1
0
e2
2 Note que es una ruta alterna.
e3
3 4
e4
Ruta de Aumento
Una Ruta de Aumento es una ruta alterna que adicionalmente satisface la
siguiente condición:
( es expuesto).
Las rutas de aumento son útiles para encontrar las correspondncias de máxima cardinalidad.
Proposición 4.1. Dada una correspondencia y una ruta de aumento relativa a la
diferencia simétrica \ es una correspondencia con
Prueba. Como y no tocan a es una correspondencia. Como es
impar, = Por tanto
1 Arcos de
2 Arcos de
6 𝑴
= { ( 3,4 ) ,(2,6) }
3 Ruta de Aumento
5
4
Ruta alterna Ruta de aumento
respecto a la respecto a la
correspondenci correspondencia
a M=(2,6), (3,4) M=(2,6), (3,4)
1(1,2)2 si no
1(1,2)2(2,6)6 si no
1(1,2)2(2,6)6(6,3)3 si no
1(1,2)2(2,6)6(6,3)3(3,4)4 si no
1(1,2)2(2,6)6(6,3)3(3,4)4(4,5)5 si si
1
Note que la existencia de una ruta de aumento
2
implica que M no es óptima, ya que existe
otra correspondencia, en este caso la cual
6 tiene dimensión Por lo que no es la
correspondencia con la dimensión máxima.
3
5
4
Proposición 4.2. Si no hay una ruta de aumento relativa a una correspondncia,
entonces es de máxima cardinalidad (óptimo).
Prueba (No): Suponiendo que no es óptima. Entonces existe una correspondencia
con Considere el Grafo cuyos arcos están dados por . El grado de cada nodo en
este grafo es 0, 1, o 2. Por tanto los componentes conectados del Grafo son
caminos y ciclos. Para un ciclo C, los arcos se alternan entre , y los ciclos son de
longitud par y contienen el mismo numero de arcos de
(NO)Las rutas alternas pueden contener números pares o impares de
arcos. Como , una de las rutas debe contener más arcos de que de .
Esta ruta es por tanto un camino de aumento lo que es una contradicción.
Grafo Bipartito
Se desea
Ó
Demostrar que no existe tal ruta
Encontrar una ruta de
de aumento y así probar que la
aumento.
correspondencia es óptima.
observación 4.1. Como las rutas de aumento son de longitud impar y el grafo
es bipartito, uno de los nodos expuestos de está en y el otro está en . Por
tanto basta con empezar enumerando desde el nodo
Bosquejo del Algoritmo para la correspondencia Bipartita de
Máxima Cardinalidad
• Primero se etiquetan todos los nodos de que son disjuntos de M.
Estos nodos son candidatos para ser el primer nodo de una ruta alterna.
Paso 1. (etiquetamiento)
1.0. Ponga un * a cada nodo expuesto en (cada nodo que no es incidente a
M).
1.1. Si no quedan etiquetas no escaneadas, vaya al paso 3. Escoja un nodo
etiquetado no escaneado i. Si vaya a 1.2. Si vaya a 1.3.
1.2. Escanee el nodo etiquetado . Para todo dé
a j la etiqueta i si j está sin etiquetar. Retorne al paso 1.1.
1.3.Escanee el nodo etiquetado Si es expuesto vaya al paso 2. De otra
manera encuentre el arco y dé al nodo la etiqueta . Retorne a 1.1.
Paso 2. (Aumento ).
Una ruta de aumento ha sido encontrada. Use las etiquetas para dar marcha
atrás desde y así encontrar la ruta de aumento .
Aumente Remueva todas las etiquetas. Retorne al paso 1.
Paso 3. (No hay ruta de aumento )
Sean los nodos de y que están etiquetados y los nodos no etiquetados .
Paso 1:
Paso 0
1.0. Etiquetando nodos
expuestos de V1
𝑉
1 𝑉
2 𝑉
1 𝑉
2
1 6
1 6
*
2 7
* 2 7
3 8 3 8
4 9
* 4 9
5 10
5 10
𝑉
1 𝑉
2
1 6
*
* 2 7
3 8
* 4 9
5 10
3 8
1
* 4 9
5 10
8 3 8
8 1
* 4 9
5 10
8 33 8
8 1
* 4 9
5 10
8 33 8
8 1
* 4 9
5 10
2 7
3 8
4 9
5 10
* 2 7
3 8
4
* 44 9
5 10 4
* 2 7
3 8
4
* 4 9
10 5 10 4
* 2 7
3 8
4
* 4 9 5
10 5 10 4
* 2 7
3 8
4
* 4 9 5
10 5 10 4
Paso 2. Se encontró una ruta de aumento: P=(4,10) (5,10) (5,6)
() =(1,8) (3,7) (5,10) (4,10) (5 6)
= (5,10)
M= . Remover las etiquetas y retornar al paso 1
𝑉
1 𝑉
2
1 6
2 7
3 8
4 9
5 10
* 2 7
3 8
2
4 9
5 10
8 1 6
* 2 7
3 8
8 2
4 9
5 10
8 11 6
* 2 7
3 8
8 2
4 9
5 10
8 11 6
* 2 7
3 8
8 2
4 9
5 10
R=
4.3 El Problema de Asignación
𝑥 𝑖𝑗 ≥0 𝑝𝑎𝑟𝑎 𝑖 , 𝑗=1 ,… ,𝑛
Tomando el dual de programación lineal del problema de asignación se obtiene:
𝑢 𝑖+𝑣 𝑗 ≥ 𝑐 𝑖𝑗 𝑝𝑎𝑟𝑎 𝑖 , 𝑗=1 , … , 𝑛
Esto significa que una solución es óptima con pesos si y sólo si es
óptima con los pesos = .
Prueba
Para cada solución factible primal,
𝑛 𝑛 𝑛 𝑛
Asi que para cualquier solución factible del primal, la diferencia en los valores
de los dos objetivos siempre será el valor constante
Proposición 4.5. Si existen valores y una asignación tal que:
(Factibilidad dual)
(Complementariedad)
Entonces el problema de asignación es óptimo y tiene valor
Prueba.
ya que para todo el valor de una asignación óptima con pesos es
necesariamente no positiva. Pero por la condición (ii), con pesos , la
asignación x tiene un valor de y por lo tanto es óptima.
Por otro lado, de la proposición 4.4 x también es óptima con pesos y con un
valor de .
Observe que y son las condiciones de factibilidad y complementariedad de
programación lineal pero escritas de una manera distinta.
Idea del algoritmo para encontrar una asignación
(correspondencia de tamaño n) óptima en un Grafo Bipartito
Si deténgase, es óptimo.
De lo contrario, establezca la correspondencia y los nodos etiquetados en
terminación. Vaya al paso dos.
Paso 1. (paso Primal). Sea es una correspondencia factible , y , son
etiquetas factibles. Continúe con el algoritmo de máxima cardinalidad visto
en la sección anterior para encontrar la correspondencia óptima.
Si deténgase, es óptimo.
De lo contrario, establezca la correspondencia y los nodos etiquetados
Vaya al paso 2.
Paso 2 (paso dual). Cambie las variables duales como sigue:
Establezca .
Establezca -
Establezca .
Retorne al paso 1.
Ejemplo 4.2.
Considere una instancia del problema de asignación con n=4 , y la matriz de
beneficio:
=
Aplicando el algoritmo de asignación en el paso 0, se encontró una primera
solución dual factible al establecer y =0
Esto dio como resultado la siguiente solución factible dual con su matriz reducida
de beneficio:
Con
(𝑐 ¿¿𝑖𝑗 ¿´¿1)=¿¿¿¿
Observe que la fila dos de la matriz no tiene valores de cero, por lo que es
posible mejorar la solución dual y aún más importante, se puede añadir otro
arco a como se muestra a continuación.
Para mejorar la matriz de beneficio. Se establece y se obtiene la
nueva matriz reducida de beneficio:
´
Con
(𝑐 ¿¿ ¿¿2)=¿¿¿¿
𝑖𝑗
* 2 2’ 𝑐𝑜𝑛
|𝑀 |=3
Note que los arcos del grafo se construyen
3 3’ 2 teniendo en cuenta los ceros en la matriz reducida
de beneficio. (Proposición 4.5.
complementariedad.)
3’ 4 4’
Paso Primal 1 1’
Observando las etiquetas que
recibe cada Nodo. Se tiene que: , * 2 2’
3 3’ 2
3’ 4 4’
Ya que entonces se deben cambiar los duales para obtener una
correspondencia diferente.
Paso Dual
puede ver que =2. Esto lleva a una solución dual modificada y a la matriz
Se
reducida de beneficio siguientes:
Con
´
(𝑐 ¿¿𝑖𝑗 ¿¿3)=¿¿¿¿
La solución dual ahora
tiene un valor de 62.
• Paso Primal: Con esta nueva matriz, el
arco (4,4’) es adicionado a
´
(𝑐 ¿¿𝑖𝑗 ¿¿3)=¿¿¿¿
• Partiendo de la misma correspondencia
anterior: (1.1), (3,2), ((4,3), se encuentra
la ruta de aumento:
1 1’
• Note que es una correspondencia más
largo y que es de tamaño n=4, que es lo
que busca el algoritmo. Es por tanto
* 2 2’
óptimo.
3 3’ 2
3’ 4 4’
4