CÁLCULO DE RUTAS DE VEHÍCULOS DE REPARTO EN UNA CIUDAD CON VENTANAS TEMPORALES DE ACCESO.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "CÁLCULO DE RUTAS DE VEHÍCULOS DE REPARTO EN UNA CIUDAD CON VENTANAS TEMPORALES DE ACCESO."

Transcripción

1 CÁLCULO DE RUTAS DE VEHÍCULOS DE REPARTO EN UNA CIUDAD CON VENTANAS TEMPORALES DE ACCESO. Proyecto fin de carrera. Autor: Profesor Tutor: Jesús Muñuzuri Sanz Abril 2010

2 ÍNDICE: 1 INTRODUCCIÓN Y OBJETIVOS DEL PROYECTO LOGÍSTICA URBANA: INTRODUCCIÓN Acercamiento a la logística urbana en España Logística urbana de mercancías en el centro histórico de Sevilla Problemática Soluciones posibles PLANTEAMIENTO DEL PROBLEMA Introducción al problema a resolver Presentación del problema Proceso General Restricciones consideradas Modelado matemático HERRAMIENTAS DE RESOLUCIÓN Introducción a los problemas de optimización de rutas Métodos exactos Métodos heurísticos Metaheurísticas Simulated Annealing Búsquedas tabú Métodos Evolutivos Algoritmos Genéticos Programación Genética Programación Evolutiva Introducción a los algoritmos genéticos Introducción histórica Mecanismos de cambio en la evolución Evolución de la informática evolutiva Los Algoritmos Genéticos Estructura del Algoritmo Genético Simple EXPOSICIÓN DEL MÉTODO DE RESOLUCIÓN: ALGORITMO GENÉTICO Casuística Caso General Entrada en la Zona Restringida Con la ventana temporal abierta Con la ventana temporal cerrada Salida de la Zona Restringida Desarrollo del algoritmo. Diagrama de flujos

3 5.2.1 Fitness Cruce Mutación Selección por Ranking Población nueva RED DE PRUEBA. RESULTADOS Exposición de la red de prueba Resultados RED DE SEVILLA. RESULTADOS Exposición de la red de Sevilla Resultados CONCLUSIONES BIBLIOGRAFÍA ANEXO: PROGRAMACIÓN DEL ALGORITMO RED DE PRUEBA Generación de los problemas A_parametros: B_creanodos: C_construirmatrizincidencias: D_zonarestringida: E_nodosinicioydestino: F_rutasminimas: Resolución de los problemas G_poblinicial: H_paradasZR: I_previofitness: I_fitness: I_1_bucle_J: J_bucle_K: I_2_bucle_N: K_cruce: L_mutacion: M_previofitnessDescientes: N_seleccionporranking: O_poblinicial2: P_previofitnesspoblinicial2: RED DE SEVILLA Generación de los problemas B_creanodosSevilla

4 2.1.2 C_construirmatrizincidenciasSev D_zonarestringidaSev E_nodosinicioydestinoSevde F_rutasminimasSev

5 PROYECTO FIN DE CARRERA La mayoría de los problemas del mundo real no pueden ser solucionados por métodos tradicionales; si se pudiesen solucionar por medio de un procedimiento clásico, ya no seria un problema. Zbigniew Michalewicz, University of Adelaide 1 INTRODUCCIÓN Y OBJETIVOS DEL PROYECTO.- Los objetivos de este proyecto son llevar a cabo la resolución de un problema de optimización de rutas por medio de Algoritmos Genéticos (AAGG). Apoyándose, en la medida en que se pueda, en los conceptos metodológicos de utilizar una visión sistémica del proyecto, es decir no aportar una suma de soluciones a sus diferentes partes sino analizarlo en conjunto para buscar la mejor solución, además de intentar utilizar los conceptos básicos de la ingeniería concurrente, esto es tener en cuenta las necesidades y objetivos de todas las etapas del proyecto en cualquier momento del desarrollo de este. Los problemas de optimización de rutas, como el problema básico del viajero de comercio (TSP) o el problema de optimización de rutas de vehículos con ventana de tiempo (VRPTW), han sido y siguen sio profundamente estudiados. Se puede encontrar multitud de documentación y software sobre el tema en las cuales podremos hallar una larga lista de métodos de resolución, pasando por la optimización lineal y terminando por las técnicas metaheurísticas más avanzadas y modernas. En este documento no se prete avanzar en el estudio de las técnicas de resolución para estos problemas, más si se prete resolver un nuevo tipo de problema de optimización de rutas con unas características diferentes a los planteados hasta ahora. El problema en cuestión aparece, como todos, de la observación de la realidad. 5

6 Dada la tencia cada vez más creciente de las autoridades locales de peatonalizar los centros urbanos, es decir, de impedir el acceso de vehículos a ciertas partes de la ciudad, las empresas de reparto de mercancía se encuentran con nuevos problemas. Además sabio que estas zonas de las ciudades suelen tener una densidad muy alta de comercios a los que es imprescindible abastecer, el problema parece mayor para la logística de estos comercios. Estas restricciones de movilidad suelen ir acompañadas de otras temporales: se suele imponer un horario de acceso a los centros urbanos. Incluso esta imposición horaria suele coincidir con el horario laboral tipo, cosa que complejiza más el problema. La combinación de estos dos factores, uno zonal y otro temporal, en un problema de optimización de rutas es lo que se viene ha llamar aquí Vehicle Routing Problem with Acess Time Windows (VRPATW). Este nuevo tipo de ventana temporal difiere en sus características básicas con las definidas en otros problemas que también la contemplan, en este caso no es el cliente el que me impone un determinado horario (como sucede en el problema VRPTW) en el que se le debe servir la mercancía, sino las autoridades locales o ayuntamientos. Además esta ventana de tiempo se impone para todos los clientes que se encuentren en la zona peatonalizada, sumando también la imposibilidad de entrar o permanecer en dicha zona. En resumen, se esta ante una zona con el acceso restringido bajo un determinado horario, horario que será el mismo para todos los clientes que se encuentren dentro de la zona. Mediante la herramienta informática MATLAB se programará el modelo de este problema con todas sus características y restricciones, al igual que la implementación y desarrollo del propio AAGG. Dentro de MATLAB mediante los llamados M-files, que son ficheros de texto ASCII con la extensión *.m que contienen conjuntos de comandos y/o definiciones de funciones, se ira programando en una primer momento el modelo del problema, y posteriormente se programará y desarrollará el algoritmo de resolución. Para todo este proceso de modelado e implementación se pasará por diversas 6

7 fases: Estudio y modelado del problema. Estudio y definición de la estructura general del AAGG. Estudio de la adaptación del AAGG al problema concreto. Programación del modelo del problema en función de los futuros inputs del AAGG. Implementación del AAGG en el lenguaje de programación de la herramienta informática MATLAB. Depuración y probaturas del algoritmo sobre el modelo hasta su correcto funcionamiento. Cabe decir que todo el proceso de modelado e implementación del algoritmo esta cruzado por el objetivo general de conseguir solucionar el problema de manera que el esfuerzo computacional sea mínimo, es decir, que el algoritmo sea lo más eficiente posible, hablando en términos de tiempo de resolución. Para todo ello durante el proceso de implementación del algoritmo se realizaran las probaturas sobre un modelo básico compuesto por una red de nodos, que llamaremos red de prueba, cuyas características detallaremos en un apartado posterior. Una vez verificado el funcionamiento eficiente y óptimo del algoritmo en dicha red de prueba, se procederá finalmente a su aplicación sobre el modelo de una red de la ciudad de Sevilla y su área metropolitana. Con respecto a la finalidad del proyecto, además de la obvia y propia de la realización de un proyecto fin de carrera (véase normativa para proyectos fin de carrera), se prete evaluar, en términos económicos y temporales, y desde un punto de vista neutro con respecto a los dos entes implicados en el proceso 7

8 (la empresa privada y los ayuntamientos) el coste de implantar ventanas temporales en los centros de las ciudades. Nos referimos a la tencia de los ayuntamientos de peatonalizar los cascos antiguos y los centros de las ciudades. Lo que conlleva que el acceso de los vehículos de reparto a los comercios que se encuentran en estas zonas se encuentra limitado en horario, es decir tienen una ventana temporal. De ese modo se prete cuantificar los costes en los que se incurre, por parte de las empresas de reparto, con la implantación de este tipo de medidas enlas ciudades. 8

9 2 LOGÍSTICA URBANA: INTRODUCCIÓN Acercamiento a la logística urbana en España. La logística urbana de mercancías no ha venido tenio una atención especial como un concepto singular en España. Esta es probablemente la razón principal para la escasez de datos disponibles sobre el sector. Pocos estudios han analizado esta actividad obtenio información relevante para el análisis de la distribución urbana de mercancías, y sólo algunas ciudades han abierto esta línea de trabajo recientemente. No consta la existencia de ningún estudio general a nivel español que se haya dedicado a la obtención de datos cuantitativos dirigidos a describir los múltiples aspectos relacionados con la Logística Urbana de Mercancías. El sector del transporte por carretera en España no ha venido considerando la Logística Urbana de Mercancías (LUM) como un subsector de su industria. Por tanto, no existen bancos de datos que muestren la importancia de la actividad. No existen listados de compañías cuyo negocio se centre en la LUM, ni de los ingresos agregados generados por la actividad, ni del número de vehículos utilizados, etc. Por tanto, sólo se puede, en el momento actual, presentar una visión global deducida a partir de la información existente sobre el transporte de mercancías. El transporte de mercancías en España se divide en un 85% para la carretera, un 12% por barco, 3% en tren y mínimas cantidades en avión. El transporte de mercancías por carretera constituye un sector que factura millones de euros, repartido entre 500 empresas que absorben el 99% de la actividad. Existe una clasificación generalmente aceptada en función de los distintos tipos de mercancía. El tipo de mercancía relacionado más directamente con la distribución urbana es el denominado mercancía fraccionada, que corresponde aproximadamente al 10% del transporte por carretera, es decir 600 millones de euros. Por otro lado, el transporte de carga 9

10 completa representa el 25% del transporte por carretera, millones de euros. Los grandes centros comerciales situados en áreas urbanas hacen uso frecuentemente del transporte de carga completa, pero es difícil dar una estimación acerca de qué proporción de este tipo de transporte tiene el final de su cadena de suministro localizado en una zona urbana. Existen otros dos tipos de transporte de mercancías que a menudo incluyen áreas urbanas en al menos uno de los dos extremos de su cadena de suministro: paquetería y servicios de courier. Se trata de un mercado de millones de euros cubierto por unas empresas, la mayoría de las cuales son pequeñas y de ámbito local (las cinco mayores compañías aglutinan el 40% de la actividad). Además, la tercera y cuarta empresas en el ranking de servicios de paquetería y courier son también las dos primeras en el ranking de carga fraccionada, con el 45% de este tipo de mercancía. Se trata de las principales compañías de logística y transporte que actúan también en la distribución urbana en las áreas metropolitanas españolas Los principales indicadores de actividades comerciales en España pueden ser resumidos en las siguientes cifras: existen 20 establecimientos comerciales por cada 1000 habitantes, incluyo tias y también bares, cafeterías y restaurantes. Existe una relación de 9 a 1 entre clientes finales y centros de distribución. La localización de estos establecimientos es aproximadamente: 40% en el centro, 40% en la corona metropolitana y 20% en áreas no urbanas (pueblos, zonas rurales). No existen indicadores de validez general a nivel español para operaciones de carga y descarga en relación con la población, el empleo o el tamaño de los comercios. Pero no hay razones para esperar valores muy diferentes de los ya obtenidos en Barcelona, Sevilla y otras ciudades: operaciones diarias en Barcelona representan aproximadamente 1 operación semanal por empleo. Los resultados obtenidos en algunos estudios estiman en operaciones diarias de entrega y recogida en Sevilla. Cerca de 11 millones de personas viven en las 20 principales ciudades 10

11 españolas, todas ellas con más de habitantes. Dado que la tasa de población activa es del 55%, puede concluirse que un total de 6 millones de operaciones de carga y descarga se llevan a cabo diariamente en estas áreas urbanas. Es tradicional en España considerar la Logística Urbana de Mercancías como un tipo de tráfico que debe ser regulado dentro de las normativas generales que se ocupan del tráfico y el transporte a nivel local. En las ordenanzas municipales, bajo el encabezamiento de carga y descarga, se encuentra normalmente un amplio artículo que contempla el tipo de vehículos permitidos en las distintas zonas de la ciudad, las ventanas temporales de acceso para los vehículos de reparto de mercancías y el uso de espacios de aparcamiento para carga y descarga. La mayoría de las normas de tráfico a nivel local fueron dictadas a finales de los años 60 y principios de los 70, y duraron tres décadas con sólo modificaciones y actualizaciones menores. Se ha producido una reciente reformulación de la mayoría de ordenanzas de transportes en la segunda mitad de los 90, por lo que muchas de ellas son recientes, de menos de 10 años de antigüedad. Por otro lado, no existen instrumentos formales para incluir el concepto de la LUM en los niveles de decisión político y operacional a nivel local en otros departamentos que no sea el de tráfico. Muchas ciudades españolas están realizando una planificación estratégica que trá importantes efectos en cuanto al espacio asignado a los múltiples requerimientos posibles en el futuro. El transporte es uno de los principales conceptos a tener en cuenta en la planificación, pero el transporte urbano de mercancías está considerado sólo tangencialmente. Las compañías logísticas planifican sus inversiones y sus operaciones de acuerdo con sus perspectivas de negocio, que suelen necesitar de gran rapidez en la toma de decisiones. Sin embargo, cualquier movimiento estratégico en el entorno del transporte urbano de mercancías necesita de la aprobación de las 11

12 autoridades locales, que suelen seguir un ritmo muy diferente. Las compañías perciben la burocracia y los cambios políticos como grandes lastres sobre la logística urbana de mercancías, ya que operaciones como las licencias para construcción (para la ampliación de instalaciones), modificaciones de la regulación o simplemente la resolución de problemas localizados de movilidad representan procesos muy lentos que pueden durar varios meses o incluso años. Las condiciones de las operaciones diarias pueden ser calificadas de anarquía suave. Existe una cierta tolerancia a la hora de permitir el incumplimiento de la mayoría de normas locales siempre que las molestias causadas a otros tipos de tráfico no sean excesivas. Existe una posición de seguridad moral de los transportistas por estar trabajando, mientras que al resto de usuarios de la calle excepto los taxis no se les supone lo mismo. La situación de los receptores les resulta bastante satisfactoria. Todas las políticas modernas de gestión de stocks reducción de inventario, entregas frecuentes, just in time - pueden ser implantadas sin siquiera imponer restricciones derivadas desde el transportista. Existen múltiples proveedores con precios muy ajustados dispuestos a aceptar las condiciones que se impongan, por lo que la LUM no supone una restricción para las actividades empresariales o comerciales de las zonas urbanas Las normativas de tráfico actuales pueden ser consideradas como una simple manera de regular estos aspectos, a pesar de ser bastante rígidas y rudimentarias. Además, no han sido coordinadas formalmente entre las distintas autoridades locales de España, lo cual es de especial importancia en términos del tipo de vehículo que puede acceder a cada ciudad. Las compañías de transporte que operan a nivel nacional deben enfrentarse a diferentes regulaciones depio de la ciudad. El tráfico, el transporte y la construcción están entre las máximas prioridades de cualquier Ayuntamiento, pero son necesarios menores tiempos de reacción en la modificación de las normas, para conseguir una implementación flexible 12

13 de nuevas medidas e iniciativas. Estas iniciativas podrían así ser probadas y modificadas, y dar como resultado un crecimiento de las oportunidades para los distribuidores locales de mercancías. Estas consideraciones no sólo retrasan los proyectos logísticos propuestos por las compañías, sino que pueden convertirlos en no viables. Los retrasos implican mayores incertidumbres en cuanto al resultado de la iniciativa, y las compañías no están preparadas para arriesgar sus finanzas y sus clientes por una simple y remota posibilidad. Por tanto, ya que las compañías no pueden permitirse funcionar más despacio y las ciudades no pueden (de momento) acelerar sus procesos de decisión, el resultado es a menudo el rechazo del proyecto por parte de la compañía. O quizás, aún peor, el inicio del proyecto, asumio el riesgo de que finalmente podría no ser aprobado por las autoridades locales. 2.2 Logística urbana de mercancías en el centro histórico de Sevilla Problemática. La posición del centro histórico de Sevilla como centro comercial, de negocios y turístico de la ciudad implica una ingente afluencia diaria de personas, vehículos y mercancías. Los principales problemas a los que se enfrenta el transporte de mercancías en el centro de la ciudad pueden ser resumidos de la siguiente manera: Colapso de las zonas de carga y descarga, tomadas por parte de vehículos privados, imposibilitando las tareas propias de los transportes de mercancías. Incompatibilidad de los horarios de apertura de los comercios con los horarios definidos para el acceso de vehículos de mercancías al centro histórico, imposibilitando una eficaz gestión de la distribución de las mercancías. 13

14 Mala accesibilidad de la zona, congestionada y con muchas zonas peatonales. Esta situación planteada en la ciudad de Sevilla es perfectamente paralela a la encontrada en otras ciudades españolas. En general, por parte de los proveedores, se realiza una distribución urbana de mercancías centrada en el día a día, pero no demasiada logística urbana. Y desde el punto de vista de la oferta, los problemas son tratados indepientemente desde cada compañía Soluciones posibles. Desde el punto de vista de todos los grupos implicados en esta problemática, entiéndase como tal a transportistas, receptores, residentes y administración local, y después de estudiar las posibles soluciones planteadas en otras ciudades se exponen algunas de ellas: Repartos nocturnos: La intención de esta medida es evitar la interferencia entre el tráfico privado de la mañana y el transporte de mercancías, realizando este último durante la noche. Ya que es imposible cambiar los hábitos horarios de las personas que utilizan el coche para ir a trabajar al centro, quizás sería posible cambiar el horario del movimiento de mercancías. Road pricing: El establecimiento de peajes a la circulación de vehículos por determinadas zonas de la ciudad es un método agresivo para disminuir la congestión en las áreas urbanas más sobrecargadas. Consiste en cobrar una cantidad (a determinar) por utilizar determinadas rutas o acceder a determinadas zonas. Económicamente, responde a un intento de internalizar las externalidades provocadas por el hecho de circular con un vehículo por áreas densamente saturadas (congestión, contaminación, acaparamiento de aparcamientos...). Reparto conjunto: medidas que buscan el funcionamiento conjunto de varios transportistas, dentro de determinadas parcelas de la distribución urbana. 14

15 Lanzaderas: Esta medida persigue la introducción en el centro de la ciudad de una serie de zonas lanzadera, que típicamente serían aparcamientos reservados para las furgonetas de mercancías, a los que podrían acceder a primera hora de la mañana. Desde ellos, la entrega final se realizaría a pie o utilizando vehículos alternativos. Terminal urbana: Las terminales urbanas son pequeños centros de transbordo, y quizás de almacenamiento, situados dentro de la ciudad, cerca de las zonas de elevada densidad comercial y que precisan por tanto de abundantes envíos de mercancías. En ciudades grandes pueden servir de complemento a los centros de transporte de mercancías situados en las afueras, y en ciudades pequeñas pueden sustituirlos. Sistemas de información en tiempo real: La base de cualquier sistema de gestión en tiempo real de una flota de transporte urbano de mercancías está en la disponibilidad de información actualizada sobre el estado del tráfico. Esta información debería hacerse disponible a través de internet a todas las empresas de transporte de mercancías, y en general a cualquier vehículo que circule por la ciudad. Gestión dinámica de zonas de carga y descarga: Se contempla aquí la introducción de un sistema para optimizar el uso de las zonas de carga y descarga, de manera que se garantice su exclusividad para el uso de vehículos de transporte de mercancías. Igualmente, este sistema garantizaría la rotación de vehículos en las zonas de carga y descarga, evitando el estacionamiento indefinido de vehículos de reparto en ellas. Ventanas temporales: Esta medida consiste en establecer intervalos temporales durante los cuales el acceso a las zonas céntricas de la ciudad está permitido para los vehículos de transporte de mercancías. Estos intervalos suelen estar situados al principio de la mañana y de la 15

16 tarde, y se prete con ellos separar las horas de reparto de mercancías y las horas de máxima afluencia al centro de compradores, turistas, etc. Además, como ya se ha mencionado, esta medida es objeto de estudio de este proyecto, en concreto se estudiará la influencia económica de la presencia de una ventana temporal en la ciudad en que opera una empresa de reparto de paquetería. 16

17 3 PLANTEAMIENTO DEL PROBLEMA Introducción al problema a resolver.- Para una mejor comprensión previamente a la definición del problema introduciremos los elementos que participan en él: Se considera un problema de optimización de rutas sobre un grafo :,, donde denota al conjunto de nodos que lo componen y el conjunto de arcos que unen dichos nodos. En el conjunto de nodos existe un único nodo con nivel de oferta mayor que cero (depósito), un subconjunto de nodos con nivel de demanda mayor que cero (clientes), y otro subconjunto de nodos que se suponen con oferta y demanda cero. Se sabe que. Se define también un número de vehículos que pueden recorrer el grafo y que realizarán las rutas. El problema se incluye dentro de un horizonte temporal, y el objetivo del problema es minimizar el coste (en términos temporales) del transporte de varias mercancías desde el nodo hacia cada uno de los nodos del conjunto, pasando para ello por los nodos que sea necesario del conjunto. Así se definen también un conjunto de costes temporales asociados a cada uno de los arcos del grafo. Estos costes son función únicamente del transito por los arcos y no están relacionados con la cantidad de mercancía que se transporta por ellos. Así incurriremos en el coste cuando transitemos del nodo al nodo, con. Además se computará un coste único o tiempo de entrega, también en términos temporales, en el que se incurrirá cada vez que un de los 17

18 vehículos pase por uno de los nodos del subconjunto. Se considera también, dentro del conjunto, un subconjunto de nodos que tiene asociados una serie de restricciones. Estas son que no se podrá transitar por ellos ni permanecer en ellos durante el transcurso de una ventana temporal (TW). Se supone también que y que. Una Ventana Temporal (TW), que será única y que se aplica a todos los clientes que se encuentren en la zona Restringida. Para todos estos clientes esta consiste en un intervalo de tiempo, el cual obviamente será menor que el horizonte temporal, dentro del cual pueden ser servidos,. Un coste, a las rutas que lo requieran, de utilización de cada vehículo adicional (aparte del primero) que se necesite para cubrir el reparto a los clientes del horizonte temporal. Se puede ver un esquema del problema en la ilustración 1. Ilustración 1: Esquema de la ciudad. 18

19 Una vez introducidos estos elementos podemos decir que el problema que pretemos resolver consiste en construir un conjunto de rutas de coste mínimo que empiecen y terminen en el depósito y sirvan todos los pedidos de los clientes. Todas las soluciones factibles deberán ater a las siguientes restricciones: Cada pedido debe ser servido por un único vehículo. Todos los pedidos deben ser servidos dentro del horizonte temporal. No se podrán incumplir las restricciones impuestas por la Ventana Temporal y por la Zona Restringida. Se deberán utilizar el mínimo número de vehículos. Como ya se ha mencionado el problema a resolver se puede asemejar a un VRPTW pero con algunas restricciones adicionales a la ventana temporal pero con la diferencia de las restricciones que se imponen con la zona restringida. 3.2 Presentación del problema Proceso General Dentro del horizonte temporal de un día un conjunto de clientes han realizado pedidos que deben ser servidos ese mismo día. Estos clientes se modelan como nodos de la red, unos estarán fuera de la zona restringida y otros dentro. A estos nodos de los clientes a servir los denominaremos en adelante paradas y el número de ellas será uno de los parámetros del problema. Parece claro que el número de paradas del problema influirá en el valor de la función objetivo, en la rapidez de resolución y en la complejidad del problema. Este número de pedidos se prete cubrir con el mínimo número de 19

20 vehículos, por lo que se inicia el algoritmo con uno solo de ellos. Este, partio desde el depósito que también se modela como un nodo, ira pasando por los nodos de la red mientras recorre los arcos que los unen y así llegará a la primera parada, para en ella permanecer un tiempo para la entrega de la mercancía. Pasado este tiempo partirá hacia la siguiente parada siempre buscando la distancia mínima entre cada una de ellas. Este proceso general se repetirá hasta haber servido a todos los clientes y haber regresado al depósito. Durante esta rutina el vehículo se puede encontrar con alguna dificultad, es decir, con que puede incumplir alguna de las restricciones impuestas por la zona restringida y con la ventana temporal. En estos casos el algoritmo deberá buscar como no incumplirlas, hacio esperar al vehículo fuera de ZR mientras la ventana temporal permanece cerrada. También se puede dar el caso en que el vehículo inicial no pueda repartir todos los pedidos dentro del horizonte temporal y por tanto necesitar uno o más vehículos adicionales para poder hacerlo. Cabe decir que cada vehículo deberá regresar al depósito antes de que el día termine, y que los vehículos adicionales iniciaran su ruta desde el inicio del horizonte temporal (con ), desde el depósito y tomando como parada inicial la primera en la cual el vehículo anterior no pudo parar. Con respecto a la función objetivo o función de coste que debemos minimizar y que evaluaremos en términos temporales, aunque se podría poner en términos de coste económico, esta compuesta por el tiempo que emplea el vehículo o vehículos en recorrer todas las paradas partio desde el depósito y concluyo su ruta en él, más el coste de el o los posibles vehículos adicionales en el caso en que se necesiten Restricciones consideradas En el modelado del problema y partio de la definición general antes descrita de él, se han considerado algunas restricciones las cuales lo simplifican; aunque estas contribuyen a alejar aun más el modelo del posible caso real, también se hacen necesarias para así poder solucionar el problema con una 20

21 relativa facilidad, o dificultad como se quiera ver. El criterio utilizado para la consideración de dichas restricciones es simplemente el de facilitar la resolución del problema, sin que ello nos haga salirnos o desviarnos de los objetivos y finalidades de su resolución. A continuación enunciamos, acompañando con algunas aclaraciones más concretas, estas restricciones: Con respecto a la capacidad de los vehículos hemos supuesto que sea ilimitada. o Aunque esto puede parecer irreal podemos suponer que la mercancía a repartir no ocupa mucho volumen y que con un vehículo medio de transporte de mercancías tríamos capacidad suficiente para cargarla toda. Esta restricción es habitual en las situaciones de logística urbana para carga fraccionada pues es difícil que se lleguen a llenar completamente los vehículos. Se ha dicho que la función objetivo se evaluará en términos temporales, por lo que se hace necesario aclarar que el coste también se cuantifica en dichos términos. o Para ello se ha supuesto una velocidad constante (20 Km/h) a la cual se desplaza el vehículo por los arcos que unen los nodos y se ha fijando previamente una distancia en términos de longitud de los arcos. Así con un cálculo sencillo de cinemática podremos asociar el mencionado coste a cada arco. o Con esta velocidad aparentemente baja se prete simular la velocidad media a la que puede circular un vehículo por el casco urbano de una ciudad mientras interactúa con elementos del tráfico tales como retenciones, semáforos, obras, etc. 21

22 El Tiempo de entrega lo modelaremos como. Estimado como tiempo medio empleado en realizar dicha acción. La Longitud de la Ventana Temporal,,, lo tomaremos como un parámetro del modelo de la red por lo que le asignaremos diferentes valores para poder evaluar su repercusión en la solución. La duración del horizonte temporal lo hemos estimado como una jornada laboral de 10 horas,,.. Con respecto a la Zona Restringida se tiene que acordar cual es su límite. Como la red esta compuesta de nodos y lazos se ha tomado como limite los nodos, es decir, los primeros nodos de la Zona Restringida serán su límite. Así el vehículo de reparto podrá circular por el lazo que llega al nodo límite pero no llegar o permanecer en él cuando la ventana temporal permanezca cerrada. En cuanto al tamaño de esta, también lo tomaremos como un parámetro del problema por lo que se asignarán diferentes valores de tamaño para analizar sus consecuencias Modelado matemático. La nomenclatura que se utilizará en la formulación modelo es: G(N, A): grafo que representa al área urbana. N: nodo del depósito (hay solamente un depósito) D: nodos destino. Q: nodo final (el mismo nodo que el depósito) AV: longitud del período del día previo al inicio del periodo restrictivo (en unidades de tiempo) V: longitud del período restrictivo (en unidades del tiempo) DV: longitud del período del día posterior al periodo restrictivo (en unidades de tiempo) 22

23 c ij : tiempo requerido para viajar de nodo i al nodo j por el arco (i, j) fuera del período restrictivo (en unidades del tiempo). d ij : tiempo requerido para viajar de nodo i al nodo j por el arco (i, j) dentro del período restrictivo (en unidades del tiempo). Son iguales a c ij para los nodos fuera del área restrictiva, e infinito (muy alto) para los que se encuentran dentro de la zona restrictiva. T D : plazo de permanencia en el nodo destino D. K: coste fijo de usar un vehículo. K': constante de valor muy elevado. t x ij : para cada arco (i, j) del grafo, toma el valor 1 si el vehículo t cruza el arco antes del período restrictivo, y 0 si no. t y ij : para cada arco (i, j) del grafo, toma el valor 1 si el vehículo t cruza el arco durante el período restrictivo, y 0 si no. t z ij : para cada arco (i, j) del grafo, toma el valor 1 si el vehículo t cruza el arco después del período restrictivo, y 0 si no. t s i : representa el tiempo en el cual el vehículo t pasa por el nodo j del grafo. t α D : toma el valor 1 si el vehículo t hace una entrega en el nodo destino D antes del período restrictivo, y 0 en otro caso. t β D : toma el valor 1 si el vehículo t hace una entrega en el nodo destino D durante el período restrictivo, y 0 en otro caso. t γ D : toma el valor 1 si el vehículo t hace una entrega en el nodo destino D después del período restrictivo, y 0 en otro caso. Minimizar: t c ij x ij i, j, t + t d ij y ij i, j, t t + c ij z ij i, j, t + Nj Nj + t t t K ( x + y z ) j, t Nj Sujeto a: x t t + y + z 1, i, j t [1] t ij ij ij, i i i t t t xij = x jk + y jk, j, t k t t t yij = y jk + z jk, j, t k = t t zij z jk, j, t k k k [2] [3] [4] 23

24 t t t t t t ( x + y + z ) = ( x + y ziq ) Nj Nj Nj iq iq + j, t t t t t ( α + β + γ ) = 1 D D D i, t, D t t cij x + α TD AV, t ij D i, j D t t cij z + β TD DV, t ij D i, j D t t dij y + γ TD V, t ij D i, j t t x α D i D, D t id, t t y β D i, t, D t id, t t z γ i, t s, D t id D, [5] [6] [7] [8] [9] [10] [11] [12] t t + c K ( 1 x ) s i, j t [13] t i ij ij j, s t i 0 i, t s t N = 0 t t x ij, t y ij, [14] t z ij = 0,1 [15] Es por tanto un modelo linear con variables binarias. La función objetivo reduce al mínimo la suma total de costes de la ruta, incluyo en estos en los que se incurre antes, durante y después del período restrictivo, más el coste asociado al uso de vehículos. Las restricciones tienen las implicaciones siguientes: [1] El vehículo t solo puede transcurrir por el arco (i, j) antes, durante o después del período restrictivo. [2] Si el vehículo t se incorpora a un nodo j antes del período restrictivo, debe dejar el nodo antes o durante el período restrictivo. [3] Si el vehículo t se incorpora a un nodo j durante el período restrictivo, debe dejar el nodo durante o después del período restrictivo. [4] Si el vehículo t se incorpora a un nodo j después del período restrictivo, debe dejar el nodo después del período restrictivo. [5] Todos los vehículos t deben salir del depósito N y deben volver al nodo final Q (estos dos nodos son el mismo). [6] Todas las entregas en los nodos destino D se deben hacer. [7] El tiempo durante el cual un vehículo t está circulando antes del período restrictivo debe ser más pequeño o igual a la longitud del tiempo AV. [8] El tiempo durante el cual un vehículo t está circulando después del período restrictivo debe ser más pequeño o igual a la longitud del tiempo DV. 24

25 [9] El tiempo durante el cual un vehículo t está circulando durante el período restrictivo debe ser más pequeño o igual a la longitud del tiempo V del período restrictivo. [10] Si un vehículo debe entregar en un nodo destino antes del comienzo del período restrictivo, debe tener acceso al nodo antes del período restrictivo. [11] Si un vehículo debe entregar en un nodo destino durante el período restrictivo, debe tener acceso al nodo durante el período restrictivo. [12] Si un vehículo debe entregar en un nodo destino después del período restrictivos, debe tener acceso al nodo después del período restrictivo. [13] Estas restricciones evitan lazos en las rutas de los vehículos. Esto implica que si el vehículo t cruza el arco (i, j), el tiempo en que alcanza i debe ser más pequeño que el tiempo en el cual alcanza j. [14] Los vehículos están disponibles en el depósito N desde el tiempo cero, y alcanzan el resto de los nodos en tiempos positivos. [15] Restricciones que imponen los valores 0 y 1 para las variables binarias. 25

26 4 HERRAMIENTAS DE RESOLUCIÓN. 4.1 Introducción a los problemas de optimización de rutas.- Muchas empresas de nuestro entorno deben hacer frente a diario al transporte de personas, productos, etc. Y la necesidad de transporte interno entre empresas esta aumentando debido a la especialización cada vez más extida y al proceso de globalización. Por ello el coste derivado del transporte pasa a ser un factor importante en cualquier tipo de empresa, y dado este impacto económico en el mundo empresarial, el esfuerzo de investigación dedicado a resolver este tipo de problemas es considerable. En estos casos mejorar la optimización de rutas de vehículos, junto con la planificación o scheduling representa un ahorro significativo que repercute notablemente en la productividad y economía de las empresas. Un problema de optimización de rutas simple se podría reducir a que el único objetivo es encontrar el camino mínimo entre varios puntos. Pero los problemas de optimización de rutas y scheduling son más amplios, ya que además se han de solucionar aspectos como la utilización adecuada de recursos y otro tipo de restricciones; lo que hace que encontrar una solución óptima sea muy difícil y costoso. Este tipo de problemas se pueden considerar problemas de optimización combinatoria, es decir, problemas para los que el conjunto de soluciones es finito pero exponencial o contablemente infinito en función de los parámetros del problema. Para este tipo de problemas el conjunto de soluciones posibles crece exponencialmente cuando el tamaño de la entrada del problema aumenta. Así se hace evidente que realizar una búsqueda exhaustiva entre todas las posibles soluciones no será factible en problemas de tamaño considerable. Los problemas del mundo real son de mucha mayor complejidad que la mayoría de los problemas simplificados objeto de investigación, por lo que las soluciones obtenidas al resolverlos constituirán únicamente el núcleo de las soluciones que han de darse a los problemas de la vida real. 26

