SlideShare una empresa de Scribd logo
1 de 6
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
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
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
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
Figura 1: Implementación de la Permutación en MatLab




                         5
[2] Eduardo Bustos Farías. Modelos de transporte: Problemas de asignación y de
    transbordo. http://www.angelfire.com/ak6/invo_escom2/clase12.pdf,
    2005. Sitio Web; acc. 22-May-2012.
[3] Ernesto Alonso Lagarda Leyva. Modelos de asignación. http://antiguo.
    itson.mx/dii/elagarda/apagina2001/PM/asignacion.html, 2011. Sitio
    Web; acc. 22-May-2012.




                                      6

Más contenido relacionado

Similar a Aplicación de las Redes Hopfield al Problema de Asignación

Determinaciondeldiametro
DeterminaciondeldiametroDeterminaciondeldiametro
Determinaciondeldiametro
coplex_1
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
FcoKraken
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
FcoKraken
 

Similar a Aplicación de las Redes Hopfield al Problema de Asignación (20)

Ior
IorIor
Ior
 
Determinaciondeldiametro
DeterminaciondeldiametroDeterminaciondeldiametro
Determinaciondeldiametro
 
Electrónica digital: Funciones canónicas y mapa de Karnaugh
Electrónica digital: Funciones canónicas y mapa de KarnaughElectrónica digital: Funciones canónicas y mapa de Karnaugh
Electrónica digital: Funciones canónicas y mapa de Karnaugh
 
Exercise 3 1 mathematical functions
Exercise 3   1 mathematical functionsExercise 3   1 mathematical functions
Exercise 3 1 mathematical functions
 
Funciones satlin y satlins
Funciones satlin y satlinsFunciones satlin y satlins
Funciones satlin y satlins
 
elemento finito.pdf
elemento finito.pdfelemento finito.pdf
elemento finito.pdf
 
Cálculo Diferencial
Cálculo DiferencialCálculo Diferencial
Cálculo Diferencial
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
Optimizacion_Robusta_I
Optimizacion_Robusta_IOptimizacion_Robusta_I
Optimizacion_Robusta_I
 
Practica 2
Practica 2 Practica 2
Practica 2
 
Ejercicios Matemática II
Ejercicios Matemática IIEjercicios Matemática II
Ejercicios Matemática II
 
Tema 2 eficiencia_y_complejidad_grupo_21
Tema 2 eficiencia_y_complejidad_grupo_21Tema 2 eficiencia_y_complejidad_grupo_21
Tema 2 eficiencia_y_complejidad_grupo_21
 
Límites
LímitesLímites
Límites
 
Optimizacion Diusty Mijares
Optimizacion Diusty MijaresOptimizacion Diusty Mijares
Optimizacion Diusty Mijares
 
Presentacion cpm y pert
Presentacion cpm y pertPresentacion cpm y pert
Presentacion cpm y pert
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Proyecto final-simbolica-1 (1)
Proyecto final-simbolica-1 (1)Proyecto final-simbolica-1 (1)
Proyecto final-simbolica-1 (1)
 
Clasificador Caracteres Logsig Tansig
Clasificador Caracteres Logsig TansigClasificador Caracteres Logsig Tansig
Clasificador Caracteres Logsig Tansig
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
 

Más de Priscill Orue Esquivel

Más de Priscill Orue Esquivel (9)

Accelerating GWAS epistatic interaction analysis methods
Accelerating GWAS epistatic interaction analysis methodsAccelerating GWAS epistatic interaction analysis methods
Accelerating GWAS epistatic interaction analysis methods
 
WiSANCloud: a set of UML-based specifications for the integration of Wireless...
WiSANCloud: a set of UML-based specifications for the integration of Wireless...WiSANCloud: a set of UML-based specifications for the integration of Wireless...
WiSANCloud: a set of UML-based specifications for the integration of Wireless...
 
IA conexionista-RNA --Prueba y entrenamiento con modelos de RNA (2)
IA conexionista-RNA --Prueba y entrenamiento con modelos de RNA (2)IA conexionista-RNA --Prueba y entrenamiento con modelos de RNA (2)
IA conexionista-RNA --Prueba y entrenamiento con modelos de RNA (2)
 
IA conexionista-RNA -- Prueba y entrenamiento con modelos de RNA
IA conexionista-RNA -- Prueba y entrenamiento con modelos de RNAIA conexionista-RNA -- Prueba y entrenamiento con modelos de RNA
IA conexionista-RNA -- Prueba y entrenamiento con modelos de RNA
 
IA conexionista-Redes Neuronales Artificiales: introducción
IA conexionista-Redes Neuronales Artificiales: introducciónIA conexionista-Redes Neuronales Artificiales: introducción
IA conexionista-Redes Neuronales Artificiales: introducción
 
Plan de curso
Plan de cursoPlan de curso
Plan de curso
 
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
 
Aprendizaje Computacional: Valoraciones personales sobre métodos de etiquetad...
Aprendizaje Computacional: Valoraciones personales sobre métodos de etiquetad...Aprendizaje Computacional: Valoraciones personales sobre métodos de etiquetad...
Aprendizaje Computacional: Valoraciones personales sobre métodos de etiquetad...
 
Perspectiva docente del diseño de contenidos y evaluación para cursos a dista...
Perspectiva docente del diseño de contenidos y evaluación para cursos a dista...Perspectiva docente del diseño de contenidos y evaluación para cursos a dista...
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
  • 5. Figura 1: Implementación de la Permutación en MatLab 5
  • 6. [2] Eduardo Bustos Farías. Modelos de transporte: Problemas de asignación y de transbordo. http://www.angelfire.com/ak6/invo_escom2/clase12.pdf, 2005. Sitio Web; acc. 22-May-2012. [3] Ernesto Alonso Lagarda Leyva. Modelos de asignación. http://antiguo. itson.mx/dii/elagarda/apagina2001/PM/asignacion.html, 2011. Sitio Web; acc. 22-May-2012. 6