Вы находитесь на странице: 1из 7

MODELOS DE ASIGNACIÓN

Introducción al modelo de asignación.

Los problemas de asignación presentan una estructura similar a los de transporte, pero
con dos diferencias: asocian igual número de orígenes con igual número de demandas
y las ofertas en cada origen es de valor uno, como lo es la demanda en cada destino. El
problema de asignación debe su nombre a la aplicación particular de asignar hombres a
trabajos (o trabajos a máquinas), con la condición de que cada hombre puede ser
asignado a un trabajo y que cada trabajo tendrá asignada una persona.
La condición necesaria y suficiente para que este tipo de problemas tenga solución, es
que se encuentre balanceado, es decir, que los recursos totales sean iguales a las
demandas totales.
El modelo de asignación tiene sus principales aplicaciones en: Trabajadores, Oficinas al
personal, Vehículos a rutas, Máquinas, Vendedores a regiones, productos a fabricar,
etc.

¿Qué es el modelo de asignación?

El modelo 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 máquinas,
vehículos o plantas, o incluso periodos a los que se asignan tareas.

El objetivo del modelo es determinar la asignación óptima (de costo mínimo) de


trabajadores a puestos.

El modelo general de asignación con n trabajadores y n puestos se representa en la


tabla siguiente:

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 sólo una tarea.
3. Cada tarea debe realizarla sólo un asignado.
4. Existe un costo cij asociado con el asignado i (i 5 1, 2, . . . , n) que realiza la tarea
j ( j 1, 2, . . . , n).
5. El objetivo es determinar cómo deben hacerse las n asignaciones para minimizar
los costos totales.

Se puede resolver el modelo de asignación en forma directa como modelo normal de


transporte. Sin embargo, el hecho de que todas las ofertas y las demandas son iguales a
1, condujo al desarrollo de un algoritmo sencillo de solución llamado método húngaro.

ETAPAS DEL METODO, ALGORITMO HUNGARO

1. RESTE EL VALOR MÁS PEQUEÑO DE LA FILA EN CADA UNA DE LAS FILAS


2. RESTE EL VALOR MAS PEQUEÑO EN LA COLUMNA DE CADA UNA DE LAS
COLUMNAS.

3. TRAZAR SEGMENTOS: Este es el criterio de decisión de asignación, es decir


A) Sí el número de segmentos es = m, entonces podemos asignar, recuerda que m=n
asignaciones. Un Segmento es una línea vertical u Horizontal que se va a trazar a lo largo
de toda la fila o toda la columna, no se pueden trazar segmentos en forma diagonal.
B) Caso contrario ir al paso 4

4. ATENDER LOS SIGUIENTES INCISOS:

A) Seleccione la posición del dato menor de los no segmentados y restelo a los no


segmentados, (esto hará que se generen nuevos ceros)
B) Localizar los datos en donde se INTERSECTAN los segmentos, y sumar el dato menor
seleccionado.
C) El resto de los datos segmentados quedan EXACTAMENTE igual.

5. REPITA EL PASO 3

Casos especiales del modelo de asignación

Oferta y demanda desiguales.

Cuando la oferta y la demanda son desiguales, se asigna una actividad ficticia con un
costo de cero para mantener la condición de método que deben ser igual número de
ofertas y demandas

Problemas de maximización.

Considere un problema de asignación en el que la respuesta a cada asignación es una


utilidad en vez de un costo. Considere la matriz de utilidades del problema como la
característica nueva la cual consiste en que el número que aparece en cada celdilla
representa un beneficio en lugar de un costo.

Problemas con asignación inaceptable.


Supóngase que se está resolviendo un problema de asignación y que se sabe que ciertas
asignaciones son inaceptables. Para alcanzar esta meta, simplemente asigna un costo
arbitrariamente grande representado mediante la letra M . M es un número tan grande
que si se le resta un número finito cualquiera, queda todavía un valor mayor que los
demás.
Cuando la oferta y la demanda son desiguales, se asigna una actividad ficticia con un
costo de cero para mantener la condición de método que deben ser igual número de
ofertas y demandas

2. Problemas de maximización.

Considere un problema de asignación en el que la respuesta a cada asignación es una


utilidad en vez de un costo. Considere la matriz de utilidades del problema como la
característica nueva la cual consiste en que el número que aparece en cada celdilla
representa un beneficio en lugar de un costo.