27 Las proposiciones matemáticas, en cuanto tienen que ver con la realidad, no son ciertas; y en cuanto que son ciertas, no tienen nada que ver con la realidad. Albert Einstein Los problemas de optimización de rutas y scheduling pueden formularse como problemas de optimización y son un subconjunto de los problemas logísticos que aparecen en la mayoría de las empresas. A modo de introducción a los problemas de optimización podrían ser definidos de la forma siguiente: Minimizar una determinada función, sujeta a un conjunto de restricciones que acota el espacio posible de soluciones. A se le denomina función objetivo y mide una cierta cantidad (coste) que debe ser minimizada. Cualquier problema de optimización se puede formular de diferentes maneras, aunque corresponda a todas la misma solución optima. El problema básico y más estudiado de optimización de rutas es el problema del viajero (Traveling Salesman Problem, TSP). Este se puede definir de la siguiente manera: dado un grafo (representando una red de calles, por ejemplo) con costes asociados a los arcos (distancia, por ejemplo) el problema consiste en encontrar la ruta cerrada más barata o corta que recorrio todos los nodos de la red una sola vez vuelva al punto de partida. Podríamos decir que el TSP modela el problema de un vedor que ha de visitar una serie de clientes situados en una serie de ciudades y volver a casa. Aunque este es el problema básico, simplemente añadio restricciones estaríamos ante distintas variantes del mismo. Si en vez de una única ruta hubiese que minimizar un conjunto de rutas, es decir, si existieran m vedores, el problema se denominaría mtsp. Si a este nuevo problema le añadiésemos restricciones de capacidad, nos encontraríamos ante una de las variantes más investigadas, el Problema de Optimización de rutas de Vehículos (Vehicle Routing Problem, VRP). Este problema consiste en diseñar un conjunto de rutas de coste mínimo donde se sirvan todos los pedidos de unos determinados clientes utilizando para ello una flota de vehículos limitada. Todas las rutas deben comenzar y finalizar en un depósito central. Cada cliente hace un pedido que debe ser servido con un único vehículo y cada vehículo tiene un a 27

28 limitación de capacidad máxima que puede transporta. Cuando los clientes no se pueden servir a cualquier hora del día, es decir cuando a cada cliente le corresponde un intervalo de tiempo, llamado ventana de tiempo (Time Window, TW), durante el cual puede recibir sus pedidos (ni antes ni después), el problema a resolver se convierte en un problema de optimización de rutas de vehículos con ventana de tiempo (Vehicle Routing Problem with Time Windows, VRPTW). Como complejidad adicional, en el problema de VRPTW aparece una restricción en la longitud de las rutas, que se deriva de la ventana de tiempo correspondiente al depósito. En este caso, los costes totales de la optimización de rutas y scheduling depe de la distancia total recorrida, del número de vehículos utilizados y del tiempo total de servicio de todos los pedidos. Este tipo de problemas de optimización de rutas y scheduling son de gran complejidad si miramos el recurso tiempo de ejecución. Podemos definir un algoritmo como un procedimiento paso a paso para resolver un problema. Uno de los objetivos cuando se diseña un algoritmo es el de encontrar el método más eficiente, midiéndose dicha eficiencia en tiempo de ejecución. Este tiempo depe del tamaño de la entrada del problema, por tanto el coste de un problema, en términos de tiempo de ejecución, se mide mediante una función que relaciona el tamaño de la entrada con el tiempo. Así los problemas de optimización de rutas de vehículos se pueden clasificar dentro de los denominados NP-duros, los cuales podríamos definirlos a grandes rasgos dicio que el esfuerzo computacional requerido para resolverlos aumenta exponencialmente con el tamaño de la entrada. Como el VRPTW engloba diferentes problemas de optimización conocidos que son NP-duros, podemos decir que el VRPTW es NP-duro en sentido fuerte. Debido a la dificultad del problema a resolver, no es evidente que tipo método será el adecuado para solucionarlo. Obviamente la enumeración de todas las soluciones posibles será inviable cuando el tamaño de la entrada crece. Cualquier método de resolución exacto será difícil de formular de forma que pueda obtener la solución óptima y además en un tiempo aceptable, y además será poco flexible a la hora de introducir cambios, cosa común en el mundo 28

29 real. Los método heurísticas, son estrategias más flexibles y fáciles de formular que obtienen a menudo soluciones de suficiente calidad en tiempo más que aceptable. Para todo problema de optimización combinatoria, para el que la solución optima no es conocida, existe un procedimiento elemental para solucionarlo, la búsqueda exhaustiva, que consiste en generar todas las soluciones factibles, calcular el coste para todas ellas y escoger la que mejor valor tenga. Pero este método no es sencillo, puesto que será necesario encontrar alguna forma de generar una secuencia de todas las soluciones factibles y esto deperá en gran medida de la representación utilizada para el problema. Este procedimiento resulta imposible en la mayoría de los casos debido a la magnitud del espacio de soluciones y no servirá en absoluto cuando el espacio de búsqueda sea continuo, puesto que el número de soluciones a explorar será infinito. El único caso para el que serviría la búsqueda exhaustiva seria par problemas de tamaño reducido para los que se cuenta con tiempo para enumerar el espacio de búsqueda. Será necesario buscar métodos más inteligentes capaces de abordar la complejidad de los problemas en cuestión Métodos exactos.- Muchas veces se han de encontrar soluciones óptimas para problemas que se pueden expresar con una función en la que aparecen variables de decisión y posiblemente algunas restricciones. En principio si la función objetivo y las restricciones son lineales, estos problemas se pueden solucionar mediante la Programación Linear (Linear Programming, LP). Si alguna de las variables es entera, nos encontramos ante una mezcla entre programación linear y entera; y si todas son enteras, estaremos ante un problema de Programación Entera (Integer Programming, IP). En el caso en que las variables de decisión sean discretas, como en el caso de VRPTW, nos encontramos ante problemas de optimización combinatoria. 29

30 Existe la posibilidad de intentar convertir este tipo de problemas en programación entera o programación lineal, pero con el aumento del tamaño del espacio de búsqueda el tiempo de resolución pasa a ser inadmisible y por lo tanto los resultados no suelen ser satisfactorios. Por esto, los métodos exacto utilizados para la búsqueda de la solución optima de los problemas de optimización de rutas y sheduling se basan principalmente en la regla divide y vencerás. Estas técnicas descomponen el problema o el espacio de soluciones para poder obtener la solución final a base de solucionar subproblemas más sencillos Métodos heurísticos.- Se podrían encontrar diversas definiciones para el concepto heurísticas, ponemos a continuación dos: Técnica que explora buenas soluciones, cercanas al óptimo, en un tiempo computacional razonable sin poder garantizar ni factibilidad ni optimalidad y en muchos casos incapaz de indicar la distancia a la que queda del óptimo. Procedimientos simples, a menudo basados en el sentido común, que se supone que ofrecerá una buena solución, aunque no necesariamente optima, a problemas difíciles de un modo fácil y rápido. Como se puede deducir de las definiciones, los métodos heurísticas para la búsqueda de soluciones no garantizan que se vaya a encontrar un óptimo, ni local ni global. Para aplicar algún método de optimización a problemas del mundo real, es necesario construir un modelo de la realidad que será lo que se tratara de resolver en vez del problema en si. Los métodos heurísticas suelen ser más flexibles a la hora de representar funciones objetivos de los problemas del 30

31 mundo real que los métodos exactos (no requieren especificación matemática completa del sistema). Aunque la solución obtenida no sea exacta, muchas veces no se puede probar que sea peor que la que se obtría mediante un método exacto puesto que el modelo utilizado para solucionar este será probablemente más lejano al mundo real. Por ello siempre nos quedara pregunta preferimos una solución exacta a un modelo aproximado a una solución aproximada a un modelo exacto?. Además de la reflexión anterior, las razones para la utilización de métodos heurísticas pueden ser muy diversas: Para muchos de los problemas de optimización más comunes no existe un método exacto de resolución o el tiempo de cálculo requerido es desorbitado. Existen casos de problemas en los que la solución óptima no es indispensable; el objetivo es simplemente buscar una solución de calidad aceptable. Los métodos heurísticas resultan a menudo muy útiles como paso intermedio en la utilización de otro algoritmo. Estos métodos permiten una mayor flexibilidad en el manejo de las características del problema y son más explicativos que los métodos exactos. Por otra parte no puede quedar sin mencionar que todo no son ventajas, puesto que, así como en los métodos exactos se puede asegurar que la solución obtenida es la mejor solución que se puede obtener para el modelo resuelto, al utilizar métodos heurísticas no se puede conocer la calidad de la solución obtenida porque no conocemos el optimo. Así que, en caso de que exista un método factible y queramos asegurar que la solución obtenida es la óptima, será preferible utilizarlo. 31

32 Analizando la bibliográfica existente podemos deducir que los métodos heurísticos utilizados para solucionar el VRPTW se dividen principalmente, basándonos en las distintas estrategias utilizadas para construir las soluciones, en dos grupos: Métodos constructivos: en los que la solución se construye paso a paso hasta que se obtiene una solución factible. En concreto los métodos utilizados se denominan métodos de construcción de rutas. Métodos de búsqueda por entorno: en los que se parte de una solución factible inicial y mediante alteraciones de esa solución van pasando a otras soluciones factibles de su entorno de forma iterativa hasta que se cumpla cierto criterio deparada, almacenando como optima la mejor de las soluciones visitadas. En concreto para la aplicación al VRPTW se utiliza el método de mejora de rutas Metaheurísticas.- La característica general que comparten las técnicas metaheurísticas es la de guiar una heurística subordinada de acuerdo con algún concepto derivado de la inteligencia artificial, la biología, las matemáticas o la física, para mejorar su rimiento. La mayoría de los métodos metaheurísticas se basan en efectuar modificaciones sobre soluciones, para encontrar soluciones mejores hasta que no se pueda encontrar ninguna solución que presente mejora, es decir, en la búsqueda local dentro del vecindario. El concepto de vecindario de una solución se define como el conjunto formado por las soluciones obtenidas a partir de ella por medio de una operación básica a menudo llamada movimiento. Dos de las variantes más sencillas de esta búsqueda en el vecindario son: Descenso aleatorio: en el que en cada iteración se escoge un vecino al azar para proseguir la búsqueda. En cada iteración se pasa de la solución actual a una del vecindario para la que el valor de la función 32

33 objetivo sea menor, terminando cuando todas las soluciones del entorno de la actual sean peores que ella misma. Método descente de la mayor piente (steepest descent): en el que se explora en cada iteración todo el vecindario para quedarse con la mejor solución. Estos y otros métodos basados en el vecindario tienen gran probabilidad de caer en un óptimo local y no ser capaces de salir de él. Por ello aparece la necesidad de buscar métodos heurísticas que posibiliten el abandono de estos y exploren otras partes del espacio de búsqueda. La mayoría de los métodos usados se basan en la búsqueda local o búsqueda en vecindario, pero añadio a estos algunas estrategias para escapar de los óptimos locales y explorar otras partes del espacio de búsqueda. A continuación introduciremos algunos delos más utilizados Simulated Annealing Las ideas que forman la base de este algoritmo, (también llamado enfriamiento estadístico, método descente probabilístico, algoritmo de intercambio probabilístico, etc.) fueron introducidas al crearse un algoritmo para simular el enfriamiento de un material; posteriormente se sugirió que este tipo de simulación se podía utilizar para encontrar soluciones factibles de un problema de optimización, con el objeto de llegar a una solución optima. El enfriamiento estadístico es un método de búsqueda por entornos, en el que el vecindario se examina aleatoriamente, que disminuye la probabilidad de caer en un mínimo local aceptando, en medio del proceso de búsqueda, soluciones peores. 33

34 Búsquedas tabú Muchos de los algoritmos metaheurísticas que se plantean resultan lentos incluso para problemas pequeños. La búsqueda Tabú intenta acelerar el proceso de búsqueda mediante la exploración inteligente del espacio de soluciones. Son muchas las definiciones que se pueden encontrar de esta técnica, como por ejemplo: Es una metaestrategia que se puede insertar en cualquier método de búsqueda local para guiar la búsqueda fuera de óptimos locales y evitar la ocurrencia de ciclos. La búsqueda Tabú podría equipararse a algunos de los métodos descentes, que al evolucionar selecciona el mejor de los movimientos posibles en cada paso, pero a diferencia de lo que ocurre en la búsqueda local, que siempre se finaliza en un óptimo local, la búsqueda Tabú ofrece la opción de moverse a una solución del entorno aunque su calidad sea peor que la calidad de la solución actual, permitio así el abandono de óptimos locales. Podríamos decir que el método descarta, o al menos usa poco, la aleatorización, asumio que la búsqueda inteligente he de hacerse de una forma más sistemática y guiada Métodos Evolutivos La familia de métodos evolutivos se basan en los conceptos biológicos referentes a la evolución, y sus diferencias principales estriban en los elementos que participan en la evolución los operadores que se utilizan durante esta evolución. Tal vez la Técnica más utilizada y más conocida entre las de esta familia, para la resolución de problemas de optimización combinatoria es la los Algoritmos Genéticos, AAGG Algoritmos Genéticos El nombre de algoritmo genético proviene de la analogía entre la representación de una estructura compleja por medio de un vector de componentes y la idea, familiar para los biólogos, de la estructura Genética de 34

35 un cromosoma. En la selección natural de plantas o animales, por ejemplo, perduran aquellos que tengan alguna característica deseable, la cual viene determinada a nivel genético por la forma de combinarse los cromosomas padres. De forma similar, en los AAGG, se plantea combinar partes de soluciones existentes para buscar soluciones mejores a problemas complejos. Podríamos definir los AAGG como técnicas de búsqueda basadas en la mecánica de la selección natural y la Genética. Se caracterizan por ser flexibles y de ámbito general y por poder ser aplicados en un amplio número de problemas. Podríamos resumir la idea de los AAGG como la exploración inteligente de la búsqueda aleatoria. Por ser este el método elegido para resolver nuestro problema le dedicaremos un apartado entero de este proyecto para profundizar en este tipo de algoritmos Programación Genética La programación Genética extie el paradigma de los AAGG a estructuras no lineales. Trata de encontrar el programa que resuelve un determinado problema, efectuándose el proceso de búsqueda sobre un espacio de posibles programas. El funcionamiento global es similar al de los AAGG pero se utiliza como población una estructura formada por un conjunto de programas estructurados en forma jerárquica: estructura de árbol. Dichos programas se construyen a partir de un conjunto predefinido de funciones y terminales, y su forma, contenido y tamaño puede cambiar a lo largo del proceso Programación Evolutiva La programación evolutiva trata de resolver problemas de optimización combinatoria. La estructura de estos algoritmos se asemeja en gran medida a la de los AAGG, con la diferencia de que los nuevos individuos se crean 35

36 utilizando tan solo mutación, es decir no existen operadores de cruce. De esta manera la programación evolutiva podría verse como un algoritmo genético asexual. 4.2 Introducción a los algoritmos genéticos Introducción histórica Aunque el ingenio humano puede lograr infinidad de inventos, nunca ideará ninguno mejor, más sencillo y directo que los que hace la naturaleza, ya que en sus inventos no falta nada y nada es superfluo. Leonardo da Vinci La naturaleza perpetúa aquello que resulta mejor. Motu Locali Animalium La teoría de la evolución, fue descrita por Charles Darwin 20 años después de su viaje por las islas Galápagos en el Beagle, en el libro Sobre el Origen de las Especies por medio de la Selección Natural. Este libro fue bastante polémico en su tiempo, y en cualquier caso es una descripción incompleta de la evolución. La hipótesis de Darwin, presentada junto con Wallace, que llegó a las mismas conclusiones indepientemente, es que pequeños cambios heredables en los seres vivos y la selección son los dos hechos que provocan el cambio en la Naturaleza y la generación de nuevas especies. Pero Darwin desconocía cual es la base de la herencia, pensaba que los rasgos de un ser vivo eran como un fluido, y que los "fluidos" de los dos padres se mezclaban en la descencia; esta hipótesis tenía el problema de que al cabo de cierto tiempo, una población tría los mismos rasgos intermedios. Fue Mel quien descubrió que los caracteres se heredaban de forma discreta, y que se tomaban del padre o de la madre, depio de su carácter dominante o recesivo. A estos caracteres que podían tomar diferentes valores se les llamaron genes, y a los valores que podían tomar, alelos. En realidad, las teorías de Mel, que trabajó en total aislamiento, se olvidaron y 36

