Solución Del Problema Del Viajero Comerciante TSP Usando

30
REDES NEURONALES: RED DE HOPFIELD

Transcript of Solución Del Problema Del Viajero Comerciante TSP Usando

Page 1: Solución Del Problema Del Viajero Comerciante TSP Usando

REDES NEURONALES: RED DE HOPFIELD

Page 2: Solución Del Problema Del Viajero Comerciante TSP Usando

INTRODUCCION• Una de las aplicaciones de las redes

neuronales artificiales es en el problema del agente viajero, el cual consiste en encontrar el orden en que un viajante de comercio debería visitar varias ciudades para que la distancia recorrida sea mínima.

• Se trata de un problema NP completo, en el que la única alternativa para su solución consiste en verificar todas las posibles opciones para encontrar cuál es la óptima.

Page 3: Solución Del Problema Del Viajero Comerciante TSP Usando

INTRODUCCION• Hay que tener en cuenta que si el número

de ciudades es n, el número de posibles recorridos a ensayar resulta ser n!/2n.

• Al intentar resolverlo mediante una red neuronal, que no es sino un sistema de computación paralelo, que trabaja con diferentes elementos de proceso (neuronas) simultáneamente, se reduce el costo computacional, al no tener que recurrir al cálculo de todas las posibilidades.

Page 4: Solución Del Problema Del Viajero Comerciante TSP Usando

EL PROBLEMA DEL VIAJERO COMERCIANTE

• Si un viajante parte de la ciudad A y las distancias a todas las demás ciudades son conocidas, ¿cuál es la ruta óptima que debe elegir para visitar todas las ciudades y volver a la ciudad de partida?

• Por ejemplo, si un ordenador fuese capaz de calcular la longitud de cada combinación en un microsegundo, tardaría algo más 3 segundos en resolver el problema para 10 ciudades, algo más de medio minuto en resolver el problema para 11 ciudades y 77.146 años en resolver el problema para sólo 20 ciudades.

• Por ejemplo las rutas posibles entre 12 ciudades son (479 millones) 479.001.600 combinaciones.

Page 5: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD

• La contribución más importante de Hopfield al campo de las redes neuronales es la de asociar a la red una función de energía:

Donde:

Page 6: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD• Esta expresión guarda una profunda similitud

formal con la energía de la mecánica clásica. Trata de representar la evolución del sistema, considerando cada configuración (vector) de las salidas de las neuronas de la red como puntos en un espacio de dimensión N y relacionando el estado de la red en cada momento con un punto de ese espacio.

• Esto significa que esta función siempre decrece según como el sistema evolucione de acuerdo con la regla dinámica de Hopfield. Esta propiedad nos permite utilizar la red como un optimizador.

Page 7: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD• La utilización del modelo de Hopfield para la

resolución de problemas de optimización se basa en la idea de intentar fijar el objetivo del problema mediante una expresión matemática, denominada función de coste o que haya que minimizar.

• A continuación se compara con la expresión general de la función de energía de una Red Hopfield, determinándose los valores de los pesos Wij y de los umbrales Ii en términos de parámetros de la función objetivo, encontrando así una posible solución de mínimo coste del problema de optimización [1][2].

Page 8: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD• Para resolver el problema del agente viajero,

éste se aborda en términos de la función de Energía, utilizando una red de Hopfield de n2 neuronas, siendo n el número de ciudades.

• La solución a este problema consiste en minimizar la función de Energía bajo ciertas restricciones, la cual se propone de la forma siguiente:

Page 9: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD

donde:

Page 10: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD• El primer término de la expresión Ea se refiere a que solo se pueden activar n

neuronas de las n2, y el segundo a que las salidas de las neuronas Vij toman los valores de cero o uno.

• El primer término de la ecuación Eb, representa la restricción de que una ciudad se visite solo una vez, es decir, se active solo una neurona en cada fila.

• El primer término de la expresión Ec corresponde a la restricción de que en una parada solo se puede visitar una ciudad, esto es, se active una neurona por columna.

• Ed minimiza la distancia entre la ciudad de la visita i con la ciudad j de la parada anterior y siguiente.

• Comparando esta función con la energía de Hopfield y descartando los términos de n2 y de n se obtiene [2]:

Page 11: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELDSe tiene que:

Donde:Wij,lk es el valor del peso de la conexión entre dos neuronas situadas: una en la ciudad i, parada j y la otra en la ciudad k, parada l.dik es la distancia entre la ciudad i y la ciudad k, Iij es el umbral.

Page 12: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELDLas matrices de los pesos quedan de la siguiente manera:

Page 13: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD

Page 14: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELDLa salida de las neuronas Vij obedece la siguiente ecuación diferencial:

donde:

es el parámetro de ganancia.

Page 15: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD• El algoritmo para resolver el problema del agente

viajero sigue los pasos [2] [3]:1. Se fijan los valores para l , Dt, el número de

iteraciones y los parámetros a, b, c, d, generalmente éste último se elige más pequeño que a, b, c.

2. Se inicializa aleatoriamente y se calcula Vij3. Se aproxima el nuevo valor de entrada de la red,

a partir de la ecuación diferencial, para ello se utiliza la expresión siguiente:

Page 16: Solución Del Problema Del Viajero Comerciante TSP Usando

SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD

4. Se actualizan los Ui y Vi.5. Regresar al paso 3, hasta completar el

número de iteraciones.6. Si no se obtiene una solución

satisfactoria se eligen otros valores para los coeficientes de energía; a, b, c, d, yl

Page 17: Solución Del Problema Del Viajero Comerciante TSP Usando

DIAGRAMA DE FLUJO

Page 18: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 19: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 20: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 21: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 22: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 23: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 24: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 25: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 26: Solución Del Problema Del Viajero Comerciante TSP Usando

PSEUDOCODIGO

Page 27: Solución Del Problema Del Viajero Comerciante TSP Usando

RESULTADOS

• Para validar el algoritmo de la red de Hopfield se proponen cinco ciudades distribuidas como se muestra en la figura 3, con su respectiva matriz de distancias.

Page 28: Solución Del Problema Del Viajero Comerciante TSP Usando

RESULTADOS

• De acuerdo al algoritmo se tiene un arreglo de 5x5 neuronas, en donde las filas representan las ciudades y las columnas las paradas. Como trayectoria inicial se propone la siguiente matriz:

• Lo que significa la trayectoria: C2-C5-C1-C3-C4-C2, que da un total de 160 kms recorridos.

Page 29: Solución Del Problema Del Viajero Comerciante TSP Usando

RESULTADOS• Se inicializan los parámetros y Dto. con los valores de 10

y 0.001 respectivamente, el resultado arrojado después de 500 iteraciones es el siguiente:

• Por lo que la trayectoria resulta ser: C3-C1-C4-C5-C2-C3, lo que da un total de 130 kms de recorrido, este resultado es la ruta óptima que el viajante puede tomar y se muestra en la siguiente figura:

Page 30: Solución Del Problema Del Viajero Comerciante TSP Usando

RESULTADOSTrayectoria optima: