Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1...

33
Pontificia Universidad Cat´ olica de Valpara´ ıso Facultad de Ingenier´ ıa Escuela de Ingenier´ ıaInform´atica Optimizaci´ on modelo de transporte Camilo Ib´ nez Salinas Priscilla Stuardo Namur Profesor Gu´ ıa: Ricardo Soto De Giorgis Profesor Co-referente: Broderick Crawford Labr´ ın Carrera: Ingenier´ ıa Civil Inform´ atica Diciembre, 2018

Transcript of Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1...

Page 1: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Pontificia Universidad Catolica de ValparaısoFacultad de Ingenierıa

Escuela de Ingenierıa Informatica

Optimizacion modelo de transporte

Camilo Ibanez SalinasPriscilla Stuardo Namur

Profesor Guıa: Ricardo Soto De Giorgis

Profesor Co-referente: Broderick Crawford Labrın

Carrera: Ingenierıa Civil Informatica

Diciembre, 2018

Page 2: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Abstract

At present, a mining company in Chile carries out a transport operation, whichconsists in taking workers from their home or previously defined stops until theirrespective work location taking into account a set of system constraints. In thisproject, we present the modeling and resolution of this problem through constraintprogramming. Flow Network theory is used for the modeling and the ECLiPSeCLP solver for the resolution. Interesting experimental results are illustrated for theaforementioned problem obtaining optimal values for the instances studied.

Keywords: Constraint Programming, Optimization, Vehicle Scheduling Prob-lem, Flow Network, ECLiPSe.

Resumen

En la actualidad, una empresa minera en Chile lleva a cabo una operacion detransporte, la cual consiste en llevar a trabajadores desde su casa o paraderos pre-viamente definidos hasta su respectiva ubicacion laboral considerando un conjuntode restricciones propias del sistema. En este proyecto se presenta el modelado yresolucion de esta problematica mediante la programacion con restricciones. Se uti-liza ademas el paradigma de flujo de redes para el modelado y el solver ECLiPSeCLP para la resolucion. Se ilustran resultados experimentales interesantes para laproblematica planteada obteniendo valores optimos para las instancias estudiadas.

Palabras Clave: Programacion con restricciones, Optimizacion, Problema deprogramacion de vehıculos, flujo en redes, ECLiPSe.

i

Page 3: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Indice

1 Introduccion 1

2 Definicion de objetivos 22.1 Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Descripcion del problema 3

4 Estado de arte 5

5 Marco Teorico 85.1 Flujo en redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5.1.1 Problema de flujo de costo mınimo . . . . . . . . . . . . . . . . . . 85.2 Programacion con restricciones . . . . . . . . . . . . . . . . . . . . . . . . 95.3 Problema de satisfaccion de restricciones . . . . . . . . . . . . . . . . . . . 10

5.3.1 Backtracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.3.2 Branch and bound . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.3.3 Heurısticas de seleccion de variable y valor . . . . . . . . . . . . . . 12

6 Enfoque propuesto I 136.1 Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136.2 Parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136.3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146.4 Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146.5 Funciones objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7 Enfoque propuesto II 167.1 Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.2 Parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177.4 Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177.5 Funcion objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

8 Experimento y resultados 198.1 Procesamiento de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 208.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

9 Conclusiones 259.1 Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Referencias 27

ii

Page 4: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Lista de Figuras

1 Mapa ejemplo recorrido buses . . . . . . . . . . . . . . . . . . . . . . . . . 32 Mapa recorrido real buses . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Ejemplo de laberinto con puertas . . . . . . . . . . . . . . . . . . . . . . . 114 Diagrama de flujo del proceso de la solucion propuesta . . . . . . . . . . . 195 Diagrama de flujo del proceso de la solucion propuesta 2 . . . . . . . . . . 196 Representacion de Viajes del experimento . . . . . . . . . . . . . . . . . . 217 Descripcion resultado primer experimento . . . . . . . . . . . . . . . . . . 218 Descripcion resultado segundo experimento . . . . . . . . . . . . . . . . . . 22

iii

Page 5: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Lista de Tablas

1 Conjuntos del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Parametros del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Variables del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Conjuntos del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Parametros del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Variables del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Descripcion de los datos de entrada experimento . . . . . . . . . . . . . . . 208 Cantidad de buses por lugar y perıodo, segundo experimento . . . . . . . . 229 Asignacion de buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2210 Resultados busqueda completa . . . . . . . . . . . . . . . . . . . . . . . . . 2311 Resultados con LDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 Resultados con LDS y Branch and Bound dicotomico . . . . . . . . . . . . 2413 Comparacion de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

iv

Page 6: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

1 Introduccion

En este momento diversas empresas se encuentran inmersas en proyectos de mejora uoptimizacion de procesos y automatizacion de estos, con la intencion de llegar a nivelesoptimos de eficiencia y efectividad, de modo que les permita diferenciarse por su calidadde procesos y mejorar su rentabilidad.

Por lo tanto, durante la ejecucion de un proceso, en el caso de este proyecto, el transportede trabajadores, intervienen recursos humanos, tecnologicos, materiales, tiempo, infraes-tructura fısica entre otros. En consecuencia, si se utilizan estos recursos de forma eficientemejorara el grado de satisfaccion de los trabajadores, el cliente final y por consiguiente larentabilidad de la empresa.

Este proyecto consistira en la optimizacion de un modelo de transporte para una empresadedicada al rubro de la minerıa. Esta posee un problema de programacion de vehıculos(VSP) que sera modelado mediante el paradigma de flujo en redes. Entonces, y como seexplico previamente en el resumen, se utilizara la programacion con restricciones paraminimizar las funciones objetivo de este modelo. Para ello se ocupara el sistema ECLiPSe,un software para el desarrollo de aplicaciones, que habitualmente es utilizado para laresolucion de problemas en ambitos de optimizacion.

Finalmente se analizara la capacidad de construir una nueva programacion del modelode transporte, que tome en cuenta variables como la demanda real de pasajeros. Ademasde abarcar el problema de asignacion de conductores que tambien presenta esta entidad,pero que no sera considerado en este proyecto.

En este informe, se presentan primero los objetivos del proyecto, luego se describe elproblema a enfrentar y por consecuencia, se realiza el estado del arte de este, para investigarsobre problemas similares y saber como fueron abordados y que tecnicas se utilizaron paraencontrar una solucion. Posterior a ello, se presenta el marco teorico de esta investigacion,en el cual se describe la programacion con restricciones, herramienta en la cual se basa eldesarrollo de la solucion. Despues de lo cual, se explica el modelado del problema en laseccion enfoque propuesto, por ultimo, veremos trabajos futuros, conclusiones y resultadosdel trabajo.

1

Page 7: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

2 Definicion de objetivos

El objetivo general de este proyecto es llevar a cabo el modelado y resolucion del pro-blema de transporte planteado por la empresa minera.

2.1 Objetivos especıficos

• Desarrollar un modelo matematico para resolver el VSP planteado.

• Resolver el problema utilizando programacion con restricciones.

• Realizar experimentos con la solucion implementada con el fin de obtener solucioneseficientes.

2

Page 8: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

3 Descripcion del problema

En la actualidad, la mayorıa de las empresas a nivel mundial, tienden a externalizarlas funciones que no son relativas al rubro en el cual se desempenan, buscan minimizar lacarga de trabajo a cambio de un costo conveniente. Chile no es la excepcion, una empresanacional minera, actualmente mantiene externalizada la gestion de los transportes, es-pecıficamente la que utilizan para el traslado de trabajadores desde su hogar en la ciudad,hasta los distintos puntos de llegada a la mina.

Este mecanismo que se ha adoptado no esta exento de inconvenientes, ya que, aunque sequiera dejar el trabajo encargado a otros, igualmente las empresas deben velar por el buenfuncionamiento del sistema. Por esto que las empresas buscan hacerse cargo de atender elsistema, para ver si este es optimo y por ende vale la pena pagar por los servicios prestados.De esta manera buscar hacer sus gastos mas eficientes y generar un impacto positivo paratodos los sectores relacionados con esta.

Figura 1: Mapa ejemplo recorrido buses

La empresa a la cual se le designo la tarea de transportar a los trabajadores tiene unaflota de buses y una cantidad de conductores para cumplir con el funcionamiento de susbuses, ademas recibe la direccion de cada trabajador, sus horarios de trabajo y los lugaresde la mina a los cuales deben llegar. Con estos datos ellos realizan una planificacionde viajes para luego asignar buses a estos viajes, y realizar la labor de traslado. En lafigura 1 podemos apreciar los lugares y distribucion geografica de los principales puntosde actividad de la companıa.

El servicio externalizado, es un proceso clave, y de gran relevancia para la produccionde la empresa. Traslada mas de 10.000 pasajeros diarios, en un promedio de 25.000 viajesmensuales, recorre en total aproximadamente 1,5 millones de kilometros mensuales. Cabemencionar que el promedio de cada viaje dura alrededor de 45 minutos considerandorecorridos entre Rancagua y campamentos y entre campamentos.

3

Page 9: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Figura 2: Mapa recorrido real buses

El inconveniente viene dado porque los trabajadores no siempre tienen los mismos ho-rarios, esto provoca que los buses tengan periodos de espera en la mina, y en los peorescasos realizan viajes vacıos para realizar un viaje en cierto horario, aumentando los costospara la empresa externa y la minera.

El problema que se abordara es analizar si la planificacion que esta realizando la empresaes la optima, ya que al ser una planificacion manual, no se tiene la certeza de que el procesode asignacion de recursos realizado por la empresa externa sea el mas eficiente. Lo que sehara en este caso es tomar la planificacion entregada por la empresa transportista y seanalizara en busca de una solucion automatizada mejor que la ya existente. La empresarealiza el cobro tomando en cuenta la mayor cantidad de buses utilizados (peak) y loskilometros recorridos por cada bus, por ende al encontrar una solucion favorable, los costosque involucran esta operacion se veran disminuidos.

Ademas, debido a que los trabajadores viven en distintos lugares de la ciudad y ensectores aledanos, podemos afirmar que la envergadura de este sistema de transporte esde gran tamano, debido al numero de viajes, buses circulando y cantidad de lugares quese recorren de manera diaria. Como podemos visualizar en la figura 2, se logra apreciar elalcance del sistema de transporte involucrado, ya que este mapa nos muestra el recorridoque efectuan los buses en un dıa laboral. Por lo tanto al cumplir los objetivos planteados,se espera efectuar un cambio no solo para la empresa y sus trabajadores, sino que tambienpara la ciudad y sectores aledanos que estan involucrados.

4

Page 10: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

4 Estado de arte

Esta seccion busca determinar antecedentes, conceptos, definiciones y la importancia delas herramientas y tecnicas que se han utilizado en investigaciones similares. En primerlugar, se mostraran investigaciones sobre optimizacion en problemas de transporte tipoVSP, CSP, entre otros, en las cuales se analizara la forma en que fueron resueltos. Ademas,cada uno de los trabajos presentes posee caracterısticas unicas que los hacen destacablesdentro del area, y por lo mismo, ser una fuente de inspiracion para otros trabajos sobreoptimizacion. Por ultimo, se explicaran algunos de los diversos software existentes en elmercado para la planificacion en el area de transportes, y se analizara la capacidad deestos para resolver el problema enfrentado por la minera.

El primer ejemplo que tomaremos como antecedente de la comunidad cientıfica es [1],la cual es una investigacion que analiza una integracion de problemas de programacion devehıculos y de tripulacion, es decir, VSP y CSP, debido a que por su gran tamano y lasnormas laborales han ampliado su complejidad. Esta situacion tambien sucede en el sectordel transporte publico, en el cual el objetivo principal de su cronograma de vehıculos ytripulaciones es ofrecer un servicio dado que permite a los pasajeros viajar facilmente aun precio reducido mientras minimiza los costos de operacion.

Se describe el problema a abarcar como problema multi-deposito e integracion de pro-gramacion de vehıculos y tripulacion, MDVCSP por sus siglas en ingles. Se cuenta contres depositos de buses, pero un bus solo pertenece a un deposito, por lo tanto, baja lacomplejidad del problema presentado resolviendo el VSP por cada deposito. Se desarrollaun modelo mediante el paradigma de flujo en redes donde cada nodo representa un lugaren cierto tiempo y cada arco una transicion de tiempo y posiblemente de espacio paralos buses luego se utiliza una metaheurıstica, especıficamente un algoritmo evolucionario(EA) para encontrar una buena asignacion de viajes y depositos, donde la aptitud deun cromosoma (individual) se evalua usando tecnicas de programacion matematica. Enparticular, para la resolucion, se utiliza el solver CPLEX.

Podemos concluir de esta investigacion que, aunque esta posee el mismo tipo de pro-blema (VSP), no es adecuado de seguir debido a la envergadura. Esta investigacion estaenfocada en mejorar el transporte publico de una ciudad de Alemania, para ello se uti-lizan tecnicas de modelado interesantes como el flujo en redes, que mediante nodos yarcos permite representar un problema de manera fehaciente. Por otro lado, el uso deuna metaheurıstica como EA garantiza una buena solucion, pero no aseguran un optimoglobal y no podemos dejar pasar ese objetivo en este proyecto sin antes probar otra formade resolucion que demuestre ser mas efectiva. Ademas, este problema esta pensado conmulti-deposito, y toma en cuenta la tripulacion, esto ultimo no sera incluido en la primeraiteracion de este proyecto.

Pese a que las metaheurısticas no nos aseguran que la solucion encontrada sea la mejor,estas se suelen aplicar a problemas que no poseen una forma posible de implementar esta

5

Page 11: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

solucion optima, y son utilizadas en diversos problemas de optimizacion combinatiorial[2]. Tambien es utilizado en casos que el solver o herramienta que este siendo utilizadapara la resolucion no sea capaz de resolver de manera optima el problema o ni siquierapequenas instancias de este (vease [3]).