37 no se volvieron a redes cubrir hasta principios del siglo XX. Además, hasta 1930 el geneticista inglés Robert Aylmer no relacionó ambas teorías, demostrando que los genes melianos eran los que proporcionaban el mecanismo necesario para la evolución. Más o menos por la misma época, el biólogo alemán Walther Flemming describió los cromosomas, como ciertos filamentos en los que se agregaba la cromatina del núcleo celular durante la división; poco más adelante se descubrió que las células de cada especie viviente tenían un número fijo y característico de cromosomas. Y no fue hasta los años 50, cuando Watson y Crick descubrieron que la base molecular de los genes está en el ADN, ácido desoxirribonucleico, los cromosomas están compuestos de ADN, y por tanto los genes están en los cromosomas. Todos estos hechos forman hoy en día la teoría del neo-darwinismo, que afirma que la historia de la mayoría de la vida está causada por una serie de procesos que actúan en y dentro de las poblaciones: reproducción, mutación, competición y selección. La evolución se puede definir entonces como cambios en el pool o conjunto genético de una población. Un tema polémico, con opiniones variadas depio de si se trata de informáticos evolutivos o de biólogos o geneticistas, es si la evolución optimiza o no. Según los informáticos evolutivos, la evolución optimiza, puesto que va creando seres cada vez más perfectos, cuyo culmen es el hombre; además, indicios de esta optimización se encuentran en el organismo de los animales, desde el tamaño y tasa de ramificación de las arterias, diseñada para maximizar flujo, hasta el metabolismo, que optimiza la cantidad de energía extraída de los alimentos. Sin embargo, los geneticistas y biólogos evolutivos afirman que la evolución no optimiza, sino que adapta y optimiza localmente en el espacio y el tiempo; evolución no significa progreso. Un organismo más evolucionado puede estar en desventaja competitiva con uno de sus 37

38 antepasados, si se colocan en el ambiente del último Mecanismos de cambio en la evolución Estos mecanismos de cambio serán necesarios para enter los algoritmos evolutivos, pues se trata de imitarlos para resolver problemas de ingeniería; por eso merece la pena conocerlos en más profundidad. Los mecanismos de cambio alteran la proporción de alelos de un tipo determinado en una población, y se dividen en dos tipos: los que disminuyen la variabilidad, y los que la aumentan. Los principales mecanismos que disminuyen la variabilidad son los siguientes: Selección natural: los individuos que tengan algún rasgo que los haga menos válidos para realizar su tarea de seres vivos, no llegarán a reproducirse, y, por tanto, su patrimonio genético desaparecerá del pool; algunos no llegarán ni siquiera a nacer. Deriva génica: el simple hecho de que un alelo sea más común en la población que otro, causará que la proporción de alelos de esa población vaya aumentando en una población aislada, lo cual a veces da lugar a fenómenos de especiación, por ejemplo, por el denominado efecto fundador. Otros mecanismos aumentan la diversidad, y suceden generalmente en el ámbito molecular. Los más importantes son: Mutación: la mutación es una alteración del código genético, que puede suceder por múltiples razones. Las mutaciones son totalmente aleatorias, y son el mecanismo básico de generación de variedad genética. 38

39 Poliploidía: mientras que las células normales poseen dos copias de cada cromosoma, y las células reproductivas una (haploides), puede suceder por accidente que alguna célula reproductiva tenga dos copias; si se logra combinar con otra célula diploide o haploide dará lugar a un ser vivo con varias copias de cada cromosoma. La mayoría de las veces, la poliploidía da lugar a individuos con algún defecto (por ejemplo, el tener 3 copias del cromosoma 21 da lugar al mongolismo), pero en algunos casos se crean individuos viables. Un caso conocido de mutación fue el que sufrió (o disfrutó) el mosquito Culex pipiens, en el cual se duplicó un gen que generaba una enzima que rompía los organofosfatos, componentes habituales de los insecticidas; Recombinación: cuando las dos células sexuales, o gametos, una masculina y otra femenina se combinan, los cromosomas de cada una también lo hacen, intercambiándose genes, que a partir de ese momento pertenecerán a un cromosoma diferente. Flujo genético: o intercambio de material genético entre seres vivos de diferentes especies. Normalmente se produce a través de un vector, que suelen ser virus o bacterias; En resumen, la selección natural actúa sobre el fenotipo y suele disminuir la diversidad, hacio que sobrevivan solo los individuos más aptos; los mecanismos que generan diversidad y que combinan características actúan habitualmente sobre el genotipo Evolución de la informática evolutiva Ya que se han descrito cuales son los mecanismos de la evolución podemos contar, desde sus principios, como evolucionó la idea de simular o imitar la evolución con el objeto de resolver problemas humanos. 39

40 Las primeras ideas, incluso antes del descubrimiento del ADN, vinieron de Von Neumann, uno de los mayores científicos de este siglo. Von Neumann afirmó que la vida debía de estar apoyada por un código que a la vez describiera como se puede construir un ser vivo, y tal que ese ser creado fuera capaz de autorreproducirse; por tanto, un autómata o máquina autorreproductiva tría que ser capaz, aparte de contener las instrucciones para hacerlo, de ser capaz de copiar tales instrucciones a su descencia. Sin embargo, no fue hasta mediados de los años cincuenta, cuando el rompecabezas de la evolución se había prácticamente completado, cuando Box comenzó a pensar en imitarla para, en su caso, mejorar procesos industriales. A grosso modo aplicó mutación y selección a los valores de las variables que regían diversos procesos, con el objeto de mejorar la calidad del proceso. Este procedimiento se aplicó con éxito a algunas industrias químicas. Un poco más adelante, en 1958, Friedberg y sus colaboradores pensaron en mejorar usando técnicas evolutivas la operación de un programa. En realidad, lo que estaba hacio es usar mutación para generar nuevos programas; al parecer, no tuvo más éxito que si hubiera buscado aleatoriamente un programa que hiciera la misma tarea. El problema es que la mutación sola, sin ayuda de la selección, hace que la búsqueda sea prácticamente una búsqueda aleatoria. Más o menos simultáneamente, Bremmerman trató de usar la evolución para "enter los procesos de pensamiento creativo y aprizaje", y empezó a considerar la evolución como un proceso de aprizaje. Para resolver un problema, codificaba las variables del problema en una cadena binaria de 0s y 1s, y sometía la cadena a mutación, cambiando un número de bit cada vez; de esta forma, estableció que la tasa ideal de mutación debía de ser tal que se cambiara un bit cada vez. Bremmerman trató de resolver problemas de minimización de funciones, aunque no está muy claro qué tipo de selección usó, si es que usó alguna, y el tamaño y tipo de la población. En todo caso, se llegaba a un punto, la "trampa de Bremmerman", en el cual la solución no mejoraba; en intentos sucesivos trató de añadir entrecruzamiento entre 40

41 soluciones, pero tampoco obtuvo buenos resultados. Una vez más, el simple uso de operadores que creen diversidad no es suficiente para dirigir la búsqueda genética hacia la solución correcta; y corresponde a un concepto de la evolución darwiniana clásico: por mutación, se puede mejorar a un individuo; en realidad, la evolución actúa a nivel de población. El primer uso de procedimientos evolutivos en inteligencia artificial se debe a Reed, Toombs y Baricelli, que trataron de hacer evolucionar un tahúr que jugaba a un juego de cartas simplificado. Aparte de, probablemente, crear buenas estrategias, llegaron a la conclusión de que el entrecruzamiento no aportaba mucho a la búsqueda. Los intentos posteriores, ya realizados en los años 60, ya corresponden a los algoritmos evolutivos modernos, y se han seguido investigando hasta nuestros días. Algunos de ellos son simultáneos a los algoritmos genéticos, pero se desarrollaron sin conocimiento unos de otros. Uno de ellos, la programación evolutiva de Fogel, se inició como un intento de usar la evolución para crear máquinas inteligentes, que pudieran prever su entorno y reaccionar adecuadamente a él. Fogel trataba de hacer aprer a autómatas a encontrar regularidades en los símbolos que se le iban enviando. Se lograron hacer evolucionar autómatas que predecían algunos números primos. En cualquier caso, estos primeros experimentos demostraron el potencial de la evolución como método de búsqueda de soluciones novedosas. John Holland desde pequeño, se preguntaba cómo logra la naturaleza, crear seres cada vez más perfectos. Lo curioso era que todo se lleva a cabo a base de interacciones locales entre individuos, y entre estos y lo que les rodea. No sabía la respuesta, pero tenía una cierta idea de como hallarla: tratando de hacer pequeños modelos de la naturaleza, que tuvieran alguna de sus características, y ver cómo funcionaban, para luego extrapolar sus conclusiones a la totalidad. De hecho, ya de pequeño hacía simulaciones de batallas célebres con todos sus elementos: copiaba mapas y los cubría luego de pequeños ejércitos que se enfrentaban entre sí. 41

42 En los años 50 entró en contacto con los primeros ordenadores, donde pudo llevar a cabo algunas de sus ideas, aunque no se encontró con un ambiente intelectual fértil para propagarlas. Fue a principios de los 60, en la Universidad de Michigan en Ann Arbor, donde, dentro del grupo Logic of Computers, sus ideas comenzaron a desarrollarse y a dar frutos. Y fue, además, leyo un libro escrito por un biólogo evolucionista, R. A. Fisher, titulado La teoría genética de la selección natural, como comenzó a descubrir los medios de llevar a cabo sus propósitos de comprensión de la naturaleza. De ese libro aprió que la evolución era una forma de adaptación más potente que el simple aprizaje, y tomó la decisión de aplicar estas ideas para desarrollar programas bien adaptados para un fin determinado. En esa universidad, Holland impartía un curso titulado Teoría de sistemas adaptativos. Dentro de este curso, y con una participación activa por parte de sus estudiantes, fue donde se crearon las ideas que más tarde se convertirían en los algoritmos genéticos. Por tanto, cuando Holland se enfrentó a los algoritmos genéticos, los objetivos de su investigación fueron dos: Imitar los procesos adaptativos de los sistemas naturales, y Diseñar sistemas artificiales (normalmente programas) que retengan los mecanismos importantes de los sistemas naturales. Unos 15 años más adelante, David Goldberg, actual delfín de los algoritmos genéticos, conoció a Holland, y se convirtió en su estudiante. Golberg era un ingeniero industrial trabajando en diseño de pipelines, y fue uno de los primeros que trató de aplicar los algoritmos genéticos a problemas industriales. Aunque Holland trató de disuadirle, porque pensaba que el problema era excesivamente complicado como para aplicarle algoritmos genéticos, Goldberg consiguió lo que quería, escribio un algoritmo genético en un ordenador personal Apple II. Estas y otras aplicaciones creadas por estudiantes de 42

43 Holland convirtieron a los algoritmos genéticos en un campo con base suficiente aceptado para celebrar la primera conferencia en 1985, ICGA 85. Tal conferencia se sigue celebrando bianualmente Los Algoritmos Genéticos. Los Algoritmos Genéticos usan una analogía directa con el comportamiento natural. Trabajan con una población de individuos, cada uno de los cuales representa una solución factible a un problema dado. A cada individuo se le asigna un valor o puntuación, relacionado con la bondad de dicha solución. En la naturaleza esto equivaldría al grado de efectividad de un organismo para competir por unos determinados recursos. Cuanto mayor sea la adaptación de un individuo al problema, mayor será la probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material genético con otro individuo seleccionado de igual forma. Este cruce producirá nuevos individuos (descientes de los anteriores) los cuales comparten algunas de las características de sus padres. Cuanto menor sea la adaptación de un individuo, menor será la probabilidad de que dicho individuo sea seleccionado para la reproducción, y por tanto de que su material genético se propague en sucesivas generaciones. De esta manera se produce una nueva población de posibles soluciones, la cual reemplaza a la anterior y verifica la interesante propiedad de que contiene una mayor proporción de buenas características en comparación con la población anterior. Así a lo largo de las generaciones las buenas características se propagan a través de la población. Favorecio el cruce de los individuos mejor adaptados, van sio exploradas las áreas más prometedoras del espacio de búsqueda. Si el Algoritmo Genético ha sido bien diseñado, la población convergerá hacia una solución óptima del problema. El poder de los Algoritmos Genéticos proviene del hecho de que se trata de una técnica robusta, y pueden tratar con éxito una gran variedad de problemas provenientes de diferentes áreas, incluyo aquellos en los que otros métodos encuentran dificultades. Si bien no se garantiza que el Algoritmo Genético encuentre la solución optima del problema, existe evidencia empica de que se encuentran soluciones de un nivel aceptable, en un tiempo competitivo con el 43

44 resto de algoritmos de optimización combinatoria. En el caso de que existan técnicas especializadas para resolver un determinado problema, lo más probable es que superen al Algoritmo Genético, tanto en rapidez como en eficacia. El gran campo de aplicación de los Algoritmos Genéticos se relaciona con aquellos problemas para los cuales no existen técnicas especializadas. Incluso en el caso en que dichas técnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibridándolas con los Algoritmos Genéticos Estructura del Algoritmo Genético Simple. Ilustración 2: Esquema del AAGG simple. El Algoritmo Genético Simple, también denominado Canónico, se representa en la ilustración 2. Como se vera a continuación, se necesita una codificación o representación del problema, que resulte adecuada al mismo. Además se requiere una función de ajuste o fitness del problema, la cual asigna un número real a cada posible solución codificada. Durante la ejecución del algoritmo, los padres deben ser seleccionados para la reproducción, a continuación dichos padres seleccionados se cruzaran generando dos hijos, sobre cada uno de los cuales actuara un operador de mutación. El resultado de la combinación de las anteriores funciones será un conjunto de individuos (posibles soluciones al problema), los cuales en la evolución del Algoritmo Genético formaran parte de la siguiente población. Codificación: Se supone que los individuos (posibles soluciones del problema), pueden representarse como un conjunto de parámetros (que denominaremos genes), los cuales agrupados forman una ristra de valores(a menudo referida como cromosoma). En términos biológicos, el conjunto de parámetros representando un cromosoma particular se denomina fenotipo. El fenotipo contiene la información requerida para construir un organismo, el cual se refiere como genotipo. Los mismos 44

45 términos se utilizan en el campo de los Algoritmos Genéticos. Fitness: La adaptación al problema de un individuo depe de la evaluación del genotipo. Esta última puede inferirse a partir del fenotipo, es decir puede ser computada a partir del cromosoma, usando la función de evaluación. La función de adaptación o Fitness debe ser diseñada para cada problema de manera específica. Dado un cromosoma particular, la función de adaptación le asigna un número real, que se supone refleja el nivel de adaptación al problema del individuo representado por el cromosoma. Fase Reproductiva: Durante esta fase (destacada en rojo en la figura) se seleccionan los individuos de la población para cruzarse y producir descientes, que constituirán, una vez mutados, la siguiente generación de individuos. o La selección de padres se efectúa al azar usando un procedimiento que favorezca a los individuos mejor adaptados, ya que a cada individuo se le asigna una probabilidad de ser seleccionado que es proporcional a su función de adaptación. Este procedimiento se dice que esta basado en la ruleta sesgada. Según dicho esquema, los individuos bien adaptados se escogerán probablemente varias veces por generación, mientras que los pobremente adaptados al problema, no se escogerán más que de vez en cuando. Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando habitualmente los operadores de cruce y mutación. Las formas básicas de dichos operadores se describen a continuación. o El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posición escogida al azar, para producir dos subristras iniciales y dos subristras finales. Después se intercambian las subristras finales, produciéndose dos nuevos cromosomas completos. Ambos descientes heredan genes de cada uno de los padres. 45

46 o El operador de mutación se aplica a cada hijo de manera individual, y consiste en la alteración aleatoria (normalmente con probabilidad pequeña) de cada gen componente del cromosoma. Si bien puede en principio pensarse que el operador de cruce es más importante que el operador de mutación, ya que proporciona una exploración rápida del espacio de búsqueda, este último asegura que ningún punto del espacio de búsqueda tenga probabilidad cero de ser examinado, y es de capital importancia para asegurar la convergencia de los Algoritmos Genéticos. 46

47 5 EXPOSICIÓN DEL MÉTODO DE RESOLUCIÓN: ALGORITMO GENÉTICO Casuística Previo al análisis de la casuística del problema se definirán los conceptos y nomenclaturas utilizados. Con respecto a la ventana temporal se definirán los tiempos: Tiempo de Ventana Abierta, es decir este el tiempo donde la ventana temporal deja de ser efectiva. Tiempo de Ventana Cerrada, es decir, este es el tiempo en el que la ventana temporal empieza a ser efectiva. En relación al horizonte temporal, que se considera de un día o una jornada laboral, se definen: Tiempo cero o inicio del día o jornada laboral. Tiempo final o final del día o jornada laboral. Representando la recta del tiempo en la ilustración 3 se pueden ver los tiempos definidos de la siguiente forma: Ilustración 3: Recta del tiempo. El coste modeliza el hecho de que el vehículo al llegar a la ubicación del cliente se detiene para realizar la descarga de la mercancía, por lo que se debe distinguir un tiempo de llegada y otro de salida en el paso por cada uno de los nodos del subconjunto de cara al análisis y resolución del problema. Estos 47

48 tiempos se han denominado: Tiempo de llegada a la parada. Tiempo de salida de la parada hacia la parada 1 Volvio a la recta del tiempo se puede representar como se observa en la ilustración 4 denotando con el cliente o parada : Ilustración 4: Representación de la Parada "i". Una vez definido el problema, la ventana temporal, la zona restringida y la nomenclatura utilizada se pasa a analizar la casuística del problema. Esto es, empezando por la descripción del caso general de paso de una parada a otra, se ira describio los posibles casos que se producirán en el transcurso de la ruta de reparto y su interacción con la ventana temporal y la zona restringida, además de cómo deberá actuar el algoritmo ante cada uno de ellos Caso General El vehículo comienza en el nodo inicial o depósito en el tiempo cero, entonces el algoritmo deberá buscar la primera parada definida por el algoritmo genético y almacenar el tiempo transcurrido en el trayecto de un lugar a otro. A este tiempo se le suma el coste de descarga generando así los dos parámetros temporales que definen a cada parada. Posteriormente el algoritmo debe revisar si dicha parada esta en la zona restringida, si es así debe continuar verificando si la ventana temporal esta abierta o cerrada actuando en consecuencia como explicaremos posteriormente. Una vez hecho estos pasos 48

49 se recalcula el coste de la ruta (en términos temporales) y se pasa a la siguiente parada para volver a aplicarle el mismo procedimiento. Este proceso se repite hasta completar todas las paradas del día o hasta que se llegue al final del día sin completarse estas, en tal caso se recurrirá a un nuevo vehículo. Este iniciará su ruta, con tiempo cero pues se considera que sale al mismo tiempo que el primero, desde el nodo inicial y su primera parada será la siguiente, refiriéndose al orden establecido por el algoritmo genético, a la última que realizó el vehículo anterior. Con los nuevos vehículos que fuesen necesarios se repite el proceso Entrada en la Zona Restringida Se supone el caso de una parada fuera de la zona restringida y otra parada 1 dentro de dicha zona (Denotada así por el superíndice RZ ). En la ruta seguida por el vehículo de una parada a otra, en busca de un óptimo análisis, se deben distinguir dos parámetros. La distancia recorrida se divide en dos para diferenciar la parte del trayecto realizado fuera y la realizada dentro de la zona restringida. Aunque se denote estos parámetros como distancias no olvidamos que estamos trabajando en unidades temporales. Distancia recorrida fuera de la zona restringida. Distancia recorrida dentro de la zona restringida. Zona Restringida. En la ilustración 5 se puede ver un esquema aclaratorio de los conceptos arriba expuestos. 49

50 Ilustración 5: Entrada en la Zona Restringida. Así en este caso se pueden distinguir varias situaciones depio del estado de la ventana temporal Con la ventana temporal abierta. En este caso la asignación de la parada sigue el procedimiento general como se puede ver en la ilustración 6. Ilustración 6: Entrada en la ZR con la VT abierta Con la ventana temporal cerrada. Suponio que la ventana temporal se cierra en el trayecto de un nodo a otro, y como se observa en la ilustración 7, se llega a una situación inadmisible, ya que el vehículo estaría en la zona restringida con la ventana temporal cerrada. 50

51 Ilustración 7: Entrada en la ZR con la VT cerrada. En este caso el vehículo debe esperar en la parada anterior hasta que la ventana temporal se vuelva a abrir y se pueda circular por la zona restringida. Así el algoritmo deberá revisar hacia atrás para buscar la anterior parada y verificar que no se encuentra en la zona restringida, y seguidamente llevarse hacia delante en el tiempo la parada 1 hacio que coincidan el tiempo de ventana abierta con el momento en que el vehículo entra en la zona restringida (véase ilustración 8). Con esto se asegura que el vehículo no se encuentre en la zona restringida mientras la ventana temporal esta cerrada. Ilustración 8: Reubicación de la Parada fuera de la VT. En busca de reducir el tiempo de la ruta del vehículo, aunque se modifique el tiempo de inicio de esta, el algoritmo deberá desplazar en el tiempo la parada anterior, que no se encuentra en la zona restringida, llevándola hacia delante junto al la parada 1. Este mecanismo del algoritmo se representa en la ilustración 9. 51

52 Ilustración 9: Desplazamiento hacia delante de la parada anterior. Ahora, partio del caso que se ha descrito anteriormente, se realizará un estudio en profundidad para poder encontrar todos los posibles casos en que se puede incurrir cuando el vehículo entra en la zona restringida y como debería actuar en consecuencia el algoritmo. En el caso de que existan varias paradas consecutivas dentro de la zona restringida y la ventana temporal se cierre cuando se transcurre por ellas el algoritmo deberá realizar los siguientes pasos: Primero revisar hacia atrás hasta encontrar la primera parada que se encuentre fuera de la zona restringida (Parada Referencia), que será en la que se podrá esperar a que se abra la ventana. Y después debe mover hacia delante, tal y como se ha descrito arriba, todo el grupo de paradas que están dentro de la zona restringida para dejarlas fuera de la ventana temporal (véase ilustración 10). 52

53 Ilustración 10: Reubicación de un grupo de paradas dentro de la zona restringida. o Esta operación, depio del número de paradas desplazadas hacia delante, puede encontrarse con que al ir actualizando los nuevos tiempos de cada parada se vea superado el tiempo fin del día.. Entonces se almacenará la ruta anterior con las paradas que queden dentro del horizonte temporal y se iniciaría otra ruta con un nuevo vehículo que deberá recorrer las paradas que no pudieron ser cubiertas por el vehículo anterior. Segundo el algoritmo deberá mover hacia delante la parada referencia y las que se encuentren antes que esta. Esta parada en el caso más extremo podría tratarse de la sede de la empresa. Al realizar esta operación el algoritmo podrá encontrarse con varias posibles situaciones: o Que justo antes de la parada de referencia existan una o varias paradas que se encuentre dentro de la zona restringida, como se observa en la ilustración 11, en cuyo caso el algoritmo deberá desplazar hacia delante todas las paradas anteriores hacio coincidir el tiempo de entrada de la parada de referencia menos la distancia fuera de la RZ, con el tiempo de ventana cerrada: 53

54 Ilustración 11: Desplazamiento hacia delante de una parada fuera de la ZR precedida por un grupo de paradas dentro de ella. o Que detrás de la parada de referencia existan varias paradas fuera de la ZR, y antes que estas, otra dentro de la ZR. En tal caso el algoritmo deberá desplazar hacia delante todas las paradas anteriores, siempre dejando fuera de la ventana temporal las que están en la ZR; como se ve en la ilustración 12. Ilustración 12: Desplazamiento hacia delante de un grupo de paradas fuera de la ZR precedidas por una parada dentro de ella Salida de la Zona Restringida Se supone una parada dentro de la zona restringida y una parada 1 fuera de la zona restringida, véase esquema en ilustración

55 Ilustración 13: Salida de la Zona restringida. Se vuelve a distinguir dos partes en el trayecto de un nodo a otro, una dentro de la zona restringida y otra fuera. Los posibles casos que se pueden dar depio del estado de la ventana temporal son: La ventana temporal abierta: En este caso la asignación de la parada sigue el procedimiento general sin alterar ningún parámetro, como se observa en la ilustración 14. Ilustración 14: Salida de la ZR con la VA. La ventana temporal se cierra durante el trayecto: se supone que la ventana temporal se cierra durante el trayecto de un nodo a otro pudiéndose distinguir dos casos posibles. o Se cierra cuando se ha salido de la zona restringida: En este caso la asignación de la parada sigue el procedimiento general sin alterar ningún parámetro (ver ilustración 15). 55

56 Ilustración Ilustración 17: Salida 15: de Salida la ZR de con la VT ZR cerrando con VT cerrando durante durante el trayecto. el trayecto. Caso admisible. Caso admisible. Ilustración 16: Salida de la ZR con VT cerrando durante el trayecto. Caso admisible. o Se cierra cuando se esta en la zona restringida: Es un caso inadmisible, como se puede observar en la ilustración 16. NO Ilustración 16: Salida de la ZR con VT cerrando durante el trayecto. Caso inadmisible. Así que el algoritmo deberá buscar en las paradas anteriores a la hasta encontrar la primera que no se encuentre en la zona restringida para posteriormente llevársela hacia delante en el tiempo justo después de que la ventana temporal se vuelva a abrir. La parada 1 se asignará después con respecto a la nueva posición de la parada. Se puede ver un esquema aclaratorio en la ilustración

57 Ilustración 17: Reubicación de la parada dentro de la ZR y desplazamiento de la parada posterior. Posteriormente, al igual que en los casos anteriores, el algoritmo buscaría hacia atrás en las paradas para ver si puede traer hacia delante alguna parada anterior a la. Como se ha visto en los casos anteriores el algoritmo deberá verificar que la parada donde se espera que se abra la ventana temporal no este en la zona restringida, además de verificar que con las paradas adelantadas en el tiempo no se sobrepase el tiempo fin del día. 5.2 Desarrollo del algoritmo. Diagrama de flujos. A continuación se describirá el algoritmo utilizado (véase diagrama de flujos en ilustración 18) para la resolución del modelo del problema, como se ha dicho anteriormente se utilizará un algoritmo genético: Ilustración 18: Esquema general del Algoritmo. 57

58 Al iniciar el algoritmo se genera el modelo de la red, a continuación se generaran en dicha red los nodos que serán paradas y el nodo que será el nodo inicial. Cabe decir que cada nodo tiene asignado un cardinal que lo define y diferencia de los demás. Posteriormente se realiza un cálculo de las rutas mínimas entre el nodo inicial y las paradas, además de las rutas mínimas de cada parada al resto de ellas. Esta información se utilizará posteriormente en el algoritmo. Después de estos pasos comienza el algoritmo genético propiamente dicho (en rojo). Se inicia con la generación de la población inicial. Esta consiste en una matriz que almacena por filas los individuos solución, los cuales albergan los cardinales de todas las paradas ordenadas aleatoriamente. En cada individuo el orden en que estén dispuestas las paradas indica el orden en que las recorrerá el vehículo, es decir la ruta a seguir. A continuación se le aplica el Fitness a esta población inicial, con esto obtenemos el valor del coste de cada ruta definida por cada individuo. Seguidamente se realiza el cruce de individuos y la mutación con lo que se genera una población nueva de descientes de igual tamaño a la inicial. La selección por Ranking ordena los individuos de las dos poblaciones, con respecto al valor del Fitness, de menor a mayor. Y asignándole una probabilidad decreciente a cada uno de ellos, de tal forma que el individuo con menor valor de Fitness tiene la probabilidad mayor, realiza la selección de individuos para quedarse finalmente con tantos como tenia la población inicial. El siguiente paso es aplicarle el Fitness a esta población seleccionada y calcular el valor del coste temporal de las rutas. Según un criterio que se basa en lo cerca que se encuentren el menor valor del Fitness y el valor del Fitness Medio de toda la población, se generará, en este momento del proceso, una Población Nueva en la que sólo permanecerán los tres mejores individuos de la última población implementada. El resto de individuos se generará aleatoriamente. Con esto se prete no caer en máximos locales e intentar ampliar la zona de búsqueda de soluciones. Como herramienta de parada del algoritmo se utilizará un contador que es función del tamaño de la población que se use en la implementación. El valor de este contador llevará al algoritmo a repetir el proceso volvio al paso del 58

59 cruce o a finalizarlo devolvio de esa manera el menor valor del Fitness conseguido en el proceso Fitness. Una vez definidos los casos generales y el modo en que en ellos debería actuar el algoritmo, se pasará a exponer de manera más profunda la estructura del Fitness. Se expone el diagrama de flujos esquemático del Fitness en la ilustración 19. Cabe decir que es la parte más importante del algoritmo. En el fitness esta la clave del buen o mal funcionamiento de este, ademas de la estructura más compleja y dificil de implementar. Se ha necesitado de muchos procesos de prueba y error para su depuracion, aun habio realizado el trabajo previo de estudio de la casuistica y diseño del diagrama de flujos. Ilustración 19: Esquema general del Fitness del Algoritmo Genético. 59

60 Al comienzo del algoritmo se inicia ruta vacía, que consiste en un vector donde se almacenaran los tiempos de entrada y salida de cada parada después de ser calculados y ajustados por el Fitness del algoritmo. Seguidamente se llama al algoritmo genético y este nos devuelve el individuo que se va a evaluar, se selecciona la primera de sus paradas, a la cual se le realizara la pregunta de si esta en la zona restringida. Si la respuesta es NO, el algoritmo pasa al Bloque N, al cual se le asignado el nombre del índice que recorrerá el vector de tiempos para su revisión o posibles ajustes. Este bloque explora las paradas anteriores y verifica, si la anterior a la que estamos estudiando estuviera en la ZR, que la ventana temporal no se cerrara durante el camino de una a otra de forma no apta. Y actúa en consecuencia si esto sucede modificando los tiempos de las paradas correspondientes. Cuando termina este proceso el Fitness continua a Calcular coste de ruta. o Como se puede observar en la ilustración 20, el bloque N esta compuesto por una entrada o input y por varias salidas u outputs, sio estas últimas las que se han numerado, en la ilustración 20 se puede ver también esta numeración para que se pueda completar la comprensión del funcionamiento del algoritmo. 60

61 Ilustración 20: Bucle N Como se puede ver se entra en el Bloque N y lo primero que se pregunta es que si 1, esto es para verificar que el algoritmo no ha pasado por el Bloque J-K. De esta manera se evita una redundancia en las acciones del algoritmo, pues el bloque J-K ha podido previamente ordenar las paradas en la recta de tiempos. Posteriormente se fija el índice N en la parada anterior a la que se estaba estudiando y se verifica que no sea esta la primera. Porque si así lo fuese no seria necesario entrar en el Bloque N por lo que se saldría de el por la salida 1. Después se verifica que la parada fijada por el índice N este en la ZR. Si no lo esta se sale del Bloque N por la salida 2. 61

62 Si esta en la ZR, se verifica que la ventana de tiempo no se halla cerrado en le trayecto de la parada en cuestión hacia la siguiente. o Si no se ha dado el supuesto se sale del Bloque N por la salida 2. o Si se da el caso que se cierra la ventana temporal en dicho trayecto, se busca hacia atrás la primera parada que no este en la ZR y se desplazan hacia adelante en el tiempo la parada o grupo de paradas hasta posicionarlas en el limite de la ventana temporal, hacio coincidir el tiempo de ventana abierta con el momento en que el vehículo entra en la ZR. Obviamente se ajustan todos los tiempos con respecto al de la parada que entraba en conflicto con las restricciones de la ZR. Si la respuesta es SI, el Fitness sigue con la pregunta de si la ventana temporal esta cerrada. o Si la respuesta es SI, el algoritmo pasa al Bloque J-K, cuyo nombre también proviene de los índices utilizados en el. Este bloque explora las paradas anteriores en busca de la primera parada que no se encuentre en la zona restringida, para colocar delante de la ventana temporal las paradas que corresponda y arrastrar hasta donde pueda las paradas anteriores a estas, de la forma descrita en apartados anteriores. 62

63 Ilustración 21: Bloque J-K Como se puede ver en la ilustración 21, los posibles inputs iniciales de este bloque son los denominados A y B. Si lo hacemos por la entrada A, se verifica que la ventana temporal no se halla cerrado cuando el vehículo esta salio de la ZR. Si es así se llega a la entrada B, si no es así se sale del bloque J-K. En la entrada B se fija el índice J en la parada anterior a la que se estaba estudiando y se verifica que no este en la ZR. Si lo esta se busca hacia atrás en las paradas hasta encontrar la primera que no este en ella. Ajustándose los tiempos de esta parada para que coincida el momento en que se entra en la ZR con el tiempo de ventana abierta. 63

64 Posteriormente, con ayuda del índice K, se reajustan los tiempos de las paradas posteriores a la modificada anteriormente. Además de intentar traer hacia adelante las paradas que quedaron atrás, con el fin de buscar es peras del vehículo lo más cortas posibles. También se encuentra en esta parte del bloque la entrada C, que proviene del Bloque N. En este bloque cuando se reajustan los tiempos de paradas y el índice C coincide con el índice I, que es el que se utiliza en el cuerpo principal del algoritmo, es necesario reajustar paradas anteriores para traérselas hacia delante. Y en busca de una programación más corta y rápida se ha decidido utilizar esta parte del algoritmo en este caso. o Si la respuesta es NO, el algoritmo pregunta si durante el paso del vehículo por la parada anterior a la que se esta estudiando la ventana temporal estaba cerrada. Esto se hace para verificar que el vehículo entra en la zona restringida con la ventana temporal abierta. Si la respuesta es SI, el algoritmo pasa al Bloque J-K para que verifique que el vehículo ha entrado en la zona restringida con la ventana abierta, y si no lo ha hecho desplaza las paradas explorando hacia atrás y actualizando los nuevos tiempos de estas. Si la respuesta es NO, se calcula el coste de la ruta que se lleva recorrida. Posteriormente se verifica que no se halla sobrepasado el tiempo fin del día. Si se ha sobrepasado, se inicia una nueva ruta con un vehículo nuevo. Como primera parada para esta nueva ruta se asigna la última parada que no se pudo realizar con el vehículo anterior. 64

