50224560 Problema Del Agente Viajero

download 50224560 Problema Del Agente Viajero

of 13

Transcript of 50224560 Problema Del Agente Viajero

  • 7/28/2019 50224560 Problema Del Agente Viajero

    1/13

    PROBLEMA DEL AGENTE VIAJERO (PAV) Y UNA SOLUCION CONSOLVER DE EXCEL

    ANDRES MAURICIO CAMACHO SANCHEZCOD. 1032408541

    [email protected]

    RESUMEN

    Este documento presenta la solucin a un caso logstico, un problema de ruteopara un recorrido a nivel nacional. Este caso es modelado como un problemadel agente viajero resuelto con la hoja de calculo de Excel. El problema usainformacion actual de las distancias existentes entre una ciudad y otra. Para

    nuestro caso, manejamos 12 ciudades.

    OBJETIVO

    y Obtener el resultado de ruteo mas ptimo posible. Para lograr unrecorrido mnimo de todas las ciudades partiendo desde una origen yregresando de nuevo a esta.

    INTRODUCCIN

    El problema del viajante es un ejemplo que muestra y analiza la problemticaque subyace tras algunos tipos de problemas matemticos que a priori parecentener una solucin relativamente fcil, y en la prctica presentan un granproblema.

    La respuesta al problema es conocida, es decir se conoce la forma deresolverlo, pero slo en teora, en la prctica la solucin no es aplicable debidoal tiempo que computacionalmente se precisa para obtener su resultado(problema de tipo NP-hard). El problema del viajante (tambin conocido comoproblema del viajante de comercio o por sus siglas en ingls: TSP) es uno delos problemas ms famosos (y quizs el mejor estudiado) en el campo de laoptimizacin combinatoria computacional. A pesar de la aparente sencillez desu planteamiento, el TSP es uno de los ms complejos de resolver y existen

    demostraciones que equiparan la complejidad de su solucin a la de otrosproblemas aparentemente mucho ms complejos que han retado a losmatemticos desde hace siglos.

    Sean N ciudades de un territorio. El ob jetivo es encontrar una ruta que,comenzando y terminando en una ciudad concreta, pase una sola vez por cadauna de las ciudades y minimice la distancia recorrida por el viajante.

  • 7/28/2019 50224560 Problema Del Agente Viajero

    2/13

    La solucin ms directa es la que aplica la fuerza bruta: evaluar todas lasposibles combinaciones de recorridos y quedarse con aquella cuyo trazadoutiliza la menor distancia. El problema reside en el nmero de posiblescombinaciones que viene dado por el factorial del nmero de ciudades (N!) yesto hace que la solucin por fuerza bruta sea impracticable para valores de N

    incluso moderados con los medios computacionales actualmente a nuestroalcance. Por ejemplo, si un ordenador fuese capaz de calcular la longitud decada combinacin en un microsegundo, tardara algo ms 3 segund os enresolver el problema para 10 ciudades, algo ms de medio minuto en resolverel problema para 11 ciudades y 77.146 aos en resolver el problema para slo20 ciudades.

    Por ejemplo las rutas posibles entre 12 ciudades son 479.001.600combinaciones y los caminos individuales entre ciudades son el sumatorio delas 12-1 ciudades es decir 66.

    PLANTEAMIENTO DEL PROBLEMA

    El problema consiste en determinar la mejor ruta o mnimo recorrido, que serealice entre las 12 ciudades, partiendo desde un punto de partida yregresando a este (ciclo Hamiltoniano), adems se tiene que visitar todas lasciudades una sola vez. A continuacin se mencionan las ciudades de trabajo:

    y Bogot

    y Cali

    y Medelln

    y Pasto

    y Bucaramanga

    y Villavicencioy Armenia

    y Valledupar

    y Leticia

    y Yopal

    y Florencia

    y Puerto Inrida

    DESARROLLO DEL PROBLEMA

    Matemticamente el modelo se puede expresar as:

    y Funcin objetivo:

    MIN

  • 7/28/2019 50224560 Problema Del Agente Viajero

    3/13

    y Sujeto a:

    y Se puede necesitar romper un subciclo, por tanto:

    Donde,

    Distancia de ir de un lugar i a un lugar j.

    Variables binarias de decisin. Toma valor de 1 cuando se seleccionael modo de ir de i a j, o toma 0 cuando ese modo no es seleccionado.

    Un subciclo es un circuito formado por un subconjunto del ciclo Hamiltoniano,es decir del ciclo en general. Ejemplo:

    Fig 1. Subciclos de 3 y de 9 ciudades

    Para dar inicio al desarrollo del problema, partimos de la tabla de datos, con

    sus respectivas distancias dadas en KM, esta es desarrollada en la hoja declculo de Excel.

  • 7/28/2019 50224560 Problema Del Agente Viajero

    4/13

    TABLA 1. MATRIZ DE DISTANCIAS, DADAS EN KM.

  • 7/28/2019 50224560 Problema Del Agente Viajero

    5/13

    Para dar solucin al problema, es modelado en la hoja de clculo Excel. En lasiguiente tabla, se presenta una matriz de distancias, como la anterior, en elrango C5:N16. Y una matriz de celdas variables, en el rango C19:N30. Lasrestricciones 1 y 2 del modelo matemtico se representa en los rangosC35:N35, que son bsicamente la suma de las columnas respectivas, y a su

    vez, son igualadas al valor del rango C34:N34, es decir a 1.

    Por ejemplo, en la celda C35, realizamos la formula de ( =suma(C19:C30)),luego le damos ENTER, el valor inicial que toma antes de resolverlo todo es de0, despus en el solucionario solver, utilizamos el valor asignado, es decir 1,que se encuentre en la parte super ior C34, sin embargo lo incluimos paratenerlo en cuenta y evitar futuras confusiones. La otra restriccin, es la queest ubicada en el rango Q19:Q30, que son la suma de las filasrespectivamente, y tambin se igualan a 1, valor que se ubica en la parteizquierda.

    Lo anterior representa las restricciones 1 y 2, que cumplen las condiciones de:

    visitar todas las ciudades y que solo se visiten estas una sola vez.

    La restriccin 3, se utiliza cuando ejecutemos la herramienta solver,herramienta que ms adelante ser explicada y que simplemente establece,que los valores obtenidos en la matriz de variables solamente sern 1 y 0 , locual indicara el orden de prioridad de ruteo entre las ciudades.

    Por ltimo, la restriccin 4, se empleara en el hecho de que se presente algnsubciclo, esto ocurrir en el caso de que de primeras, no nos arroje un cicloHamiltoniano bien hecho. O por el contrario, si obtenemos un ciclo bienformado pero queremos reducir an ms la distancia de total de recorrido, enotras palabras seguir minimizando.

    A continuacin se muestran las tablas:

  • 7/28/2019 50224560 Problema Del Agente Viajero

    6/13

    TABLA 2. MATRIZ DE DISTANCIAS Y MATRIZ DE VARIABLES CON RESTRICC

  • 7/28/2019 50224560 Problema Del Agente Viajero

    7/13

    Una vez realizada latabla, procedemos adesarrollarla en laherramienta solver,tener en cuenta si

    esta aplicacin estinstalada o no. Unavez ubicada, laabrimos y en laprimera opcin,donde dice celdaobjetivo, ubicamos lacelda objetivo denuestra tabla la cuales I:32, celda quepreviamente tiene

    como calculo tiene la siguiente frmula: ( =suma producto (C5:N16;C19:N30)),esta operacin realiza el producto y la suma de la matriz de distancias con lade variables. Esta representa la funcin objetivo del modelo matemtico antesexplicado.

    Despus en la parte de valor de la celda objetivo, escogemos el objetivo denuestra solucin, la cual es el de minimizar, entonces sealamos la opcin demnimo. Seguidamente, en la opcin de cambiando las celdas, escogemos elrango de la matriz de celdas variables, la cual es a donde irn los resultadosobtenidos. Y en la parte de restricciones, ubicamos las que habamos hecho enla hoja de clculo, las cuales son: suma de filas, suma de columnas y unanueva, la que es de establecer la matriz de variables como valores binarios.

    Por ltimo antes de darle en resolver, vamos a opciones y escogemos la opcinde adoptar modelolineal y adoptar nonegativos, esto con elfin de no obtenerresultados negativos;tambin cambiamosel nmero deiteraciones a 200para que este no learroje errores msadelante en la

    simulacin. Luegodamos en aceptar ypor ultimo enresolver. Lo cualobtenemos losiguiente:

  • 7/28/2019 50224560 Problema Del Agente Viajero

    8/13

    TABLA 3. RESULTADO ARROJADO POR SOLVER.

    Vemos inicialmente que, el resultado que no muestra solver, ya presenta los primeros subciclos los

    1. Bogot Yopal Villavicencio Bogot.2. Cali Medelln Armenia Cali.3. Pasto Florencia Pasto.

    4. B/manga Valledupar B/manga.5. Leticia Pto Inrida - Leticia.

  • 7/28/2019 50224560 Problema Del Agente Viajero

    9/13

    Estos subciclos hacen que se tengan que adicionar un conjunto de restriccionespara poder romperlos. Las nuevas restricciones se muestran en la siguiente tabla.

    0

  • 7/28/2019 50224560 Problema Del Agente Viajero

    10/13

    TABLA 5. SOLUCION EVITANDO LOS 5 PRIMEROS SUBCICLOS.

    Analizando el segundo resultado, vemos que vuelve a ocurrir subciclos, pero esta vez reducido soson:

    1. Bogot Villavicencio Bogot.2. Cali Armenia Medelln Valledupar B/manga Yopal Pto Inrida Leticia Florencia

  • 7/28/2019 50224560 Problema Del Agente Viajero

    11/13

    Una vez ms, se realizan restricciones para evitar estos dos nuevos subciclos, y as sucesivamms, hasta obtener un ciclo bien hecho. Estas dos restricciones son:

    1. =H19+C242. =I20+E25+J21+G26+L23+N28+K30

    Solucionando de nuevo obtenemos:

    TABLA 6. RESULTADO FINAL, QUE MINIMIZA EL RECORRDIO DEL TO

  • 7/28/2019 50224560 Problema Del Agente Viajero

    12/13

    Con este nuevo resultado, vemos que ocurre un ciclo completo, es decir nos da unaopcin clara o aproximada de un posible recorrido, obteniendo un trayecto totalmnimo. Sin embargo esta solucin no estima que sea la ms correcta o la mseficiente, pero si una ms aproximada. Para lograr ms exactitud, el nmero derestricciones deben aumentar y por lo tanto la complejidad computacional crecer

    linealmente, llevando a que por ejemplo la herramienta del solver no logre ejecutarlo.

    Para nuestro ejercicio la secuencia dio de la siguiente manera:

    1. Bogot Armenia Cali Pasto Florencia Leticia Pto Inrida Yopal B/manga Valledupar Medelln Villavicencio Bogot.

    Con un trayecto total de 4621.74Km.

  • 7/28/2019 50224560 Problema Del Agente Viajero

    13/13

    CONCLUSIONES

    y El Excel permite modelar fcilmente este tipo de problema presentandoalgunas limitaciones y dificultades para buscar la solucin, como es el casode estar agregando restricciones.

    y La herramienta es una alternativa para dar solucin a un grupo de empresasque tienen problemas relat ivamente pequeos y as evitar grandesinversiones en software.

    y Esta metodologa nos da un resultado muy aproximado, no siempre el msptimo o eficiente, por lo que su anlisis y procedimiento es demasiadoextenso, lo cual exige mayor complejidad computac ional.