Mejoramiento de los tiempos de arribo y salida en un sistema de transporte público masivo aplicando un modelo computacional y Simulación Montecarlo

 

Improvement of arrival and departure times in a mass public transport system applying a computational model and Monte Carlo Simulation

 

Jonathan P. Cárdenas-Ruperti1, Luis A. Padilla-Alvarez2, Olga L. León-Santillan3

 

RESUMEN

El presente trabajo tiene como objetivo simular el arribo y salida de las unidades de transporte para poder mejorar la calidad del servicio y el tiempo de espera que toma cada unidad de transporte público para realizar el recorrido completo aplicando el método de simulación de Montecarlo.  Debido a la falta de buses para poder abastecer a toda la comunidad que utiliza este medio de transporte y las recientes quejas de los moradores debido a que no hay un bus que circule por ese lugar, se propondrá la adquisición de nuevas unidades, para cumplir esta demanda. En este proyecto se simula el tiempo de salida de los buses de la Cooperativa Albosau línea 47. Para poder realizar esta simulación, se utiliza una distribución uniforme, en la cual el tiempo medio de salida de cada bus va a ser tomado un viernes en la estación del bus. Para poder obtener el tiempo de espera entre cada salida de bus, se utiliza el Método de Montecarlo, en donde se genera números aleatorios en programa elaborado en Python, para de esta manera conocer el tiempo estimado del proceso y para saber si es conveniente adquirir unidades nuevas. Como resultado, se redujeron los tiempos promedios de llegada y salidas de los buses de esta cooperativa. Así mismo se pudo determinar, mediante una distribución uniforme, los tiempos promedios en cada uno de los procesos de salida y llegada de todos los buses, incluyendo los que ya cuenta la cooperativa de transporte.

Palabras clave: Distribución de probabilidad Uniforme, simulación Montecarlo, números aleatorios.

 

ABSTRACT

The objective of this work is to simulate the arrival and departure of transport units in order to improve the quality of the service and the waiting time that each public transport unit takes to complete the entire route by applying the Monte Carlo simulation method. Due to the lack of buses to supply the entire community that uses this means of transport and the recent complaints from residents due to the fact that there is no bus that circulates through that place, the acquisition of new units will be proposed, to meet this demand. In this project, the departure time of the buses from “Cooperativa Albosau” line 47 is simulated. In order to carry out this simulation, a uniform distribution is used, in which the average departure time of each bus will be taken on a Friday. at the bus station. In order to obtain the waiting time between each bus departure, the Monte Carlo Method is used, where random numbers are generated in a program prepared in Python, in order to know the estimated time of the process and to know if it is convenient acquire new units. As a result, the average arrival and departure times of the buses of this cooperative were reduced. Likewise, it was possible to determine, through a uniform distribution, the average times in each of the departure and arrival processes of all buses, including those already provided by the transport cooperative.

Keywords: Uniform probability distribution, Monte Carlo simulation, random numbers.

 

Fecha de recepción: Febrero 8, 2020.

Fecha de aceptación: Marzo 25, 2020.

 


Introducción[1] [2]

En el estudio de la materia de Simulación de Sistemas, se encuentra el tema de Simulación Montecarlo, por consiguiente, (Faulin, 2008) indica que “La simulación de Montecarlo es una técnica cuantitativa que hace uso de la estadística y los ordenadores para imitar, mediante modelos matemáticos, el comportamiento aleatorio de sistemas reales no dinámicos” Debido a la importancia del tema, es que este trabajo de investigación se propone un modelo computacional probabilístico que permita imitar la realidad de lo que sería el tiempo de recorrido que realizan los buses de transporte publico en cierta localidad de la ciudad de Guayaquil, con la finalidad de poder encontrar una solución a la demanda de este transporte y asi poder cubrir las necesidades de los usuarios, para este proyecto se ha considerado utilizar ciertos modelos matemáticos, tal como el uso de números pseudoaleatorios, que van a representar el tiempo de recorrido que las unidades de transporte hacen.

Con respecto al uso de un sistema computacional para modelar el problema de simulación, Shannon Robert (2005) indica que. “La simulación es el proceso de diseñar y desarrollar un modelo computarizado de un sistema o proyecto y conducir experimentos con este modelo bajo el propósito de entender el comportamiento del sistema o evaluar varias estrategias con las cuales se puede operar el sistema.” Es por esta razón que podremos entender el comportamiento que tendría si se adquirieran nuevas unidades y de esta manera evaluar si es conveniente realizar esta acción.

