1 - MSc. Ing. Julio Rito Vargas Avilés

Anuncio
Investigación de Operaciones I
Problemas de Asignación
MSc. Ing. Julio Rito Vargas
II cuatrimestre 2012
Introducción
Los problemas de asignación incluyen
aplicaciones tales como asignar personas a
tareas. Aunque sus aplicaciones parecen
diferir de las del problema del transporte,
constituye un caso particular.
Los problemas de transporte y asignación
son casos particulares de un grupo más
grande de problemas, llamados problemas
de flujo en redes.
Introducción
El problema de asignación es un tipo
especial de problema de programación
lineal en el que los asignados son
recursos destinados a la realización de
tareas
Ej.
Empleados a trabajo
Máquinas a tareas
Períodos a tareas
Supocisiones de un problema de asignación
1. El número de asignados es igual al número de
2.
3.
4.
5.
tareas (se denota por n). (esto puede variar)
Cada asignado se asigna exactamente a una
tarea.
Cada tarea debe realizarla exactamente un
asignado.
Existe un costo cij asociado con el asignado i
(i=1,2,…,n).
El objetivo es determinar cómo deben hacerse
las asignaciones para minimizar los costos
totales.
Caso Fowle Marketing Research
Tiempos estimados de terminación del
proyecto (días)
Jefe
de
Cliente
Proyecto
1
2
3
1. Terry
10
15
9
2. Carla
9
18
5
3. Roberto
6
14
3
Problema de la Fowle
Representación en Red
Jefes de Proyecto
Nodos de Origen
Asignaciones
Posibles
Clientes
Nodos de Destino
Arcos
[1] J1
C1 [1]
[1] J2
18
C2 [1]
[1] J3
3
C3 [1]
Variables de decisión
1 si se asigna el jefe de proyecto i al cliente j
xij  
0 si no es así
Planteamiento matemático
Sea Z tiempo total de terminación
M in Z  10 x11  15 x12  9 x13  9 x21  18 x22  5 x23  6 x31  14 x32  3 x33
Sujeta a las restriccio nes
x11  x12  x13  1
x21  x22  x23  1
x31  x32  x33  1
 x21
x11
 x31
 x22
x12
x13
xij  0 (i  1,2,3; j  1,2,3,4)
 x23
 x32
1
1
 x33  1
Solución
Asignaciones
Jefe
de
Cliente
Proyecto
1
2
1. Terry
0
1
2. Carla
0
0
3. Roberto
1
0
1
1
=
=
1
1
3
0
1
0
1
=
1
1
1
1
=
=
=
Costo
26
1
1
1
Representación de red para el problema general
[1] S1
[1] S2
c21
c11
c12
c1n
c2n
c22
cm1 cm2
cmn
[1] Sm
D1 [1]
D2 [1]
Dm [1]
Planteamiento matemático modelo general
m
n
min Z   cij xij
i 1 j 1
sujeta a
n
x
j 1
ij
m
x
j 1
ij
 1 para i  1,2,..., m,
 1 para j  1,2,..., n,