Existen otros precedentes sobre VSP a resaltar como podemos observar en [4], donde seresaltan diversos enfoques para enfrentar el problema. Esta investigacion, propone tecnicasde modelado y aproximacion que pueden ser utiles para la resolucion del problema y se guıaprincipalmente por el modelado de flujo en redes y extensiones practicas para representarlo.

Como se habıa dicho anteriormente la investigacion se trata sobre VSP, y propiamentetal, el problema surgido en las companıas de autobuses de transporte publico, es decir, ala tarea de asignar los autobuses para cubrir un determinado conjunto de viajes calenda-rizados teniendo en cuenta los requisitos practicos, como depositos multiples y tipos devehıculos, ası como otras extensiones. Se establece que el calendario optimo se caracterizapor un tamano mınimo de la flota y costos operativos mınimos.

Se presentan varios enfoques modelo, ası como estrategias de resolucion especializadaspara el problema y sus extensiones. Este documento discute los enfoques modelo paradiferentes tipos de problemas de programacion de vehıculos y da una vision de conjuntoactualizada y completa sobre la base de una definicion general del problema. Aunque seconcentra en la presentacion de enfoques modelo, tambien se dan las ideas basicas de losenfoques de solucion.

Los VSP no solo se encuentran modelados mediante el paradigma de flujo en redes,como se encontro en [5], este paper se basa en un trabajo anterior, en el cual se propusoun modelo de hipergrafo para la satisfacibilidad de las formulas de Datalog, que es unlenguaje de programacion declarativo que proviene de Prolog. Aquı, se amplıa el enfoquepara tratar con una clase de formulas de programacion logica de restricciones (CLP), esdecir, formulas de Datalog en presencia de restricciones. Una formula CLP se representamediante un hipergrafo ponderado y el problema de evaluar esta formula se reduce a unasecuencia de calculos de trayecto mas cortos en hipergrafos. Para evaluar el rendimiento deeste enfoque, el problema de programacion de los conductores de buses se formula comoel problema de verificar la satisfacibilidad de una formula CLP y se resuelve medianteel algoritmo basado en hipergrafo incorporado dentro de un procedimiento de busquedalocal. Sin embargo, esta investigacion deja fuera las ventanas de tiempo, y al verificar lasatisfactibilidad de este no se obtiene siempre un optimo.

Durante los ultimos anos se ha invertido una gran cantidad de esfuerzo en la elaboracionde software a nivel mundial. Estas plataformas nos permiten realizar mejoras en los proce-sos en los cuales son insertados, lo que culmina en procesos desarrollados de manera muchomas eficiente. Actualmente existen diversos softwares que se relacionan en cierta maneracon el problema que abordaremos, aunque ninguno llega a ser un software a medida de loque se necesita, como parte final de esta seccion seran explicados a continuacion.

6

Page 12: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Optibus Permite a los planificadores de transporte publico preparar los vehıculos y losconductores de la manera mas optima, esta enfocado en buses urbanos e interurbanos porlo que su mecanismo de optimizacion es para viajes periodicos, al contrario de lo buscadoque es optimizar la programacion de viajes con una frecuencia irregular [6].

GoalBus Es un sistema software para la gestion del transporte en autobus. Resuelvede manera optima la planificacion de horarios, vehıculos y conductores en las empresasde transporte de pasajeros de autobuses. Este sistema es similar a Optibus, pero al serenfocado para buses del el transporte publico, no abarcarıa de manera correcta el problema,ya que se enfocan en rutas especıficas con frecuencias establecidas, en cambio el problemaactual consta de rutas especıficas, pero con diferentes ubicaciones de inicio, fin y horariosde viajes irregulares [7].

Pantonium Este sistema es para vehıculos que transporten pasajeros en diferentes ho-rarios y rutas esta hecho para manejar flujos de pasajeros cambiantes, rutas flexibles queabarquen mas cantidad de pasajeros en cada vehıculo, esto es lo contrario a los datos quese usan actualmente ya que la empresa tiene trabajadores fijos a los cuales transportar ylas rutas no varıan a no ser que se haga un nuevo punto de trabajo en la mina [8].

7

Page 13: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

5 Marco Teorico

A traves de los anos, el proceso de optimizacion y todo lo que conlleva siempre ha sidoun area de estudio de importancia. Especialmente para la informatica, un area llena deherramientas adecuadas para solucionar este tipo de problemas. Para poder llevar a cabouna optimizacion debe haber previamente un modelado del problema, independientementede si es una maximizacion o minimizacion, actualmente existe una cantidad diversa de tiposde modelamientos, para el problema actual de VSP nosotros utilizaremos el modelamientode flujo en redes.

A continuacion, se explicaran las herramientas investigadas que se utilizaran para im-plementar el modelo previamente descrito, comenzando por el paradigma de flujo en redes,de manera posterior la programacion con restricciones, luego los problemas de satisfaccionde restricciones y por ultimo, la programacion logica con restricciones, seccion en la cual sehablara sobre la plataforma ECLiPSe y como esta resuelve un par de problemas orientadosal area de transportes.

5.1 Flujo en redes

En un problema de flujo de redes, deseamos trasladar alguna entidad (electricidad, unproducto de consumo, una persona, un vehıculo o un mensaje) de un punto a otro en unared subyacente, y hacerlo de la manera mas eficiente posible, para proporcionar un buenservicio a los usuarios de la red y para usar las instalaciones de transmision subyacentes(y tıpicamente caras) de manera efectiva [9].

En teorıa de grafos, el paradigma de modelado de flujo en redes es un grafo dirigidorepresentado por arcos y nodos, siendo estos capaces de representar otras entidades, dondecada arco tiene una capacidad y un flujo. La cantidad de flujo en un arco no puede excederla capacidad de este. Un flujo debe satisfacer la restriccion de que la cantidad de flujo enun nodo es igual a la cantidad de flujo que sale de el, a menos que sea una fuente, que solotenga flujo de salida o sumidero, que solo tenga flujo entrante, en el caso de este proyectose obedece a la primera restriccion.

En general, muchos de los problemas de redes pueden verse como casos particularesde programacion lineal. Sin embargo, aun para instancias pequenas, los problemas deredes pueden tener demasiadas variables y restricciones, por consecuencia esto aumenta ladificultad de su resolucion. Es por esto que se hace muy necesario aprovechar la estructuraespecial de cada problema para encontrar algoritmos especializados a cada caso.

5.1.1 Problema de flujo de costo mınimo

El modelo de flujo de costo mınimo (MCFP) es el mas fundamental de todos los pro-blemas de flujo en redes. Este busca determinar un envıo a menor costo de un producto atraves de una red para satisfacer las demandas en ciertos nodos de los suministros disponi-bles en otros nodos. Este modelo tiene una serie de aplicaciones conocidas: la distribucion

8

Page 14: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

de un producto desde las plantas de fabricacion a los almacenes, o desde los almacenesa los minoristas; el flujo de materia prima y bienes intermedios a traves de las diversasestaciones de mecanizado en una lınea de produccion; el enrutamiento de automoviles atraves de una red de calles urbanas; y el enrutamiento de llamadas a traves del sistematelefonico [9]. Como veremos en la seccion del enfoque propuesto, en este proyecto se aplicapara modelar el VSP. A continuacion se explicaran las redes mediante formulacion.

Si G = (N,A) es una red definida por un conjunto N de n nodos y un conjunto A dem arcos. Cada arco (i, j) ∈ A tiene un costo asociado cij que denota el costo por unidadde flujo en ese arco. Suponemos que el costo de flujo varıa linealmente con la cantidadde flujo. Tambien asociamos con cada arco (i, j) ∈ A una capacidad uij que denota lacantidad maxima que puede fluir en el arco y un lımite inferior lij que denota la cantidadmınima que debe fluir en el arco. Asociamos con cada nodo i ∈ N un numero entero b(i)que representa su oferta/demanda. Si b(i) > 0, el nodo i es un nodo de suministro; sib(i) < 0, el nodo i es un nodo de demanda con una demanda de −b(i); y si b(i) = 0, elnodo i es un nodo de transbordo. Las variables de decision en el problema de flujo de costomınimo son los flujos de arco, y representamos el flujo en un arco (i, j) ∈ A mediante xij.El problema del flujo de costos mınimos, es un modelo de optimizacion formulado de lasiguiente manera:

Minimizar∑

(i,j)∈Acijxij (1)

j:(i,j)∈Axij −

j:(j,i)∈Axij = b(i) ∀i ∈ N, (2)

lij ≤ xij ≤ uij ∀(i, j) ∈ A (3)

La funcion objetivo (1) tiene como objetivo minimizar los costos totales de modo queel flujo total de salida menos la afluencia total de cada nodo es igual a la oferta/demandade ese nodo (2). El flujo en cada arco debe satisfacer el lımite inferior y superior de esearco (3). Nos referimos al conjunto de restricciones (2) como restricciones de conservacionde flujo y a (3) como restricciones de flujo limitado.

5.2 Programacion con restricciones

La programacion con restricciones es una tecnologıa de optimizacion, que asocia len-guajes de modelado con motores de resolucion eficientes. Combina metodos de diferentesdominios como inteligencia artificial, programacion matematica y teorıa de grafos. Se tratade un paradigma de programacion basado en la especificacion de un conjunto de restric-ciones, las cuales deben ser satisfechas por cualquier solucion del problema planteado, enlugar de especificar los pasos para obtener dicha solucion.

Esta tecnologıa, se relaciona con la programacion logica y con la investigacion operativa.De hecho, cualquier programa logico puede ser traducido en un programa con restriccionesy viceversa. Muchas veces los programas logicos son traducidos a programas con restric-ciones debido a que la solucion es mas eficiente que su contraparte.

9

Page 15: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

El enfoque de la programacion con restricciones se basa principalmente en buscar unestado en el cual una gran cantidad de restricciones sean satisfechas simultaneamente. Unproblema se define tıpicamente como un estado de la realidad en el cual existe un numerode variables con valor desconocido. Un programa basado en restricciones busca dichosvalores para todas las variables.

5.3 Problema de satisfaccion de restricciones

Un problema de satisfaccion de restricciones (CSP1) se define por un conjunto de va-riables, {X1, X2, ..., Xn} y un conjunto de restricciones, {C1, C2, ..., Cm}. Cada variableXi tiene un dominio no vacıo Di de valores posibles. Cada restriccion Ci implica algunsubconjunto de las variables y especifica las combinaciones permitidas de valores para esesubconjunto. El estado del problema se define mediante una asignacion de valores a algu-nas o a todas las variables, {Xi = vi, Xj = vj, ...}. Una asignacion que no infringe ningunarestriccion se denomina asignacion coherente o legal. Una asignacion completa es aquellaen la que se menciona cada variable, y una solucion para un problema de satisfaccionde restricciones, es una asignacion completa que satisface todas las restricciones. AlgunosCSP tambien requieren una solucion que maximice o minimice una funcion objetivo, estosproblemas son llamados COP o problemas de optimizacion con restricciones.

Como mencionabamos anteriormente, en un COP el objetivo es optimizar una funcionobjetivo con respecto a algunas variables y en prescencia de restricciones para estas. Lafuncion objetivo es una funcion de costo la cual debe ser minimizada o maximizada de-pendiendo del caso, En palabras de [10], “Un COP es una tupla 〈S, f, φ〉, donde S es unespacio de busqueda libre, f es una funcion objetiva (valorada) en S y φ es una formula(funcion booleana en S). Una solucion de un COP es un s ∈ S con φ(s) = verdadero yun valor f optimo”.

En una busqueda regular, un algoritmo solo puede hacer una cosa: buscar. En CSP existeotra eleccion: un algoritmo puede buscar (elegir una nueva asignacion de variable de variasposibilidades) o hacer un tipo especıfico de inferencia llamada propagacion de restricciones :usar las restricciones para reducir el numero de valores legales para una variable, que a suvez puede reducir los valores legales para otra variable, y ası sucesivamente. La propagacionde restricciones puede entrelazarse con la busqueda, o puede realizarse como un paso depreprocesamiento, antes de que comience la busqueda. A veces, este preproceso puederesolver todo el problema, por lo que no se requiere ninguna busqueda [11].

Existen distintas formas de resolucion de CSPs, y para ello se necesita explorar un espa-cio de posibles soluciones. Esta exploracion puede ser realizada mediante una estructurade arbol, tomando como partida en la raız, representando el problema inicial, y siendocada uno de sus nodos sub-problemas. El arbol se construye dividiendo el dominio de lasvariables para obtener estos sub-problemas [12]. A continuacion, se explicaran distintastecnicas de busqueda y filtrado para generar y explorar el arbol.

1En adelante entiendase como Constraint Satisfaction Problem

10

Page 16: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

5.3.1 Backtracking

Es un algoritmo de busqueda para encontrar todas o algunas soluciones a problemascomputacionales, este construye incrementalmente candidatos a las soluciones, y abandonacada candidato parcial (backtracks) tan pronto como determina que el candidato no puedeser una solucion valida. Esta tecnica crea todas las posibles combinaciones de elementospara luego obtener una solucion recorriendo el arbol de posibilidades creado, la principalfortaleza de esta tecnica es que se pueden crear restricciones de poda, lo que disminuye ende gran manera el tiempo de ejecucion.

Figura 3: Ejemplo de laberinto con puertas

Un ejemplo de backtracking serıa un laberinto con puertas (figura 3), al comienzo dellaberinto tengo tres puertas por lo que marco la 1 y entro por ella, al entrar en ellame encuentro con dos puertas por lo que marco la 1.1 y entro por ella, pero al entrar meencuentro con que es un camino sin salida, en ese caso me devuelvo y como ya esta marcadala puerta 1.1, entro en la siguiente, la 1.2, que nuevamente me lleva a un camino sin salida,vuelvo a retornar, y como no existe un puerta 1.3, retorno de nuevo hasta encontrar unaopcion, como ya esta marcada la puerta 1, entro en la 2, que para nuestro agrado es lasalida, en caso de no haber sido la salida, se siguen recorriendo las puertas una a una. Unejemplo de poda serıa incluir el color de las puertas a las restricciones, por ejemplo, noentrar en puertas de color rojo, lo que ahorra la cantidad de puertas recorridas.