Este proyecto simula el tiempo de salida de los buses de la Cooperativa Albosau “línea 47”, con la finalidad de mejorar los  tiempos de espera, para realizar esta simulación, se hace uso de distribuciones de probabilidad, en este caso al tomar los datos hemos notado que su comportamiento se asemeja a una distribución uniforme, los datos correspondiente a este tipo de distribución fueron obtenidos a partir del tiempo medio de salida de cada bus y en el horario que se considera con mayor demanda de pasajeros que es entre las 07:00–09:00 de la mañana, vale recalcar que la demanda de esta línea es alta por parte de los usuarios y es importante saber además que es la única línea que circula en dicho sector.

Para poder simular y obtener los tiempos de espera entre cada una de la salida de los buses, se utiliza el Método de Montecarlo, la metodología que sigue el método de Montecarlo es a partir de este método donde se generan números aleatorios, en vista de que la generación es grande, se ha optado por realizarla mediante un medio tecnológico y para esto se ha considerado el uso de programación en Python, con la finalidad de obtener el tiempo estimado del proceso y para saber si es conveniente adquirir unidades nuevas. Como resultado de la simulación, obtuvimos que se redujeron los tiempos promedios de llegada y salidas de los buses, así mismo se pudo determinar, mediante una distribución uniforme, los tiempos promedios en cada uno de los procesos de salida y llegada de todos los buses, incluyendo los que ya cuenta la cooperativa de transporte.

Materiales y Métodos

La metodología general se basó desde un principio en la recolección de datos, relacionado con los tiempos de llegada, y los tiempos de salida, posteriormente se determinaron los parámetros necesarios para la utilización de una distribución de probabilidad, en base a lo anterior fue necesario tomar en cuenta la demanda de usuarios que utilizan este medio de transporte, así como el tiempo de servicio, para calcular esto de utilizo la distribución de probabilidad uniforme.

Modelos de Simulación

En la actualidad, la simulación se ha convertido en una herramienta para los negocios. En el campo de la manufactura es usada para establecer los programas de producción, los niveles de inventario y los programas de mantenimiento, con el fin de planear los requerimientos de capacidad, recursos y procesos. En el sector de servicios la simulación se utiliza como técnica para analizar las filas de espera y programar las operaciones. Tal como lo indica (Shannon Robert, 2005). “Es el proceso de diseñar y desarrollar un modelo computarizado de un sistema o proyecto y conducir experimentos con este modelo bajo el propósito de entender el comportamiento del sistema o evaluar varias estrategias con las cuales se puede operar el sistema”

 

Simulación Montecarlo

Montecarlo está basado en la generación de números aleatorios y el procedimiento es simular el comportamiento aleatorio del sistema para obtener en forma artificial los tiempos de llegada y salida de los buses. El tipo de simulación utilizado es secuencial, dado que los tiempos de salida y llegada generados se van acumulando para obtener el tiempo total del recorrido de la unidad. Según Faulin (2008) “La simulación de Montecarlo es una técnica cuantitativa que hace uso de la estadística y los ordenadores para imitar, mediante modelos matemáticos, el comportamiento aleatorio de sistemas reales no dinámicos”. Debido a la importancia del tema, es que este trabajo de investigación fue realizado utilizando el método antes mencionado, para poder imitar el modo en el que los buses realizan su recorrido.

 

Para poder simular grande cantidades de números, esto se hace posible mediante el uso de sistemas computacionales para esto se implementa un software de simulación basado en programación Python, donde se ha registrado para cada unidad su distribución de probabilidad, puntos de carga, número de usuarios por punto de carga y demanda total por punto de carga. Para la simulación de Montecarlo las propiedades distributivas de los generadores aleatorios son primordiales, mientras que en la criptografía la imprevisibilidad es crucial. Por tal motivo, el generador que se vaya a elegir dependerá de la aplicación que se le vaya a dar. Rodríguez-Aragón, L. J. (2011).

 

Números pseudoaleatorios

Para poder realizar una simulación que incluya variabilidad dentro de sus eventos, es preciso generar una serie de números que sean aleatorios por sí mismos, y que su aleatoriedad se extrapole al modelo de simulación que se está construyendo. Como puede comprender, en la construcción del modelo los números aleatorios juegan un papel relevante. Ledesma, E, et al. (2007).

 