65 Si no se ha sobrepasado o si se ha iniciado una nueva ruta, se pregunta si quedan más paradas por realizar. o Si la respuesta es SI, se pasa a la siguiente parada y se repite el proceso. o Si la respuesta es NO, se finaliza el Fitness del individuo. Este proceso, como es obvio, se repite con todos los individuos de la población a evaluar Cruce. El tipo de operador de cruce que se ha elegido para este algoritmo genético es el basado en dos puntos. Se agrupan los individuos de la población de dos en dos. Dentro de cada par de individuos se eligen aleatoriamente dos puntos de cruce y se intercambian las paradas compridas entre estos puntos de un individuo con otro. Esta operación se realiza con la totalidad de la población generándose así una población de descientes del mismo tamaño que la anterior. Al realizarse esta operación, como es conocido, se produce una duplicidad de paradas en los descientes, cosa que no es admisible. Para solucionar esto se buscan las paradas repetidas y se sustituyen por las paradas que no estén en el individuo. Para realizar esta operación se ha optado por basarse en el trabajo de Uchimura y Sakaguchi (1995), los cuales proponen una sustitución de paradas repetidas basada en las relaciones adyacentes con el fin de crear 65

66 descientes más óptimos con respecto a la función objetivo. Esto es, cuando se tiene dos paradas repetidas, se evalúa, en cada caso, el tiempo usado en recorrer la subruta compuesta por la parada adyacente anterior a la repetida, la repetida y la adyacente siguiente en las dos posiciones de la parada en cuestión. Posteriormente se eligen las situaciones de las paradas repetidas que hagan que la ruta sea más rápida. Las opciones desechadas deberán se ocupadas por las paradas, dos en este caso, que no existían en el individuo desciente. Y para elegir cual será la situación más óptima de estas se vuelven ha evaluar las subrutas compuestas por las paradas adyacentes anterior y posterior a los dos huecos por ocupar, con las dos paradas que deben ocuparlos y se selecciona la situación que haga la ruta más rápida. Se puede ver un esquema del proceso en la ilustración 22. Ilustración 22: Esquema del cruce basado en las relaciones adyacentes. En el caso de que cada individuo contenga un número significativamente mayor de paradas que las del ejemplo anterior, como es el caso de este problema, la duplicidad de paras se produce en un número también mayor, hacio que la solución del cruce se complejice. 66

67 El procedimiento que sigue el algoritmo es el siguiente: Localiza la o las paradas repetidas. Evalúa en cada caso las dos subrutas que ocupa cada parada repetida, seleccionando la más rápida y generando un hueco en el otro caso. Crea una matriz donde almacena por filas los costes de evaluar cada parada que falta en cada posible hueco. De tal modo que cada fila corresponde a una parada que falta y cada columna a un hueco por ocupar. Seleccionar el mínimo valor de la matriz y asignar en el hueco correspondiente a la columna la parada que corresponde a la fila. Después elimina la fila y la columna seleccionadas. Se realiza el último paso tantas veces como sea necesario para rellenar todos los huecos existentes. El problema resuelto es un problema de asignación en el que se ha optado por utilizar un método de resolución sencillo de programar, dado que se estima que la posible mejora del tiempo de ruta conseguida por otros métodos más complejos no seria significativa para el análisis que se prete realizar del problema Mutación. En relación a este operador básico del algoritmo genético se ha diseñado de forma que se seleccionan los individuos a mutar según una probabilidad función de la tasa de mutación seleccionada. Esta tasa de mutación se ha tomado fija y además es uno de los parámetros seleccionados del algoritmo 67

68 genético. De esta forma se seleccionan los individuos que van a ser mutados en función de la tasa de mutación, dicha mutación consiste en la elección de forma aleatoria de dos paradas dentro de cada individuo las cuales son intercambiadas de posición una con la otra. Así se generan individuos casi idénticos pero con dos paradas cambiadas Selección por Ranking. El operador de selección se ha basado en la función de selección proporcional. En la que cada individuo tiene una probabilidad de ser seleccionado, como padre de la siguiente generación, que es proporcional al valor del su Fitness. De esta manera la población anterior de padres y la de sus descientes es ordenada, de menor a mayor, por el algoritmo según su valor de Fitness. Y posteriormente se le asigna a cada individuo un valor de probabilidad gradiente que va desde el valor unidad para el mejor individuo de las dos poblaciones, al valor cero que se asigna al peor individuo. Con esto se asegura seleccionar al mejor individuo y desechar al peor para la siguiente generación de padres, además de retrasar de alguna manera la rápida convergencia de las poblaciones que suele ocurrir en este tipo de algoritmos Población nueva. En busca de poder explorar el la mayor parte, sino toda, del espacio de soluciones se utiliza este criterio de generar una población nueva cada cierto intervalo de iteraciones. Con esto se prete solucionar el problema en que caen este tipo de algoritmos cuando han realizado ciertas iteraciones: la población a considerar se va hacio cada vez más homogénea, los individuos de ella se parecen más unos a otros con el paso de las iteraciones. Este fenómeno, que por un lado es lo que se busca pues con ello se generan individuos cada vez mejor adaptados al problema a solucionar, tiene el inconveniente de que puede llevar al algoritmo a caer en un máximo local. Si se visualiza el espacio de soluciones como una superficie con distintos desniveles 68

69 y elevaciones, que representarían los mínimos y los máximos de la función objetivo. El algoritmo genético podría escalar, en un número determinado de iteraciones, hacia una de esas elevaciones encontrando un máximo; y dado su diseño en las siguientes iteraciones permanecería en dicha elevación buscando nuevas soluciones en un área muy pequeña alrededor de esta, es decir no saldría de ese máximo y la población a evaluar en cada iteración seria más homogénea. Bien y siguio con la idea de visualizar el espacio de soluciones como una superficie con desniveles y elevaciones, si se pudiera ver en su extensión completa, cabe la posibilidad de que existieran elevaciones aun más altas que la que escaló el algoritmo genético. Por tanto se debe dotar al algoritmo de herramientas que le permitan bajar del máximo local, es decir buscar en soluciones peores, para que posteriormente se puedan encontrar y escalar máximos aun más altos que los encontrados con anterioridad. De esta manera se diseña un criterio de generación de poblaciones nuevas basado en lo cerca que se encuentren el mejor Fitness encontrado en la población y el Fitness medio de dicha población. Este mecanismo genera una población nueva totalmente aleatoria excepto por los tres mejores individuos de la población que si permanecerán en la nueva. Con esto se asegura la permanencia del máximo encontrado y además se intenta buscar nuevos máximos mejores. En la ilustración 23 (corresponde al experimento 2 con 50 paradas, 20 de tamaño de zona restringida y 8 horas de longitud de ventana temporal) se puede ver una gráfica donde se muestra la evolución del fitness medio de la población y del fitness mejor encontrado en todas las iteraciones. En el eje de ordenadas se representa el valor del fitness y en el de abscisa el número de iteraciones realizadas por el algoritmo. Como se puede ver, siguio la leya y sabio que se busca minimizar la función, el fitness mejor tiene periodos de valor constante o casi caso constante, seguidos de descensos bruscos de su valor, indicando con esto la mejora de las soluciones. Y el fitness medio sigue una evolución con muchos altibajos, los bajos indican el momento en que el criterio activó la generación de una nueva población y los altos indican el momento en que esa nueva población es evaluada por primera vez obteniéndose, en general, un fitness medio mayor. 69

70 Ilustración 23: Gráfica de evolución del Fitness medio y del fitness mejor. 70

71 6 RED DE PRUEBA. RESULTADOS Exposición de la red de prueba Para la implementación y probaturas del algoritmo, además de la elección de los parámetros más idóneos y adecuados para el estudio sobre la red de Sevilla, se utilizará una red de prueba. Se busca con esto realizar un análisis de sensibilidad de los parámetros que se elegirán. Esta trá un diseño sencillo y manejable que facilitará la comprensión de los resultados obtenidos y su posterior análisis. La red constará de 900 (30x30) nodos unidos por arcos de igual distancia, en concreto consideraremos que dicha distancia es de 200 metros. La configuración de esta se muestra en la ilustración 24, en la cual se numeran los nodos para una mejor comprensión: Ilustración 24: Esquema reducido de la Red de Prueba. En la figura las flechas indican el sentido en el que se puede desplazar el vehículo. Tal y como se ha definido esta red de prueba el sentido se alterna en las filas y en las columnas. De tal modo que en las filas impares el sentido es hacia la izquierda y en la pares es hacia la derecha, de igual forma en las columnas impares el sentido es hacia arriba y en las pares es hacia abajo. Cabe decir que la elección del nodo de partida y finalización, es decir el depósito, además de los nodos destino o paradas, en esta red de prueba, se 71

72 realizará aleatoriamente. Además la zona restringida se ubicará en el centro de esta red considerándose como límite de esta los nodos y no los arcos. Se ha programado la generación de los nodos destinos para que tengan una densidad mayor en la zona restringida, para así asemejarse más a la realidad. En la ilustración 25 se puede ver uno de los problemas resueltos: Ilustración 25: Red de prueba. En ella se pueden apreciar: En el conjunto de nodos representados como puntos azules. El subconjunto de nodos de la zona restringida representados con cuadrado rojo rodeando el punto azul del nodo. El subconjunto de paradas o clientes de la ruta resaltadas con un círculo azul que rodea al punto azul del nodo. El nodo de partida o depósito que se destaca con un cuadrado negro. 72

73 6.2 Resultados Para la obtención de resultados se ha decidido un diseño de experimento basados en tres parámetros del problema y tres parámetros del algoritmo Genético. Asignándoles diferentes valores se obtienen 8 tipos de problemas y 8 tipos de algoritmos. Así se aplica a cada tipo de problema los 8 tipos de algoritmos y se obtiene el valor del Fitness en cada uno de ellos además del número de vehículos utilizados. Los parámetros que se han tomado son: Parámetros de los problemas: o Número de paradas (Nº Stop). o Tamaño de la Zona Restringida (RZ): En unidades de longitud de la red de prueba. Cada 2 unidades equivalen a 100 metros. o Longitud de la Ventana Temporal (TW): En horas. Parámetros de los Algoritmos Genéticos: o Tamaño de la población (A): Se ha decidido que sea función del número de paradas por lo que se toman valores del factor que multiplica a este parámetro de los problemas. Así ñ º. o Número de iteraciones (B): También se ha decidido que sea función del número de paradas. De esta forma º º. o Tasa de mutación (TM). 73

74 En la Tabla 1 se pueden observar los valores de los parámetros tomados además de los resultados de las pruebas realizadas, 64 en total. Los resultados se componen del valor del Fitness acompañado por el número de vehículos utilizados para la realización de la ruta. Se destacan en negrita los valores de los Fitness menores dentro de cada tipo de problema. Con esto se deciden los parámetros de los Algoritmos genéticos más idóneos para resolver la red de Sevilla que es el objeto del problema. Cabe decir que en los valores de Fitness expuestos en la tabla se ha eliminado el cote para con ello poder decidir sobre la bondad de la solución en función del número de vehículo, además del valor del Fitness obviamente. Nº Stop RZ TW Exp.1 Exp.2 Exp.3 A 0,5 0,5 0,5 0, B TM 0,1 0,5 0,1 0,5 0,1 0,5 0,1 0,5 P P P P P P P P Exp.4 Exp.5 Exp.6 Exp.7 Exp.8 Tabla 1: Resultados de los experimentos realizados sobre la Red de Prueba. Con la intención de buscar una mejor comprensión de los resultados se presenta a continuación los mismos resultados pero expresados en horas: 74

75 Nº Stop RZ TW Exp.1 Exp.2 Exp.3 A 0,5 0,5 0,5 0, B TM 0,1 0,5 0,1 0,5 0,1 0,5 0,1 0,5 P ,33 1 7,37 1 7,33 1 7,29 1 7,29 1 7,29 1 7,29 1 7,29 1 P ,74 1 9,78 1 9,76 1 9,75 1 9,74 1 9,74 1 9,74 1 9,74 1 P ,37 1 7,30 1 7,34 1 7,27 1 7,28 1 7,30 1 7,26 1 7,27 1 P ,76 1 9,77 1 9,79 1 9,76 1 9,75 1 9,73 1 9,75 1 9,76 1 P , , , , , , , ,47 2 P , , , , , , , ,03 2 P , , , , , , , ,53 2 P , , , , , , , ,86 2 Tabla 2: Resultados de la red de prueba expresados en horas. Exp.4 Exp.5 Exp.6 Exp.7 Exp.8 Ante el resultado de los experimentos se han llegado a las siguientes conclusiones: Con respecto al parámetro relativo al tamaño de la población se observa que con el valor de se obtienen mejores resultados en la mayoría de los experimentos. En relación al parámetro factor del número de iteraciones se puede apreciar que el valor es el que obtiene mejores resultados. Con la tasa de mutación no se puede concluir nada relevante sobre que valor de este parámetro obtienen mejores resultados, dado que los Fitness mejores de cada problema aparecen bajo la influencia de los dos valores indistintamente. Ante esta situación se decidió realizar experimentos adicionales, con un valor diferente de tasa de mutación, a los 8 tipos de problemas, para intentar con ello llegar a una conclusión concreta del valor más óptimo. Pero los resultados obtenidos tampoco fueron concluyentes por lo que se decidió tomar los dos valores considerados inicialmente ( 0,1 y 0,5) como parámetros a utilizar con la red de Sevilla. Por el mismo motivo de antes no se exponen los resultados de estos experimentos adicionales. 75

76 7 RED DE SEVILLA. RESULTADOS.- Una vez validado el algoritmo genético, es decir después de haber verificado con la red de prueba que el algoritmo cumple con los objetivos y requisitos para los que se diseñó, se pasa a su aplicación en una situación real. Para ello se aplicará el algoritmo sobre el modelo, lo más cercano a la realidad posible, de una ciudad real. Para poder analizar todas las situaciones posibles en que se puede encontrar una empresa de reparto en esta ciudad se realizaran varias simulaciones del algoritmo variando, en cada una de ellas, los parámetros número de paradas, tamaño de la zona restringida y longitud de la ventana temporal. 7.1 Exposición de la red de Sevilla El problema se sitúa en una ciudad, en concreto en la ciudad de Sevilla. La ciudad se modelará como un grafo, compuesto por un conjunto de nodos y arcos, que simulará las posibles paradas o lugares de reparto y las calles que los unen (ver ilustración 26). Ilustración 26: Vista de los nodos del modelo de la red de Sevilla. 76

77 Se supondrá la existencia de una pequeña/mediana empresa de reparto de paquetería, la cual dispondrá de una pequeña flota de vehículos suficiente para la realización de las entregas requeridas. Es decir el número de vehículos no será una restricción en el problema porque se considerará infinito, eso si, la utilización de cada unidad más que se necesite, además de la inicial, trá un coste adicional fijo. El tamaño de estos vehículos es irrelevante dado que se supondrá que la mercancía a repartir consistirá en bultos de tamaño pequeño/medio; así no se trá en cuenta, o se considerará infinita la capacidad de los vehículos en el modelo del problema. A empresa le supondremos un número de clientes de entre 50 y 200 a los que trá que ater. La concentración mayor de estos clientes se dará en la zona del centro de la ciudad. Para simular los desplazamientos y el hecho físico de la entrega del paquete, se supondrá una velocidad de desplazamiento del vehículo de 20 Km/h y un tiempo de permanencia en cada parada de 20 min. Además el horizonte temporal del modelo será el de un día, más concretamente, se considerará una jornada laboral de 10 horas. Por tanto el número total de clientes deberá ser satisfecho dentro de este intervalo de tiempo. La sede de la empresa se supondrá localizada en un polígono industrial de la ciudad, zona esta apartada del centro pero no fuera de ella. Esta sede será el punto de partida de cada ruta de reparto, así como el punto de finalización de esta. Así el vehículo deberá partir de la sede, realizar su ruta de reparto y regresar a ella. Con respecto a la ventana temporal, que como se introdujo antes, será única y la supondremos en la mitad del horizonte temporal o día. Su duración o longitud se considerará un parámetro del problema y por tanto le asignaremos diferentes valores en las diferentes simulaciones que se realizarán, pretio con esto tener una visión más amplia de la casuística del 77

78 problema. En cuanto a la zona peatonalizada que va asociada a la ventana temporal se situará en el centro de la ciudad. Su amplitud o radio también se considerará un parámetro del problema asignándole diferentes valores por los mismos motivos arriba expuestos. Cabe decir que no se podrá acceder a ella ni se podrá permanecer en ella durante la duración de la ventana temporal. Los valores que se le asignaran al radio de la ZR serán tres, y en kilómetros tienen los valores siguientes: o 1,59 o 3,96 o 7,14 o Además de estos tres valores se considerará el caso de que la ventana temporal no exista y en este supuesto el radio de la zona restringida carece de sentido por lo que este parámetro tomará también el valor cero. A continuación se representa en las figuras siguientes, de forma aproximada, los tamaños de los tres radios considerados sobre la imagen aérea de la ciudad de Sevilla: 78

79 CÁLCULO DE RUTAS DE VEHÍCULOS DE REPARTO EN UNA CIUDAD CON VENTANAS TEMPORALES DE ACCESO. Ilustración 27: Representación aproximada de la ZR con radio de 1,59 Km. Ilustración 28: Representación aproximada de la ZR con radio de 3,96 Km. 79

USO E IMPLEMENTACIÓN DE MÉTODOS META HEURÍSTICOS DE TIPO TABU PARA RESOLUCIÓN DE PROBLEMAS DE OPTIMIZACIÓN DUROS

USO E IMPLEMENTACIÓN DE MÉTODOS META HEURÍSTICOS DE TIPO TABU PARA RESOLUCIÓN DE PROBLEMAS DE OPTIMIZACIÓN DUROS RESOLUCIÓN DE PROBLEMAS DE OPTIMIZACIÓN DUROS Jeffersson Saúl Reyes Lasso 1, Fernando Sandoya 2 1 Ingeniero en Estadística Informática 2003 2 Director de Tesis, Matemático Escuela Politécnica Nacional,

Más detalles

obtenido de la fusión de dos rutas y la posterior asignación a un vehículo con capacidad disponible.

obtenido de la fusión de dos rutas y la posterior asignación a un vehículo con capacidad disponible. El problema VRP, y por tanto su variante con flota heterogénea, son problemas de optimización combinatoria complejos que caen en la categoría de NP-completo (Choi and Tcha, 2007), lo que significa que

Más detalles

Tema 1. Heurísticos en Optimización Combinatorial

Tema 1. Heurísticos en Optimización Combinatorial Tema 1. Heurísticos en Optimización Combinatorial p. 1/2 Tema 1. Heurísticos en Optimización Combinatorial Abdelmalik Moujahid, Iñaki Inza y Pedro Larrañaga Departamento de Ciencias de la Computación e

Más detalles

Optimización del problema generalizado de las rutas con restricciones temporales y de capacidad (CVRPSTW)

Optimización del problema generalizado de las rutas con restricciones temporales y de capacidad (CVRPSTW) Valencia, 7-9 Junio 2000 Optimización del problema generalizado de las rutas con restricciones temporales y de capacidad (CVRPSTW) Víctor Yepes Director del Área de Producto de la Agència Valenciana del

Más detalles

CAPÍTULO 4 METODOLOGÍA PROPUESTA

CAPÍTULO 4 METODOLOGÍA PROPUESTA CAPÍTULO 4 METODOLOGÍA PROPUESTA En este capítulo, se describen los métodos utilizados en el procedimiento propuesto para obtener soluciones del PLIDMC. En la actualidad, muchos de los problemas de optimización

Más detalles

UN ENOQUE UNIFICADO DE SISTEMA DE HORMIGAS PARA RESOLVER PROBLEMAS VRP

UN ENOQUE UNIFICADO DE SISTEMA DE HORMIGAS PARA RESOLVER PROBLEMAS VRP UN ENOQUE UNIFICADO DE SISTEMA DE HORMIGAS PARA RESOLVER PROBLEMAS VRP Emely Arráiz Oscar Meza Guillermo Palma Departamento de Computación y Tecnología de la Información Universidad Simón Bolívar Caracas,

Más detalles

Metaheurísticas

Metaheurísticas UNIVERSIDAD DE GRANADA E.T.S.I. INFORMÁTICA Y TELECOMUNICACIÓN Departamento de Ciencias de la Computación e Inteligencia Artificial Metaheurísticas http://sci2s.ugr.es/graduatecourses/metaheuristicas https://decsai.ugr.es

Más detalles

CAPITULO 2: MARCO TEÓRICO. En el desarrollo de este capítulo se presentan descripciones generales,

CAPITULO 2: MARCO TEÓRICO. En el desarrollo de este capítulo se presentan descripciones generales, CAPITULO 2: MARCO TEÓRICO En el desarrollo de este capítulo se presentan descripciones generales, definiciones y métodos, que nos pueden ayudar a entender con claridad el método que desarrolló en esta

Más detalles

Introducción a la Computación Evolutiva

Introducción a la Computación Evolutiva Introducción a la Computación Evolutiva Departamento de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello

Más detalles

CAPÍTULO 1. INTRODUCCIÓN. Las empresas de tipo comercial tienen como principal objetivo obtener ganancias. Si

CAPÍTULO 1. INTRODUCCIÓN. Las empresas de tipo comercial tienen como principal objetivo obtener ganancias. Si CAPÍTULO 1. INTRODUCCIÓN Las empresas de tipo comercial tienen como principal objetivo obtener ganancias. Si suponemos un volumen constante en las ventas; una empresa de este tipo sólo cuenta con tres

Más detalles

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III Grafos Eulerianos y Hamiltonianos Algoritmos y Estructuras de Datos III Grafos eulerianos Definiciones: Un circuito C en un grafo (o multigrafo) G es un circuito euleriano si C pasa por todos las aristas

Más detalles

DESARROLLO DE MODELOS DE OPTIMIZACION PARA EL PROBLEMA DE RUTEO DE VEHICULOS CON VENTANAS DE TIEMPO Y FLOTA HETEROGENEA

DESARROLLO DE MODELOS DE OPTIMIZACION PARA EL PROBLEMA DE RUTEO DE VEHICULOS CON VENTANAS DE TIEMPO Y FLOTA HETEROGENEA DESARROLLO DE MODELOS DE OPTIMIZACION PARA EL PROBLEMA DE RUTEO DE VEHICULOS CON VENTANAS DE TIEMPO Y FLOTA HETEROGENEA Torres Pérez, C.E. 1 Resumen Este documento presenta un desarrollo de modelos de

Más detalles

El problema de ruteo de vehículos

El problema de ruteo de vehículos El problema de ruteo de vehículos Irma Delia García Calvillo Universidad Autónoma de Coahuila FC-UNAM, Agosto 2010 I. García () El problema de ruteo de vehículos FC-UNAM, Agosto 2010 1 / 33 Introducción

Más detalles

Metodología de Sistemas Duros (SD):

Metodología de Sistemas Duros (SD): II UNIDAD: METODOLOGÍA DE SISTEMAS Metodología de Sistemas Duros (SD): Las tres principales metodología de sistemas duros son: 1. Análisis de Sistemas 2. Ingeniería de Sistemas 3. Universidad Abierta 1.

Más detalles

CAPITULO III. Determinación de Rutas de Entregas

CAPITULO III. Determinación de Rutas de Entregas CAPITULO III Determinación de Rutas de Entregas Un importante aspecto en la logística de la cadena de abastecimiento (supply chain), es el movimiento eficiente de sus productos desde un lugar a otro. El

Más detalles

Casos especiales de la P. L.

Casos especiales de la P. L. Casos especiales de la P. L. Las redes: Las redes están presentes en diferentes lugares en la vida real: redes de transporte, flujo eléctrico y comunicaciones, por ejemplo. Las redes: También son ampliamente

Más detalles

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III Metaheurísticas y heurísticas Algoritmos y Estructuras de Datos III Metaheurísticas Heurísticas clásicas. Metaheurísticas o heurísticas modernas. Cuándo usarlas? Problemas para los cuales no se conocen

Más detalles

UNIDAD 4 CONTROL DE PROYECTOS

UNIDAD 4 CONTROL DE PROYECTOS UNIDAD 4 CONTROL DE PROYECTOS TÉCNICAS DE PROGRAMACIÓN Las técnicas de planificación se ocupan de estructurar las tareas a realizar dentro del proyecto, definiendo la duración y el orden de ejecución de

Más detalles

Introducción a la Computación (Matemática)

Introducción a la Computación (Matemática) Introducción a la Computación (Matemática) Heurísticas de Programación Introducción a la Computación Menú del día de hoy Problemas Difíciles P y NP Viajante de Comercio Coloreo Problema de la mochila Ruteo

Más detalles

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

Más detalles

Casos especiales de la P. L.

Casos especiales de la P. L. Casos especiales de la P. L. Las redes: Las redes están presentes en diferentes lugares en la vida real: redes de transporte, flujo eléctrico y comunicaciones, por ejemplo. Las redes: También son ampliamente

Más detalles

Casos especiales de la P. L.

Casos especiales de la P. L. Casos especiales de la P. L. Problemas de flujo mínimo Planteamiento del problema Son problemas de programación lineal con ciertas estructuras especiales Permiten ser trabajados con algoritmos especiales

Más detalles

La sostenibilidad en la distribución urbana de mercancías: situación actual y retos de futuro

La sostenibilidad en la distribución urbana de mercancías: situación actual y retos de futuro La sostenibilidad en la distribución urbana de mercancías: situación actual y retos de futuro D E th Ál d l M Dra. Esther Álvarez de los Mozos esther.alvarez@deusto.es Facultad de Ingeniería, Universidad

Más detalles

Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms)

Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms) PLANIFICACIÓN Y GESTIÓN DE REDES Grado en Ingeniería Telemática Curso 2012-2013 Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms) Autor: Pablo

Más detalles

Optimización Heurística

Optimización Heurística Recocido Simulado (RS) Optimización Heurística Recocido Simulado Problema de la búsqueda local: Como siempre trata de mejorar, se atora en los máximos locales Idea: Escapar de máximos locales permitiendo

Más detalles

Introducción a la Investigación Operativa

Introducción a la Investigación Operativa Introducción a la Investigación Operativa José María Ferrer Caja Universidad Pontificia Comillas Definición Conjunto de métodos científicos que se aplican para mejorar la eficiencia de las operaciones,

Más detalles

Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal. Santiago Balseiro Irene Loiseau Juan Ramonet

Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal. Santiago Balseiro Irene Loiseau Juan Ramonet Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal Santiago Balseiro Irene Loiseau Juan Ramonet Hoja de Ruta Introducción al Problema Algoritmos Interfaz Gráfica

Más detalles

Inteligencia Artificial

Inteligencia Artificial Algoritmos genéticos Bases En la naturaleza todos los seres vivos se enfrentan a problemas que deben resolver con éxito, como conseguir más luz solar o conseguir comida. La Computación Evolutiva interpreta

Más detalles

Optimización de Rutas

Optimización de Rutas LO HACEMOS PARA TI Optimización de Rutas Barcelona 3 Febrero 2011 CONCEPTOS GENERALES Definiciones y terminología Requerimientos, Algoritmos y Restricciones Los grandes números a tener en cuenta Las otras

Más detalles

Breve introducción a la Investigación de Operaciones

Breve introducción a la Investigación de Operaciones Breve introducción a la Investigación de Operaciones Un poco de Historia Se inicia desde la revolución industrial, usualmente se dice que fue a partir de la segunda Guerra Mundial. La investigación de

Más detalles

2.3 Clasificación de modelos matemáticos.

2.3 Clasificación de modelos matemáticos. 2.3 Clasificación de modelos matemáticos. Qué es un modelo? Un modelo es una representación ideal de un sistema y la forma en que este opera. El objetivo es analizar el comportamiento del sistema o bien

Más detalles

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 3 Programación Entera

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 3 Programación Entera OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA Tema 3 Programación Entera ORGANIZACIÓN DEL TEMA Sesiones: Introducción y formulación Variables binarias Métodos de solución OPTIMIZACIÓN DE MODELOS DISCRETOS

Más detalles

Computación en Internet: Librería MALLBA para problemas de optimización

Computación en Internet: Librería MALLBA para problemas de optimización Computación en Internet: Librería MALLBA para problemas de optimización Maria J. Blesa Jordi Petit Fatos Xhafa Departament de Llenguatges i Sistemes Informàtics Universitat Politècnica de Catalunya Campus

Más detalles

8 CONCLUSIONES. Carlos Alberto Agón López

8 CONCLUSIONES. Carlos Alberto Agón López 8 CONCLUSIONES. El trabajo de fin de máster METODOLOGÍAS DE GESTIÓN DE PROYECTOS Y ANÁLISIS DE RIESGOS. APLICACIÓN A LA CONSTRUCCIÓN DE UN PUENTE ATIRANTADO pretende generar la conciencia de tener una

Más detalles

1 CAPÍTULO 1. INTRODUCCIÓN. participan varias disciplinas como marketing, economía industrial, administración de

1 CAPÍTULO 1. INTRODUCCIÓN. participan varias disciplinas como marketing, economía industrial, administración de 1 CAPÍTULO 1. INTRODUCCIÓN La administración de cadenas de abastecimiento (SCM) es todo un campo laboral en el que participan varias disciplinas como marketing, economía industrial, administración de operaciones,

Más detalles

Búsqueda en espacio de estados

Búsqueda en espacio de estados Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología

Más detalles

Dimensionamiento y Planificación de Redes

Dimensionamiento y Planificación de Redes Dimensionamiento y Planificación de Redes Tema 2. Algoritmos Sobre Grafos Calvo Departamento de Ingeniería de Comunicaciones Este tema se publica bajo Licencia: Crea:ve Commons BY- NC- SA 4.0 Búsqueda

Más detalles

Optimización de Problemas de Producción

Optimización de Problemas de Producción Optimización de Problemas de Producción Pedro Piñeyro - Luis Stábile Colaboran: Héctor Cancela - Antonio Mauttone - Carlos Testuri Depto. Investigación Operativa. Instituto de Computación. Facultad de

Más detalles

CAPÍTULO 3. GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica.

CAPÍTULO 3. GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica. CAPÍTULO 3 GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica. Estos problemas se aplican en distintas áreas, tales como:

Más detalles

Son una clase particular de los algoritmos evolutivos.

Son una clase particular de los algoritmos evolutivos. Algoritmos Genéticos (AGs) Los AGs son técnicas de resolución para problemas de Búsqueda Optimización Aprendizaje en máquinas Son una clase particular de los algoritmos evolutivos. Los AGs intentan resolver

Más detalles

cadena de suministro ekon Compras, ekon Ventas y ekon Almacenes Mejora la competitividad de tus procesos logísticos Documentación

cadena de suministro ekon Compras, ekon Ventas y ekon Almacenes Mejora la competitividad de tus procesos logísticos Documentación cadena de suministro ekon Compras, ekon Ventas y ekon Almacenes Mejora la competitividad de tus procesos logísticos Documentación ekon Compras, ekon ventas y ekon almacenes ekon Compras, ekon Ventas y

Más detalles

SOLUCIONES INTEGRADAS PARA LA ADMINISTRACION, GESTION Y CONTROL DE MANTENIMIENTOS DE EQUIPAMIENTO INDUSTRIAL

SOLUCIONES INTEGRADAS PARA LA ADMINISTRACION, GESTION Y CONTROL DE MANTENIMIENTOS DE EQUIPAMIENTO INDUSTRIAL SOLUCIONES INTEGRADAS PARA LA ADMINISTRACION, GESTION Y CONTROL DE MANTENIMIENTOS DE EQUIPAMIENTO INDUSTRIAL BENEFICIOS DE LA INFORMATIZACION DEL MANTENIMIENTO. La implantación del sistema proporciona

Más detalles

Tema: Programación Dinámica.

Tema: Programación Dinámica. Programación IV. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Programación Dinámica. Objetivos Específicos Definir el concepto de programación dinámica. Interpretar

Más detalles

INTRODUCCION AL DISEÑO EDUCATIVO Andrea Paola Leal Rivero. La Academia al servicio de la Vida

INTRODUCCION AL DISEÑO EDUCATIVO Andrea Paola Leal Rivero. La Academia al servicio de la Vida Andrea Paola Leal Rivero La Academia al servicio de la Vida INTRODUCCION El diseño de Software juega un papel importante en el desarrollo de software lo cual permite producir varios modelos del sistema

Más detalles

Algorítmica y Lenguajes de Programación. Algoritmos voraces y divide y vencerás

Algorítmica y Lenguajes de Programación. Algoritmos voraces y divide y vencerás Algorítmica y Lenguajes de Programación Algoritmos voraces y divide y vencerás Algoritmos voraces. Introducción (i) Las personas glotonas (voraces) intentan coger tanto como pueden en cada momento. Los

Más detalles

7. PROGRAMACION LINEAL

7. PROGRAMACION LINEAL 7. PROGRAMACION LINEAL 7.1. INTRODUCCION A LA PROGRMACION LINEAL 7.2. FORMULACION DE UN PROBLEMA LINEAL 7.3. SOLUCION GRAFICA DE UN PROBLEMA LINEAL 7.4. CASOS ESPECIALES DE PROBLEMAS LINEALES 7.4.1. Problemas

Más detalles

CONCLUSIONES. 1. La implementación del Recocido Simulado V.2 es una versión fácil de

CONCLUSIONES. 1. La implementación del Recocido Simulado V.2 es una versión fácil de CONCLUSIONES 1. La implementación del Recocido Simulado V.2 es una versión fácil de utilizar, sencilla en codificación, ocupa poco espacio en disco; haciéndolo un software manejable y adaptable a cualquier

Más detalles

Formulando con modelos lineales enteros

