Está en la página 1de 41

UNIVERSIDAD SAN PEDRO

INVESTIGACIÓN OPERATIVA I
Problema de Asignación
www.usanpedro.edu.pe
El problema de asignación
El problema de asignación es
un caso particular del
problema de transporte. Se
trata de asignar un número de
orígenes (individuos, tareas
etc.) a un mismo número de
destinos (tareas, máquinas
etc.) con el objetivo de
optimizar una función de
costo.

www.usanpedro.edu.pe 2
El problema de asignación:
Definición
Se tiene n tareas y n personas.
El problema consiste en asignar
cada servicio a un trabajador de
forma que maximice el
rendimiento (eficiencia,
ganancia) o minimice los costos
(tiempo empleado). La
particularidad con el problema
de transporte es que Oi = 1, Dj =
1 para todo i, j.

www.usanpedro.edu.pe 3
El problema de asignación:
Definición
Los orígenes pueden ser
trabajadores, proyectos,
máquinas, personas, agentes,
etc.
Los destinos pueden ser
trabajos, entidades, tareas,
servicios, ciudades, etc.

Ofertas Demandas

www.usanpedro.edu.pe 4
• El problema de asignación puede ser resuelto
por el método simplex o el de transporte en
forma eficiente.
• Sin embargo existen algoritmos específicos
mucho más eficientes.
• La condición necesaria y suficiente para que el
problema tenga solución, es que el problema
este balanceado, esto es que n = m (oferta
total = demanda total)
www.usanpedro.edu.pe 5
Método de solución
• Se han desarrollado varias técnicas para
resolver el problema de asignación.
• Entre los que han realizado importantes
contribuciones hay que citar a Dever Blood;
Kuhn y Veltan.
• Kuhn es el primero que desarrolló un
algoritmo de cálculo para resolver el problema
basado en un teorema demostrado por el
matemático húngaro Koning.
www.usanpedro.edu.pe 6
El Método Húngaro
• El método busca determinar un conjunto de n
ceros independientes en cada fila y columna.
El conjunto no es necesariamente único.
• Los pasos a seguir son los siguientes:
1. Examinar todas las columnas de la matriz c,
identificando en cada columna el menor
elemento. vj = min cij y formar una nueva
matriz c’ reemplazando cij por c’ = cij – vj para
j = 1, 2, ..., n
www.usanpedro.edu.pe 7
El Método Húngaro
2. Determinar para cada fila los ui = min c’ij y
determinar c*ij = c’ij – ui para i = 1, 2, ..., n.
3. Determinar el número de ceros
independientes; para ello encuentre el
mínimo de rectas ni que cubran todos los
ceros de la matriz c* si n1 = n se encontró el
óptimo.

www.usanpedro.edu.pe 8
El Método Húngaro
Para encontrar n1 contabilizar al margen de la
matriz c* el número de ceros existentes en cada fila
y en cada columna. Se elige la fila o columna que
tenga el mayor número de ceros y se traza una
recta por sobre esa fila o columna. Esto altera el
número de ceros existentes en c*. Recalcular estos
valores y trazar una nueva recta en la fila o columna
con el mayor número de ceros. Así se procede hasta
eliminar todos los ceros de c*. En caso de empate
se elige arbitrariamente.
www.usanpedro.edu.pe 9
El Método Húngaro
4. Si n1 ≠ n hacer lo siguiente: Ɵ = mínimo
elemento de c* no cubierto por las rectas.
Reste Ɵ a todos los elementos no cubiertos por
las rectas. Sume Ɵ a todos los elementos en las
intersecciones entre dos rectas. Volver al paso
3 y repetir el proceso.
5. Si n1 = n se ha llegado a la solución óptima,
para buscar esta solución considerar la fila o
columna que tenga la menor cantidad de ceros.
www.usanpedro.edu.pe 10
El Método Húngaro
Encerrar dentro de un círculo uno de los ceros
de esta fila o columna. Marcar con una cruz los
ceros que se encuentren sobre la misma fila o
columna que el cero encerrado en el círculo.
Proceder en la misma forma sucesivamente para
todas las filas y columnas. Los ceros en los
círculos constituyen la asignación óptima.

www.usanpedro.edu.pe 11
Ejercicios

Problema de la asignación