Es por esta razón que, una de las primeras tareas que es necesario llevar a cabo consiste en determinar si los números que utilizaremos para "correr" o ejecutar la simulación son realmente aleatorios o no. Se puede asegurar que el conjunto de números que se utilizarán en una simulación se comporta de manera muy similar a un conjunto de números totalmente aleatorios; por ello es que se les denomina números pseudoaleatorios. Casi todas las aplicaciones comerciales tienen varios generadores de números pseudoaleatorios que pueden generar un conjunto muy grande de números sin mostrar correlación entre ellos. Astaiza, L. G. (1983).

 

Métodos congruenciales

Se cuenta con varios generadores de números aleatorios, de los cuales los más populares son los métodos congruenciales (aditivo, multiplicativo y mixto). El método congruencial mixto incluye características de los otros dos, por lo que se presentará en primer lugar. El método congruencial mixto genera una sucesión de números aleatorios enteros en un intervalo de a . Este método siempre calcula el siguiente número a partir del último que obtuvo, dado un número aleatorio inicial , llamado semilla, que se puede obtener de alguna fuente publicada como la tabla Rand. Gimenez Palomares, F. (2018).

 

Método de la Transformada inversa

Cuando se trata de distribuciones más complicadas, ya sean discretas o continuas, a veces se puede usar una generalización de este enfoque llamado método de transformación inversa para generar observaciones aleatorias. Sea X la variable aleatoria involucrada y sea su función de distribución acumulada la siguiente.

              (1)

En consecuencia, la generación de cada observación requiere los siguientes dos pasos:

·       Generar un número aleatorio uniforme r entre 0 y 1.

·       Establecer  y despeje x, que es entonces la observación aleatoria deseada que sigue la distribución de probabilidad dada.

Es decir que, según este método, la función acumulada se igual al número aleatorio; esto bajo la condición de que ambos tienen su gama de variación entre 0 y 1. El método de la transformada inversa propone que se genere un número aleatorio y se lo proyecte sobre la curva acumulada F(x), leyendo para ese punto la accisa correspondiente que será el valor de variable aleatoria que sigue la distribución de densidad  propuesta. Reza, M., & Garcia, E. (2015).

Distribución de probabilidad Uniforme

Esta distribución de probabilidad describe el comportamiento de una variable discreta que puede tomar n valores distintos con la misma probabilidad cada uno de ellos. Una aplicación común es para representar el tiempo de duración de una actividad cuando se tiene una mínima información de la duración de la actividad. Gimenez Palomares, F. (2017).

           

Algunas veces el tiempo para completar se considera que varía aleatoria y uniformemente entre dos valores. Dadas estas condiciones, la distribución Uniforme es una buena estimación preliminar para la duración de una actividad. La función de densidad de la Distribución Uniforme de probabilidad está definida de la siguiente manera:

 

Para obtener la distribución acumulada de probabilidad, usando la distribución original de probabilidad y a través del cálculo, así:

 

 

substituyendo  entonces.

 

 

 

 

 

Por lo que,

 

 

Usando el procedimiento de transformación inversa involucra establecer una variable aleatoria uniforme R (donde R se encuentra entre cero y uno) igual a F(x) y resolver para x. En donde a es el tiempo mínimo, b el tiempo máximo de nuestra distribución uniforme y R el número pseudoaleatorio generado. Así, Cevallos-Torres, L. y Botto-Tobar, M. (2019). 

 

Caso de Estudio

Teniendo en cuenta que el tiempo de arribo de los buses de la línea 47 que llegan a la estación puede ser descrito por una distribución uniforme con un tiempo mínimo de 8 minutos y un tiempo máximo de 11 minutos. Para mejorar este tiempo y poder brindar un mejor servicio se propone adquirir más unidades. Con las nuevas unidades arribarán 20 unidades a la estación en un tiempo determinado.

 

Por otro lado se procedió a clasificar el comportamiento de las personas que llegan a la estación principal, todos los días de la semana, en los diferentes horarios de atención dependiendo de la demanda de usuarios. Para consolidar datos sujetos de análisis, se observó la afluencia de los usuarios por un periodo de 1 semana, así mismo se procedió a realizar una simulación de los intervalos de tiempo de salida de las unidades de transporte, la cual se resume a continuación:

 

Horario 1: 07:00 09:00

Horario 2: 12:00 14:00

Horario 3: 18:00 20:00

 

 

    Tabla 1. Número de usuarios promedio que llegan a la estación

 

Días

Horario 1

Horario 2

Horario 3

Promedio

Lunes

32

14

24

23,33

Martes

31

10

24

21,67

Miércoles

32

18

26

25,33

Jueves

35

12

32

26,33

Viernes

28

14

28

23,33

   

 Tabla 2. Promedio de buses que salen de la estación