Formulando con modelos lineales enteros Universidad de Chile 19 de marzo de 2012 Contenidos 1 Forma de un problema Lineal Entero 2 Modelando con variables binarias 3 Tipos de Problemas Forma General de un MILP Problema de optimización lineal

Más detalles

IN34A - Optimización

IN34A - Optimización IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,

Más detalles

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS. INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.7 GRAFOS CONEXOS7 ÁRBOLES..7 BOSQUES DE ÁRBOLES...8 RECORRIDO DE UN GRAFO..8

Más detalles

Formulación del problema de la ruta más corta en programación lineal

Formulación del problema de la ruta más corta en programación lineal Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,

Más detalles

Introduciendo Robustez Recuperable en el Diseño de Redes a través de la Aversión al Riesgo

Introduciendo Robustez Recuperable en el Diseño de Redes a través de la Aversión al Riesgo Introduciendo Robustez Recuperable en el Diseño de Redes a través de la Aversión al Riesgo LUIS CADARSO UNIVERSIDAD REY JUAN CARLOS Universidad Nacional Autónoma de México Instituto de Ingeniería México

Más detalles

Programa del Curso I Semestre, 2018

Programa del Curso I Semestre, 2018 Programa del Curso I Semestre, 2018 Métodos Cuantitativos para la Toma de Decisiones Datos Generales Sigla: IF-7200 Nombre del curso: Métodos Cuantitativos para la Toma de Decisiones Tipo de curso: Teórico-práctico

Más detalles

7. PARAMETRIZACIÓN SOBRE LA RED DE PRUEBA

7. PARAMETRIZACIÓN SOBRE LA RED DE PRUEBA 7. PARAMETRIZACIÓN SOBRE LA RED DE PRUEBA 7.1. Red de prueba Para realizar el análisis de los parámetros del problema e intentar encontrar los valores óptimos de estos se ha hecho uso de un modelo de ciudad

Más detalles

ALGORITMOS DE BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa

ALGORITMOS DE BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa ALGORITMOS DE BÚSQUEDA Algoritmos de Búsqueda Tipos Tipos de algoritmos de búsqueda ALGORITMOS DE BÚSQUEDA NO INFORMADA ALGORITMOS DE BÚSQUEDA HEURÍSTICA Búsqueda no informada Introducción Búsqueda no

Más detalles

OPTIMIZACIÓN Y SIMULACIÓN EN LA EMPRESA Tema 1 Introducción

OPTIMIZACIÓN Y SIMULACIÓN EN LA EMPRESA Tema 1 Introducción OPTIMIZACIÓN Y SIMULACIÓN EN LA EMPRESA Tema 1 Introducción OBJETIVOS DEL CURSO Objetivos del curso: Identificar, modelar y resolver problemas de toma de decisiones Ser capaces de entender y abordar las

Más detalles

LOGISTICA COMERCIAL 1

LOGISTICA COMERCIAL 1 LOGISTICA COMERCIAL 1 Logística comercial http://.isftic.mepsyd.es/3/eos/recursosfp/comerciomarketing/gradosuperior/gestcommar/ modulo6/index.htm Presentación Disponer en nuestro hogar de artículos fabricados

Más detalles

Modelos y Toma de Decisiones

Modelos y Toma de Decisiones Modelos y Toma de Decisiones Toma de decisiones Keeney (2004) define decisiones como situaciones donde se reconce que hay que hacer una selección a conciencia de un curso de acción. Es la emisión de un

Más detalles

Modelos de transporte: Problema del vendedor viajero. M. En C. Eduardo Bustos Farías

Modelos de transporte: Problema del vendedor viajero. M. En C. Eduardo Bustos Farías Modelos de transporte: Problema del vendedor viajero M. En C. Eduardo Bustos Farías as Variantes al problema de transporte Oferta no igual a la demanda total: Se agrega una columna de holgura en la tabla

Más detalles

PREFACIO... xvi. CAPÍTULO 1 Introduction... 1

PREFACIO... xvi. CAPÍTULO 1 Introduction... 1 ÍNDICE PREFACIO... xvi CAPÍTULO 1 Introduction... 1 1.1 Orígenes de la investigación de operaciones... 1 1.2 Naturaleza de la investigación de operaciones... 2 1.3 Efecto de la investigación de operaciones...

Más detalles

Tema: Programación Dinámica.

Tema: Programación Dinámica. Programación IV. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Programación Dinámica. Objetivos Específicos Definir el concepto de programación dinámica. Interpretar

Más detalles

Pensando en Modelos. H. R. Alvarez A., Ph. D.

Pensando en Modelos. H. R. Alvarez A., Ph. D. Pensando en Modelos H. R. Alvarez A., Ph. D. Modelos y la toma de decisiones La idea no es nueva: mapas, diagramas de flujo, gráficas y ecuaciones básicas. http://negocios.maimonides.edu/%c2%a1a-tomar-mejoresdecisiones-gerenciales/

Más detalles

Técnicas de planificación y control de proyectos Andrés Ramos Universidad Pontificia Comillas

Técnicas de planificación y control de proyectos Andrés Ramos Universidad Pontificia Comillas Técnicas de planificación y control de proyectos Andrés Ramos Universidad Pontificia Comillas http://www.iit.upcomillas.es/aramos/ Andres.Ramos@upcomillas.es TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Más detalles

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari Fundamentos de Programación Entera A. Revisión Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República 2012-2018

Más detalles

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO. INGENIERÍA EN SISTEMAS COMPUTACIONALES. Materia: Inteligencia Artificial. Catedrático:

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO. INGENIERÍA EN SISTEMAS COMPUTACIONALES. Materia: Inteligencia Artificial. Catedrático: INSTITUTO TECNOLÓGICO DE NUEVO LAREDO. INGENIERÍA EN SISTEMAS COMPUTACIONALES. Materia: Inteligencia Artificial. Catedrático: Ing. Bruno López Takeyas. Tema Equipo 3 : Hill Climbing. Alumnos: Alvarado

Más detalles

Modelos de Transporte: Problemas de asignación n y de transbordo. M. En C. Eduardo Bustos Farías

Modelos de Transporte: Problemas de asignación n y de transbordo. M. En C. Eduardo Bustos Farías Modelos de Transporte: Problemas de asignación n y de transbordo M. En C. Eduardo Bustos Farías as Problemas de Asignación 2 Problemas de Asignación: Son problemas balanceados de transporte en los cuales

Más detalles

Ing. Eduard del Corral Cesar Carpio

Ing. Eduard del Corral Cesar Carpio República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Nacional Experimental Romúlo Gallegos Ingeniería Informática Área de Sistemas Cátedra: Métodos Numéricos.

Más detalles

ÍNDICE ÍNDICE DE FIGURAS ÍNDICE DE TABLAS PREFACIO LOS SISTEMAS PRODUCTIVOS SECCIÓN I PREVISIÓN DE LA DEMANDA

ÍNDICE ÍNDICE DE FIGURAS ÍNDICE DE TABLAS PREFACIO LOS SISTEMAS PRODUCTIVOS SECCIÓN I PREVISIÓN DE LA DEMANDA ÍNDICE ÍNDICE DE FIGURAS... 15 ÍNDICE DE TABLAS... 21 PREFACIO... 25 1. LOS SISTEMAS PRODUCTIVOS... 29 1.1. Introducción... 31 1.2. Elementos de diseño del proceso... 32 1.2.1. Localización de la planta...

Más detalles

CONTENIDO Prefacio CAPITULO 1: Qué es la investigación de operaciones? CAPITULO 2: Introducción a la programación lineal...

CONTENIDO Prefacio CAPITULO 1: Qué es la investigación de operaciones? CAPITULO 2: Introducción a la programación lineal... CONTENIDO Prefacio XV CAPITULO 1: Qué es la investigación de operaciones? 1 1.1 Modelos de investigación de operaciones 1 1.2 Solución del modelo de investigación de operaciones.. 4 1.3 Modelos de colas

Más detalles

Curso: Teoría, Algoritmos y Aplicaciones de Gestión Logística. Modelos de Inventarios, Parte 2

Curso: Teoría, Algoritmos y Aplicaciones de Gestión Logística. Modelos de Inventarios, Parte 2 Curso: Teoría, Algoritmos y Aplicaciones de Gestión Logística. Modelos de Inventarios, Parte 2 Departamento de Investigación Operativa Instituto de Computación, Facultad de Ingeniería Universidad de la

Más detalles

CI63G Planificación de Sistemas de Transporte Público Urbano. Clase 12 Semestre Otoño 2008

CI63G Planificación de Sistemas de Transporte Público Urbano. Clase 12 Semestre Otoño 2008 CI63G Planificación de Sistemas de Transporte Público Urbano Clase 12 Semestre Otoño 2008 Modelos de asignación de Transporte Público Para una oferta y demanda dadas de transporte público, se decide como

Más detalles

El análisis de los problemas de localización es un área fértil de investigación

El análisis de los problemas de localización es un área fértil de investigación El análisis de los problemas de localización es un área fértil de investigación desde principios de siglo. El primer modelo de localización fue propuesto por Alfred Weber en 1909 [1], y domino por muchos

Más detalles

Problemas: formulación, ejemplos, representación de soluciones y estructuras de entorno

Problemas: formulación, ejemplos, representación de soluciones y estructuras de entorno Problemas: formulación, ejemplos, representación de soluciones y estructuras de entorno Christopher Expósito Izquierdo, J. Marcos Moreno Vega cexposit@ull,es, jmmoreno@ull.es Departamento de Ingeniería

Más detalles

Conceptos básicos estadísticos

Conceptos básicos estadísticos Conceptos básicos estadísticos Población Población, en estadística, también llamada universo o colectivo, es el conjunto de elementos de referencia sobre el que se realizan las observaciones. El concepto

Más detalles

Tema: Recorrido de Grafos. Ruta más corta

Tema: Recorrido de Grafos. Ruta más corta PED104. Guía N 12 Página 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación con Estructuras de Datos Tema: Recorrido de Grafos. Ruta más corta Competencia Desarrolla sistemas de información

Más detalles

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco.

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco. Semana 4: Métodos de Búsqueda No informados Prof. Oscar Benito Pacheco. Estrategias de Búsqueda Búsqueda No Informada Búsqueda Informada (Ciega) (Heurística) 1. Búsqueda preferente por amplitud 2. Búsqueda

Más detalles

Complejidad Computacional

Complejidad Computacional Complejidad Computacional Clasificación de Problemas Teoría de la Complejidad Estudia la manera de clasificar algoritmos como buenos o malos. Estudia la manera de clasificar problemas de acuerdo a la dificultad

Más detalles

Métodos heurísticos y estocásticos para búsqueda de óptimos

Métodos heurísticos y estocásticos para búsqueda de óptimos Reconocimiento estadístico de patrones Métodos heurísticos y estocásticos para búsqueda de óptimos Grupo de Tecnología del Habla Departamento de Ingeniería Electrónica E.T.S.I. Telecomunicación Universidad

Más detalles

CAPÍTULO 2. MARCO TEÓRICO. el sistema; la segunda parte que tratará de la metaheurística Búsqueda Tabú, sus

CAPÍTULO 2. MARCO TEÓRICO. el sistema; la segunda parte que tratará de la metaheurística Búsqueda Tabú, sus CAPÍTULO 2. MARCO TEÓRICO La finalidad de este capítulo es los conceptos teóricos en que se basa la metodología que se aplican en el desarrollo de la investigación., el cual comprende dos partes: la primera

Más detalles

Modelos de Transporte: Problemas de Asignación. M. En C. Eduardo Bustos Farías

Modelos de Transporte: Problemas de Asignación. M. En C. Eduardo Bustos Farías Modelos de Transporte: Problemas de asignación M. En C. Eduardo Bustos Farías as Problemas de Asignación Problemas de Asignación: Son problemas balanceados de transporte en los cuales todas las ofertas

Más detalles

Modelos de Redes: Problema del flujo máximom. M. En C. Eduardo Bustos Farías

Modelos de Redes: Problema del flujo máximom. M. En C. Eduardo Bustos Farías Modelos de Redes: Problema del flujo máimom M. En C. Eduardo Bustos Farías as Problema del flujo máimom Problema del flujo máimom Este modelo se utiliza para reducir los embotellamientos entre ciertos

Más detalles

CAPITULO 1: PERSPECTIVE GENERAL DE LA

CAPITULO 1: PERSPECTIVE GENERAL DE LA CONTENIDO CAPITULO 1: PERSPECTIVE GENERAL DE LA INVESTIGACION DE OPERACIONES 1 1.1 Modelos matemáticos de investigación de operaciones. 1 1.2 Técnicas de investigación de operaciones 3 1.3 Modelado de

Más detalles

La Marca Del Líder Roadnet UPS Logistic Technologies, Unidad de Negocios de UPS, Rutas Óptimas de Calles Rutas Óptimas = Mayores Ganancias Roadnet

La Marca Del Líder Roadnet UPS Logistic Technologies, Unidad de Negocios de UPS, Rutas Óptimas de Calles Rutas Óptimas = Mayores Ganancias Roadnet 1 La Marca Del Líder Roadnet es la Solución de UPS Logistic Technologies, Unidad de Negocios de UPS, para crear cotidianamente las Rutas Óptimas de Calles por donde transitarán los vehículos y vendedores

Más detalles

INTRODUCCIÓN Y OBJETIVOS

INTRODUCCIÓN Y OBJETIVOS CAPÍTULO 1 INTRODUCCIÓN Y OBJETIVOS Una terminal marítima de contenedores es un sistema complejo y dinámico en el que se han de cubrir los servicios demandados por los clientes. El control, diseño y optimización

Más detalles

La Programación Lineal. H. R. Alvarez A., Ph. D. 1

La Programación Lineal. H. R. Alvarez A., Ph. D. 1 La Programación Lineal H. R. Alvarez A., Ph. D. 1 Aspectos generales Se considera a George Dantzig el padre de la P. L. Su objetivo es el de asignar recursos escasos a actividades que compiten por ellos.

Más detalles

ALGORÍTMICA

ALGORÍTMICA ALGORÍTMICA 2012-2013 Parte I. Introducción a las Metaheurísticas Tema 1. Metaheurísticas: Introducción y Clasificación Parte II. Métodos Basados en Trayectorias y Entornos Tema 2. Algoritmos de Búsqueda

Más detalles

6.6 DESARROLLAR EL CRONOGRAMA

6.6 DESARROLLAR EL CRONOGRAMA Dante Guerrero-Chanduví Piura, 2015 FACULTAD DE INGENIERÍA Área departamental de Ingeniería Industrial y de Sistemas Esta obra está bajo una licencia Creative Commons Atribución- NoComercial-SinDerivadas

Más detalles

3. HERRAMIENTAS DE OPTIMIZACIÓN DEL SISTEMA ELÉCTRICO

3. HERRAMIENTAS DE OPTIMIZACIÓN DEL SISTEMA ELÉCTRICO 3. HERRAMIENTAS DE OPTIMIZACIÓN DEL SISTEMA ELÉCTRICO Con el objetivo de optimizar el control de tensiones y la potencia reactiva se han desarrollado y se continúan desarrollando métodos, técnicas y algoritmos

Más detalles

Contenidos. Actividades Estocásticas Tipos de Modelos Métodos Numéricos Optimización Programación Lineal Aplicaciones con Solver Excel

Contenidos. Actividades Estocásticas Tipos de Modelos Métodos Numéricos Optimización Programación Lineal Aplicaciones con Solver Excel Contenidos Modelación de Sistemas Actividades Estocásticas Tipos de Modelos Métodos Numéricos Optimización Programación Lineal Aplicaciones con Solver Excel Modelación de Sistemas Sistema: Conjunto de

Más detalles

Casos especiales de la P. L.

Casos especiales de la P. L. Casos especiales de la P. L. Programación Lineal Entera Un modelo de programación lineal que no acepta soluciones fraccionales. En este caso, la formulación es similar a la de un problema general de programación

Más detalles

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos: PROGRAMACIÓN DINÁMICA RELACIÓN DE EJERCICIOS Y PROBLEMAS 1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila /1 para los siguientes casos: a. Mochila de capacidad W=15:

Más detalles

Descripción del problema:

Descripción del problema: PROBLEMA DEL AGENTE VIAJERO USANDO BÚSQUEDA TABU PROYECTO FINAL PROGRAMACIÓN CIENTIFICA ANGELES BAEZ OLVERA 4 JUNIO 2009 Descripción del problema: El problema del agente viajero o TSP como se le conoce

Más detalles

SIMETRÍA INFINITA. nt = kt

SIMETRÍA INFINITA. nt = kt SIMETRÍA INFINITA Al considerar el cristal como un medio periódico en el cual un grupo de átomos (el motivo) se repite en las tres dimensiones del espacio, de manera que entre dos puntos homólogos de dos

Más detalles

COMPUTACIÓN BIOLÓGICA

COMPUTACIÓN BIOLÓGICA COMPUTACIÓN BIOLÓGICA Pedro Isasi 1 1 Departamento de Informática Universidad Carlos III de Madrid Avda. de la Universidad, 30. 28911 Leganés (Madrid). Spain email: isasi@ia.uc3m.es Presentación TEMARIO

Más detalles