www.usanpedro.edu.pe 12
Ejercicio 1
• Existen 5 operarios a, b, c, d y e para ocupar 5
cargos f, g, h, i y j. La matriz de costos c, que
caracteriza el problema de la asignación es la
siguiente: f g h i j
a 5 3 7 3 4
b 5 6 12 7 8
c 2 8 3 4 5
d 9 6 10 5 6
e 3 2 1 4 5
• Se pide determinar la asignación óptima
www.usanpedro.edu.pe 13
Solución:
1. El elemento más pequeño en la primera
columna es v1=2; en la segunda es v2=2; en
la 3ra es v3=1; en la 4ta es v4=3; en la 5ta
v5=4.
f g h i j
a 5 3 7 3 4
b 5 6 12 7 8
c 2 8 3 4 5
d 9 6 10 5 6
e 3 2 1 4 5

www.usanpedro.edu.pe 14
Solución:
1. Se calcula c’ij=cij-vj quedando la matriz c’ así:

3 1 6 0 0
3 4 11 4 4
0 6 2 1 1
7 4 9 2 2
1 0 0 1 1

www.usanpedro.edu.pe 15
Solución:
2. El elemento más pequeño en la 1ra fila es
u1=0; en la 2da fila es u2=3; en la 3ra u3=0;
en la 4ta u4=2; en la 5ta es u5=0.

3 1 6 0 0
3 4 11 4 4
0 6 2 1 1
7 4 9 2 2
1 0 0 1 1

www.usanpedro.edu.pe 16
Solución:
2. Se calcula c*ij=c’ij-vj quedando la matriz c*
así:
3 1 6 0 0
0 1 8 1 1
0 6 2 1 1
5 2 7 0 0
1 0 0 1 1

www.usanpedro.edu.pe 17
Solución:
3. Procedemos a contar el número de ceros por
cada fila y columna:

3 1 6 0 0 2
0 1 8 1 1 1
0 6 2 1 1 1
5 2 7 0 0 2
1 0 0 1 1 2
2 1 1 2 2

www.usanpedro.edu.pe 18
Solución:
3. Procedemos a encontrar el número mínimo
de rectas n1 que cubren todos los ceros de la
matriz c*:
3 1 6 0 0 2
0 1 8 1 1 1
0 6 2 1 1 1
5 2 7 0 0 2
1 0 0 1 1 2
2 1 1 2 2

www.usanpedro.edu.pe 19
3 1 6 0 0 2 -
0 1 8 1 1 1 1
0 6 2 1 1 1 1
5 2 7 0 0 2 2
1 0 0 1 1 2 2 3 1 6 0 0 2 - - -
0 1 8 1 1 1 1 0 0
2 1 1 2 2 0 6 2 1 1 1 1 0 0
2 1 1 1 1 5 2 7 0 0 2 2 2 -
1 0 0 1 1 2 2 2 2
3 1 6 0 0 2 - - 2 1 1 2 2
2 1 1 1 1
0 1 8 1 1 1 1 0
- 1 1 1 1
0 6 2 1 1 1 1 0
- 1 1 0 0
5 2 7 0 0 2 2 2
1 0 0 1 1 2 2 2
2 1 1 2 2 Vemos que n1=4; n=5
2 1 1 1 1 No hemos llegado al
- 1 1 1 1
óptimo.
www.usanpedro.edu.pe
16/12/2020 20 12/16/2020 20
Solución:
4. Identificamos el menor número no cubierto por las
rectas:
3 1 6 0 0 2 - - -
0 1 8 1 1 1 1 0 0
0 6 2 1 1 1 1 0 0
5 2 7 0 0 2 2 2 -
1 0 0 1 1 2 2 2 2
2 1 1 2 2
2 1 1 1 1
- 1 1 1 1
- 1 1 0 0

www.usanpedro.edu.pe 21
Solución:
4. En este caso Ɵ=1 (Elemento mínimo no cubierto por
las rectas). Se resta 1 a todos los elementos no
cubiertos por las rectas. Se suma 1 a todos los
elementos en las intersecciones entre dos rectas y se
vuelve al paso 3. La matriz c* se transforma en
4 1 6 0 0
0 0 7 0 0
0 5 1 0 0
6 2 7 0 0
2 0 0 1 1
www.usanpedro.edu.pe 22
Solución:
4 1 6 0 0 4 1 6 0 0
0 0 7 0 0 0 0 7 0 0
0 5 1 0 0 0 5 1 0 0
6 2 7 0 0 6 2 7 0 0
2 0 0 1 1 2 0 0 1 1
4 1 6 0 0 4 1 6 0 0
0 0 7 0 0 0 0 7 0 0
0 5 1 0 0 0 5 1 0 0
6 2 7 0 0 6 2 7 0 0
2 0 0 1 1 2 0 0 1 1

www.usanpedro.edu.pe 23
4 1 6 0 0 2 1 0 0
0 0 7 0 0 4 3 2 2
0 5 1 0 0 3 2 1 1
6 2 7 0 0 2 1 0 0
2 0 0 1 1 2 2 2 -
2 2 1 4 4
2 2 1 4 -
2 2 1 - -
2 1 0 - -

Se observa que n1 = 5 = n. Por


consiguiente se encontró el óptimo.

www.usanpedro.edu.pe
16/12/2020 24 12/16/2020 24
Solución:
5. Determinamos la asignación óptima:
4 1 6 0 0 2 4 1 6 0 0 2
0 0 7 0 0 4 0 0 7 0 0 4
0 5 1 0 0 3 0 5 1 0 0 3
6 2 7 0 0 2 6 2 7 0 0 2
2 0 0 1 1 2 2 0 0 1 1 2
2 2 1 4 4 2 2 1 4 4

4 1 6 0 0 2 2 4 1 6 0 0 2 2
0 0 7 0 0 4 4 0 0 7 0 0 4 4
0 5 1 0 0 3 3 0 5 1 0 0 3 3
6 2 7 0 0 2 2 6 2 7 0 0 2 2
2 0 0 1 1 2 - 2 0 0 1 1 2 -
2 2 1 4 4 2 2 1 4 4
2 1 - 4 4 2 1 - 4 4

www.usanpedro.edu.pe 25
4 1 6 0 0 2 2 2 4 1 6 0 0 2 2 2 2
0 0 7 0 0 4 4 - 0 0 7 0 0 4 4 - -
0 5 1 0 0 3 3 3 0 5 1 0 0 3 3 3 -
6 2 7 0 0 2 2 2 6 2 7 0 0 2 2 2 2
2 0 0 1 1 2 - - 2 0 0 1 1 2 - - -
2 2 1 4 4 2 2 1 4 4
2 1 - 4 4 2 1 - 4 4
1 - - 3 3 1 - - 3 3
- - - 2 2

4 1 6 0 0 2 2 2 2
0 0 7 0 0 4 4 - -
0 5 1 0 0 3 3 3 - Hay dos soluciones
6
2
2
0
7
0
0
1
0
1
2
2
2
-
2
-
2
-
óptimas.
2 2 1 4 4
2 1 - 4 4
1 - - 3 3
- - - 2 2

www.usanpedro.edu.pe
16/12/2020 26 12/16/2020 26
Respuesta
Solución 1 Solución 2
Operario Cargo Operario Cargo
a i =3 a j=4
b g=6 b g=6
c f=2 c f=2
d j=6 d i=5
e h=1 e h =1

El costo en ambos casos es de S/. 18

www.usanpedro.edu.pe 27
Variantes

Problema de la asignación

www.usanpedro.edu.pe 28
1. Matriz de nxm (n≠m)
• Algunas veces, el problema se presenta con
una matriz que no es cuadrada. En tal caso se
convierte en una matriz cuadrada agregando
tantas filas o columnas como sean necesarias
hasta lograr una matriz cuadrada y
asignándole un costo cero.

www.usanpedro.edu.pe 29
Matriz de nxm (n≠m): Ejemplo
• Se tiene la siguiente matriz de asignación de
lugares de desembarque con sus costos
asociados. Camión
1 2 3 4
1 3 6 2 6
2 7 1 4 4
Lugar

3 3 8 5 8
4 6 4 3 7
5 5 2 4 3
6 5 7 6 2
• Cuál será el mejor arreglo para minimizar costos.
www.usanpedro.edu.pe 30
Matriz de nxm (n≠m): Ejemplo
• Se agregan dos columnas para generar una
matriz de 6x6. Camión
1 2 3 4 5 6
1 3 6 2 6 0 0
2 7 1 4 4 0 0
Lugar 3 3 8 5 8 0 0
4 6 4 3 7 0 0
5 5 2 4 3 0 0
6 5 7 6 2 0 0

• Aplicar el método húngaro ya conocido.


www.usanpedro.edu.pe 31
Matriz de nxm (n≠m): Ejemplo
• Resolviendo se obtiene la siguiente asignación:

Camión
1 2 3 4 5 6
1 0 5 0 4 0 0
2 4 0 2 2 0 0
Lugar