Días

Horario 1

Horario 2

Horario 3

Promedio

Lunes

6

4

5

3

Martes

4

3

4

3,67

Miércoles

5

5

6

5,33

Jueves

5

4

6

3

Viernes

4

5

5

4,67

 

 

 

 

Tabla 3. Promedio de buses que llegan a la estación

 

Días

Horario 1

Horario 2

Horario 3

Promedio

Lunes

4

5

5

4,67

Martes

5

4

6

3

Miércoles

5

5

6

5,33

Jueves

4

3

4

3,67

Viernes

6

4

5

3

 

Fuente: Authors (In case the authors of the article have developed such material)

 

Donde:

 

Carro

Número aleatorio

x

1

0.4764

3.9056

2

0.8416

2.3664

3

0.9434

4.7736

4

0.340

3.368

5

0.6827

3.7308

6

0.8521

4.4084

7

0.1129

3.4516

8

0.5806

5.3224

9

0.9285

4.714

10

0.6955

3.7820

 

 

Resultados

Con la información tabulada, se procedió a aplicar una prueba estadística, para determinar qué tipo de distribución siguen los datos. Luego se procede a simular los valores de los tiempos de salida y llegada de los buses ya que se puede decir que existe evidencia suficiente para que los datos simulados sean los más reales posibles.

 

En Python el módulo random nos proporciona un rápido generador de números pseudoaleatorios basado en el algoritmo Mersenne Twister; el cual genera números con una distribución casi uniforme y un período grande, haciéndolo adecuado para una amplia gama de aplicaciones. La mayoría de los lenguajes de programación hoy en día contienen un generador de números aleatorios por defecto al cual simplemente debemos ingresarle un valor inicial, generalmente llamado seed o semilla, y que luego en cada invocación nos va a devolver una secuencia uniforme de variables aleatorias independientes en el intervalo (0, 1).

 

 

 

A continuación, se puede ver algunos números simulados utilizando el lenguaje de programación Python.

 

# importando modulos necesarios

import matplotlib.pyplot as plt

import numpy as np # importando numpy

import pandas as pd # importando pandas

import random

from scipy import stats

np.random.seed(nr)

%matplotlib inline

def num_ale(n=1000):

    #Contador

    k = 0

    #Iteramos en el rango n

    for i in range(n):

        #generamos los números aleatorios

        x = random.random()

        y = random.random()

        if (ps >0 || ps <= 1):

            # Si cumple la condicion continúa

            k = k + 1

        return (ps * float(k) / n)

 

 

 

 

 

 

 

 

 

 

 

 


# Graficando Uniforme
sns.set_context(rc={"figure.figsize": (11, 9)})
 
dist = stats.beta
n_trials = [0, 1, 2, 3, 4, 5, 8, 15, 50, 500]
data = stats.uniforme.rvs(0.5, size=n_trials[-1])
x = np.linspace(0, 1, 100)
 
uniforme = stats.uniform()
x = np.linspace(uniforme.ppf(0.01),
                uniforme.ppf(0.99), 100)
fp = uniforme.pdf(x) # Función de Probabilidad
fig, ax = plt.subplots()
ax.plot(x, fp, '--')
ax.vlines(x, 0, fp, colors='b', lw=5, alpha=0.5)
ax.set_yticks([0., 0.2, 0.4, 0.6, 0.8, 1., 1.2])
plt.title('Distribución Uniforme')
plt.ylabel('probabilidad')
plt.xlabel('valores')
plt.show()

 

 

 

 

 

 

 

 

 

 

 

 

 


Conclusiones

Se determinó que la Simulación Montecarlo ayuda a tener una mejor perspectiva acerca de duración de arribos y salidas las unidades de la cooperativa de transporte urbano Albosau y Anexos, ofreciendo ajustar el tiempo de espera de los usuarios que se encuentran en la estación en los horarios en que se presenta mayor demanda de este servicio, esto es debido a que se evidenció mayor flujo de personas en la estación en los horarios establecidos en la toma de datos, de tal manera que ayude a la comunidad a tener un mejor servicio, además de un menor tiempo de espera entre las distintas unidades si se obtiene una flota con nuevos buses. La compra de nuevas unidades mejorará notablemente el tiempo en el que una unidad de la Línea 47 B salga de la estación a realizar su recorrido, beneficiando a los usuarios que utilizan este medio de transporte, en el cual en un lapso de 1 hora podrán aproximadamente un total de 32 buses que salen de la estación a realizar el recorrido, ya que al contar con más unidades aparte de las 22 unidades que se encuentran actualmente transitando, permitirá que se pueda ejecutar dicha operación