5.3.2 Branch and bound

El metodo o algoritmos branch and bound (tambien llamado Ramificacion y Acota-cion), es una variante del Backtracking mejorado sustancialmente. El termino se aplicamayoritariamente para resolver problemas de optimizacion.

Esta tecnica se suele interpretar como un arbol de soluciones, donde cada rama del arbolnos lleva a una posible solucion posterior a la actual. La caracterıstica de esta tecnica conrespecto a otras (y a la que debe su nombre) es que el algoritmo se encarga de detectar enque ramificacion las soluciones dadas ya no estan siendo optimas, para podar esa rama delarbol y no continuar malgastando recursos y procesos en casos que se alejan de la solucionoptima.

11

Page 17: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Branch and bound es un enfoque de solucion exacta para los problemas de optimizacioncombinatorial, que se basa en el principio de dividir y conquistar [1]. Basicamente, elproblema se descompone en una serie de problemas mas pequenos, que son mas faciles deresolver que el original. Estos problemas mas pequenos se resuelven, y luego la informacionde su solucion se junta para resolver el problema original. La ramificacion divide el espaciooriginal de la solucion en dos o mas partes. Cada uno de los espacios de solucion maspequenos se divide de nuevo en dos o mas partes, y ası sucesivamente.

Como resultado, obtenemos un arbol de busqueda donde cada espacio de solucion estarepresentado por un nodo. Sin acotar (Bounding), este procedimiento corresponde a unaenumeracion completa que es imposible para la mayorıa de los problemas de tamanopractico. El lımite se utiliza para podar los nodos de la busqueda que no pueden conteneruna solucion mejor que la mejor solucion encontrada hasta el momento. Para problemas deminimizacion, como el enfrentado en este proyecto, necesitamos encontrar lımites inferioresen cada espacio de solucion o nodo.

5.3.3 Heurısticas de seleccion de variable y valor

Debido a que los algoritmos de busqueda empiezan su proceso seleccionando una variablepara enumerarla o bifurcarla, el orden en que esta eleccion esta hecha es llamada seleccionde variable. Esta eleccion puede ser crucial para el rendimiento de un proceso de resolucionefectivo. A continuacion, se explicaran heurısticas para seleccionar la seleccion de variable:

• First-fail (dominio mas pequeno): Esta opcion asume que el exito se lograra inten-tando con las variables con mayor oportunidad de fallar, es decir, el valor con menorcantidad de alternativas disponibles. (Se adapta mejor a dominio discreto).

• Most-constrained variable: Se justifica la eleccion, si la instanciacion de la variabledebe llevar a una mayor poda del arbol en la propagacion de restricciones.

• Reduce-first (dominio mas grande): Selecciona la variable con mayor dominio. (Seadapta mejor a dominio continuo).

• Round-robin: Selecciona las variables en orden equitativo, desde la primera variabledefinida hasta la ultima del modelo.

Luego de este proceso, se tiene que seleccionar un valor del dominio. Si el valor elegidoen el primer intento para cada variable es el correcto, se puede encontrar una solucion sinla necesidad de volver atras (backtracking). No obstante, si el problema de satisfaccionde restricciones requiere todas las posibles soluciones, o si es inconsistente, la seleccion devalor es irrelevante. Generalmente para los dominios continuos son bifurcados, se obtienen2 intervalos de tamano equivalente. Los dominios discretos en general, son enumerados,sin embargo, tambien es posible bifurcarlos. Luego de la enumeracion se puede el valormas pequeno, la mediana o el maximo.

12

Page 18: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

6 Enfoque propuesto I

En esta seccion, se explicara como sera enfrentado el problema previamente planteado,el cual es una representacion mediante modelado de flujo en redes de un Vehicle SchedulingProblem (VSP). Consecuentemente, esta seccion explica cada una de las restricciones quehay que tener en cuenta para satisfacer este modelo y con ello obtener un buen resultadocuando se utilice el solver.

6.1 Conjuntos

Tabla 1: Conjuntos del modelo

B Buses.T Cantidad de intervalos de tiempo o perıodos.L Lugares.V Viajes programados.

Djit Destinos posibles del bus i desde el lugar j en el perıodo t.

6.2 Parametros

Tabla 2: Parametros del modelo

posIniij 1, si el bus comienza en el lugar j = 1. 0 en otro caso.posF inij 1, si el bus termina en el lugar j = 1. 0 en otro caso.inicioVk Perıodo en el que comienza el viaje programado k.finVk Perıodo de llegada del viaje programado k.cantVk Cantidad de buses requeridos en el viaje k.origenVk Lugar de origen del viaje programado k.destinoVk Lugar de destino del viaje programado k.

arribojsit Hora de llegada del bus i, que inicio su viaje en t, desde el lugar j,

al destino s, donde s ∈ Djit.

cvjs Costo de recorrer desde el lugar j al s.cfi Costo fijo de poner el bus i en circulacion.

13

Page 19: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

6.3 Variables

Tabla 3: Variables del modelo

Xjsit 1, si el bus i viaja vacıo el perıodo t, desde j hasta s. 0 en otro caso.

Yik 1, si el bus i se asigna al viaje k. 0 en otro caso.

Zjit 1, si el bus i permanece en el lugar j en el perıodo t. 0 en otro caso.

Wi 1, si se utiliza el bus i en la programacion. 0 en otro caso.

6.4 Restricciones

En esta seccion se explicaran las restricciones del modelo, las cuales seran ocupadaspara la programacion, son las que limitan y ayudan a producir mejores soluciones para elproblema de transporte.

Restricciones de balance Las restricciones de balance son necesarias debido al modelode redes implementado, este nos exige que todo lo que sale de un nodo debe ser igual alo que entra a este, por lo tanto, se definieron nodos por bus, lugar y periodo, ademas enesta restriccion se hace el balance entre todos los arcos que los conectan. Los arcos queconectan a los nodos corresponden a las variables X, Y, Z, definidas previamente en latabla 6. Para un mayor entendimiento del modelado de flujo en redes y las restriccionesplanteadas, se presentan figuras explicativas a continuacion de cada una de estas.

Restriccion 1.1

posIniij = Zjit +

k∈V |origenVk=j∧inicioVk=1

Yik +∑

s∈Djit

Xjsit ∀i ∈ B, j = 1, t = 1 (4)

Restriccion 1.2

Zji(t−1) +

k∈V |destinoVk=j∧finVk=t

Yik +w=t−1∑

w=1

s∈L|j∈Dsiw∧arribojsit =t

Xjsiw = Zj

it (5)

+∑

k∈V |origenVk=j∧inicioVk=t

Yik +∑

s∈Djit

Xjsit ∀i ∈ B, ∀j ∈ L, t = 2, ...T − 1 (6)

Restriccion 1.3

Zji(T−1) +

k∈V |destinoVk=j∧finVk=t

