Solución Del Problema Del Viajero Comerciante TSP Usando
-
Upload
stephanie-m-barreda-sotomayor -
Category
Documents
-
view
130 -
download
6
Transcript of Solución Del Problema Del Viajero Comerciante TSP Usando
REDES NEURONALES: RED DE HOPFIELD
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.
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.
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.
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:
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.
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].
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:
SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD
donde:
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]:
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.
SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELDLas matrices de los pesos quedan de la siguiente manera:
SOLUCION DEL TSP UTILIZANDO LA RED DE HOPFIELD
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.
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:
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
DIAGRAMA DE FLUJO
PSEUDOCODIGO
PSEUDOCODIGO
PSEUDOCODIGO
PSEUDOCODIGO
PSEUDOCODIGO
PSEUDOCODIGO
PSEUDOCODIGO
PSEUDOCODIGO
PSEUDOCODIGO
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.
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.
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:
RESULTADOSTrayectoria optima: