Está en la página 1de 5

MODELO DE ASIGNACIÓN

El modelo de asignación clásico se ocupa de compaginar a los trabajadores (con


diversas habilidades) con los trabajos. Presumiblemente, la variación de la habilidad
afecta el costo de completar un trabajo. La meta es determinar la asignación de costo
mínimo de los trabajadores a los trabajos. El modelo de asignación general con n
trabajadores y n trabajos está representado en la tabla 5.31. El elemento cij representa
el costo de asignar el trabajador i al trabajo j (i,j 5 1,2,…,n).No se pierde la generalidad
al suponer que la cantidad de trabajadores y la de los trabajos son iguales, porque
siempre podemos agregar trabajadores o trabajos ficticios para satisfacer esta
suposición.
El modelo de asignación es un caso especial del modelo de transporte, donde los
trabajadores representan los orígenes y los trabajos representan los destinos. La oferta
(demanda) en cada origen (destino) es igual a 1. El costo de “transportar” al trabajador
i al trabajo j es cij. De hecho, el modelo de asignación puede resolverse de forma directa
como un modelo de transporte (o como una PL regular). Sin embargo, el hecho de que
la oferta y la demanda sean iguales a 1 conduce al desarrollo de un algoritmo de solución
simple llamado método húngaro. Aunque el nuevo método de solución parece
totalmente ajeno al modelo de transporte, en realidad el algoritmo tiene su origen en el
método simplex, al igual que el modelo de transporte.

Método húngaro
El método húngaro es un método de optimización de problemas de asignación, conocido
como tal gracias a que los primeros aportes al método clásico definitivo fueron de Dénes
König y Jenő Egerváry dos matemáticos húngaros. El algoritmo tal como se detallará a
continuación está diseñado para la resolución de problemas
de minimización únicamente, será entonces cuestión de agregar un paso adicional para
abordar ejercicios de maximización.

Pasos

 Algoritmo Húngaro, Paso 1

El método húngaro trabaja en una matriz de costos n*m (en este caso conocida como
matriz m*m, dado que el número de filas es igual al número de columnas n = m), una
vez construida esta se debe encontrar el elemento más pequeño en cada fila de la
matriz.

 Algoritmo Húngaro, Paso 2

Una vez se cumple el procedimiento anterior se debe construir una nueva matriz n*m,
en la cual se consignarán los valores resultantes de la diferencia entre cada costo y el
valor mínimo de la fila a la cual cada costo corresponde (valor mínimo hallado en el
primer paso).

 Algoritmo Húngaro, Paso 3

Este paso consiste en realizar el mismo procedimiento de los dos pasos anteriores
referidos ahora a las columnas, es decir, se halla el valor mínimo de cada columna, con
la diferencia que este se halla de la matriz resultante en el segundo paso, luego se
construirá una nueva matriz en la cual se consignarán los valores resultantes de la
diferencia entre cada costo y el valor mínimo de la columna a la cual cada costo
corresponde, matriz llamada "Matriz de Costos Reducidos".

 Algoritmo Húngaro, Paso 4

A continuación, se deben de trazar líneas horizontales o verticales o ambas (únicamente


de esos tipos) con el objetivo de cubrir todos los ceros de la matriz de costos reducidos
con el menor número de líneas posibles, si el número de líneas es igual al número de
filas o columnas se ha logrado obtener la solución óptima (la mejor asignación según el
contexto de optimización), si el número de líneas es inferior al número de filas o
columnas se debe de proceder con el paso 5.

 Algoritmo Húngaro, Paso 5

Este paso consiste en encontrar el menor elemento de aquellos valores que no se


encuentran cubiertos por las líneas del paso 4, ahora se restará del restante de
elementos que no se encuentran cubiertos por las líneas; a continuación, este mismo
valor se sumará a los valores que se encuentren en las intersecciones de las líneas
horizontales y verticales, una vez finalizado este paso se debe volver al paso 4.

Utilizaremos dos ejemplos para presentar la mecánica del nuevo algoritmo. La siguiente
sección proporciona una explicación del procedimiento basada en simplex.

Ejemplo 1
Los tres hijos de Joe Klyne, John, Karen y Terri, desean ganar algún dinero para sus
gastos personales. El señor Klyne eligió tres tareas para sus hijos: podar el césped,
pintar la puerta de la cochera y lavar los automóviles de la familia. Para evitar la
competencia anticipada entre los hermanos, les pide que presenten licitaciones
individuales (secretas) por lo que consideren un pago.

Como con el método de transporte, el método húngaro clásico (diseñado principalmente


para cálculos manuales) es algo del pasado, y se presenta aquí por razones históricas.
En la actualidad no se requiere ese tipo de cálculos, ya que el problema puede
resolverse mediante códigos de computadora de PL altamente eficientes. Tal vez el
beneficio de estudiar estas técnicas clásicas es que están basadas en una teoría
compleja que reduce los pasos de solución a reglas simples adecuadas para cálculos
manuales.
Resolución

 Paso 1. Determine pi, el elemento de costo mínimo en la fila i de la matriz de costos


original, y réstelo de todos los elementos de la fila i, i 5 1,2,3.

 Paso 2. Para la matriz creada en el paso 1, determine q j, el elemento de costo


mínimo de la columna j, y réstelo de todos los elementos de la columna j, j 5 1,2,3.

 Paso 3. A partir de la matriz del paso 2, intente determinar una asignación factible
entre todas las entradas cero resultantes. 3a. Si puede hallarse esa asignación, es
óptima. 3b. De lo contrario, se requieren más cálculos (como se explicará en el
ejemplo 5.4-2).

La tabla 5.33 demuestra la aplicación de los dos pasos al problema actual. Las celdas
con entradas cero subrayadas en el paso 3 dan la solución óptima (factible): John
obtiene el trabajo de pintar, Karen el de podar el césped, y Terri obtiene el de lavar los
automóviles de la familia. El costo total para el señor Klyne es 9 1 8 1 8 5 $27.Esta
cantidad siempre será igual (p1 1 p2 1 p3) 1 (q1 1 q2 1 q3) 5 (9 1 9 1 8) 1 (0 1 1 1 0) 5
$27. (Una justificación de este resultado se da en la siguiente sección.)

Como se indica en el paso 3 del método húngaro, los ceros creados por los pasos 1 y 2
pueden no dar una solución factible de forma directa. En este caso, se necesitan más
pasos para determinar la asignación óptima (factible). El siguiente ejemplo demuestra
esta situación.
Ejemplo 2
Al problema anterior se agrega un niño, por lo que se amplía a cuatro niños y cuatro
tareas. La tabla 5.34 resume los elementos de costo del problema.

Resolución

La aplicación de los pasos 1 y 2 a la matriz de la tabla 5.34 (con p1 5 1, p2 5 7, p3 5 4,


p4 5 5, q1 5 0, q2 5 0, q3 5 3 y q4 5 0) da por resultado la matriz reducida de la tabla
5.35.
Las ubicaciones de las entradas cero no permiten asignar tareas únicas a todos los
niños. Por ejemplo, si asignamos al niño 1 la tarea 1, entonces se eliminará la columna
1, y el niño tres no tendrá una entrada cero en las tres columnas restantes. Este
obstáculo puede superarse agregando el siguiente paso al procedimiento dado en el
ejemplo 5.4-1.

3b. Si no pueden encontrarse asignaciones de elemento cero factibles


(i) Trace el mínimo de líneas horizontales y verticales en la última matriz
reducida para cubrir todas las entradas cero.
(ii) Seleccione la entrada mínima no cubierta y réstela de cada entrada no
cubierta, y luego súmela a cada entrada en la intersección de dos líneas.
(iii) Si no puede determinar una asignación factible entre las entradas cero
resultantes, repita el paso 3a.
La aplicación del paso 3b a la última matriz produce las celdas sombreadas en la tabla
5.36. La entrada mínima no sombreada (que se muestra subrayada) es igual a 1. Esta
entrada se suma a la celda de intersección y se resta de las celdas sombreadas
restantes para producir la matriz de la tabla 5.37, y la solución óptima indicada por los
ceros subrayados.

Fuente: Investigación de operaciones Novena edición Hamdy A. Taha


Ejemplo 3
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
asociados se pueden observar en la siguiente tabla:

Resolución

Matriz de costos reducidos

Por ende, 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.