Você está na página 1de 7

UNIVERSIDAD DEL ATLANTICO

INVESTIGACION DE OPERACIONES (PROBLEMA DE ASIGNACION)


INGENIERIA AGROINDUSTRIAL
Hun juany, Muñoz Yuli, Nova Laura, Verbel Joel

EL PROBLEMA DE ASIGNACIÓN
El problema de asignación es un tipo especial de problema de programación lineal en el
que los asignados son recursos que se destinan a la realización de tareas. Por ejemplo,
los asignados pueden ser empleados a quienes se tiene que dar trabajo. La asignación de
personas a trabajos es una aplicación común del problema de asignación. Sin embargo,
los asignados no tienen que ser personas. También pueden ser maquinas, vehículos o
plantas, o incluso periodos a los que se asignan tareas. El primero de los siguientes
ejemplos se refiere a máquinas asignadas a lugares, de manera que la tarea en este caso
se trata solo de tener una máquina. Un ejemplo posterior se refiere a plantas a las que se
asignan producto que deben fabricar

Para que se ajuste a la definición de un problema de asignación, es necesario que este


tipo de aplicaciones se formule de manera tal que se cumplan los siguientes supuestos.

1) El número de asignados es igual al número de tareas. (este número se denota por N).
2) A cada asignado se le asigna solo una tarea.
3) Cada tarea debe realizarla solo un asignado.

Los primeros tres supuestos son bastante restrictivos. Muchas aplicaciones potenciales
no las satisfacen por completo. Con frecuencia es posible reformular el problema para
hacerlo que se ajuste. Por ejemplo, muchas veces se pueden usar asignados ficticios o
tareas ficticias con este fin.

4) Existe un costo 𝐶𝑖𝑗 asociado con el asignado 𝑖(𝑖 = 1,2 … . 𝑛) que realiza la tarea 𝑗(𝑗 =
1,1 … . 𝑛).
5) El objetivo es determinar cómo debe hacerse la 𝑛 asignaciones para minimizar los
costos totales.

Cualquier problema que satisface todos estos supuestos se puede resolver en forma muy
eficiente mediante los algoritmos diseñados de manera especial para los problemas de
asignación.
ETAPAS PARA OBTENER LA SOLUCIÓN ÓPTIMA AL PROBLEMA DE
ASIGACIÓN

 Primer paso

Determinar el coste más pequeño en cada una de las filas de la matriz de costes.
Localizado este elemento se resta de cada elemento de la fila. Inicialmente se supone que
los costos son todos positivos.
Algunos elementos de la matriz de costes pueden ser inicialmente negativos. Esta
condición se puede presentar si se ha de maximizar la función objetivo, pues este
requiere cambiar de signo a todos los elementos de la matriz de coste. En este caso, se
convierte la matriz en una con elementos no negativos por la simple maniobra de restar el
más pequeño (más negativo) elemento de coste de todos los elementos de coste. Esto
originará (uno o más) elemento cero y hará positivos los restantes.
Después de restar el coste más pequeño se debe dibujar el mínimo conjunto de líneas
pasando por los ceros obtenidos. Si menos de “𝑛” líneas cubren todos los ceros, todavía
no se ha localizado la solución óptima.
 Segundo paso

Si no se ha obtenido la solución óptima en el paso anterior, repetir los mismos procesos


con las columnas. Algunas de éstas ya tendrán ceros y no requerirán cálculos. Otras no
tendrán inicialmente ningún cero y el paso producirá al menos uno en cada una de ellas.
Se dibuja ahora otra vez el mínimo conjunto de líneas es menor que “𝑛”, debe recurrirse
al tercer paso.

 Tercer paso

A partir de la matriz del segundo paso, encontrar el elemento mínimo de todos los
elementos no cubiertos por líneas, restar este elemento de todos los no cubiertos (incluido
el mismo) y añadirlo a elementos cubiertos que se encuentran en la intersección de dos
líneas (si existen tales intersecciones). Dibujar nuevamente el mínimo conjunto de líneas
que pasan por todos los ceros de la matriz. Si este número es igual a 𝑛, el proceso ha
terminado. De nuevo, si el mínimo número de líneas iguala a 𝑛 se ha terminado; si no, se
debe continuar.

 Cuarto paso