xij  0, para i y j ( xij binarias, para toda i y j ).
Problema Natación
El entrenador de un equipo de natación debe asignar
competidores para la prueba de 200 metros de relevo
combinado que irán a las Olimpiadas Juveniles. Como
muchos de sus mejores nadadores son rápidos en más de
un estilo, no es fácil decidir qué nadador asignar a cada
uno de los cuatro estilos. Los cinco mejores nadadores y
sus mejores tiempos (en segundos) en cada estilo son los
siguientes.
Dorso
Pecho
Mariposa
Libre
Carlos
37.7
43.4
33.3
29.2
Tiempo de Nado
Cristy
David
Antony
32.9
33.8
37
33.1
42.2
34.7
28.5
38.9
30.4
26.4
29.6
28.5
José
35.4
41.8
33.6
31.1
Solución
Problema Natación (Solución)
Dorso
Pecho
Mariposa
Libre
Carlos
0
0
0
1
1
<=
1
Tiempo de Nado
Cristy
David Antony
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
<=
<=
<=
1
1
1
José
0
0
0
0
0
<=
1
1
1
1
1
=
1
=
1
=
1
=
1
126.2
TIEMPO Min.
Problema de Asignación
El gerente de la línea de producción de una empresa
electrónica debe asignar personal a cinco tareas.
Existen cinco
operadores
disponibles para
asignarlos. El gerente de línea tiene a su disposición
datos de prueba que reflejan una calificación
numérica de productividad para cada uno de los
cinco trabajos. Estos datos se obtuvieron a través de
un examen de operación y prueba administrado por
el departamento de ingeniería industrial (véase la
tabla P3-20). Suponiendo que un operador puede
ejecutar un solo trabajo, plantee un modelo que
conduzca a la asignación óptima de tareas.
TABLA P3-20
Número de
operador
Op1
Op2
Op3
Op4
Op5
Número de trabajo
1
2
3
4
5
12
6
10
2
7
16
8
6
4
10
24
20
26
2
6
8
14
18
24
6
2
6
12
20
18
1.Formular el modelo como uno de PL
2.Desarrollar el modelo Matemático
Método Húngaro
1) A todos los elementos de cada columna restar el menor
elemento de la columna. En la matriz resultante, restar a
todos los elementos de cada fila el menor elemento de la fila.
Así se garantiza la obtención de por lo menos un cero en cada
fila y columna.
2) 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 Nº de ceros), y
cancelar los demás ceros de esa fila y los ceros de la columna
en la que se encuentra ese cero. Repetir esta operación hasta
que no queden ceros sin asignar o cancelar.
Si no existe solución óptima ir al paso 3.
Método Húngaro
3) Realizar lo siguiente:
a) Marcar con un * todas la filas que no contengan
ceros asignados.
b) Marcar todas las columnas que contengan uno o
más ceros cancelados en alguna fila marcada.
c) Marcar toda fila que tenga un cero asignado en una
columna marcada.
d) Repetir b) y c) hasta que no sea posible marcar más
filas o columnas.
e) Poner un trazo (línea) sobre toda fila no marcada y
sobre toda columna marcada.
Método Húngaro
4) 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 2.
Ejemplo de Asignación usando el método
Húngaro.
Se desea asignar 4 máquinas a 4 lugares posibles. A
continuación se presentan los costos asociados.
Maquina\Lugar
1
2
3
4
1 2 3 4
3 5 3 3
5 14 10 10
12 6 19 17
2 17 10 12
Ejemplo (cont.)
Paso 1.
1
2
3
4
1
0
0
6
0
2 3 4
2 0 0
9 5 5
0 13 11
15 8 10
Paso 2.
1 2 3 4
1 0 2 0 0
2 0 9 5 5
3 6 0 13 11
4 0 15 8 10
No hay óptimo pues
hay 3 asignaciones
que es <4
Ejemplo (cont.)
Paso 3.
a)
1
2
3
* 4
1
0
0
6
0
1
* 2
3
* 4
*
1
0
0
6
0
c)
2 3 4
2 0 0
9 5 5
0 13 11
15 8 10
2 3 4
2 0 0
9 5 5
0 13 11
15 8 10
b)
1
2
3
* 4
*
1
0
0
6
0
2 3 4
2 0 0
9 5 5
0 13 11
15 8 10
d) No es posible marcar
más filas ni columnas
Ejemplo (cont.)
Paso 3.
e)
1
* 2
3
* 4
*
1
0
0
6
0
2 3 4
2 0 0
9 5 5
0 13 11
15 8 10
Paso 2.
1
2
3
4
1 2 3 4
5 2 0 0
0 4 0 0
11 0 13 11
0 10 3 5
Paso 4. El menor número es 5
1
2
3
4
1 2 3 4
5 2 0 0
0 4 0 0
11 0 13 11
0 10 3 5
Óptimo pues hay 4 asignaciones:
• Máq. 1 a lugar 3
• Máq. 2 a lugar 4
• Máq. 3 a lugar 2
• Máq. 4 a lugar 1
Costo total=21
Problema de Asignación
Se deben utilizar cuatro barcos cargueros para
transportar bienes de un puerto a otros cuatro
puertos (numerados 1,2,3, y 4). Se puede usar
cualquier barco para hacer cualquiera de los cuatro
viajes. Sin embargo, dadas algunas diferencias entre
los barcos y las cargas, el costo total de carga,
transporte y descarga de bienes de las distintas
combinaciones de barcos y puertos varía de manera
considerable. Estos costos se muestran en la tabla
siguiente.
Tabla de datos
Puerto
1
Barcos
2
3
4
1 $500
$400
$600
$700
2 $600
$600
$700
$500
3 $700
$500
$700
$600
4 $500
$400
$600
$600
El objetivo es asignar los barcos a los puerto en
una correspondencia uno a uno de manera que
se minimice el costo total de los cuatro envíos.
Formule el modelo como un PPL
Obtenga una solución óptima
Muestre la solución en gráfico de red
Obtenga la solución como un problema
de asignación.
Aplique en forma manual el algoritmo húngaro.
Al problema de costos (Asignación)
Tarea
Personas
1
2
3
4
A
4
6
5
5
B
7
4
5
6
C
4
7
6
4
D
5
3
4
7
Solución mediante el método
Húngaro