3. Problemas con asignación inaceptable.

Supóngase que se está resolviendo un problema de asignación y que se sabe que ciertas
asignaciones son inaceptables. Para alcanzar esta meta, simplemente asigna un costo
arbitrariamente grande representado mediante la letra M . M es un número tan grande
que si se le resta un número finito cualquiera, queda todavía un valor mayor que los
demás.

Ejemplo de Asignación utilizando el Algoritmo Húngaro:

Existen cuatro operarios que se pueden asignar al trabajo con tres máquinas. Un estudio
de tiempos y movimientos ha arrojado los siguientes tiempos por operario para las tres
máquinas. Indicar que operario debe trabajar en que máquina y cuál de ellos no será
asignado a ninguna.

Si la matriz no está balanceada, balancearla incluyendo las filas o columnas ficticias


necesarias.
De cada elemento de la matriz restar el mínimo valor de cada fila. De cada fila el menor
valor es el 0 por lo tanto al restarle 0 queda la misma matriz.

De cada elemento de la matriz restar el mínimo valor de cada columna

Realizar la Asignación de la siguiente manera:


Cada cero que se encuentre en la matriz significa que se puede asignar esa fila a esa
columna, pero una vez hecha esta asignación, ya no se tendrá en cuenta todos los demás
ceros de esa misma fila y esa misma columna, debido a que sólo se puede asignar una
fila a una columna.
Buscar de arriba a abajo la fila que tenga menos ceros, pero que mínimo tenga uno.
(Pues si no tiene ninguno significa que esa fila no se puede asignar a ninguna columna)
y asignar esa fila a la columna donde esta el cero (puede ser el primer cero que
encuentre de izquierda a derecha). Tachar esa fila y esa columna para indicar que ya
fueron asignados, para que los demás ceros de esa fila y esa columna no se tengan en
cuenta. Repetir este paso hasta que haga todas las asignaciones que más pueda. Si todas
las filas quedaron asignadas a todas las columnas el problema ha finalizado y esa es la
solución óptima, sino será necesario utilizar el método de Flood (también se llama
condición de Köning) que se explica a continuación.

El tercer operario sólo tiene una posible asignación. Realizarla. Queda asignado el
Operario 3 a la máquina ficticia.
Ahora el Operario 4 sólo puede asignarse a la máquina 3.

El Operario 2 puede ser asignado a la máquina 1 o a la máquina 2, escojamos


indiferentemente la máquina 2.

El operario 1 no pudo ser asignado. Por lo tanto aún no se ha encontrado la asignación


óptima. Hay que aplicar el método del Flood.

Como se puede intuir, en una matriz como la anterior se puede realizar la asignación de
diferentes maneras. Cada forma diferente de asignar significa un desarrollo diferente
del ejercicio, pero al final, cualquier forma lleva siempre al óptimo.

Método de Flood.

Señalar todas las filas que no tienen una asignación. (Cuando digo señalar puede ser
una pequeña X a la izquierda de la fila o arriba de la columna)

Señalar todas las columnas que tengan un cero en la columna señalada.


Señalar todas las filas que tienen una asignación en las columnas indicadas.

Repetir estos pasos hasta que no pueda señalarse más columnas o filas.
(No hay más filas que no tengan asignación)
Dibujar una línea por cada fila NO señalada y por cada columna SI señalada.

Encontrar el mínimo valor de los elementos no cubiertos y restarlo a todos los


elementos no cubiertos, y sumar este valor a cada elemento que se encuentre en la
intersección de una línea horizontal con una línea vertical.

Realizar Asignación:

Asignar primero las filas que sólo tienen una alternativa: Operario 4 con la Máquina 3.
La fila 2 y la 3 tienen dos opciones y la fila 1 tiene 3 opciones. Asignemos el Operario 3
con la Máquina 1, la fila 2 con la máquina 2 y la fila 1 con la máquina ficticia. Todas las
filas han sido asignadas, así que se ha encontrado el óptimo.

Nota: Si se explora un poco todas las posibles asignaciones, se dará uno cuenta que
existen más soluciones que llevan una asignación total, eso significa que hay varias
soluciones óptimas, además, dependiendo de la forma en que se haga la asignación,
puede que no queden todas las filas asignadas, eso significaría una iteración más...

Solución:

Вам также может понравиться