Repetir el tercero hasta que el conjunto mínimo de líneas iguale a 𝑛.

 Quinto paso

Si el mínimo número de líneas que cubren todos los ceros es 𝑛, ha aparecido la solución
óptima. Para determinarla se procede al marcado de ceros. Marcar los ceros que son
únicos en una línea determinada, eliminar las filas y columnas que contienen el cero y
continuar hasta que todos los ceros independientes estén marcados.
Ejemplo de problema de aplicación #1.
La compañía de manufactura "Jiménez y Asociados" 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 un 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 varía para cada
máquina en particular, debe de asignarse el equipo correcto a la máquina indicada con el
objetivo de minimizar el costo total de la jornada. Los costos (en Euros) asociados se
pueden observar en la siguiente tabla.

𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑


𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 10 9 5
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 9 8 3
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 6 4 7

PASO 1: Encontramos el menor elemento de cada fila (para el caso, los sombreados en
marrón).

𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑


𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 10 9 5
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 9 8 3
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 6 4 7

PASO 2: Construimos una nueva matriz de diferencias entre los valores de la matriz
original y el elemento menor de cada fila. Para la fila 1 las operaciones fueron:
10-5= 5, 9-5=4 y 5-500, respectivamente para las máquinas 1, 2 y 3.
Se realizaron cálculos similares para cada fila, pero el elemento menor es diferente.

𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑


𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 5 4 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 6 5 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 2 0 3

PASO 3: En la matriz construida en el paso anterior se procede a efectuar el paso 1, pero


respecto a las columnas. Es decir, se toma el elemento de menor valor en cada columna y
se construye una nueva matriz de diferencias. Entonces se repiten los pasos 1 y 2.
𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 5 4 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 6 5 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 2 0 3

De allí que, la matriz de costos reducidos quede:

𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑


𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 3 4 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 4 5 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 0 0 3

PASO 4: En este paso trazaremos la menor cantidad de combinaciones de líneas


horizontales y verticales con el objetivo de cubrir todos los ceros de la matriz de costos
reducidos.

𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑


𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 3 4 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 4 5 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 0 0 3

Como se puede observar el menor número de líneas horizontales y/o verticales


necesarios para cubrir los ceros de la matriz de costos reducidos es igual a 2, por ende, al
ser menor que el número de filas o columnas es necesario recurrir al paso 5.
PASO 5: En este paso seleccionamos el menor elemento de los elementos no
subrayados.
𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 3 4 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 4 5 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 0 0 3

Luego se procede a restarse de los elementos no subrayados y a adicionarse a los


elementos ubicados en las intersecciones de las líneas.

𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑


𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 0 1 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 1 2 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 0 0 6
Ahora trazaremos la menor combinación de líneas horizontales y verticales,

paso 4.

𝑴á𝒒𝒖𝒊𝒏𝒂 𝟏 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟐 𝑴á𝒒𝒖𝒊𝒏𝒂 𝟑


𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟏 0 1 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟐 1 2 0
𝑬𝒒𝒖𝒊𝒑𝒐 𝒅𝒆 𝑴𝒂𝒏𝒕𝒆𝒏𝒊𝒎𝒊𝒆𝒏𝒕𝒐 𝟑 0 0 6

Se observa que al llegar a la solución se trazan el mismo número de líneas que de filas o
columnas, entonces, se puede ahora determinar las asignaciones óptimas.

La asignación que representa el menor costo para la jornada de mantenimiento preventivo


determina que el Equipo 1 realice el mantenimiento de la Máquina 1, el Equipo 2 realice el
mantenimiento de la Máquina 3 y el Equipo 3 realice el mantenimiento de la Máquina 2,
jornada que tendrá un costo total de 17 unidades monetarias.

Ejemplo de problema de aplicación #2.

JoShop debe asignar 4 tareas a 4 trabajadores. El costo de realizar un trabajo es función


de los conocimientos de los trabajadores. La siguiente tabla resume el costo de las
asignaciones. El trabajador 1 no puede hacer el trabajo 3, y el trabajador 3 no puede
hacer el trabajo 4. Determine la asignación óptima con el método húngaro.

