Source: http://docplayer.es/2497550-Diseno-y-desarrollo-de-un-sistema-de-apoyo-a-las-decisiones-de-ruteo-maritimo-para-un-proveedor-de-alimentos-de-la-industria-del.html
Timestamp: 2017-12-13 11:37:26+00:00

Document:
DISEÑO Y DESARROLLO DE UN SISTEMA DE APOYO A LAS DECISIONES DE RUTEO MARITIMO PARA UN PROVEEDOR DE ALIMENTOS DE LA INDUSTRIA DEL - PDF
DISEÑO Y DESARROLLO DE UN SISTEMA DE APOYO A LAS DECISIONES DE RUTEO MARITIMO PARA UN PROVEEDOR DE ALIMENTOS DE LA INDUSTRIA DEL
Download "DISEÑO Y DESARROLLO DE UN SISTEMA DE APOYO A LAS DECISIONES DE RUTEO MARITIMO PARA UN PROVEEDOR DE ALIMENTOS DE LA INDUSTRIA DEL"
José María Zúñiga Herrero
1 UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE INGENIERÍA INDUSTRIAL DISEÑO Y DESARROLLO DE UN SISTEMA DE APOYO A LAS DECISIONES DE RUTEO MARITIMO PARA UN PROVEEDOR DE ALIMENTOS DE LA INDUSTRIA DEL SALMÓN MEMORIA PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIAL GONZALO IGNACIO ROMERO YÁÑEZ PROFESOR GUÍA: SR. ANDRÉS WEINBTRAUB PROFESOR CO-GUÍA: SR. GUILLERMO DURÁN MIEMBROS DE LA COMISIÓN EVALUADORA: SR. CRISTIÁN CORTÉS SANTIAGO DE CHILE AGOSTO 2008
2 Resumen El resumen determina la pertinencia de la investigación y permite decidir al lector si el documento es de su interés. Debe dar cuenta en forma objetiva, clara, breve y simple del contenido de la obra, sin interpretaciones, juicios de valor, ni críticas expresadas por el autor. II
3 Índice general 1. Introducción Descripción del Problema La Empresa Operaciones de Producción y Transporte Terrestre Despacho Marítimo de Pedidos Objetivos Objetivo General Objetivos Específicos Marco Teórico Ruteo y Programación de Buques Principales Estudios en Ruteo y Programación de Buques VRP con Ventanas de Tiempo (VRPTW) Principales Estudios en el VRPTW VRP con Flota Heterogénea (HVRP) Principales Trabajos en el HVRP Metodologías de Solución Búsqueda Local en el VRP: Intercambio de Arcos III
4 3. Formulación del Problema Formulación Inicial Modelo Modelo Observaciones al Modelo Matemático Inicial Métodos Heurísticos: GRASP Generación de Solución Inicial Factible Búsqueda Local Diversificación Implementación del Modelo Definición de la Red Caracterización de los Clientes Caracterización de las Distancias Inserción de Nuevos Clientes Caracterización de los Buques Caracterización de los Tiempos de Viaje Desarrollo del Prototipo Interfaces Análisis de los resultados Desarrollo Futuro del Sistema de Apoyo a las Decisiones Conclusiones Investigación Futura Problema Robusto Problema Estocástico de Ruteo de Inventario (SIRP) IV
5 Índice de cuadros 1.1. Buques Utilizados en el Transporte de Alimentos, Capacidades y Región en la que Operan V
6 Índice de figuras 1.1. Participación de Mercado en Chile Intercambio 2-Opt Operador Relocation Operador GENI Operador Exchange Operador Crossover Intercambio CROSS Interfaz, Solapa de Demandas Interfaz, Solapa de Evaluación VI
7 Capítulo 1 Introducción Para la industria salmonicultora una de las principales preocupaciones es el cultivo de salmones en el mar. Cuando los peces pasan su etapa temprana de crecimiento es necesario llevarlos, desde su criadero en agua dulce, al mar a jaulas de contención, las que consisten en unas mallas de nylon con distintas dimensiones. Los salmones deben permanecer en estas redes un tiempo de 16 a 18 meses, dependiendo de la especie, donde son alimentados y monitoreados para su posterior extracción, procesamiento y venta. Durante la permanencia de los salmones en el mar, éstos deben ser alimentados regularmente con distintos productos según su etapa de desarrollo, y nivel de calidad deseada del producto final. Así, contar con los alimentos adecuados, en el momento y lugar adecuados, resulta un requisito fundamental para alcanzar los niveles de producción y calidad objetivos de los productores de salmón. En efecto, no contar con los alimentos adecuados en el momento indicado puede causar grandes pérdidas para las empresas salmoneras, puesto que se pueden generar problemas de crecimiento de los peces, con lo que se requiere un mayor tiempo para que alcancen el peso ideal para ser cosechados. Además del costo de oportunidad que se genera porque la malla no puede ser utilizada por 7
8 otro grupo de salmones. Por otra parte, surge también el problema de reducción de la calidad de los salmones, ya que se pueden alterar las características requeridas de pigmentación, niveles de grasa, y color que les permiten alcanzar su máximo potencial biológico, dificultando la obtención de los más altos estándares de calidad necesarios para competir en el exigente mercado global. En este contexto, cobra particular importancia que la logística de las empresas proveedoras de alimento para salmones sea desarrollada con eficacia y eficiencia. En particular, los temas de pronóstico de demanda, manejo de inventarios y ruteo de vehículos abren importantes oportunidades para reducir los costos de la cadena de abastecimiento, sin afectar negativamente la calidad del servicio entregada a los clientes. En la presente memoria de título se planea obtener el prototipo de un modelo de apoyo a la toma de decisiones de ruteo de buques, desde la planta de producción hasta los clientes, para la empresa proveedora de alimentos para la industria acuícola Skretting. Esta firma provee productos y servicios de vanguardia en el área de la nutrición, a los acuicultores de la X y XI regiones de Chile para la producción sustentable de salmones. A contar del inicio del año 2008, Skretting realiza sus operaciones de transporte marítimo en conjunto con la naviera Kochifas, la que opera principalmente desde el puerto privado de Skretting, ubicado en Pargua, X Región. En este proceso, Skretting es el tomador de decisiones en la asignación de centros de cultivo para despachar a cada buque, y en el posterior ruteo de los mismos. En este contexto, al reconocer que las decisiones de cuántos buques utilizar en las operaciones de transporte de alimentos y qué programación de actividades asignarles a cada uno no son sencillas, debido a que existe una gran cantidad de combinaciones posibles y la combinación ideal entre el largo de las rutas y el nivel de uso de los buques puede ser difícil de encontrar manualmente, es que surge la motivación de generar una herramienta que apoye estas decisiones. Abordar el tema de ruteo de buques, así como muchos otros de gestión de opera- 8
9 ciones, en la industria salmonicultora puede constituir un gran aporte, debido a que al tratarse de la tercera actividad exportadora a nivel nacional está sujeta a la competencia del mercado global de manera mucho más evidente que otras industrias, lo que la impulsa a estar permanente intentando disminuir el costo de sus operaciones para poder ser competitiva. La presente memoria de titulo está inserta en un proyecto de cooperación entre el Departamento de Ingeniería Industrial de la Universidad de Chile y Skretting, mediante el cual se pretende optimizar la gestión de flota de transporte marítimo de la empresa, incluyendo decisiones estratégicas como cuántos buques utilizar y de qué características, así como decisiones operacionales como la asignación diaria de actividades para cada buque. 9
10 1.1. Descripción del Problema La Empresa Las empresas Skretting constituyen hoy el grupo líder en producción de alimento para peces de cultivo en el mundo. Suple un 40 % de la demanda global de alimento y cuenta con más de empleados. Su producción anual de alimentos de alta calidad supera el millón de toneladas y es proveedor de dietas para más de 50 especies de peces de cultivo. Las instalaciones del grupo orientadas a la producción de alimento se ubican en Australia, Canadá, Chile, Francia, España, Irlanda, Italia, Japón, Noruega y Reino Unido. En Chile, Skretting es una compañía líder y pionera. Cuenta con tres plantas de alimento, ubicadas en la Décima región (Osorno, Pargua y Puerto Montt), operadas por más de 300 empleados de primer nivel y distribuye sus productos a los centros de cultivo de las regiones X y XI. Desde sus inicios a fines de la década de los años 80, la política de desarrollo de la empresa ha sido introducir innovaciones tecnológicas y en procedimientos productivos. La empresa fue la pionera en entregar dietas extraídas en Chile, primera en ofrecer a sus clientes productos de alta energía, primera en realizar fuertes inversiones ambientales de última generación y ha sido pionera en reorientar sus procesos hacia la calidad alimenticia del consumidor final del salmón. Skretting es una empresa certificada bajo las normas ISO 9001 e ISO y, además de la producción de dietas, cuenta con una consolidada área de asistencia técnica orientada a asesorar y satisfacer los requerimientos particulares de sus clientes. En el año 2006 la participación de mercado de Skretting en el país fue del 34 %, siendo la empresa con mayores ventas a nivel nacional como se observa en la Figura
11 Figura 1.1: Participación de Mercado en Chile Operaciones de Producción y Transporte Terrestre Actualmente Skretting cuenta con tres plantas productoras ubicadas en la X región, en Osorno, Pargua y Puerto Montt, con las cuales suple de alimento para salmones a 160 centros de cultivo aproximadamente pertenecientes a 15 clientes. Los clientes le entregan una planificación quincenal de sus demandas de distintos productos en sus centros de cultivo. El plazo de entrega máximo en centro es 10 días corridos para la X región y 15 días corridos para la XI región, a partir del cumplimiento de los siguientes requisitos: Orden de compra, especificando: calibre, dieta, volumen y tipo de envase. Programa de entrega que debe a lo menos indiciar: día de entrega, volumen, calibre, dieta y tipo de envase por centro. Con la recepción en planta de los aditivos suministrados, cuando es por parte del cliente, y toda la documentación técnica necesaria para la autorización de ingreso de dichos aditivos. 11
12 El transporte terrestre es operado con un sistema mixto, con algunos camiones propios y la mayoría subcontratados, utilizando 26 camiones mensualmente en promedio. Los productos se transportan vía terrestre desde las plantas de Osorno o Puerto Montt hacia Pargua, con una ruta única en cada caso, la cual no demora más de dos horas y media en realizarse. En este contexto, el transporte terrestre ofrece escasas oportunidades de mejora, más allá de la adecuada coordinación con el transporte marítimo Despacho Marítimo de Pedidos A contar del año 2008, Skretting comenzó a suplir la demanda de sus clientes directamente desde su puerto privado, ubicado junto a la planta de producción de Pargua, utilizando la flota de buques de Kochifas complementada con dos buques arrendados, cuyos costos fijos y variables dependen directamente de la empresa. En este contexto, Skretting pasó a ser el tomador de decisiones de las rutas de los buques que sirven a sus clientes. En efecto, diariamente el programador de despacho marítimo de la empresa debe decidir qué pedidos asignar a cada uno de los buques disponibles, y luego en qué orden se realizara el despacho, es decir, decide la ruta de cada uno de los buques de modo de satisfacer la demanda de los clientes. Este proceso lo realiza manualmente el programador de transporte de al empresa, utilizando su experiencia para intentar balancear el largo de las rutas con el nivel de carga de los buques. No existen reglas fijas para tomar las decisiones de ruteo, pero dentro de los criterios utilizados destacan: Se busca que las naves zarpen con el mayor porcentaje de su capacidad utilizada. Los buques realizan recorridos por sectores definidos en temporada alta, mientras que en temporada baja pueden pasar de un sector a otro. Mientras más lejano es el destino se utilizan buques más grandes Respetar restricciones físicas como que los buques más grandes no pueden suplir a 12
13 centros con bodegas pequeñas, ya que no cuentan con las instalaciones adecuadas para recibirlos. Por otro lado, el programador de Skretting debe tomar en cuenta los problemas de bioseguridad que enfrenta la industria al definir la secuencia en que un buque visita los centros de cultivo que se le asignan. Actualmente, el mayor problema de bioseguridad que afecta a la industria es el virus ISA en los salmones y su difícil manejo, lo que genera que los centros de cultivo se clasifiquen, según una publicación periódica oficial de Sernapesca, en cuatro categorías, las que ordenadas en riesgo ascendente son: Libre, Cuarentena, Sospechoso y Brote. Así, un buque no puede visitar a un centro de menor riesgo de bioseguridad a los que ya ha visitado, sin antes someterse a un proceso de desinfección, el que se realiza solamente en puertos como el de la empresa en Pargua, o en Puerto Montt. Estas restricciones aumentan de manera importante la complejidad de la generación manual de rutas, favoreciendo el desarrollo de herramientas de apoyo a las decisiones. Es esperable que los riesgos de bioseguridad estén muy lejos de terminar, incluso con la potencial erradicación o adecuada convivencia con el virus ISA; por lo que es probable que se transformen en una constante que la industria salmonera deberá incorporar en sus operaciones en el futuro. Los centros de cultivo de los clientes de Skretting se dividen en un 65 % en la X región y el 35 % restante en la XI región, y cada una de ellas representa un sistema de operación distinto, tanto en la frecuencia y tamaño de los pedidos de parte de los clientes, como en tiempos de viaje y tipo de buques que realizan los despachos en cada región. 13
14 X Región Los tiempos de viaje entre el puerto de Pargua y los centros de cultivo de la X región, en condiciones ideales, varían entre 1 y 13 horas. Además, la mayoría de los centros de cultivo ubicados en la X región cuentan con bodegas pequeñas, de 80 toneladas de capacidad aproximadamente, por lo que realizan pedidos frecuentemente y son visitados 3 veces a la semana en promedio. La mayoría de los buques que operan en la X región son pequeños, con capacidades de 100 a 250 toneladas, y no resulta rentable enviarlos a la XI región, además de que el cruce del Canal del Corcovado puede resultar muy peligroso para este tipo de naves si hay mal tiempo. Por otra parte, la mayoría de los centros de cultivo están en condiciones de recibir los despachos entre las 8.00 y las horas, ya que fuera de este horario no cuentan con la cantidad de personal suficiente como para permitir descargar un barco debido a que los operarios residen en los pueblos cercanos a los centros de cultivo. Sin embargo, si un buque llega tarde con el alimento, en general lo descargan muy rápido, ya que significa que el centro no cuenta con alimento para los peces. Actualmente se están desarrollando negociaciones entre Skretting y sus clientes, en las que se espera llegar a un acuerdo que permita ampliar las ventanas de tiempo y distribuir entre ambas partes los beneficios potenciales que dicho acuerdo puede significar en las operaciones de despacho marítimo. Es interesante destacar que una herramienta de apoyo a las decisiones permite estimar dichos ahorros potenciales, por lo que resulta muy atractivo desarrollar una versión táctica que permita hacer análisis de decisiones de mediano plazo. Una extensión de esas características escapa al alcance de la presente memoria. En conclusión, el conjunto de estas características genera que las rutas que se utilizan en la X región sean de 1 a 2 días de duración, alcanzando 3 días solo en casos excepcionales. En promedio, cada día se programan entre 2 y 6 buques, los que visitan 14
15 de 4 a 8 centros cada uno. Finalmente, es importante destacar que el caso en que la demanda y la capacidad de los buques disponibles coincide, rara vez ocurre. En efecto, lo común es que sea necesario postergar carga o bien adelantar carga de días posteriores con el fin de asegurar una alta utilización de la capacidad de los buques. En el caso en que la demanda supera la capacidad de los buques disponibles, el programador de Skretting prefiere entregar al menos un 60 % de la cantidad ordenada a cada centro de cultivo, buscando evitar los graves problemas que acarrea a los clientes quedarse sin alimento por un día completo. El criterio que se utiliza para definir los centros de cultivo a los que se les entrega una cantidad menor a la requerida es considerar, en primer lugar, a los centros más cercanos al puerto, ya que todos los días los buques que zarpan de Pargua pasan cerca de ellos, siendo más fácil agregar la carga que se les adeuda sin alterar los tracks de navegación. En segundo lugar, se evalúa la demanda estimada para el día siguiente, y se consideran los centros de cultivo ubicados en zonas que presentan una alta demanda, por lo que necesariamente se considerarán en la próxima programación. Por último, existen centros que por su ubicación geográfica, o por estar contaminados por virus, son difíciles de agregar a una ruta sin generar problemas, por lo que en general se intenta entregar el pedido completo en la fecha requerida por el cliente. En el caso en que la demanda es menor a la capacidad de los buques disponibles, pero no lo suficiente como para permitir utilizar una nave menos, el programador de Skretting carga pedidos del día siguiente para que los buques los pasen a dejar a la vuelta de su recorrido, generando de este modo rutas temporalmente más largas, ya que consideran que la nave se debe fondear 1 durante la noche para seguir repartiendo al día siguiente. 1 En el contexto marino, significa asegurarse por medio de anclas en un sector protegido, para descansar o evitar un temporal 15
16 XI Región Los tiempos de viaje desde el puerto de Pargua a los centros de la XI región, en condiciones ideales, varían entre 15 y 30 horas, lo que implica condiciones de operación muy distintas a la X región. En particular, los centros de cultivo deben realizar sus pedidos con mayor antelación que los clientes de la X región, y frecuentemente son más flexibles para negociar variaciones en la cantidad ordenada de modo de ajustar la demanda a la capacidad de los buques disponibles. La mayoría de los clientes de la XI región utilizan pontones 2 de 250 toneladas de capacidad, por lo que dominan las economías de escala y hacen un gran pedido una vez a la semana. Por otro lado, la mayoría de los buques que opera en la XI región, salvo emergencias generadas por mantenciones correctivas de alguna de las naves, tienen una capacidad de entre 300 y toneladas, y un tamaño que les permite enfrentar el característico clima adverso de la zona. Los horarios de de recepción de pedidos de los centros tienden a ser más amplios que en los centros de cultivo de la X región, ya que los operarios generalmente residen las 24 horas del día en ellos, debido a que su ubicación geográfica es muy distante de los pueblos de la región. En efecto, existen clientes que aceptan recibir pedidos hasta las 22 horas, e incluso algunos hasta altas horas de la madrugada. Por lo tanto, el conjunto de estas características genera que las rutas que se utilizan en la XI región sean de 4 a 7 días de duración, dependiendo principalmente de la capacidad del buque. En promedio, cada semana se programan de 3 a 5 buques, los que realizan entregas en 5 a 10 centros de cultivo cada uno. 2 En el contexto acuícola, corresponden a bodegas flotantes en las que se almacena el alimento u otros elementos necesarios en la operación de los centros de cultivo 16
17 Buque Capacidad [Ton.] Región ALEXANDER 135 X ANNA MARTIN 860 XI ANTONIO 550 XI ATHINA 125 X CHRISTOPHER 135 X CLAUDIO III 210 X CARLOS III 300 XI CARLOS MILLER 860 XI CAVALA 500 XI DON ANESTIS 1100 XI DOÑA AMELIA 400 XI EIDSVAAG 520 XI FRANZ 210 X ISABEL 90 X MARIA TERESA 140 X MARIANA 95 X MICHALIS 150 X MIMI 160 X MIMI DE LOS ANGELES 135 X NAVARINO 220 XI STEPHANOS 300 XI TAMARA 90 X VALENTINA 170 X Cuadro 1.1: Buques Utilizados en el Transporte de Alimentos, Capacidades y Región en la que Operan. Luego, debido a estas características significativamente distintas entre ambas regiones, la empresa divide las operaciones de despacho marítimo de pedidos en dos procesos de toma de decisiones distintos, uno para cada región, situación que se mantendrá en la presente memoria. Es importante destacar que los buques utilizados por Kochifas tienen distintas capacidades y costos de operación, lo que dificulta aún más su asignación óptima. En el Cuadro 1.1 se expone un subconjunto de los buques utilizados por la naviera para transportar los productos de Skretting, sus capacidades y la Región en que operan. Luego, el problema que debe resolver el programador de despacho marítimo de 17
18 Skretting se puede esquematizar como sigue: Determinar el programa de despacho a clientes, utilizando una flota de buques heterogénea en capacidad, costos fijos y costos variables; minimizando los costos de transporte y satisfaciendo las siguientes restricciones: 1. Cada pedido debe ser entregado respetando, dentro de lo posible, una ventana de tiempo. 2. La capacidad de cada buque debe ser respetada. 3. En caso de no poder satisfacer toda la demanda, cada centro debe recibir al menos un 60 % de su pedido original. 4. Cada centro de cultivo puede ser alcanzado por un subconjunto de buques. 5. Existen restricciones de precedencia entre los centros de cultivo, debido a razones de bioseguridad, que deben ser respetadas. Así, resulta evidente que las decisiones de cuántos buques utilizar en las operaciones de transporte, y qué programación de actividades asignarles a cada uno no son sencillas, y menos aún si tomamos en cuenta todas las restricciones anteriormente señaladas. En efecto, las decisiones de ruteo, como muchas otras en el campo operacional, tienen muchas combinaciones posibles. De este modo, las decisiones manuales, basadas en buenos criterios y experiencia de los gestores, han mostrado que no pueden explorar esa amplia gama de combinaciones, y generalmente no se consiguen soluciones eficientes por este medio. Por ello, se suelen usar modelos matemáticos como apoyo a la toma de decisiones. Finalmente, no se puede dejar de mencionar que eventos aleatorios como el clima influyen en la implementación de las decisiones de programación de despachos, haciendo que muchas veces sea imposible el transporte de alimentos tal como se planifica. Sin embargo, cuando la Gobernación Marítima no permite la navegación de los buques que despachan el alimento hacia los clientes de Skretting, ocurre que los centros de cultivo también permanecen cerrados, ya que son considerados legalmente como naves, 18
19 y aunque alguno pueda permanecer abierto, los salmones a su vez disminuyen de manera importante su consumo de alimento debido al mal tiempo. Por lo tanto, las emergencias generadas por situaciones climáticas no son tan graves; hasta que se reabren los centros, momento en el cual la demanda por alimento supera largamente la capacidad de los buques disponibles y todos los clientes exigen la más alta prioridad para sus centros de cultivo. Es importante destacar que los costos considerados relevantes para el problema son los costos reales de operación y no los de contrato, ya que al minimizar los primeros es posible generar ahorros que pueden ser repartidos entre Skretting y la naviera Kochifas en una negociación que permita que ambas partes se vean beneficiadas. Actualmente, la naviera Kochifas le cobra a Skretting por tonelada transportada a cada una de las once zonas económicas definidas en conjunto. En general, el precio por tonelada depende del largo del viaje, aunque no linealmente, es decir, si el viaje dura 4 horas el valor unitario es menor que si el viaje dura 30 horas. Luego, actualmente, una vez conocidas las demandas de los clientes el costo de transporte que debe pagar Skretting es fijo. Esto genera que los incentivos que tiene el programador de despachos marítimos de Skretting para definir rutas de mínimo costo de operación real no son directos. Sin embargo, se espera que en el mediano plazo se diseñen contratos entre Skretting y la naviera que permitan que los ahorros generados con respecto a las operaciones de transporte actuales se repartan entre ambos actores. 19
20 1.2. Objetivos Objetivo General Apoyar las decisiones de agrupamiento de centros de demanda y posterior ruteo de barcos, desde la planta de Pargua a los clientes, de modo de satisfacer la demanda a mínimo costo de operación real, manteniendo el nivel de servicio Objetivos Específicos Desarrollar un modelo matemático que represente las operaciones de transporte de la empresa y minimice los costos de operación reales incurridos para satisfacer la demanda de los clientes, manteniendo los indicadores de calidad de servicio. Implementar el modelo matemático en una herramienta computacional de apoyo a las decisiones de ruteo que permita obtener soluciones óptimas para distintas instancias de operación. Obtener buenas soluciones, cercanas al óptimo, para las instancias de operación regulares, en un tiempo de ejecución corto, obteniendo una programación detallada para cada uno de los buques. Validar los resultados obtenidos con la información histórica disponible, y el juicio experto de los tomadores de decisiones de ruteo de buques en la empresa. 20
21 Capítulo 2 Marco Teórico Por tratarse de un problema real, con muchas particularidades que lo hacen único, es difícil poder asimilarlo a un sólo problema clásico de la investigación de operaciones descrito en la literatura. En efecto, en pocas palabras es posible esquematizar el problema enfrentado en la presente memoria como un problema de ruteo de vehículos en un contexto marítimo, con flota heterogénea, ventanas de tiempo suaves, restricciones de accesibilidad y precedencia, en el que además, en algunos casos, es necesario decidir la cantidad a entregar a cada cliente, sujeto a un porcentaje mínimo. Luego, en la literatura relacionada los casos más relevantes para el presente trabajo de titulo son: el Vehicle Routing Problem with Time Windows (VRPTW), o problema de ruteo de vehículos con ventanas de tiempo, el Vehicle Routing Problem with Heterogeneus Fleet (HVRP), o problema de ruteo de vehículos con flota heterogénea (también abreviado VRPHE) Sobre ambos se realizará una breve revisión bibliográfica. Como primer punto, se revisará la literatura relacionada al problema de ruteo y programación de buques, ya que presenta la visión más cercana al problema de Skretting. 21
22 2.1. Ruteo y Programación de Buques El problema de ruteo y programación de transporte ha sido discutido extensamente en la literatura, pero ha estado evidentemente enfocado en el ruteo de vehículos. Existen relativamente pocas publicaciones sobre el ruteo y programación de buques, a pesar de presentar un gran potencial de ahorro en caso de realizarse de manera eficiente. En efecto, Christiansen[6] señala que en la bibliografía de Laporte y Osman[21], de un total 500 referencias a problemas de ruteo, solo unos pocos se refieren al ruteo de buques. Un barco implica una inversión enorme, pudiendo llegar a varios millones de dólares en algunas industrias, y sus costos operativos diarios pueden alcanzar las decenas de miles de dólares. Así, resulta evidente que mejorar el nivel de uso de las flotas marítimas puede reflejarse en mejoras significativas en los resultados financieros de las empresas. Otro resultado positivo que se obtiene al aumentar la utilización de los buques es la reducción del daño ecológico, generado por la disminución de las operaciones de transporte necesarias para trasladar la carga desde su puerto de origen a su destino[7]. Por otra parte, el ruteo y programación de buques es distinto de los otros modos de transporte, debido a que los buques operan bajo condiciones distintas. Ronen (1983[28], 1993[29]) profundiza en las diferencias entre los ambientes operacionales de los buques y los vehículos, mientras que Christiansen (2004)[7] agrega una comparación con el transporte aéreo y ferroviario. Dentro de las diferencias más relevantes para la presente memoria destaca que en general las flotas marítimas están compuestas por buques de distinto tipo, con capacidades y estructuras de costos distintas, lo que resulta en flotas no homogéneas. Además, los viajes de los buques pueden extenderse por varios días, incluso semanas, generando horizontes de tiempo en la toma de decisiones más largos, en los que se pueden considerar viajes de distinta duración. Por otra parte, al transportar generalmente carga y 22
23 no pasajeros, los buques pueden operar continuamente, y sus programas generalmente no presentan espacios de ocio planeados que puedan absorber demoras. Finalmente, las operaciones marítimas presentan una mayor incertidumbre en sus operaciones debido a su mayor dependencia en las condiciones climáticas Principales Estudios en Ruteo y Programación de Buques El primer estudio sobre ruteo y programación de buques se remonta a Ronen (1983)[28]. Diez años después, Ronen (1993)[29] publica un segundo estudio en programación de buques y temas relacionados para la década de Posteriormente, Christiansen (2004)[7] presenta una revisión de las publicaciones sobre ruteo y programación de buques, enfocándose principalmente en la década , y una discusión de las tendencias que se espera que influyan fuertemente en las publicaciones de la década siguiente. Recientemente Dauzère-Pérès et al. (2007)[10] publican el desarrollo de un sistema de apoyo a las decisiones para la compañía noruega Omya Hustadmarmor, el cual permite optimizar el suministro de carbonato de calcio desde una única planta a productoras de papel en toda Europa, mediante buques cargueros. Los resultados obtenidos utilizando una metaheurística memética han permitido a los planificadores tomar decisiones más rápidamente, y aumentar la predictibilidad y flexibilidad de toda la cadena de suministro, alcanzando ahorros en costos de producción y transporte de US$7 millones al año. 23
24 2.2. VRP con Ventanas de Tiempo (VRPTW) El Vehicle Routing Problem (VRP), o problema de ruteo de vehículos, es uno de los problemas centrales de la logística, al cual se ven enfrentadas todas las empresas que realizan distribución de productos, ya sean propios o de terceros. Además, desde el punto de vista metodológico, es uno de los problemas más importantes y estudiados de la optimización combinatorial. En pocas palabras, el VRP busca determinar el conjunto de rutas óptimas que permitan servir a un conjunto de clientes dado a mínimo costo, con una flota de vehículos definida y sujeto a una amplia gama de restricciones. En el CVRP clásico se cuenta con un conjunto de vehículos homogéneo, y una bodega única, la cual debe abastecer a un conjunto de clientes a mínimo costo. En este problema no se definen restricciones adicionales, más que satisfacer la demanda respetando la capacidad de los vehículos, usando rutas factibles. Cada pedido se considera indivisible por lo que debe ser transportado por un único vehículo. Una extensión natural al problema clásico de rutear vehículos para servir clientes, es respetar los intervalos de tiempo o ventanas de tiempo asociados a cada cliente. En efecto, dichas restricciones aparecen frecuentemente, al enfrentar problemas como entregas bancarias o postales, ruteo de vehículos escolares, etc. Estas restricciones pueden ser blandas o duras, donde en el primer caso se permite violar la restricción pagando una penalización, mientras que en el segundo las restricciones de ventanas de tiempo no pueden ser violadas por las soluciones factibles. En la práctica, es frecuente que, tal como ocurre en la presente memoria, las restricciones de ventanas de tiempo se relajen permitiendo llegar antes o después a las ubicaciones de los clientes con una penalización en la función objetivo. En la literatura, tales problemas se conocen como problemas de ruteo de vehículos con ventanas de 24
25 tiempo suaves, o VRPSTW. Desde el punto de vista de teoría de grafos, Taillard et al.[38] esquematizan el VRPSTW como sigue: sea G = (V, E) un grafo completo no dirigido, con un conjunto de vértices V = {v 0, v 1, v 2,..., v n } y un conjunto de arcos E = {(v i, v j ) : v i, v j V, i < j}. En este grafo, v 0 corresponde a la bodega y los demás vértices son los clientes que deben ser servidos. A cada vértice se le asocia las siguientes características: Una cantidad fija q i de bienes que deben ser entregados (con q 0 = 0 para el vértice v 0 ). Una ventana de tiempo [e i, l i ], donde e i y li son las cotas superiores e inferiores. Un tiempo de servicio s i para entregar los bienes (con s 0 en el vértice v 0 ). Además, se define en E la matriz de distancias simétrica D = (d ij ) que satisface la desigualdad triangular. Dada una flota de m vehículos idénticos, cada uno con capacidad de carga Q, el objetivo es encontrar un conjunto de rutas de mínimo costo, considerando la distancia recorrida por los vehículos y las penalizaciones incurridas por violaciones a las ventanas de tiempo, que comiencen y terminen en la bodega, de modo que: Cada vehículo realiza una ruta. Cada vértice v i, i = 1,..., n es visitado exactamente una vez. La cantidad de bienes entregados en una ruta nunca excede la capacidad Q del vehículo. El inicio de cada ruta debe ser mayor o igual a e 0. El final de cada ruta debe ser menor o igual a l 0. El tiempo de inicio de servicio a cada vértice vi, i = 1,..., n debe ser mayor o igual a la cota inferior de su ventana de tiempo e i ; si el tiempo de llegada t i es menor a e i, se incurre en un tiempo de espera w i = (e i t i ). Las ventanas de tiempo son suaves, o blandas, porque el vehículo puede llegar antes de la cota inferior, o después de la cota superior, de la ventana de tiempo. Si el vehículo 25
26 llega temprano, debe esperar para comenzar el servicio. Si el vehículo llega tarde, se incurre en una penalización. Esto es, la restricción de la cota superior del tiempo se relaja hacia la función objetivo siguiendo un enfoque tipo relajación lagrangeana. En particular, existen casos en la literatura en que la penalización en la función objetivo puede ser ajustada para cada cliente en particular, permitiendo utilizar coeficientes grandes para clientes importantes o con ventanas de tiempo más bien estrictas, y coeficientes pequeños para clientes con mayor flexibilidad. Por otra parte, el problema de ruteo de vehículos con flota con ventanas de tiempo duras, o VRPHTW, no permite que servicios atrasados. Esto es, los vehículos deben llegar a la ubicación de cada cliente antes de la cota superior de la ventana de tiempo. Además, el tamaño de la flota es en general una variable de decisión. Lo común es utilizar una función objetivo jerárquica en este tipo de problemas, en la que primero se minimizan el número de vehículos y posteriormente, para un número de vehículos dado, se minimiza la distancia total viajada por los vehículos. La mayoría de los trabajos revisados en la literatura resuelven el VRPHTW. Es interesante destacar que el VRPSTW es un modelo más general e incluye al VR- PHTW, en particular, podría resolverse aumentando apropiadamente las penalizaciones por atrasos. Sin embargo, la generalización del problema aumenta considerablemente su complejidad. En efecto, se pierde la posibilidad de eliminar rápidamente soluciones infactibles a priori y la evaluación de la función objetivo de una solución nueva es más intensiva en proceso computacional Principales Estudios en el VRPTW Debido a su extensa aplicabilidad en problemas reales, el VRPTW ha sido intensamente estudiado, tanto desde enfoques exactos como heurísticos. Dentro de los primeros estudios destacan los de Desrochers et al. (1988)[11] y Solomon y Desrosiers (1988)[33]. 26
27 Mientras que Desrosiers et al. (1995)[13], y Cordeau et al. (2001)[9] se enfocan principalmente en métodos exactos. Ejemplos detallados enfocados en métodos exactos son Larsen (1999)[22] y en Cook y Rich (1999)[8]. Sin embargo, debido a que se trata de un problema NP-hard -lo que indica que es difícil resolver a optimalidad incluso instancias pequeñas, con un esfuerzo computacional razonable[20]- una gran variedad de heurísticas son descritas en la literatura, desarrolladas con la idea de encontrar soluciones de calidad en poco tiempo, posibles de ser implementadas en aplicaciones reales de la industria. Un estudio comparativo de distintas heurísticas es desarrollado por Braysy y Gendreau (2005), en él se incluyen tanto heurísticas clasicas[1], como metaheurísticas[2]. En términos generales, Taillard et al.[38] clasifican los métodos de solución para el VRPTW como sigue: Algoritmos exactos basados en técnicas de Branch and Bound. Heurísticas de construcción de rutas Heurísticas de mejora de rutas Heurísticas compuestas Heurísticas basadas en optimización Metaheurísticas 27
28 2.3. VRP con Flota Heterogénea (HVRP) El problema de ruteo de vehículos con flota heterogénea (HVRP) es un problema de optimización muy importante. En efecto, la mayoría de las empresas que deben entregar o recoger bienes poseen una flota heterogénea de vehículos. Durante la década de los 90, los métodos de solución para el problema de ruteo de vehículos -ya sea el clásico VRP o el VRPTW- progresaron sustancialmente (ej. Taillard (1993)[36], Rego y Roucairol (1994)[25], Potvin and Bengio (1994)[24], Rochat y Taillard (1995)[27] y Taillard et al. (1997)[38]. Sin embargo, el HVRP ha atraído mucha menos atención, probablemente debido al hecho de que es un problema mucho más difícil de resolver que el VRP clásico. En el HVRP se tiene un conjunto Ψ = {1,..., K} de distintos tipos de vehículos. Un vehículo de tipo k Ψ está asociado a una capacidad Q k. El número de vehículos disponibles de tipo k es n k. El costo de viaje desde el cliente i al cliente j (i, j {1,..., n}) utilizando un vehiculo de tipo k es d ijk. Utilizar un vehículo de tipo k implica incurrir en un costo fijo f k. Un caso particular del HVRP es el vehicle fleet mix (VFM), o problema de mix de flota, Golden et al. (1984)[19] y Salhi et al. (1992)[31]. El objetivo de este problema es determinar la flota de vehículos óptima que minimice la suma de costos fijos y costos de viaje. Este problema es un caso particular del HVRP, en el cual: Los costos de viaje son idénticos para todos los tipos de vehículos (i.e. d ijk = d ijl k, l Ψ). El número de vehículos de cada tipo no está acotado (i.e. n k =, k Ψ). 28
29 Principales Trabajos en el HVRP Es destacable que tanto Gendreau et al.(1999)[16] como Taillard (1996)[37] señalan que no se conocen métodos eficientes para resolver de manera exacta el HVRP. En efecto, todas las escasas publicaciones sobre el tema lo tratan desde un enfoque heurístico. Se han publicado varios papers acerca del VFM. Entre las heurísticas propuestas para resolver el VFM destacan Golden et al. (1984)[19], Gheysens et al. (1984[17], 1986[18]), Desrochers and Verhoog (1991)[12], Osman and Salhi (1994)[23] y Salhi and Rand (1993)[30], en este último trabajo se presenta una revision bibliográfica detallada. Trabajos más recientes incluyen la búsqueda tabú de Gendreau et al. (1999)[16]. Muchos menos trabajos han abordado el HVRP, entre ellos destacan las búsquedas tabú de Semet and Taillard (1993)[32] and Rochat and Semet (1994)[26] para problemas reales que incluyen muchas otras restricciones. Así como la generación de columnas heurística de Taillard (1996)[37]. 29
30 2.4. Metodologías de Solución Con respecto a la resolución de estos problemas, existen básicamente dos enfoques de solución: metaheurísticas y métodos exactos. En el caso de los métodos exactos destacan principalmente dos formulaciones: la generación de columnas para el Set Partitioning Problem (SPP), o problema de particiones de conjuntos, y la formulación de problemas de programación lineal entera que consideran todo el problema directamente. En el caso de las metaheurísticas, en general el problema se aborda en dos partes: primero con una heurística de construcción para obtener un conjunto de rutas iniciales factibles, seguida de una heurística de mejoramiento para obtener una solución lo más cercana posible al óptimo. Entre las metaheurísticas más utilizadas destacan: Simulated Annealing, Evolutionary Search, Genetic Algorithms y Tabu Search. Dentro de los resultados reportados por la literatura revisada se señala que para problemas no demasiado grandes, con hasta 25 clientes y una bodega, los modelos exactos son capaces de encontrar una buena solución en un tiempo computacional razonable, menor a 30 minutos. Por otro lado, también se reporta que las instancias más grandes que pueden ser resueltas consistentemente por los métodos exactos más efectivos hasta ahora contienen cerca de 120 clientes, mientras que instancias más grandes se pueden resolver a optimalidad solo en casos particulares. En el caso de la distribución de Skretting, el número de centros cultivo que deben satisfacer los buques diariamente en promedio alcanza los 30 clientes, por lo que un método de resolución exacto es recomendable solo si es posible aprovechar las características particulares del problema en su resolución y se considera un horizonte de planificación diario. En caso contrario, lo recomendable es implementar alguna metaheurística como método de resolución, o al menos como complemento a un método exacto. Desde el punto de vista de los resultados esperados, es interesante notar que 30
31 los resultados reportados en la literatura revisada alcanzan un 10 % de disminución de costos respecto a la situación base de las empresas. Por lo que resulta razonable imponer este resultado como meta para el presente trabajo. Por tratarse de un tema particularmente importante para el desarrollo del prototipo presentado en la presente memoria, se hará una revisión más detallada del tema de búsquedas locales, en particular el manejo de intercambio de arcos para problemas de ruteo de vehículos Búsqueda Local en el VRP: Intercambio de Arcos Los métodos clásicos de búsqueda local forman una clase general de heuristicas basadas en el concepto de mejorar iterativamente una solución mediante la exploración de soluciones vecinas. Para diseñar un algoritmo de búsqueda local, es necesario especificar las siguientes opciones: cómo se generará una solución inicial factible, cuál será el mecanismo generador de vecinos, y el criterio de parada[1]. El mecanismo generador de vecinos opera cambiando un atributo, o un conjunto de atributos, de una solución. En particular, los atributos podrían referirse a los arcos conectando un par de clientes para el caso del VRP. Una vez que una solución vecina es identificada, se compara con la solución actual. Si la solución vecina es mejor, reemplaza a la solución actual, y la búsqueda continua. Dos estrategias de aceptación son las más comunes en el contexto del VRPTW, aceptar la primera o aceptar la mejor[1]. La estrategia de aceptar la primera selecciona al primer vecino que satisface el criterio de aceptación definido, mientras que la estrategia de aceptar la mejor examina todos los vecinos que satisfacen el criterio de aceptación y selecciona el mejor de ellos. El óptimo local generado por cualquier procedimiento de búsqueda local puede ser muy lejano de la solución óptima. En efecto, los métodos de búsqueda local realizan una búsqueda miope, ya que sólo aceptan secuencialmente soluciones que produzcan 31
32 Figura 2.1: Intercambio 2-Opt mejoras en la función objetivo. Luego, el resultado depende fuertemente de las soluciones iniciales y del mecanismo generador de vecinos. La mayoría de los vecindarios utilizados en el contexto del VRP están basados en intercambios de arcos[20]. Los vecindarios de intercambio de arcos para una única ruta son el conjunto de tours que pueden obtenerse a partir de un tour inicial reemplazando un conjunto de k de sus arcos por otro conjunto de k arcos. Este tipo de reemplazos se denominan k-intercambios, y un tour que no puede ser mejorado mediante un k-intercambio se le llama k-óptimo. Verificar k-optimalidad implica una complejidad O(n k ). El vecindario generado por k-intercambios depende del valor fijo de k, y a medida que k crece se hacen más potentes, pero el tiempo necesario para buscar en ellos crece también. En la práctica, k-intercambios con k > 3 son raramente usados[20]. La Figura 2.1 ilustra el operador 2-exchange o 2-Opt, en él se intenta mejorar un tour reemplazando dos de sus arcos por otros dos arcos, y se itera hasta que no exista mejora posible. En el VRP se deben tomar dos tipos de decisiones, las decisiones de asignación definen qué vehículo servirá a cuál cliente, mientras que las decisiones de ruteo definen en qué orden se visitarán los clientes asignados a un vehículo. Dado que en la mayoría de los casos la cantidad de clientes por vehículo es menor a 30, las decisiones de ruteo no son excesivamente complicadas, por lo que las posibilidades de generar ahorros mediante la optimización de dichas decisiones son más bien bajas[20]. Sin embargo, las 32
33 Figura 2.2: Operador Relocation Figura 2.3: Operador GENI decisiones de asignación ofrecen un gran potencial de mejora cuando son analizadas, lo que incentiva a revisar los vecindarios de intercambio de arcos entre rutas. Siguiendo la nomenclatura de Kindervarter y Savelsbergh (1997)[20] los tres k- intercambios básicos para el VRP son Relocation, Exchange y Crossover. El operador Relocation simplemente mueve a un cliente desde una ruta a otra, insertándolo entre dos clientes consecutivos en su version más sencilla, tal como lo muestra la Figura 2.2. Gendreau et al. (1992)[14] proponen una extensión al vecindario Relocation, con el operador GENI, en el que un cliente también puede ser insertado entre los dos clientes de la ruta destino más cercanos a él, incluso si estos clientes no son consecutivos, reordenando la ruta destino como se expone en la Figura 2.3. El operador Exchange intercambia simultáneamente dos clientes de rutas distintas, tal como lo muestra la Figura
34 Figura 2.4: Operador Exchange Figura 2.5: Operador Crossover Finalmente, el operador Crossover combina dos rutas de modo que los últimos clientes de una ruta dada son introducidos después de los primeros clientes de otra ruta, manteniendo la orientación de las rutas. Este operador se ilustra en la Figura 2.5, donde los arcos (i, i + 1) y (j, j + 1) son reemplazados por (i, j + 1) y (j, i + 1), con lo que las porciones finales de cada ruta son intercambiadas. Es importante notar que, como caso particular, puede combinar dos rutas en una si el arco (i, i + 1) es el primero de su ruta, y el arco (j, j + 1) es el último de su ruta, o viceversa. 34
35 Capítulo 3 Formulación del Problema 3.1. Formulación Inicial A continuación se exponen dos versiones del modelo matemático de programación lineal inicialmente desarrollado para el proyecto. El primer modelo corresponde a una extensión del modelo clásico del VRPTW[9], en el que se relaja la cota superior de las ventanas de tiempo, y se permite que los buques realicen varias vueltas, de modo de evaluar un horizonte de tiempo mayor a a un día. Mientras que el segundo modelo corresponde a una extensión al primer modelo, en el cual se agrega la flexibilidad de decidir en qué día del horizonte de tiempo evaluado se visitan los clientes, sujeto a respetar los días definidos como compatibles para cada cliente y su jornada laboral, con lo que se pueden generar varias ventanas de tiempo disjuntas asociadas a un único cliente Modelo 1 1. Conjuntos: I = Conjunto de vertices de la red, incluye a los clientes y al puerto. Para 35
36 efectos de notación, el puerto se denota por los vértices 0 y (I + 1). B = Conjunto de buques disponibles. V = Conjunto de vueltas de los buques. RED = Conjunto de elementos (i, j, b) con i, j I y b B, corresponde a los arcos (i, j) factibles para el buque b. Permite modelar las restricciones de precedencia y la compatibilidad entre buques y clientes. 2. Parámetros: Dda i = Demanda del cliente i en Toneladas. T asa Desc = Tasa de descarga de los buques en los centros [Ton/Hr] C ijb = Costo de viajar desde el cliente i hacia el cliente j con el buque b. d ijb = Distancia desde el cliente i al cliente j.. Cap b = Capacidad, en toneladas, del buque b. V el b = Velocidad, en nudos, del buque b. Atr = Penalización por hora de atraso. a i = Inicio de la ventana de tiempo del cliente i. b i = Fin de la ventana de tiempo del cliente i. 3. Variables: 1 Si el buque b viaja desde el cliente i hacia el cliente j en la vuelta v X ijbv = 0 T ibv = Momento en el que el buque b visita al cliente i en la vuelta v δ ibv = Tiempo de atraso con que el buque b visita al cliente i en la vuelta v 36
37 4. Función Objetivo: mín b,v,i,j (i,j,b) RED X ijbv C ijb + b,v,i δ ibv Atr (3.1) 5. Restricciones: a) Naturaleza de las variables. X ijbv {0, 1} T ibv, δ ibv 0 (3.2) b) Salir y entrar con el mismo buque a cada centro j (i,j,b) RED X ijbv = j (i,j,b) RED X jibv b B, v V, i I (3.3) c) Salir del Puerto en cada vuelta X 0ibv = 1 b B, v V (3.4) i d) Volver al Puerto en cada vuelta X i(i+1)bv = 1 b B, v V (3.5) i 37
38 e) Satisfacer la demanda b,v,i (i,j,b) RED X ijbv = 1 j I (3.6) f ) Respetar la capacidad i,j (i,j,b) RED X ijbv Dda j Cap b b B, v V (3.7) g) Respetar la cota inferior de la ventana de tiempo T jbv a j i (i,j,b) RED X ijbv j I, b B, v V (3.8) h) Definición de δ ibv T jbv b j i (i,j,b) RED X ijbv + δ jbv j I, b B, v V (3.9) i) Continuidad del tiempo T jbv T ibv + Dda i T asa Desc + d ij (1 X ijbv ) M (i, j, b) RED, v V, M (3.10) >> 1 V el b j ) Respetar el orden de las vueltas T 0b(v+1) T (I+1)bv b B, v V (3.11) Donde la ecuación (3.1) corresponde a la función multiobjetivo, la que minimiza el costo de transporte y las penalizaciones por atrasos. El costo fijo se puede incluir en el 38
39 costo de los arcos que salen desde el Puerto hacia los clientes, excluyendo el arco que va de 0 a (I + 1), ya que modela la situación en que un buque no se utiliza, evitando de este modo incluir más variables binarias innecesariamente. La ecuación (3.2) define la naturaleza de las variables. Las ecuaciones (3.3) a (3.5) son de flujo, y definen que si un buque visita a un cliente, debe salir de él, y que todas las vueltas comienzan y terminan en el Puerto. Las ecuaciones (3.6) y (3.7) aseguran que todos los clientes sean visitados por un buque en alguna vuelta, y que en cada vuelta se respete la capacidad de los buques, respectivamente.las ecuaciones (3.8) a (3.11) definen el horizonte temporal del problema, asegurando que se respeten las ventanas de tiempo de los clientes o se incurra en una penalización por llegar tarde, la continuidad del tiempo y el orden de las vueltas respectivamente Modelo 2 1. Conjuntos: I = Conjunto de vertices de la red, incluye a los clientes y al puerto. Para efectos de notación, el puerto se denota por los vértices 0 y (I + 1). B = Conjunto de buques disponibles. V = Conjunto de vueltas de los buques. RED = Conjunto de elementos (i, j, b) con i, j I y b B, corresponde a los arcos (i, j) factibles para el buque b. Permite modelar las restricciones de precedencia y la compatibilidad entre buques y clientes. T = conjunto de días del horizonte de planificación. T i = subconjunto de días en los que se puede visitar al cliente i. 2. Parámetros: 39
40 Dda i = Demanda del cliente i en Toneladas. T asa Desc = Tasa de descarga de los buques en los centros [Ton/Hr] C ijb = Costo de viajar desde el cliente i hacia el cliente j con el buque b. d ijb = Distancia desde el cliente i al cliente j.. Cap b = Capacidad, en toneladas, del buque b. V el b = Velocidad, en nudos, del buque b. Atr = Penalización por hora de atraso. a i = Inicio de la jornada laboral del cliente i. b i = Fin de la jornada laboral del cliente i. 3. Variables: 1 Si el buque b viaja desde el cliente i hacia el cliente j en la vuelta v X ijbv = 0 1 Si el buque b visita al cliente i en la vuelta v el dia t Y ibvt = 0 T ibv = Momento en el que el buque b visita al cliente i en la vuelta v δ ibv = Tiempo de atraso con que el buque b visita al cliente i en la vuelta v 4. Función Objetivo: mín b,v,i,j (i,j,b) RED X ijbv C ijb + b,v,i δ ibv Atr (3.12) 5. Restricciones: 40
41 a) Naturaleza de las variables. X ijbv, Y ibvt {0, 1} T ibv, δ ibv 0 (3.13) b) Salir y entrar con el mismo buque a cada centro j (i,j,b) RED X ijbv = j (i,j,b) RED X jibv b B, v V, i I (3.14) c) Salir del Puerto en cada vuelta X 0ibv = 1 b B, v V (3.15) i d) Volver al Puerto en cada vuelta X i(i+1)bv = 1 b B, v V (3.16) i e) Satisfacer la demanda Y ibvt = 1 i I (3.17) b,v,t b,v,t Y jbvt j (i,j,b) RED X ijbv j Ib B, v V (3.18) 41
42 f ) Respetar la capacidad Y ibvt Dda i Cap b b B, v V (3.19) it g) Respetar el inicio de la jornada laboral T ibv t Y ibvt ((t 1) 24 + a i ) i I, b B, v V (3.20) h) Definición de δ ibv T ibv t Y ibvt ((t 1) 24 + b i ) + δ jbv j I, b B, v V (3.21) i) Continuidad del tiempo T jbv T ibv + Dda i Y ibvt T asa Desc + d ij (1 X ijbv ) M (i, j, b) RED, v V, M (3.22 >> 1 V el b t T i j ) Respetar el orden de las vueltas T 0b(v+1) T (I+1)bv b B, v V (3.23) Donde la ecuación (3.1) corresponde a la función multiobjetivo, la que minimiza el costo de transporte y las penalizaciones por atrasos. El costo fijo se puede incluir en el costo de los arcos que salen desde el Puerto hacia los clientes, excluyendo el arco que va de 0 a (I + 1), ya que modela la situación en que un buque no se utiliza, evitando de este modo incluir más variables binarias innecesariamente. La ecuación (3.2) define la naturaleza de las variables. Las ecuaciones (3.3) a (3.5) son de flujo, y definen que si un buque visita a un cliente, debe salir de él, y que todas las vueltas comienzan y terminan 42
43 en el Puerto. Las ecuaciones (3.6) y (3.7) aseguran que todos los clientes sean visitados por un buque en alguna vuelta, y que en cada vuelta se respete la capacidad de los buques, respectivamente.las ecuaciones (3.8) a (3.11) definen el horizonte temporal del problema, asegurando que se respeten las ventanas de tiempo de los clientes o se incurra en una penalización por llegar tarde, la continuidad del tiempo y el orden de las vueltas respectivamente. 43
44 3.2. Observaciones al Modelo Matemático Inicial 44
45 3.3. Métodos Heurísticos: GRASP La heurística implementada en el prototipo que se expone en la presente memoria, es una versión de GRASP o Greedy Randomized Adaptive Search Procedure, la cual es una metaheurística de múltiples inicios utilizada frecuentemente en problemas combinatoriales, y en la que cada iteración consiste básicamente en dos fases: construcción y búsqueda local. En la fase de construcción se produce una solución factible, mientras que en la fase de búsqueda local el vecindario de la solución factible inicial es investigado hasta alcanzar un mínimo local. Finalmente, la mejor solución dentro de los óptimos locales encontrados es retornada como el resultado final Generación de Solución Inicial Factible Para generar una solución inicial factible, el método implementado es el siguiente: Mientras existan centros que no han sido asignados a un buque: 1. Se elige al azar un buque no utilizado previamente. 2. Mientras queden centros que sean compatibles con el buque elegido: a) Agregar M as Cercano() b) Actualizar la lista de centros compatibles A continuación se detallan las características del método: Lista de centros compatibles: La definición compatibilidad entre un centro y el buque considerado, depende de que el centro no haya sido asignado previamente, de las restricciones de accesibilidad, y de que la demanda mínima definida para dicho centro sea menor que la capacidad restante del buque. Agregar M as Cercano(): Esta función puede esquematizarse como sigue. Si no hay ningún centro asignado al buque todavía, simplemente se elige un centro compatible al azar, y se agrega a la lista de los centros incluidos. Si ya existen centros asignados al buque, se elige al azar uno de los C centros más cercanos al centroide de los centros ya incluidos, donde C es el mínimo valor entre 45
46 un parámetro C y la cantidad de centros que sean compatibles con el buque elegido, y se agrega a los centros asignados a él. Para evitar posibles infactibilidades en la generación de soluciones iniciales, se consideran una cantidad K de buques ficticios en la resolución del problema. Dichos buques poseen características especiales que desincentivan su uso a menos que sea estrictamente necesario, por lo que naturalmente tienden a no tener centros asignados en las soluciones de los óptimos locales encontrados luego de la fase de búsqueda local. En efecto, es importante destacar que el problema de reconocer si una instancia es infactible, dada una configuración de demandas de centros de cultivo y buques disponibles, no es trivial, por lo que la agregación de buques ficticios es una manera sencilla de encontrar soluciones en que al menos se planifique el despacho de un gran número de pedidos. Además, facilita enormemente la generación de soluciones iniciales factibles; un ejemplo de la utilización de esta estrategia en la literatura del VRPTW puede encontrarse en Potvin y Rosseau (1995)[24]. Por otro lado, al agregar más buques el tamaño del problema aumenta, por lo que el tiempo de resolución puede verse afectado negativamente de manera importante. Dentro de las características de los buques ficticios destaca que están asociados a un costo fijo muy alto, lo que desincentiva su uso en las soluciones finales. Además, se les asigna un costo variable también alto, de modo que en caso de tener centros asignados, estos tiendan a ser los centros más cercanos al puerto, buscando que sean fácilmente asignables a las rutas que deberán planificarse en los días posteriores. Además, se les asocia una capacidad levemente menor a la capacidad promedio de todos los buques, y una velocidad promedio igual a la menor velocidad conocida de los buques reales, con la intención de generar rutas razonables de ser asignadas a la mayoría de los buques reales. Por último, se les declara compatibles con todos los centros, para que los criterios con que se les asignen clientes sea solamente por costos de transporte. 46
47 Búsqueda Local En el prototipo se implementaron dos tipos de búsqueda local, las que utilizan el mismo vecindario, pero se diferencian por el método de selección de la siguiente solución. En realidad, tal como se detallará a continuación, los tipos de búsqueda local implementados corresponden a los dos criterios de aceptación más comunes en el contexto del VRPTW[1], aceptar la primera mejora encontrada sobre la solución actual (Búsqueda Tipo 2), o bien aceptar el mejor vecino de todo el vecindario si es mejor que la solución actual (Búsqueda Tipo 1). A la mitad de las soluciones iniciales generadas se les aplica la búsqueda local tipo 1, mientras que a la otra mitad se les aplica la búsqueda local tipo 2. El método de búsqueda local implementado puede esquematizarse como sigue: Inicialización Común: 1. Se listan todos los pares de rutas. 2. Se inicializa la solución a retornar como vacía. Búsqueda Tipo 1 - Mejor Vecino: 1. Mientras existan pares de rutas no revisados: a) Se elige al azar un par de rutas de la lista. b) Se evalúan todo el vecindario CROSS, almacenando el mejor vecino. c) Actualizar Solucion() Búsqueda Tipo 2 - Primera Mejora: 1. Mientras existan pares de rutas no revisados: a) Se elige al azar un par de rutas de la lista. b) Mientras existan vecinos CROSS no revisados: 1) Evaluar el siguiente vecino CROSS. 2) Actualizar Solucion() A continuación se detallan las características de la búsqueda local: Actualizar Solucion(): Si la solución evaluada tiene un valor de la función objetivo mejor que el incumbente, se actualiza el incumbente y se vuelve al paso 1 de la inicialización. 47
48 Figura 3.1: Intercambio CROSS Vecindario CROSS: fue definido por Taillard (1997)[38] en el contexto del VRPTW, la idea básica del intercambio CROSS consiste en eliminar dos arcos (i 1, i) y (k, k+1) de una primera ruta, mientras dos arcos (j 1, j) y (l, l + 1) se eliminan de una segunda ruta. Luego, los segmentos i k y j l, los que pueden incluir una cantidad arbitraria de clientes, son intercambiados mediante la inclusión de los nuevos arcos (i 1, j), (l, k + 1), (j 1, i), y (k, l + 1), como se ilustra en la Figura 3.1. Es importante notar que verificar que una solución es un óptimo local según el vecindario CROSS implica una complejidad O(n 4 ). Evaluar Solucion(): Al evaluar un vecino de la solución actual sólo se evalúan el par de rutas que han sufrido un cambio, ya que ellas definen la variación en la función objetivo. Evaluar Ruta(): Al evaluar una ruta, primero se redefinen las demandas de los centros de cultivo que la componen. Luego, se genera una configuración inicial mediante un procedimiento de vecino más cercano modificado para respetar las prioridades. Finalmente, se mejora la configuración inicial mediante un procedimiento 2-opt, modificado para respetar las prioridades, hasta alcanzar un óptimo local según la función objetivo utilizada. Este procedimiento heurístico genera secuencias de visitas de buena calidad en poco tiempo por lo que se utiliza en cada evaluación 1. Redef inir Demandas(): Para cada centro de cultivo se define una demanda mínima a ser entregada y la demanda original 2 ; la evaluación de la factibilidad de un vecino CROSS se realiza considerando el valor de la demanda mínima. Una vez que una ruta es factible en capacidad, se redefine la carga transportada a cada centro, siguiendo el criterio de maximizar la cantidad de pedidos completos, hasta alcanzar la capacidad del buque, o bien hasta 1 En la versión final se implementará un procedimiento de postoptimización para la solución final en que pueda encontrar la secuencia óptima de visitas. 2 Ambos valores son iguales si no existen flexibilidades que se puedan aprovechar. 48
49 entregar la demanda original a todos los centros considerados. Función Objetivo: La medida con que se evalúan las soluciones consta de cuatro términos principales, los cuales son la cantidad de días-barco utilizados, el gasto en combustible incurrido, que es directamente proporcional a la distancia recorrida, la penalización por tonelada-hora atrasada y la penalización por cantidad de centros incompletos. Además, se agrega un quinto termino con una fuerte penalización, por lo que en la práctica actúa como una restricción, que define un porcentaje de carga mínimo para los buques que efectivamente se planifica cargar en el primer día del horizonte de planificación. Luego, la función objetivo utilizada se puede esquematizar como sigue: F.O. = b B Costo F ijo b Dias Barco b + b B Costo V ariable b Distancia Recorrida b + c C P enalizacion Atraso T oneladas Hora Atrasadas c + c C P enalizacion Incompleto Demanda Incompleta c + b B P enalizacion Carga P oca Carga b donde: Conjuntos: 1. B = Conjunto de buques disponibles. 2. C = Conjunto de centros con demanda a transportar. Parámetros: 1. Costo F ijo b = Corresponde al costo fijo diario incurrido al utilizar el buque b. 2. Costo V ariable b = Corresponde al costo incurrido por milla náutica recorrida por el buque b. 3. P enalizacion Atraso = Corresponde al costo incurrido por entregar una tonelada atrasada una hora; asociado al costo intangible de posible pérdida de confianza del cliente. 4. P enalizacion Incompleto = Corresponde al costo incurrido por entregar una cantidad menor a la demandada por el cliente; asociado al costo de tener que entregar el saldo adeudado posteriormente y al costo intangible de posible pérdida de confianza del cliente. 5. P enalizacion Carga = Corresponde al costo incurrido por cargar un buque con un porcentaje de carga menor a una cota inferior, aso- 49
50 ciado al costo de posibles renegociaciones de las tarifas de transporte con la naviera. Variables: 1. Dias Barco b = Variable entera, denota la cantidad de dias que se utiliza el buque b. 2. Distancia Recorrida b = Variable continua, denota la cantidad de millas náuticas que recorre el buque b. 3. T oneladas Hora Atrasadas c = Variable continua, denota el producto entre la cantidad de toneladas atrasadas entregadas al centro c y el tiempo de retraso. 4. Demanda Incompleta c = Variable binaria, vale 1 si al centro c se le entrega menos que la demanda ordenada, 0 en caso contrario. 5. P oca Carga b = Variable binaria, vale 1 si al buque b tiene un porcentaje menor de carga que una cota inferior, 0 en caso contrario. Es interesante notar que cuando cualquiera de los tipos de búsqueda local termina, se ha encontrado un óptimo local que es muy difícil de mejorar sin plantear una configuración completamente distinta. En efecto, no existe ningún cambio trivial entre ningún par de rutas que pueda mejorar la solución encontrada según la función objetivo definida. Esto se debe a que el vecindario CROSS utilizado es muy amplio, lo que compensa la simplicidad del método GRASP implementado en el prototipo. En efecto, el vecindario CROSS es una generalización de los tres k-intercambios entre rutas presentados en la sección Es posible que para el desarrollo final del sistema de apoyo a las decisiones se implementen metaheurísticas más sofisticadas para buscar buenas soluciones, y en tal caso sería necesario acotar el vecindario de búsqueda con la intención de mantener los tiempos de resolución bajo control. Por otro lado, el procedimiento Redef inir Demandas() se implementó con el fin de aumentar la flexibilidad del sistema de apoyo a las decisiones, permitiendo mejorar la utilización de los buques y modelar de mejor manera las operaciones reales de la empresa. El criterio de maximizar la cantidad de pedidos completos fue acordado con la empresa, y es consistente con las operaciones de transporte reales, ya que si un pedido no se entrega completo, el saldo deberá ser entregado al día siguiente, incurriendo po- 50
51 tencialmente en un costo no despreciable por tener que visitar un centro para entregar pocas toneladas, además del costo intangible de la mala evaluación del servicio prestado por parte de los clientes. Desde el punto de vista de complejidad computacional, siguiendo este criterio se obtiene naturalmente un problema de la mochila continuo, el que puede ser resuelto eficientemente, por lo que el aumento en el tiempo de resolución es relativamente bajo. Es interesante notar que la cantidad transportada a cada centro no es una decisión directa del prototipo. En efecto, tal cantidad queda determinada de manera fija, según la regla descrita previamente, por los centros asignados a un buque y la capacidad de éste, por lo que es mediante las decisiones de asignación de centros de cultivos los buques que el prototipo define indirectamente la cantidad transportada a cada centro. Luego, estas decisiones dependen del valor relativo de la penalización por centros incompletos; para valores muy pequeños se observa que naturalmente el prototipo tiende a agrupar los centros cercanos con flexibilidades en la entrega en un mismo buque, buscando utilizar menos días-barco en la entrega y entregar menos centros atrasados, al costo de dejar muchos centros incompletos. Mientras que para penalizaciones muy grandes, dicho término de la función objetivo comienza a actuar como una restricción en la práctica, resolviendo el problema como si no existieran flexibilidades en la cantidad entregada a los centros. Si bien se trata de un procedimiento heurístico que no asegura optimalidad en la configuración generada, se desarrolló de esta manera por presentar una interesante combinación entre un bajo aumento del tiempo de resolución, y la obtención de buenas soluciones según el criterio del planificador de Skretting, debido a su consistencia con las operaciones de transporte reales. Finalmente, es importante destacar que las soluciones entregadas por el prototipo dependen directamente de los pesos relativos asignados a cada uno de los términos de la función objetivo. Para dichos pesos se han definido valores por defecto tras un intenso 51
52 trabajo en conjunto con el planificador de Skretting, y además existe la posibilidad de modificarlos desde la interfaz para hacer pruebas, o bien explorar soluciones con criterios distintos a los regulares. En términos generales, el mayor peso se le asigna a los dias-barco incurridos para satisfacer la demanda, de modo de minimizar primordialmente la cantidad de buques utilizados en las operaciones de transporte; después se penalizan los atrasos y la cantidad de centros incompletos, ambos términos relacionados con la calidad de servicio al cliente que la empresa quiere brindar, y finalmente se penaliza el gasto en combustible en función de la distancia recorrida por los buques y el costo del petróleo Diversificación Además del característico método de diversificación de GRASP, que consiste en generar un conjunto de soluciones iniciales distintas entre sí; a la implementación del prototipo del proyecto se le han añadido diversas estrategias que permitan explorar un espectro amplio de soluciones factibles. Del mismo modo, se están evaluando dispositivos más sofisticados de diversificación con la posibilidad de ser incluidos en la version final del sistema de apoyo a las decisiones. Entre los primeros, es destacable que al elegir los pares de rutas al azar, en cualquiera de las búsquedas locales consideradas, se genera un dispositivo de diversificación muy potente. En efecto, incluso a partir de la misma solución inicial, y utilizando único tipo de búsqueda local, es posible obtener óptimos locales distintos. Por otra parte, la búsqueda local tipo 2 descrita anteriormente, que básicamente consiste en elegir la primera mejora encontrada, es un dispositivo de diversificación en si mismo. En efecto, pruebas preliminares hechas sobre instancias del HVRP publicadas en la literatura (Taillard 1996[37]), mostraron que si bien la búsqueda local que utiliza el criterio del mejor vecino es más estable y da mejores resultados en promedio, la 52
53 búsqueda local que utiliza el criterio de la primera mejora muchas veces puede alcanzar valores de la función objetivo mejores, precisamente por la posibilidad de diversificar la búsqueda local. En conclusión, la estrategia de utilizar la mitad de las veces cada tipo de búsqueda local intenta estabilizar las soluciones mediante el criterio del mejor vecino, sin perder la oportunidad de acceder a soluciones poco frecuentadas mediante el criterio de la primera mejora. Al momento de desarrollar la presente memoria, se están comenzando a realizar experimentos para mezclar ambos criterios en una única búsqueda, en que se diversifique al comienzo utilizando el criterio de la primera mejora, y se busque mejorar lo más posible la solución al final mediante el criterio del mejor vecino. Otros experimentos en desarrollo, que posiblemente se incluyan en la version final del sistema de apoyo a las decisiones, buscan evaluar la conveniencia de implementar criterios AMP, o adaptative memory procedure, los que son una generalización de algoritmos genéticos (Taillard et al. 2001[39]). En efecto, se basan en generar nuevas soluciones combinando rutas de buenas soluciones encontradas previamente para aplicar en ellas la búsqueda local. Básicamente, la idea consiste en almacenar las rutas de las mejores soluciones, y luego elegir rutas con una distribución de probabilidad sesgada hacia las rutas asociadas a buenas soluciones. Este tipo de dispositivos intentan lograr una diversificación en que se aproveche la información generada a lo largo de la búsqueda, y que no se basen simplemente en un criterio aleatorio. 53
54 Capítulo 4 Implementación del Modelo Tal como ha sido comentado previamente, la presente memoria se enmarca en un proyecto de investigación aplicada en la que participan el Departamento de Ingeniería Industrial de la Universidad de Chile y Skretting. Por lo tanto, la implementación de los algoritmos desarrollados en un sistema de apoyo a las decisiones es una parte fundamental del desarrollo del trabajo de título. Al momento de escribir este informe, el proyecto se encuentra en en pleno desarrollo de la versión final del sistema de apoyo a las decisiones, por lo que las características expuestas, tanto metodológicas como de interfaz con el usuario, corresponden al prototipo diseñado para realizar las pruebas que permitan, en conjunto con el planificador de la empresa, definir las mejoras necesarias para perfeccionar la versión final. 54
55 4.1. Definición de la Red En primer lugar, es necesario definir las características de la red que modela las operaciones reales de transporte de alimentos para salmones, desde el puerto de Pargua hacia los clientes de la X y XI Región Caracterización de los Clientes Los datos relevantes que caracterizan a los pedidos de cada cliente son: Nombre del centro. Latitud del centro. Longitud del centro: estos datos permiten hacer una representación esquemática de la ubicación espacial de los centros. Demanda. Porcentaje mínimo de entrega: permite modelar flexibilidades en la cantidad entregada a los clientes de modo de mejorar la utilización de los buques. Prioridad: para incluir restricciones sanitarias a las rutas. Puede ser Libre, Cuarentena, Sospechoso o Brote. Se agrega la prioridad Urgente para modelar la necesidad de entregar alimentos atrasados, o medicados, en primer lugar de una ruta. Día mínimo de entrega: corresponde al primer día en que se puede entregar el pedido. Día máximo de entrega: corresponde al último día en que se puede entregar el pedido 1. Inicio de jornada laboral del centro: se supone que si el buque llega antes, debe esperar a esta hora para poder descargar. Fin de jornada laboral del centro: se supone que si el buque no alcanza a descargar antes de esta hora, debe fondear en la zona y esperar el inicio de la jornada laboral del día siguiente. Área: a la que pertenece el centro (Ej.: Chiloé Centro, Río Negro, etc.) 1 Si el pedido debe ser entregado un día particular, día mínimo de entrega = día máximo de entrega. Con estas definiciones se busca modelar flexibilidades en la entrega. 55
56 Caracterización de las Distancias Para desarrollar el proyecto fue necesario estimar las distancias entre los más de 200 centros de cultivo de los clientes de Skretting, ya que previamente no existían registros sistematizados de dichos datos. En efecto, la información se encontraba informalmente almacenada al interior de la organización, en el conocimiento desarrollado a partir de la experiencia de los capitanes de los buques. Por otro lado, la distancia euclidiana puede resultar en una muy mala estimación en este caso en particular, ya que la distancia real entre dos clientes debe considerar la inmensa cantidad de estrechos, islas, y bajos que caracterizan la intrincada geografía de las regiones donde se ubican los centros de cultivo. Para realizar esta tarea se definió una red mínima representativa de la red real, compuesta por aproximadamente arcos, los que fueron medidos de manera explícita utilizando Google Hearth, y apoyándose en entrevistas a los capitanes de los buques para determinar la ruta más frecuentemente utilizada dentro de las muchas posibles. Posteriormente, se utilizó el algoritmo de Dijsktra sobre la red mínima para estimar la ruta más corta entre todos los centros, alcanzando un total de más de arcos. Pruebas hechas sobre arcos al azar, y sobre un conjunto de arcos particularmente complicados de estimar, mostraron errores entre la ruta real calculada explícitamente y el valor estimado por el método anteriormente descrito menores al 3 % en promedio Inserción de Nuevos Clientes Otra característica del proyecto es el frecuente ingreso de nuevos centros de cultivo a la red de clientes de Skretting, evento que ocurre cada tres semanas en promedio, y que corresponde a nuevos centros de cultivo instalados por los clientes de Skretting, o bien a centros de cultivo existentes que provienen de otro proveedor de alimento para 56
57 salmones. El número de centros totales no presenta un crecimiento explosivo, debido a la natural desaparición de algunos centros por necesidad de las empresas clientes, o bien porque algunos centros de cultivo se cambian a otro proveedor de alimento para salmones. Luego, fue necesario desarrollar un método eficiente de inserción de nuevos centros de cultivo a la red de clientes de Skretting. Para lograr este objetivo, se mantiene almacenada la red mínima representativa de la red real, a la cual se agregan arcos nuevos que son incidentes sobre el nuevo centro, y sobre esta red mínima modificada se calcula la ruta más corta entre el nuevo centro de cultivo y todos los ya existentes en la red, y se utilizan dichos valores como estimaciones de las distancias reales. Para definir los arcos nuevos que se agregan a la red mínima, todos los centros de cultivo existentes se agrupan según al cuadrante al que pertenecen considerando al nuevo centro de cultivo ingresado como centroide, y se individualizan los centros de cultivo más cercanos a él, dentro de cada cuadrante, según su distancia euclidiana. Luego, el usuario debe ingresar las distancias reales de navegación a cada uno de estos centros, calculándolas mediante Google Earth o usando cartas de navegación, y dicha información es la que finalmente se agrega a la red mínima. El método de inserción de nuevos clientes a la red ha sido utilizado en el curso del proyecto para ingresar aproximadamente treinta nuevos centros, lo que ha permitido evaluar su utilidad y eficacia. Al comparar distancias estimadas por el método descrito con las distancias medidas explícitamente se observan errores menores al 7 % en promedio, valores considerados razonables por la empresa. El aumento de los errores con respecto a lo observado en la red mínima original ocurre principalmente porque ésta última fue definida usando criterio humano basado en la situación geográfica y naval característica de cada centro, mientras que sus modificaciones posteriores se basan únicamente en un criterio de distancias. Sin embargo, 57
58 la dificultad a la que se enfrenta el usuario final al ingresar un nuevo centro de cultivo está acotada a medir explícitamente cuatro distancias como máximo, lo que compensa el aumento del nivel de error observado Caracterización de los Buques Los datos relevantes que caracterizan los buques en el modelo son: Nombre del buque. Capacidad de carga. Velocidad promedio. Consumo de combustible: permite evaluar el costo variable de una ruta. Costo fijo diario: es importante que sea el costo real, no necesariamente el costo de contrato, de modo de cumplir el objetivo de minimizar el número de buques a utilizar. Tasa de descarga de alimento. Hora en que está disponible: permite modelar de manera más realista las operaciones reales, además de evaluar horizontes de más de un día de carga Caracterización de los Tiempos de Viaje Con la información descrita en los puntos anteriores, el tiempo de viaje entre dos centros se define como la razón entre la distancia entre ellos y la velocidad promedio del buque que realiza la ruta, más una penalización, de modo de modelar mediante dicha holgura las variaciones más comunes en los tiempos de viaje. El tiempo de descarga se define como la razón entre la demanda que se debe descargar en un centro y la tasa de descarga característica del buque que realiza la ruta, más un valor fijo que corresponde al tiempo de atraque y zarpe, y a lo procesos administrativos necesarios para realizar la entrega del producto. 58
59 Por otra parte, siguiendo la literatura que modela el VRPSTW, es decir el problema de ruteo de vehículos con ventanas de tiempo suaves, se definió que si el buque llega antes del día de entrega a un centro debe esperar al inicio de la jornada laboral de dicho día para poder descargar. Además, siempre se deben respetar el inicio y el final de la jornada laboral definida para cada centro. Al comparar los tiempos de viaje caracterizados de la manera previamente descrita con los tiempos reales de operación, se observa que, cuando no se presentan condiciones climáticas excesivamente adversas a la navegación, los tiempos estimados son una buena representación de la realidad. Es importante destacar que fue necesario penalizar el uso de algunos arcos que unen zonas consideradas conflictivas, de modo de modelar de manera más precisa las operaciones reales de transporte marítimo de la empresa. En efecto, en algunos casos el valor de la razón entre la distancia entre zonas y la velocidad promedio de los buques no entrega una buena caracterización de los tiempos de viaje, y por extensión, del costo incurrido en combustible. Dentro de las razones que motivan la penalización destacan los arcos que atraviesan sectores de navegación complicada por encontrarse expuestos al viento y/o corrientes, arcos que unen zonas muy lejanas en que la probabilidad de que los tiempos de viaje se vean afectados por desvíos de la ruta natural por razones de bioseguridad o climáticas aumenta fuertemente, y también los arcos que unen zonas infectadas por el virus ISA con zonas libres de contaminación, ya que resulta poco responsable, desde el punto de vista de la bioseguridad, utilizar tales arcos aunque estén permitidos por las restricciones de precedencia. Es interesante notar que la última razón mencionada motiva la generación de una matriz de tiempos de viaje asimétrica, ya que se busca desincentivar el uso de arcos que van desde zonas contaminadas hacia zonas libres, pero no necesariamente se cumple lo mismo en sentido inverso. 59
60 4.2. Desarrollo del Prototipo Tanto el método de optimización como las interfaces del prototipo fueron desarrolladas en un ambiente Builder C++. El objetivo principal del prototipo es fomentar el uso de la versión preliminar de la herramienta de apoyo a las decisiones que está siendo desarrollada, de modo de permitir calibrar los valores de los pesos de cada término de la función objetivo, así como identificar posibles mejoras en el diseño, tanto de la metodología de solución como de las interfaces con el usuario Interfaces Dentro de las interfaces desarrolladas para el prototipo destaca que los usuarios pueden moverse entre distintas solapas, utilizando un menú, para ingresar y modificar los datos de entrada, tanto los permanentes como la información de los centros de cultivo y de los buques, así como también los datos diarios de la demanda que debe ser satisfecha. Asimismo, existen solapas de optimización y de evaluación de las soluciones, en las que el planificador puede incorporar su experiencia práctica, realizando modificaciones y evaluando automáticamente sus consecuencias. Una descripción más detallada de las solapas diseñadas es la siguiente: BD Centros: En esta solapa se almacenan los datos más estables de los centros de cultivo señalados en la sección 4.1.1, tales como su nombre, ubicación y el área a la que pertenecen, así como su estado de bioseguridad y la extensión de su jornada laboral. BD Barcos: En esta solapa se almacenan todos los datos de los buques señalados en la sección 4.1.4, además de su disponibilidad. Demandas: En esta solapa se pueden ingresar los datos de las demandas que deben ser satisfechas por la planificación, desde dos formatos de planillas Excel utilizados por el planificador de transporte y el personal de ventas respectivamente. Automáticamente se agregan los datos por centro y fecha de entrega para reducir la complejidad del problema, se genera un esquema de la ubicación de los centros en una carta de navegación, y se calculan los límites de las ventanas de tiempo, 60
61 Figura 4.1: Interfaz, Solapa de Demandas tal como se ilustra en la Figura 4.1. Además, se pueden modificar todos los datos generados por defecto, tales como el porcentaje mínimo de entrega o los límites de la ventana de tiempo de cada centro. Resolución: En esta solapa se pueden modificar los parámetros de la función objetivo con se evalúan las soluciones, y la cantidad de soluciones iniciales del método GRASP de optimización, lo que define su duración y la amplitud de la búsqueda. Además, es posible almacenar las soluciones generadas para recuperarlas posteriormente, y exportarlas a una planilla Excel con un formato estándar. Evaluación: En esta solapa el planificador puede aprovechar su experiencia práctica, así como su comprensión de situaciones puntuales de las operaciones reales que no han sido modeladas en el prototipo, para realizar modificaciones manuales a la solución generada por el método de optimización. En efecto es posible cambiar la posición de los centros en las rutas, o bien cambiar la asignación de los centros de un buque a otro, así como la cantidad entregada a cada centro, y evaluar las consecuencias de dichos cambios sobre los términos de la función objetivo, y sobre los tiempos estimados de atraque y zarpe en cada centro o en el puerto. Un 61
62 Figura 4.2: Interfaz, Solapa de Evaluación ejemplo de esta solapa se expone en la Figura
Tesis de Magister en Gestión de Operaciones de la Universidad de Chile
Tesis de Magister en Gestión de Operaciones de la Universidad de Chile Título: "Ruteo de vehículos con ventanas de tiempo para una cadena de supermercados regional en Chile Alumno: Enrique Acuña Profesor

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución