Este documento analiza la aplicación de redes Hopfield al problema de asignación. Describe el problema de asignación y cómo involucra asignar recursos humanos a proyectos de manera que cada recurso se asigne a un solo proyecto y cada proyecto tenga un solo recurso asignado. Explica cómo funcionan las redes Hopfield y modela matemáticamente el problema de asignación usando estas redes. Sin embargo, encuentra una diferencia en cómo las redes Hopfield y el modelo del problema definen una función de similitud clave, lo que impide resolver el
Perspectiva docente del diseño de contenidos y evaluación para cursos a dista...
Aplicación de las Redes Hopfield al Problema de Asignación
1. Sistemas Neuronales y Neurodifusos:
Aplicación de las Redes Hopfield al Problema de
Asignación
Priscill S. Orue Esquivel
24 de mayo de 2012
El Problema de Asignación es uno de los problemas fundamentales de op-
timización combinatoria. Para este trabajo, la oración que mejor describe este
problema es: «Una persona para un proyecto, que tome el menor tiempo de eje-
cución». Es decir, la cantidad de recursos asignados y por asignar son iguales,
por lo que se forma una matriz en el que se incluyen los tiempos de vínculo entre
las partes.
Este trabajo es un análisis de la aplicación de Redes Hopfield a Problemas de
Asignación. Como toda búsqueda de solución, antes de efectuar una implemen-
tación, es requisito modelar el problema. Debido a ausencia de información en la
literatura del área, el interés de este modelado es determinar si las Redes Hop-
field son aplicables a los Problemas de Asignación. Primeramente, se detallan
aspectos sobre el problema planteado. A continuación, se explica la naturaleza
y el funcionamiento de las Redes Hopfield. Luego, se efectúa el modelado del
problema y de acuerdo a los hallazgos, se presentan los recomendaciones a seguir
para la implementación.
Planteamiento del problema a solucionar
El problema que se busca solucionar es el Problema de Asignación. De acuer-
do a Lagarda [3], los problemas de asignación asocian igual número de demandas
y las ofertas en cada origen es de valor uno, «como lo es la demanda en cada
destino». El nombre de este problema se debe a la aplicación particular de asig-
nar recursos humanos a trabajos (o trabajos a máquinas, por ejemplo), con la
condición de que cada hombre puede ser asignado a un trabajo y cada trabajo
es asignado a una sola persona. La condición necesaria y suficiente para la solu-
ción de este tipo de problemas es que se encuentre balanceado, que los «recursos
totales sean iguales a las demandas totales».
Por lo tanto, las restricciones del problema[2] son:
número de personas a asignar m es igual al número de proyectos m.
todas las asignaciones son posibles
1
2. una asignación por persona y una persona por asignación
Descripción del algoritmo Hopfield
La Red de Hopfield es una red recurrente; en otras palabras, existe realimen-
tación entre las neuronas. De esta forma, al introducir un patrón de entrada, la
información se propaga hacia adelante y hacia atrás, produciéndose una diná-
mica. En algún momento, la evolución se detendrá en algún estado estable. En
otros casos, es posible que la red no se detenga nunca.
La Red de Hopfield está formada por n neuronas, cada una conectada a todas
las demás salvo a ella misma[1]. La matriz de pesos de la red de Hopfield es una
matriz W = ωij de orden nXn, donde ωij representa el peso de la conexión de
la neurona i a la neurona j. Dicha matriz posee las siguientes particularidades:
Es una matriz simétrica, es decir, ωij = ωij ∀i, j = 1, 2, ..., n. Esto implica
que el peso de la conexión entre dos neuronas tiene el mismo valor en
ambos sentidos.
Los elementos de la diagonal de la matriz son iguales a cero, es decir,
ωii = 0∀i = 1, 2, ..., n, puesto que no existen conexiones de una neurona a
ella misma.
Modelado del problema
Esta sección describe el proceso analítico empleado para el modelado del
Problema de Asignación aplicando Redes Hopfield Multivaluada. Primeramente,
se describe un ejemplo práctico, a fin de comprender el contexto del problema.
A continuación se definen las restricciones del problema con el desarrollo del
modelado. Finalmente, se describe la principales debilidad del modelado, a fin
de considerarla para casos futuros.
0.1. Ejemplo práctico
Se tiene un conjunto de empleados m y otro conjunto de proyectos p, am-
bos de igual número. Cada proyecto tiene una tiempo de ejecución llevado a
cabo por cada empleado. El objetivo es asignar un proyecto a un empleado.
La siguiente matriz 1 contiene los datos de cuatro proyectos y sus tiempos de
ejecución correspondientes por cada empleado, delimitados por valores 5 − 50,
como ejemplo.
0.2. Proceso de modelado
La expresión matemática que indica si se asigna al empleado i el proyecto k
es 1:
Si = k (1)
2
3. 10 31 22 42
33 34 45 20
36 27 28 42
06 47 38 12
Cuadro 1: Datos de los tiempos de ejecución de proyectos por cada empleado
Para llevar a cabo la asignación, se considera el menor tiempo de ejecución,
que se representa por el coste de tiempo que a un empleado le toma ejecutar
el proyecto (Cik ). De esta manera, una restricción del problema consiste en
minimizar la función de energia, tal como lo indica 2.
n n
E = M IN [ g(Si , k)Cik ] (2)
i=1 k=1
Otra principal característica del Problema de Asignación es que no se pueden
asignar dos proyectos a un mismo empleado o que un proyecto tenga más de
un empleado. Esto se demuestra con la siguiente función de similitud entre los
estados Si y Sj 3:
n n
g(Si , Sj ) = 0 (3)
i=1 k=1
Para esto evitar las repeticiones, se aplica un valor λ a la función de energía
descripta, tal como se demuestra en 4:
n n
E=λ g(Si , k)Cik (4)
i=1 k=1
Combinando 2 y 4 se tiene:
n n n n
E = M IN [ g(Si , k)Cik ] + λ g(Si , k)Cik (5)
i=1 k=1 i=1 k=1
Sin embargo, al verificar la función de energía para una neurona desde el
punto de vista de una Red Hopfield Multivaluada, se tiene lo siguiente 6:
n n
E = M IN [ ωij g(Si , Sj ) (6)
i=1 k=1
En este caso, para completar el modelado es necesario adecuar la ecuación
del problema 5 para expresarla en forma similar a como es la ecuación de la Red
Hopfield 6. El problema reside en la función de similitud g que entre 5 y 6 tiene
una marcada diferencia como se observa en 7 y 8. La función g difiere en ambas
ecuaciones en los parámetros que toma para su funcionamiento.
g(Si , k) (7)
g(Si , Sj ) (8)
3
4. 0.3. Alternativas propuestas
Considerando la diferencia existente entre la ecuación del modelado del pro-
blema 5 y la ecuación Hopfield 6, se han planteado algunas alternativas a consi-
derar para la resolución del problema; sin embargo, cada una de ellas presenta
una desventaja:
Propuesta A: La función g difiere en ambas ecuaciones debido a que trata
variables de distinta naturaleza: empleados y proyectos. Una alternativa
podría ser efectuar un producto cartesiano de la matriz por sí misma y
obtener una matriz resultante de n2 Xn2 . Sin embargo, el problema radi-
ca en la semántica de la matriz resultante. Si se tienen filas y columnas
del tipo empleadoProyecto, ¿qué información contendrán las celdas que lo
vinculan?.
Propuesta B: Realizar permutaciones a nivel de la red. Se intercambian
los valores de los pesos sinápticos de las neuronas a nivel global, en lugar
del intercambio a nivel local de las neuronas interconectadas a la neurona
bajo estudio. No obstante, se presentan dos desventajas: (a.) no se ga-
rantiza la unicidad de la asignación empleado-proyecto; y (b.) no se aplica
directamente el concepto de las Redes Hopfield. En la Figura 1 se presenta
un ejemplo de implementación con MatLab.
Conclusiones
Resumiendo, para resolver de manera óptima el Problema de la Asignación
aplicando Redes Hopfield es necesario mantener dos características propias del
problema:
1. Minimización: se debe buscar el menor tiempo de ejecución de un proyecto
por parte de un empleado.
2. Unicidad: no se pueden asignar dos proyectos a un empleado o que dos
empleados estén asignados a un proyecto.
Al efectuar el modelado del problema y construir la ecuación de la Red Hopfield,
se encontró una diferencia en los parámetros de la función de similitud g. Se
han planteado alternativas, pero ninguna de ellas cumple con las restricciones
necesarias del problema o incluso del concepto Hopfield mismo. Por lo que se
conluye que con la actual Red de Hopfield Multivaluada no se encontró una
solución a la aplicación del Problema de la Asignación.
Referencias
[1] Facultad de Informática de A Coruña. Red de hopfield y crecimien-
to de redes. http://quegrande.org/apuntes/EI/2/SC/teoria/red_de_
hopfield_y_crecimiento_de_redes.pdf, Junio 2009.
4