Agradecimientos

Agradezco a Dios por permitirme llevar con éxito la realización de este proyecto, a este equipo diverso de trabajo que sirvió como apoyo fundamental para terminar este trabajo con la más alta calidad posible, a mis padres por darme su ejemplo a seguir y su apoyo incondicional, a mi esposa y a mi hija porque son el motor que me impulsa para superarme cada día más

Referencias Bibliográficas

Domínguez, D. S. C. (2014). SIMULACIÓN SIMULACIÓN.

Rodrıguez-Aragón, L. J. (2011). Simulación, método de montecarlo. Recuperado de: https://previa. uclm. es/profesorado/licesio/docencia/mcoi/tema4_guion. pdf.

Ledesma, E. F. R., Gonzaga, E. A., & Romero, T. E. R. (2007). Conceptos básicos de los generadores de números aleatorios (RGN) y pseudoaleatorios (PRGN). COLDPower: el agente inteligente mexi-cano de mercadeo de energía.

Astaiza, L. G. (1983). Los números aleatorios y la ingeniería. Ingeniería e Investigación, (7), 55-60.

Gimenez Palomares, F. (2018). Método congruencial para la generación de números seudoaleatorios.

Reza, M., & Garcia, E. (2015). Metodo de la transformada inversa.

Gimenez Palomares, F. (2017). DISTRIBUCIÓN UNIFORME.

Baltazar, F., & López, S. (2017, abril 26). Simulación Estocástica. UNAM, 195.

Dagpunar, J. (1988). Principios de generación de variables aleatorias. Oxford: ClaredonPress.

Faulin, J. (2008) , Simulación Montecarlo con Excel. enero 20, 2018, Recuperado de: http://www.uoc.edu/in3/emath/docs/Simulacion_MC.pdf  (Enero, 2009).

Fuentelzas, C. (2004). Cálculo del tamaño de la muestra. Matronas Profesión, 5, pp.1-3.

García, E., García, H. & Cárdenas, L. (2006). Simulación y Análisis de Sistemas con ProModel. México: Pearson.

Hillier, F., & Lieberman, G. (2010). Introducción a la Investigación de Operaciones. México: McGraw-Hill.

Kelton, W. David y otros (2008). Simulación con Software ARENA. McGraw-Hill – México, pp. 35-38.

Mancilla Herrera, A. M. (2011). Simulación Herramienta para el estudio de sistemas reales. Revista Científica Ingeniería y Desarrollo, (6), 104-112.

Rios, D., & Rios, S. (2000). Simulación, métodos y aplicaciones. Ed. Alfa Omega. Colombia.

Rodríguez, L. (2011). Simulación, Método de Montecarlo. Universidad de Castilla-La Mancha.

Salinas, A. (2004). Métodos de muestreo. Redalyc, VII, 121-123.

Schmidt, J., & Taylor, R. (1970). Simulación y análisis de Sistemas Industriales. McGraw-Hill.

Terrazas, R. (1988). Simulación de Sistemas; Publicaciones de la Facultad de Ciencias y Tecnología, serie técnica; UMSS. Cochabamba-Bolivia.

Cevallos-Torres, L. y Botto-Tobar, M. (2019). Estudio de caso: Aprendizaje basado en proyectos para evaluar distribuciones de probabilidad en el área médica. En Aprendizaje basado en problemas: una estrategia didáctica en la enseñanza de la simulación de sistemas (págs. 111-122). Springer, Cham.

 



[1] Ingeniero en Sistemas e Informática, Máster en Gerencia de Sistemas y Tecnologías de la Información. Docente Investigador de la Facultad de Ingenierías Universidad Técnica “Luis Vargas Torres” de Esmeraldas E-mail: [email protected]

[2] Tnlgo. En Sistemas, Lic. En Informática Educativa, Ing. En Sistemas Informáticos, Magister en Ciberseguridad. Docente Investigador de la Facultad de Ingenierías en la Universidad Técnica “Luis Vargas Torres” de Esmeraldas, Ecuador. E-mail: [email protected]

3 Ingeniera en sistemas y computación, Máster Universitario en Dirección y Administración de Empresa(MBA). E-mail: [email protected].

 

Como citar: Cárdenas-Ruperti. J, Padilla-Álvarez L., & León-Santillán O. (2020). Ecuadorian Science Journal. 4(1), 57-61.

DOI: https://doi.org/10.46480/esj.4.1.94