Trabajo 1 Trabajo2 Trabajo3 Trabajo4


Trabajador 1 Q50 Q50 - Q20
Trabajador 2 Q70 Q40 Q20 Q30
Trabajador 3 Q90 Q30 Q50 -
Trabajador 4 Q70 Q20 Q60 Q70
Solución

PASO 1: En la matriz original de costo, identificar el mínimo de cada renglón y restarlo


de todos los elementos del renglón.

Trabaj Trabajo2 Trabajo3 Trabajo4


o1
Trabajador 1 Q50 Q50 - Q20 mínimo Q20
Trabajador 2 Q70 Q40 Q20 Q30 Mínimo Q20
Trabajador 3 Q90 Q30 Q50 - Mínimo Q30
Trabajador 4 Q70 Q20 Q60 Q70 mínimo Q20
PASO 2: En la matriz que resulte del paso 1, identificar el mínimo de
cada columna, y restarlo de todos los elementos de la columna.

Trabajo 1 Trabajo2 Trabajo3 Trabajo4


Trabajador 1 Q30 Q30 - Q0
Trabajador 2 Q50 Q20 Q0 Q10
Trabajador 3 Q60 Q0 Q20 -
Trabajador 4 Q50 Q0 Q40 Q50
Mínimo Mínimo Mínimo Mínimo
Q30 Q0 Q0 Q0

PASO 2.1: Si no se puede asegurar una asignación factible (con todos los elementos
cero) con los pasos 1 y 2

A). Trazar la cantidad mínima de líneas horizontales y verticales en la última matriz


reducida que cubran todos los elementos cero.

Trabajo 1 Trabajo2 Trabajo3 Trabajo4


Trabajador 1 Q0 Q30 - Q0
Trabajador 2 Q20 Q20 Q0 Q10
Trabajador 3 Q30 Q0 Q20 -
Trabajador 4 Q20 Q0 Q40 Q50

B). Seleccionar el elemento mínimo no cubierto (color amarillo), restarlo de todo elemento
no cubierto y a continuación sumarlo a todo elemento en la intersección de dos líneas.

Trabajo 1 Trabajo2 Trabajo3 Trabajo4


Trabajador 1 Q0 Q40 _ Q0
Trabajador 2 Q10 Q20 Q0 Q0
Trabajador 3 Q20 Q0 Q20 -
Trabajador 4 Q10 Q0 Q40 Q40

C). Si no se puede encontrar una asignación factible entre los elementos cero que
resulten, repetir el paso 2.1. En caso contrario, seguir en el paso 3 para determinar la
asignación óptima.

Trabajo 1 Trabajo2 Trabajo3 Trabajo4


Trabajador 1 Q0 Q50 - Q10
Trabajador 2 Q0 Q20 Q0 Q0
Trabajador 3 Q10 Q0 Q20 -
Trabajador 4 Q0 Q0 Q40 Q40
Trabajo 1 Trabajo2 Trabajo3 Trabajo4
Trabajador 1 Q0 Q50 - Q0
Trabajador 2 Q10 Q30 Q0 Q0
Trabajador 3 Q10 Q0 Q10 -
Trabajador 4 Q0 Q0 Q30 Q30

PASO 3: Identificar la solución óptima como la asignación factible asociada con los
elementos cero de la matriz obtenida en el paso 2.

Las celdas con valor cero y color verde son la solución óptima. En consecuencia el
trabajador 1 realizará el trabajo 4, el trabajador 2 asuma el trabajo 3, el trabajador 3
realizará el trabajo 2 y el trabajador 4 el trabajo 1. Cada trabajador realizará exactamente
un trabajo y el costo total de dicha asignación (valor óptimo) es de

Q20+Q20+Q30+70=Q140.

Bibliografía
[1] TAHA, Hamdy, A. Investigación de operaciones. Cuarta edición. México: PEARSON
EDUCATION, 2012 p. 108 -110.

[2] HILLER, Frederick & LLEBERMAN Gerald J. Introducción a la investigación de


operaciones. Novena edición. México. Mc GrawHill, 2010, 200p

[3] Manual de Investigación de Operaciones I, Angel Leon Gonzales Ariza, ediciones


uninorte pagina 203-209

Você também pode gostar