Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5
MODELO DE ASIGNACIÓN
SUPOSICIONES
1. El número de asignados es igual al número de tareas
2. Cada asignado se asigna exactamente una tarea
3. Cada tarea debe realizarla exactamente un asignado
4. Existe un costo c, asociado con el asignado i (j=1,2,…n)
5. El objetivo es determinar cómo deben hacerse las asignaciones para
minimizar los costos totales
6
MODELO DE RED DE ASIGNACIÓN
Una empresa ha preseleccionado 5 candidatos para ocupar 4 puestos de trabajo en dicha empresa. Los puestos de trabajo
consisten en manejar 4 máquinas diferentes (un trabajador para cada máquina). La empresa puso a prueba a los 5
trabajadores en las 4 máquinas, realizando el mismo trabajo todos ellos en cada una de las máquinas, obteniendo los
siguientes tiempos:
Máquina 1 Máquina 2 Máquina 3 Máquina 4
Candidato 1 10 6 6 5 Planteamiento
Candidato 2 8 7 6 6
de la Red
Candidato 3 8 6 5 6
Candidato 4 9 7 7 6
Candidato 5 8 7 6 5
Interpretación:
• El candidato 1 trabajara con la máquina 2.
• El candidato 2 trabajara con la máquina 1
• El candidato 3 trabajara con la máquina 3
• El candidato 5 trabajará con la máquina 4
• El candidato 4 no trabajaría.
Así tendremos un costo de: 24 ( Z*=6+8+5+0+5) 7
MODELO DE RED DE ASIGNACIÓN
Una empresa de logística cuenta con 4 máquinas para realizar 3 tareas, cada máquina realiza la tarea según el tiempo en
que esta pueda ejecutarla. En la siguiente tabla se muestran los tiempos en horas para dichas tareas.
Tarea/Máqu 1 2 3 4
ina
1 6 7 12 14 Planteamiento
2 7 7 8 11 de la Red
3 11 5 2 6
Interpretación:
• La tarea 1 trabajará con la máquina 1.
• La tarea 2 trabajará con la máquina 2
• La tarea 3 trabajará con la máquina 3
Así tendremos un costo de: 15 ( Z*=6+7+2)
MÉTODO HÚNGARO
Para resolver problemas de asignación, aplicando el método Húngaro, se requiere seguir los siguientes algoritmos o pasos:
Paso 1: Balanceo, misma cantidad de filas y columnas
Paso 2: A todos los elementos de cada fila restar el menor elemento de la fila.
Paso 3: Generar una nueva matriz con los nuevos valores
Paso 4: En cada columna vamos a escoger el número menor y ese número lo vamos a restar a cada número en esa columna. Así,
se garantiza la obtención de por lo menor un cero en cada fila y columna.
Paso 5: Con la matriz resultante, verificar la existencia de una solución óptima. Para encontrarla se debe asignar un cero a cada
fila (comenzando por las que tengan menor Nro de ceros), y cancelar los demás ceros de esa fila y los ceros de la columna en la
que se encuentran ese cero. Repetir esta operación hasta que no que queden cero si asignar o cancelar.
Si no existe solución óptima ir al paso 6.
Paso 6: Realizar lo siguiente:
a) Marcar con * todas las filas que no contengan cero asignados.
b) Marcar todas las columnas que contengan uno o más ceros cancelados en alguna fila marcada.
c) Marcar toda la fila que tenga un cero asignado en una columna marcada.
d) Repetir b) y c) hasta que no sea posible marcas más filas o columnas.
e) Poner un trazo (línea) sobre toda la fila no marcada y sobre toda columna marcada
Paso 7: Tomar el menor número no atravesado por un trazo (línea), y:
• Restarlo a todos los elementos de las filas no atravesadas
• Sumarlo a todos los elementos de columnas atravesadas}
Volver al paso 5
PROBLEMA DE APLICACIÓN 1
La cía ABC “El Roble” desea realizar una jornada de mantenimiento
preventivo a sus tres máquinas principales A, B y C. El tiempo que demanda
realizar el mantenimiento de cada máquina es de 1 día, sin embargo la
jornada de mantenimiento no puede durar más de 1 día, teniendo en cuenta
que la compañía cuenta con tres proveedores de servicios de mantenimiento
debe de asignarse un equipo de mantenimiento a cada máquina para poder
cumplir con la realización del mantenimiento preventivo. Teniendo en cuenta
que según el grado de especialización de cada equipo prestador de servicios
de mantenimiento el costo de la tarea varia para cada máquina en particular,
debe de asignarse el equipo correcto a la máquina asignada con el objetivo
de minimizar el costo total de la jornada. Los costos asociados se pueden
observar en la siguiente tabla:
PROBLEMA DE APLICACIÓN
Tabla
Máquina 1 Máquina 2 Máquina 3
Equipo Mtto 1 10 9 5
Equipo Mtto 2 9 8 3
Equipo Mtto 3 6 4 7
Solución:
Paso 1: Encontrar el menor elemento de cada fila y restarlo de la fila respectiva.
- En la fila 1, el menor es 5
- En la fila 2, el menor es 3
- En la fila 3, el menor es 4
PROBLEMA DE APLICACIÓN
Tabla
Máquina 1 Máquina 2 Máquina 3
Equipo Mtto 1 5 4 0
Equipo Mtto 2 6 5 0
Equipo Mtto 3 2 0 3
Se puede ver que solo hicimos dos asignaciones, pero debimos haber
hecho tres, por lo que no logramos la solución óptima y pasamos al
paso 3.
PROBLEMA DE APLICACIÓN
Paso 3:
a) Marcar con * todas las filas que no contengan cero asignados.
b) Marcar todas las columnas que contengan uno o más ceros cancelados en alguna fila marcada.
c) Marcar toda la fila que tenga un cero asignado en una columna marcada.
d) Repetir b) y c) hasta que no sea posible marcas más filas o columnas.
e) Poner un trazo (línea) sobre toda la fila no marcada y sobre toda columna marcada
*
Máquina 1 Máquina 2 Máquina 3
* Equipo Mtto 1 3 4 0
* Equipo Mtto 2 4 5 0
Equipo Mtto 3 0 0 3
PROBLEMA DE APLICACIÓN
Paso 4:
a) El menor elemento de los no atravesados en la matriz es 3:
b) Se lo restamos a todos los elementos de las filas no atravesadas
c) Se lo sumamos a todos los elementos donde se interseca dos trazos
1 2 3 4
1 3 5 3 3
2 5 14 10 10
3 12 6 19 17
4 2 17 10 12
PROBLEMA DE APLICACIÓN 2
Paso 1.- Al igual que el ejemplo anterior restamos cada fila del menor
elemento y luego con la matriz resultante hacemos lo mismo por
columna. La matriz resultante es como se muestra:
1 2 3 4
1 3 5 3 3
2 5 14 10 10
3 12 6 19 17
4 2 17 10 12
PROBLEMA DE APLICACIÓN 2
Paso 1.- Al igual que el ejemplo anterior restamos cada fila del menor
elemento y luego con la matriz resultante hacemos lo mismo por columna.
La matriz resultante es como se muestra:
1 2 3 4
1 3 5 3 3
2 5 14 10 10
3 12 6 19 17
4 2 17 10 12
Solución:
Paso 1: Encontrar el menor elemento de cada fila y restarlo de la fila respectiva.
- En la fila 1, el menor es 3
- En la fila 2, el menor es 5
- En la fila 3, el menor es 6
- En la fila 4, el menor es 2
PROBLEMA DE APLICACIÓN 2
Tabla 1 2 3 4
1 0 2 0 0
2 0 9 5 5
3 6 0 13 11
4 0 15 8 10
1 2 3 4
1 0 2 0 0
2 0 9 5 5
3 6 0 13 11
4 0 15 8 10
Puede ver que solo logramos hacer tres asignaciones, no logramos asignar la
máquina 4 por lo que no alcanzamos el óptimo
PROBLEMA DE APLICACIÓN
Paso 3:
a) Marcar con un * todas las filas que no contengan ceros asignados
1 2 3 4
1 0 2 0 0
2 0 9 5 5
3 6 0 13 11
* 4 0 15 8 10
PROBLEMA DE APLICACIÓN
Paso 3:
b) Marcar con * todas las columnas que contengan uno o más ceros cancelados en alguna fila marcada.
*
1 2 3 4
1 0 2 0 0
2 0 9 5 5
3 6 0 13 11
* 4 0 15 8 10
PROBLEMA DE APLICACIÓN
Paso 3:
c) Marcar toda la fila que tenga un cero asignado en una columna marcada
*
1 2 3 4
1 0 2 0 0
* 2 0 9 5 5
3 6 0 13 11
* 4 0 15 8 10
PROBLEMA DE APLICACIÓN
Paso 3:
d) No hay más
e) Poner un trazo (línea) sobre toda la fila no marcada y sobre toda columna marcada.
*
1 2 3 4
1 0 2 0 0
* 2 0 9 5 5
3 6 0 13 11
* 4 0 15 8 10
PROBLEMA DE APLICACIÓN
Paso 4:
El menor número es 5
*
1 2 3 4
1 5 2 0 0
* 2 0 4 0 0
3 11 0 13 11
* 4 0 10 3 5
PROBLEMA DE APLICACIÓN
Hacemos nuevamente las asignaciones
1 2 3 4
1 5 2 0 0
2 0 4 0 0
3 11 0 13 11
4 0 10 3 5
PROBLEMA DE APLICACIÓN 3
Se tienen 5 programadores, a quiénes se les tiene que asignar 5 módulos a trabajar,
ellos han determinado cuánto cobrarían (Tabla) por desarrollar dichos módulos.
La empresa contratista desea saber cuál es la asignación que genere el menor costo
posible asumiendo que sólo un programador realiza un módulo.
A B C D E
1 2 4 4 3 6
2 3 6 5 4 6
3 5 6 5 3 7
4 3 6 8 5 4
5 8 5 6 2 1
PROBLEMA DE APLICACIÓN 3
Paso 1.- Al igual que el ejemplo anterior restamos cada fila del menor
elemento y luego con la matriz resultante hacemos lo mismo por columna.
La matriz resultante es como se muestra:
A B C D E
1 2 4 4 3 6
2 3 6 5 4 6
3 5 6 5 3 7
4 3 6 8 5 4
5 8 5 6 2 1
Solución:
Paso 1: Encontrar el menor elemento de cada fila y restarlo de la fila respectiva.
- En la fila 1, el menor es 2
- En la fila 2, el menor es 3
- En la fila 3, el menor es 3
- En la fila 4, el menor es 3
- En la fila 5, el menor es 1
PROBLEMA DE APLICACIÓN 3
Paso 1.- Al igual que el ejemplo anterior restamos cada fila del menor
elemento y luego con la matriz resultante hacemos lo mismo por columna.
La matriz resultante es como se muestra:
A B C D E
1 0 2 2 1 4
2 0 3 2 1 3
3 2 3 2 0 4
4 0 3 5 2 1
5 7 6 5 1 0
Solución:
Paso 1: Encontrar el menor elemento de cada fila y restarlo de la fila respectiva.
- En la fila 1, el menor es 2
- En la fila 2, el menor es 3
- En la fila 3, el menor es 3
- En la fila 4, el menor es 3
- En la fila 5, el menor es 1
PROBLEMA DE APLICACIÓN 3
Tabla A B C D E
1 0 2 2 1 4
2 0 3 2 1 3
3 2 3 2 0 4
4 0 3 5 2 1
5 7 6 5 1 0
A B C D E
1 0 0 0 1 4
2 0 1 0 1 3
3 2 1 0 0 4
4 0 1 3 2 1
5 7 4 3 1 0
PROBLEMA DE APLICACIÓN
Paso 2: Hacemos las asignaciones iniciando por la fila que tenga menos cero
y tachando los ceros de las filas y columnas donde hicimos la asignación:
A B C D E
1 0 0 0 1 4
2 0 1 0 1 3
3 2 1 0 0 4
4 0 1 3 2 1
5 7 4 3 1 0
PROBLEMA DE APLICACIÓN
Paso 2: Hacemos las asignaciones iniciando por la fila que tenga menos cero
y tachando los ceros de las filas y columnas donde hicimos la asignación:
A B C D E
1 0 0 0 1 4
2 0 1 0 1 3
3 2 1 0 0 4
4 0 1 3 2 1
5 7 4 3 1 0
PROBLEMA DE APLICACIÓN
Paso 2: Hacemos las asignaciones iniciando por la fila que tenga menos cero
y tachando los ceros de las filas y columnas donde hicimos la asignación:
1 2 3 4 5
1 0 0 0 1 4
2 0 1 0 1 3
3 2 1 0 0 4
4 0 1 3 2 1
5 7 4 3 1 0
PROBLEMA DE APLICACIÓN
Paso 2: Hacemos las asignaciones iniciando por la fila que tenga menos cero
y tachando los ceros de las filas y columnas donde hicimos la asignación:
1 2 3 4 5
1 0 0 0 1 4
2 0 1 0 1 3
3 2 1 0 0 4
4 0 1 3 2 1
5 7 4 3 1 0
PROBLEMA DE APLICACIÓN
Paso 2: Hacemos las asignaciones iniciando por la fila que tenga menos cero
y tachando los ceros de las filas y columnas donde hicimos la asignación:
1 2 3 4 5
1 0 0 0 1 4
2 0 1 0 1 3
3 2 1 0 0 4
4 0 1 3 2 1
5 7 4 3 1 0
Costo de Asignación – Usando POM
PROGRAMADORES
MÓDULOS
A B C D E
Módulo 1 2 4 4 3 6
Módulo 2 2 6 5 4 6
Módulo 3 5 6 5 3 7
Módulo 4 3 6 8 5 4
Módulo 5 8 5 6 2 1
Interpretación:
• El módulo 1 se asignará al programador 2.
• El módulo 2 se asignará al programador 3.
• El módulo 3 se asignará al programador 4.
• El módulo 4 se asignará al programador 1.
• El módulo 5 se asignará al programador 5.