Yik +w=T−1∑

w=1

s∈L|j∈Dsiw∧arribojsit =T

Xjsiw = posF inij (7)

∀i ∈ B, j = 1, t = T (8)

14

Page 20: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Necesidad de buses por viaje

i∈BYik = cantVk ∀k ∈ V (9)

Control de buses circulando

Wi ≥∑

k∈V |origenVk=j∧inicioVk=t

Yik +∑

s∈Djit

Xjsit ∀i ∈ B, ∀j ∈ L|posIniij = 1, t = 1, ...T

(10)

Control viajes vacıos

Xjsit = 0 ∀i ∈ B, ∀t ∈ T, ∀j ∈ L, j = s (11)

6.5 Funciones objetivo

Por ultimo, tenemos las funciones objetivo que se quieren minimizar para optimizar estemodelo de transporte. En primer lugar, tenemos la ecuacion 12, que requiere minimizar elcosto de los buses que se encuentran circulando. En segundo lugar, se aprecia la ecuacion13, la cual tiene como objetivo minimizar las distancias recorridas al efectuarse viajesvacıos. En ultimo lugar, se encuentra la funcion costo total (14), que busca minimizar loscostos al sumar las ecuaciones 12 y 13.

minimizar∑

i∈Bcfi ∗Wi (12)

minimizar∑

i∈B

j∈L

T∑

t=1

s∈Djit

cvjs ∗Xjsit (13)

minimizar∑

i∈Bcfi ∗Wi +

i∈B

j∈L

T∑

t=1

s∈Djit

cvjs ∗Xjsit (14)

Estas funciones objetivo, se atacaran de manera separada, es decir, efectuando opti-mizacion mono-objetivo. En esta instancia del proyecto se abarcara la funcion objetivorepresentada por la ecuacion 12, por ser considerada mas importante para la solucion ydebido a que para proceder con una tecnica de solucion que minimice el costo total, esnecesario comenzar con una solucion inicial factible [17].

15

Page 21: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

7 Enfoque propuesto II

En esta seccion, se explicara como sera enfrentado el VSP representado como un pro-blema de flujo de costo mınimo, este sera combinado con un algoritmo que se encargarade la asignacion de los buses. Al igual que para el modelo anterior, esta seccion explicacada una de las restricciones que hay que tener en cuenta para satisfacer este modelo.

7.1 Conjuntos

Tabla 4: Conjuntos del modelo

T Cantidad de intervalos de tiempo o perıodos.L Lugares.V Viajes programados.Dit Destinos posibles desde lugar i en el perıodo t.

7.2 Parametros

Tabla 5: Parametros del modelo

inicioVk Perıodo en el que comienza el viaje programado k.finVk Perıodo de llegada del viaje programado k.cantVk Cantidad de buses requeridos en el viaje k.origenVk Lugar de origen del viaje programado k.destinoVk Lugar de destino del viaje programado k.arriboist Hora de llegada del bus si inicio su viaje en t,

desde el lugar i, al destino s, donde s ∈ Dit.cvjs Costo de recorrer desde el lugar j al s.cfi Costo fijo de poner el bus i en circulacion.

16

Page 22: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

7.3 Variables

Tabla 6: Variables del modelo

X ist Cantidad de buses que viajaron vacıos en el perıodo t, desde i

hasta s. t = 1, ..., T ; i ∈ L; s ∈ Dit.Zit Cantidad de buses que permanecen en el lugar i en el perıodo t.

t = 1, ..., T ; i ∈ L.Ni Cantidad de buses que parten y vuelven al lugar i.

i ∈ L.

7.4 Restricciones

Restriccion 1

Ni = Zit +∑

k∈V |origenVk=j∧inicioVk=1

CantVk +∑

s∈Dit

X ist (15)

∀i ∈ L|(i = Rcgua), t = 1 (16)

Restriccion 2

0 = Zit +∑

k∈V |origenVk=j∧inicioVk=1

CantVk +∑

s∈Dit

X ist (17)

∀i ∈ L|(i = Rcgua), t = 1 (18)

Restriccion 3

Zi(t−1) +∑

k∈V |destinoVk=i∧finVk=t

CantVk +w=T−1∑

w=1

s∈L|j∈Diw∧arriboist=t

Xsiw = Zit (19)

+∑

k∈V |origenVk=i∧inicioVk=t

CantVk +∑

s∈Dit

X ist ∀i ∈ L, t = 2, ...T − 1 (20)

Restriccion 4

Zi(T−1) +∑

k∈V |destinoVk=i∧finVk=T

CantVk +w=T−1∑

w=1

s∈L|j∈Dsw∧arribosit =T

Xsiw = Ni (21)

∀i ∈ L|(i = Rcgua) t = T (22)

17

Page 23: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Restriccion 5

Zi(T−1) +∑

k∈V |destinoVk=i∧finVk=T

CantVk +w=T−1∑

w=1

s∈L|j∈Dsw∧arribosit =T

Xsiw = 0 (23)

∀i ∈ L|(i = Rcgua) t = T (24)

Control viajes vacıos

Se nos hace necesario agregar esta restriccion para controlar el uso de viajes vacıos, yaque poda el arbol de busqueda de la solucion. La ecuacion 25, restringe que los viajesvacıos no puedan tener un lugar de origen y destino igual.

Xjsit = 0 ∀i ∈ B, ∀t ∈ T, ∀j ∈ L, j = s (25)

7.5 Funcion objetivo

Al agregar la ultima restriccion podemos atacar la funcion objetivo minimizando la canti-dad de buses utilizados y no preocuparnos de minimizar a su vez las distancias recorridas,de esta forma nos ahorramos una funcion multiobjetivo.

minimizar∑

i∈Lcfi ∗Ni (26)

18

Page 24: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

8 Experimento y resultados

En esta seccion, se describe como se realizaron los experimentos, con el objetivo deaclarar el proceso de la solucion, observable en la figura 4 para el modelo utilizado en laprimera parte de este proyecto y en la figura 5 para el segundo modelo. En el final de estaseccion, se mostraran los resultados obtenidos con la resolucion para ambos modelos.

Figura 4: Diagrama de flujo del proceso de la solucion propuesta

Figura 5: Diagrama de flujo del proceso de la solucion propuesta 2

19

Page 25: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

8.1 Procesamiento de los datos

Para el experimento realizado, se ocuparon datos reales de la programacion de los busesrealizada por la empresa externa a la minera. Para ello, se nos ha facilitado un parser quetransforma los datos de la programacion de los buses, y los convierte a un formato quefacilita la programacion con la plataforma ECLiPSe. Los datos de la programacion fueronseparados acorde al modelo matematico explicado en la seccion anterior en; viajes, buses,perıodos y lugares. Dispuestos de la siguiente forma:

• Viajes (Numero de viaje, Numero perıodo inicio, Numero periodo fin, cantidad debuses necesitados, lugar de origen del viaje, lugar de destino del viaje).

• Buses (1, 2, 3, ..., B).

• Lugare s(1, 2, 3, ..., L).

• Perıodos (1, 2, 3, ..., T ).

En esta segunda fase del proyecto, se utilizo una instancia pequena, para poder repre-sentar de mejor manera los resultados y facilitar el entendimiento de estos. Los datos deentrada ocupados se encuentras disponibles en la tabla 7, estos seran la entrada para losexperimentos realizados con el primer y segundo modelo.

Viajes Buses Perıodos Lugares(1,1,5,1,1,5) 1 1 1(2,1,7,1,1,2) 2 ... 2(3,2,8,1,1,3) 3 ... 3(4,4,10,1,1,4) 4 ... 4(5,11,15,2,5,1) 5 19 5

Tabla 7: Descripcion de los datos de entrada experimento

20

Page 26: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

8.2 Resultados

En esta seccion, se mostraran los resultados obtenidos al resolver el problema mediantelos dos enfoques propuestos anteriormente. La entrada utilizada por los dos modelos estaespecificada en la tabla 7. Por ultimo, se mostraran 3 tablas de resultados obtenidos conel enfoque propuesto II, utilizando distintas heurısticas de seleccion de variable y valor.

Para el primer modelo, se logro obtener un resultado optimo, que se puede observar enla Figura 7, que representa los viajes realizados por cada bus y la Figura 6, que representalos viajes programados. Sin embargo, cuando se trata de abarcar una instancia con mayorcantidad de viajes, el algoritmo no devuelve resultados, debido a que la herramienta se vesobrepasada, debido a un overflow de memoria. Por lo cual hemos abarcado el problemadesde otra perspectiva con otro modelo.

Figura 6: Representacion de Viajes del experimento

Figura 7: Descripcion resultado primer experimento

21

Page 27: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Figura 8: Descripcion resultado segundo experimento

En el segundo modelo, la plataforma ECLiPSe se encarga de entregar la cantidad debuses necesarios en cada lugar para satisfacer los viajes programados y viajes vacios quesean necesarios para cumplir con la demanda. En la Figura 8, se puede observar los mis-mos viajes programados que en la Figura 6, ademas en morado se encuentran las flechasrepresentando los viajes vacıos que son necesarios, tambien se encuentra la cantidad debuses necesarios en cada lugar que ocurre un viaje vacıo, esto se puede apreciar en la tabla8.

(Perıodo, Lugar origen, Lugar destino) Cantidad de buses(9, 2, 5) 1(13, 3, 1) 1(13, 4, 1) 1

Tabla 8: Cantidad de buses por lugar y perıodo, segundo experimento

Nuestro algoritmo de asignacion, es el encargado de decidir cuales buses atenderan lanecesidad de viajes, este toma el output obtenido del algoritmo de optimizacion y asignalos buses de tal manera que no se sobrecargue un bus, debido a que en la realidad seestarıa tambien sobrecargando a un conductor. Los resultados de la asignacion de esteexperimento son los siguientes:

Numero de Bus Viajes Vacıos Viajes programados1 1, 52 1 2, 53 2 34 3 4

Tabla 9: Asignacion de buses

Debido a que obtuvimos resultados optimos con las instancias pequenas, para el segundomodelo, se realizo una serie de pruebas, las cuales se representan en las tablas que vienena continuacion. En la tabla 11, se muestran los resultados obtenidos para una instancia

22

Page 28: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

de 20 viajes, la cual fue resuelta con las distintas heurısticas de seleccion de variable yvalor, empleando un metodo de busqueda completo, es decir, que explora todo el arbol deposibilidades.

Sin embargo, el metodo de busqueda completo tenıa dificultades para enfrentarse ainstancias mas grandes, y ya que las programaciones reales estan compuestas de aproxi-madamente 150 viajes, decidimos cambiar este metodo por Limited Discrepancy Search(LDS), el es mas util en el contexto de los problemas de satisfaccion de restriccion enlos que todo el arbol es demasiado grande para buscar exhaustivamente. Por lo tanto, losresultados que se observan en las tablas 11 y 12, ocupan este metodo.

Ademas la tabla 12, muestra resultados de una instancia completa (158 viajes), y ocupael algoritmo Branch and Bound con una estrategia dicotomica, es decir, que despues deencontrar una solucion, divide el rango de costo restante y reinicia la busqueda paraencontrar una solucion en el sub-rango inferior. Si eso falla, asume el sub-rango superiorcomo el rango de costo restante y lo divide nuevamente. Por lo tanto, a diferencia de losotros algoritmos que no llegaban a solucion con instancias tan grandes debido a la busquedaexahustiva, este divide en subrangos, lo cual converge a una solucion mas rapida.

Instancia Viajes Seleccion Variable Seleccion Valor Backtracks Tiempo(s)20 input order indomain max 156 125,4220 input order indomain middle 417 85,9220 input order indomain random 2 25,2720 occurence indomain max 208 57,1320 occurence indomain middle 232 41,5520 occurence indomain median 43 42,7520 occurence indomain reverse split 208 65,3920 occurence indomain random 14 27,28

Tabla 10: Resultados busqueda completa

Instancia Viajes Seleccion Variable Seleccion Valor Backtracks Buses Tiempo(s)21 input order indomain median 13 94 37,7550 input order indomain middle 48 195 59,58100 input order indomain max 128 530 132,48100 input order indomain random 96 637 200,47100 max regret indomain random 95 500 227,94100 max regret indomain reverse split 128 530 204,95100 max regret indomain max 128 530 187,16100 occurence indomain max 208 657 57,13100 occurence indomain reverse min 1 657 89,03100 occurence indomain random 59 610 119,74

Tabla 11: Resultados con LDS

23

Page 29: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Instancia Viajes Seleccion Variable Seleccion Valor Backtracks Buses Tiempo(s)100 input order indomain reverse min 15 272 649,72145 input order indomain reverse min 1 261 96,66150 input order indomain reverse min 15 272 353,14158 input order indomain reverse min 15 272 359,41

Tabla 12: Resultados con LDS y Branch and Bound dicotomico

En paralelo al desarrollo de este proyecto, otros colaboradores realizaron la soluciondel problema que se abarca utilizando el software CPLEX. Para representar el problemautilizaron el mismo modelo presentado en la seccion Enfoque Propuesto II de este informe.De esta forma, se logra comparar las soluciones entregadas por ambos algoritmos.

Analizando los resultados obtenidos se logro concluir que el algoritmo desarrollado tie-ne mejor rendimiento minimizando los viajes vacıos, al contrario del algoritmo realizadoen CPLEX con el cual fueron comparados todos nuestros resultados. Este ultimo, poseemejor rendimiento minimizando la cantidad de buses en circulacion, obteniendo un mejorresultado solucionando el problema.

Es debido mencionar que aunque el algoritmo desarrollado en ECLiPSe tenıa como ob-jetivo minimizar la cantidad de buses circulando, este tambien contaba con restriccionesencargadas de controlar la cantidad de viajes vacıos realizados. De esta forma se dismi-nuıan la cantidad de kilometros recorridos, sin embargo, impacto en la cantidad de busesutilizados por la empresa en un dıa laboral. Estos resultados pueden ser observados en latabla 13.