3 0 7 3 6 0 0
4 3 3 1 5 0 0
5 2 1 2 1 0 0
6 2 6 4 0 0 0

www.usanpedro.edu.pe 32
• Resolviendo se obtiene la siguiente asignación:
Camión El camión 1 es asignado al lugar 3.
1 2 3 4 5 6 El camión 2 es asignado al lugar 2.
1 0 5 0 4 0 0 El camión 3 es asignado al lugar 1.
2 4 0 2 2 0 0 El camión 4 es asignado al lugar 6.
Lugar

3 0 7 3 6 0 0 Los lugares 4 y 5 se dejan


4 3 3 1 5 0 0
vacantes.
5 2 1 2 1 0 0
6 2 6 4 0 0 0

El costo correspondiente a esta asignación es:


Z=3+1+2+2=8
Z = 8 unidades monetarias.

www.usanpedro.edu.pe
16/12/2020 33 12/16/2020 33
2. Problema de maximización
• El método húngaro también es aplicable a problemas
de maximización.
• Convertir la matriz c en la matriz c0 de la siguiente
manera:
Buscar el max cij en la matriz c, construir la matriz c0
mediante la siguiente transformación:
cij(0) = max cij ; la matriz c0 tendrá al menos, un elemento
nulo. Seguimos después el mismo procedimiento que
para los problemas de minimización.
www.usanpedro.edu.pe 34
Problema de maximización: Ejemplo
Se desea asignar 4 trabajadores a 4 tareas, se desea el
máximo beneficio por día, de acuerdo a la matriz de
beneficios siguiente:
Tarea
1 2 3 4
1 1 8 4 1
Empleado 2 5 7 6 5
3 3 5 4 2
4 3 1 6 3
Aplicamos el procedimiento establecido. El máximo
beneficio en la matriz c es 8; luego calculamos la
matriz c0
www.usanpedro.edu.pe 35
Tarea Tarea
1 2 3 4 max cij = 8 1 2 3 4
Empleado 1 1 8 4 1 1 7 0 4 7

Empleado
2 5 7 6 5 2 3 1 2 3
3 3 5 4 2 3 5 3 4 6
4 3 1 6 3 4 5 7 2 5

A partir de aquí seguimos el mismo procedimiento que


para los problemas de minimización y llegamos a la
siguiente solución óptima.
Tarea
1 2 3 4 La asignación óptima es:
El empleado 1 es asignado a la tarea 2 = 8
1 4 0 2 4
Empleado

El empleado 2 es asignado a la tarea 4 = 5


2 0 1 0 0 El empleado 3 es asignado a la tarea 1 = 3
3 0 1 0 1 El empleado 4 es asignado a la tarea 3 = 6
El beneficio esperado del día para esta
4 2 7 0 2 asignación es z = 22

www.usanpedro.edu.pe
16/12/2020 36 12/16/2020 36
Problema de maximización
Una segunda alternativa es multiplicar toda la
matriz por (-1) y aplicar directamente el
método.

www.usanpedro.edu.pe 37
3. Problemas con asignaciones
imposibles.
• Si existen restricciones legales o de otro tipo que
prohíben la asignación de un servicio determinado a
un determinado trabajo podemos asociar un costo M
infinitamente grande a la celda correspondiente, es
decir hacemos cij = Mi (el costo del servicio i asignado
a la tarea j es M).
• Esta actividad quedará automáticamente excluida de
la solución óptima.
• Seguimos después el mismo procedimiento para
optimizar.
www.usanpedro.edu.pe 38
Ejercicio
• La gerencia general que se encuentra en Bogotá ha
decidido que cada uno de los 4 vicepresidentes
visite una de las 4 plantas de la compañía ubicadas
en diferentes ciudades.
• La gerencia empieza por estimar los costos que
representará a la compañía el envío de cada
vicepresidente a cada planta. Con esos costos el
gerente puede evaluar cualquier designación
particular con base en la siguiente matriz de costos:

www.usanpedro.edu.pe 39
PLANTA
VICEPRESIDENTE 1 2 3 4
Finanzas (F) 24 10 21 11
Mercadeo (M) 14 22 10 15
Operaciones (O) 15 17 20 19
Personal (P) 11 19 14 13

Establecer el plan de asignación a mínimo costo.

www.usanpedro.edu.pe 40
GRACIAS
A sus ordenes

www.usanpedro.edu.pe 41

También podría gustarte