Problema:
El profesor Michell ha terminado 4 capítulos de su libro y esta
pensando en pedir ayuda para terminarlo. El ha elegido a 4 secretarias
que podrían tipearle cada uno de sus capítulos. El costo asociado
refleja la velocidad de la secretaria y la exactitud con la que realiza el
trabajo. Además los capítulo difieren en la cantidad de hojas y en la
complejidad. ¿Qué puede hacer el profesor si conoce la siguiente
tabla:
Capítulos
Secretaría
13
14
15
16
Juana
96
99
105 108
María
116
109
107
96
Jackeline
120
102
113 111
Edith
114
105
118 115

Restricciones del Método
* Todas las asignaciones son posibles
* Una asignación por persona y una persona por asignación

Matriz de Costos
Secretaría
Juana
María
Jackeline
Edith
Capítulos
13
14
96
99
116
109
120
102
114
105
15
16
105 108
107
96
113 111
118 115

Restar el Menor valor de cada fila
Secretaría
Juana
María
Jackeline
Edith

13
0
20
18
9
Capítulos
14
15
3
9
13
11
0
11
0
13
16
12
0
9
10
Restar el menor valor de cada columna en la matriz
anterior
Secretaría
Juana
María
Jackeline
Edith
13
0
20
18
9
Capítulos
14
15
3
0
13
2
0
2
0
4
16
12
0
9
10

Trazar el mínimo número de líneas que cubran los
ceros de la matriz obtenida en el punto anterior.
Secretaría
Juana
María
Jackeline
Edith

13
0
20
18
9
Capítulos
14
15
3
0
13
2
0
2
0
4
16
12
0
9
10
Si el número de líneas es igual al número de filas se
esta en la solución óptima, sino identificar el menor
valor no rayado restárselo a los demás números no
rayados y sumarlo en las intersecciones.
Pare este caso corresponde al valor 2
Secretaría
Juana
María
Jackeline
Edith

13
0
18
16
7
Capítulos
14
15
5
0
13
0
0
0
0
2
16
14
0
9
10
Las asignaciones corresponde a los valores donde
existen 0
Juana
María
Jackeline
Edith
Cap. 13
Cap. 16
Cap. 15
Cap. 14
*Costo Asignación: 96 + 96 +113 +105 =410
Descargar