Software Instancia Viajes Viajes vacios Buses ocupadosCPLEX 145 191 175ECLiPSe 145 177 261ECLiPSe 145 180 242

Tabla 13: Comparacion de resultados

24

Page 30: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

9 Conclusiones

En primer lugar, se presentaron todas las herramientas fundamentales para poder llevara cabo el proyecto de tesis, por ello se realizaron las investigaciones necesarias y explica-cion de la problematica, ademas se muestra como se enfrentara este problema tipo VSPque enfrenta la empresa de minerıa, asimismo la herramienta principal, siendo esta laprogramacion con restricciones, para la cual se utilizara la plataforma ECLiPSe, que nosayudara a desarrollar un algoritmo capaz de solucionar el problema planteado.

Este proyecto, presento secciones teoricas y las bases para el desarrollo de este, poste-rior a esto se detallaron resultados de la solucion propuesta y su efectividad, los cuales noalcanzaron las expectativas deseadas. Al final de esta seccion, se hablo de como se solu-cionaran estos problemas y de la continuidad de este proyecto. Los resultados finales secompararon mediante indicadores producidos entre la programacion utilizada como inputde este trabajo y la salida del mismo, ası obtuvimos una comparacion fidedigna de unantes y un despues del trabajo realizado.

Con respecto a los resultados obtenidos, cabe recalcar que se cumplio el objetivo deacotar los viajes vacıos, en consecuencia se produjo la reduccion de recursos utilizadospor la herramienta, y se logro que el algoritmo efectuara un podado mas eficiente en labusqueda de las solucione. Por ende, se evito el problema de overflow causado al probarcon instancias pequenas, lograndose identificar mediante el seguimiento de la memoriautilizada por el programa observando sus estadısticas.

Por otro lado, el segundo modelo entrego resultados optimos de una programacion deviajes completa, es decir, el algoritmo podrıa ocuparse por la empresa minera para mi-nimizar los costos asociados a la empresa transportista. Finalmente, se logro el objetivocambiando el enfoque propuesto, sin haber cambiado el paradigma de modelado o la he-rramienta utilizada.

Para finalizar, podemos mencionar el historial que posee la programacion con restric-ciones para resolver diversos problemas de optimizacion en areas de planificacion, progra-macion (scheduling), transportes, entre otras. Aunque tomamos en cuenta de que abarcarun problema de optimizacion con esta tecnologıa no es discutido, queremos destacar quelos sistemas de programacion de restricciones normalmente no proporcionan un soporteespecial para lidiar con un modelado de flujo en redes [18].

9.1 Trabajos futuros

El proceso de elaborar una herramienta que optimice un modelo de transporte completono se desarrolla de un dıa para otro. Por eso esta parte del trabajo abarco el analizaruna solucion propuesta tomando en cuenta la cantidad de buses y los viajes usados enuna planificacion efectuada manualmente. Entre los planes a futuro de este cometido seencuentra el incluir el analisis de conductores de la planificacion entregada por la empresa,

25

Page 31: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

basarse en historicos de viajes reales, predecir la demanda real de viajes, capacidad de crearprogramaciones desde cero y crear una nueva propuesta de turnos para los conductores.

Estos planes a futuro deben tomar en cuenta las necesidades de empresa minera, porejemplo, actualmente no se pueden dejar buses arriba en sectores de la mina, estos tienenque volver obligadamente al patio o estacion de deposito, en el futuro quizas cambien estascondiciones y si se pueda enfrentar este problema como multi-deposito de buses, por lo queel modelo se debe mantener contemplando todos los posibles cambios en la problematica ola mayorıa de estos, con esto se busca que el trabajo realizado sea realmente una estrategiapositiva para externalizar gestiones internas de la empresa.

26

Page 32: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

Referencias

[1] Steinzen I. Topics in Integrated Vehicle and Crew Scheduling in Public Transport.Doctoral thesis, Universitat Paderborn 2007.

[2] C. Blum, A. Roli. Metaheuristics in combinatorial optimization: Overview and concep-tual comparison. ACM Computing Surveys, Pages 268-308, 2003.

[3] De Alvarenga Rosa R., Manhaes Machado A., Mattos Ribeiro G., Regis Mauri G. Amathematical model and a clustering search metaheuristic for planning the helicoptertransportation of employees to the production platforms of oil and gas. Computers andIndustrial Engineering, Volume 101, Pages 303-312, 2016.

[4] Bunte S., Kliewer N. An Overview on Vehicle Scheduling Models. Public TransportVolume 1, Issue 4, Pages 299-317, Nov 2009.

[5] Carraresi P., Gallo G., Rago G. A hypergraph model for constraint logic programmingand applications to bus drivers’ scheduling*. Annals of Mathematics and ArtificialIntelligence, pp 247-270, 1993.

[6] Optibus Website. https://www.optibus.com/, Visitada por ultima vez el 2 de diciem-bre de 2018.

[7] Goal Systems Website. http://www.goalsystems.com/goalbus/, Visitada por ultimavez el 2 de diciembre de 2018.

[8] Pantonium Website. https://pantonium.com/, Visitada por ultima vez el 2 de di-ciembre de 2018.

[9] Ahuja R., Magnanti T., Orlin J. Network Flows: Theory, Algorithms, and Applications.Prentice Hall, New Jersey, 1993.

[10] Eiben A., Ruttkay Zs. Constraint Satisfaction Problems. Leiden University, 1997.

[11] Russell S., Norvig P. Artificial Intelligence, a Modern Approach. Third edition, Pre-tince Hall, 2009.

[12] Soto R. Langages et transformation de modeles en programmation par contraintes.(Frances) These de doctorat, Universite de Nantes, 2009.

[13] Niederlinski A. A gentle guide to constraint logic programming via ECLiPSe. Terceraedicion, 2014.

[14] Puget J-F. Constraint Programming: A Great AI Success, In Prade, H.(Ed.), Pro-ceedings of the 13th European Conference on Artificial Intelligence ECA198, Pages698-705. John Wiley and Sons, 1998.

[15] Simoins, H. ECLiPSe ELearning Website. http://eclipseclp.org/examples/

index.html, Visitada por ultima vez el 2 de diciembre de 2018.

27

Page 33: Optimizaci´onmodelo de transporteopac.pucv.cl/pucv_txt/txt-8000/UCC8117_01.pdf · ´Indice 1 Introducci´on 1 2 Definici´ondeobjetivos 2 2.1 Objetivosespec´ıficos ..... 2 3

[16] Van Hentenryck P. Bridge. http://eclipseclp.org/examples/index.html, Visita-da por ultima vez el 2 de diciembre de 2018.

[17] Juman Z.A.M.S., Hoque M.A. An efficient heuristic to obtain a better initial feasiblesolution to the transportation problem. Applied Soft Computing Journal, Volume 34,Pages 813-826, 2015.

[18] Bockmayr A., Pisaruk N., Aggoun A. Network flow problems in constraint program-ming. CP ’01 Proceedings of the 7th International Conference on Principles and Prac-tice of Constraint Programming, Pages 196-210, 2001.

28