Investigación de Operaciones I Problemas de Asignación · PDF...
Transcript of Investigación de Operaciones I Problemas de Asignación · PDF...
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 tareas (se denota por n). (esto puede variar)
2. Cada asignado se asigna exactamente a una tarea.
3. Cada tarea debe realizarla exactamente un asignado.
4. Existe un costo cij asociado con el asignado i (i=1,2,…,n).
5. El objetivo es determinar cómo deben hacerse las asignaciones para minimizar los costos totales.
Caso Fowle Marketing Research
1 2 3
1. Terry 10 15 9
2. Carla 9 18 5
3. Roberto 6 14 3
Jefe de
Proyecto
Cliente
Tiempos estimados de terminación del
proyecto (días)
Problema de la Fowle Representación en Red
J1 [1]
J2 [1]
J3 [1]
C1 [1]
[1]
[1]
C2
C3
18
3
Jefes de Proyecto
Nodos de Origen
Clientes
Nodos de Destino Asignaciones Posibles
Arcos
Planteamiento matemático Sea Z tiempo total de terminación
)4,3,2,1;3,2,1(0
1
1
1
1
1
1
nesrestriccio las a Sujeta
3146518991510Min
332313
322212
312111
333231
232221
131211
333231232221131211
jix
xxx
xxx
xxx
xxx
xxx
xxx
xxxxxxxxxZ
ij
Solución
1 2 3
1. Terry 0 1 0 1 = 1
2. Carla 0 0 1 1 = 1
3. Roberto 1 0 0 1 = 1
1 1 1
= = = Costo 26
1 1 1
Asignaciones
Jefe de
Proyecto
Cliente
Representación de red para el problema general
S1 [1]
S2 [1]
Sm [1]
D1 [1]
D2 [1]
Dm [1]
c11 c12
c1n c21
c22
c2n
cm1 cm2
cmn
Planteamiento matemático modelo general
).y todapara binarias, (y para,0
,,...,2,1 para1
,,...,2,1 para1
a sujeta
min
1
1
1 1
jixjix
njx
mix
xcZ
ijij
m
j
ij
n
j
ij
ij
m
i
n
j
ij
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.
Problema Natación
Carlos Cristy David Antony José
Dorso 37.7 32.9 33.8 37 35.4
Pecho 43.4 33.1 42.2 34.7 41.8
Mariposa 33.3 28.5 38.9 30.4 33.6
Libre 29.2 26.4 29.6 28.5 31.1
Tiempo de Nado
Problema Natación (Solución)
Carlos Cristy David Antony José
Dorso 0 0 1 0 0 1 = 1
Pecho 0 0 0 1 0 1 = 1
Mariposa 0 1 0 0 0 1 = 1
Libre 1 0 0 0 0 1 = 1
1 1 1 1 0
<= <= <= <= <=
1 1 1 1 1
TIEMPO Min.
Tiempo de Nado
126.2
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
Número de trabajo
1 2 3 4 5
Op1
Op2
Op3
Op4
Op5
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 3 5 3 3
2 5 14 10 10
3 12 6 19 17
4 2 17 10 12
Ejemplo (cont.)
Paso 1.
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
Paso 2.
No hay óptimo pues hay 3 asignaciones que es <4
Ejemplo (cont.)
Paso 3. a)
*
* *
b)
0 0 2 0 1
15
0
9
2
8
13
5
3
10
11
5
4
0 4
6 3
0 2
1
0 0 2 0 1
15
0
9
2
8
13
5
3
10
11
5
4
0 4
6 3
0 2
1
*
*
c)
0 0 2 0 1
15
0
9
2
8
13
5
3
10
11
5
4
0 4
6 3
0 2
1
*
d) No es posible marcar más filas ni columnas
0 0 2 5 1
10
0
4
2
3
13
0
3
5
11
0
4
0 4
11 3
0 2
1
Ejemplo (cont.)
Paso 3. e)
*
0 0 2 0 1
15
0
9
2
8
13
5
3
10
11
5
4
0 4
6 3
0 2
1 0 0 2 5 1
10
0
4
2
3
13
0
3
5
11
0
4
0 4
11 3
0 2
1 *
*
Paso 4. El menor número es 5
Paso 2. Ó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 2 3 4
Barcos
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
A 4 6 5
B 7 4 5
C 4 7 6
D 5 3 4
4
5
6
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 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
Restar el Menor valor de cada fila Capítulos
Secretaría 13 14 15 16
Juana 0 3 9 12
María 20 13 11 0
Jackeline 18 0 11 9
Edith 9 0 13 10
Restar el menor valor de cada columna en la matriz anterior
Capítulos
Secretaría 13 14 15 16
Juana 0 3 0 12
María 20 13 2 0
Jackeline 18 0 2 9
Edith 9 0 4 10
Trazar el mínimo número de líneas que cubran los ceros de la matriz obtenida en el punto anterior.
Capítulos
Secretaría 13 14 15 16
Juana 0 3 0 12
María 20 13 2 0
Jackeline 18 0 2 9
Edith 9 0 4 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