Un modelo de Markov para la optimización de la tarea del ...

57
Trabajo de Fin de Grado Grado en Ingeniería en Tecnologías Industriales Un modelo de Markov para la optimización de la tarea del equipo de reponedores de bicicletas de un Servicio de Bicing MEMORIA Autor: Alfonso Mota Canals Director: María Isabel García Planas Convocatoria: Setiembre 2021 Escuela Técnica Superior de Ingeniería Industrial de Barcelona

Transcript of Un modelo de Markov para la optimización de la tarea del ...

Page 1: Un modelo de Markov para la optimización de la tarea del ...

Trabajo de Fin de Grado

Grado en Ingeniería en Tecnologías Industriales

Un modelo de Markov para la optimización de la tarea del

equipo de reponedores de bicicletas de un Servicio de Bicing

MEMORIA

Autor: Alfonso Mota Canals Director: María Isabel García Planas Convocatoria: Setiembre 2021

Escuela Técnica Superior de Ingeniería Industrial de Barcelona

Page 2: Un modelo de Markov para la optimización de la tarea del ...

Pág. 2 Memoria

Page 3: Un modelo de Markov para la optimización de la tarea del ...

“Las matemáticas son uno de los descubrimientos de la humanidad. Por lo tanto, no pueden

ser más complicadas de lo que los hombres son capaces de comprender”

Richard Feynman (Estados Unidos, 1918-1988)

Page 4: Un modelo de Markov para la optimización de la tarea del ...

Pág. 4 Memoria

Page 5: Un modelo de Markov para la optimización de la tarea del ...

Resumen

El trabajo realizado se enmarca en el área de Álgebra Lineal (Cadenas de Markov y todos los

cálculos que conlleva) y en el área de programación informática mediante el software Matlab,

herramientas para ser aplicadas al intento de optimización de la tarea del equipo de

reponedores de bicicletas del servicio “bicing” de Barcelona.

El objetivo principal de este trabajo es diseñar y simular un modelo predictivo para el

movimiento de bicicletas entre las diferentes paradas de los 10 distritos de Barcelona mediante

Cadenas de Markov. Una Cadena de Markov se define como un proceso aleatorio sin memoria

en el que básicamente conociendo el estado ‘presente’, el estado ‘futuro’ no depende del

estado ‘pasado’.

Los cálculos se llevarán a cabo mediante la creación de una función en Matlab que logra

analizar los datos del movimiento entre paradas de las bicicletas. El objetivo es, modelar el

movimiento como una Cadena de Markov, cuyo análisis permitirá conocer la previsión de la

disposición de bicicletas en cada estación facilitando la labor de los reponedores.

Debido a que no se ha podido obtener los datos del servicio Bicing de Barcelona, se intenta

diseñar un grafo a partir de los datos puntuales que proporciona a los usuarios la APP del

propio servicio, aproximando los datos a partir de una secuencia de ellos obtenida en espacios

de tiempo de una hora de manera que estas aproximaciones se ajusten a la realidad de la

mayor manera posible. Se hará una simulación con todo el grafo para analizar la tendencia de

distribución de bicicletas.

La idea es poder utilizar este diseño realizado para poder prever una distribución futura de las

bicicletas de tal manera que saber esto ayude a los operarios del servicio Bicing a optimizar sus

recursos y trayectos de tal manera que la reposición sea la más eficaz y eficiente posible.

En conclusión, podemos afirmar, que, aunque hayamos hecho este estudio con datos

aproximados, se ha conseguido realizar un diseño que prevé el movimiento de las bicicletas a

lo largo de un cierto tiempo.

Page 6: Un modelo de Markov para la optimización de la tarea del ...

Pág. 6 Memoria

Page 7: Un modelo de Markov para la optimización de la tarea del ...

Sumario

RESUMEN ___________________________________________________ 5

SUMARIO ____________________________________________________ 7

1. INTRODUCCIÓN _________________________________________ 11

1.1. Objetivos del proyecto ................................................................................. 11

1.2. Alcance del proyecto .................................................................................... 11

2. EL BICING ______________________________________________ 15

2.1. La necesidad del Álgebra Lineal .................................................................. 15

2.1.1. Organización de los puntos de distribución mediante grafos dirigidos ............ 16

2.1.2. Espectro de una matriz ................................................................................... 18

2.1.3. Cálculo de los valores propios. Polinomio característico de una Matriz .......... 20

2.2. Matrices no negativas .................................................................................. 20

2.3. Cadena de Markov ....................................................................................... 23

3. HERRAMIENTA DE CÁLCULO. MATLAB _____________________ 27

3.1. Introducción al Matlab .................................................................................. 27

3.2. Interés del Bicing.......................................................................................... 28

3.3. Obtención de datos ...................................................................................... 28

4. APLICACIÓN AL CASO DE BICING __________________________ 31

4.1. Diseño del grafo ........................................................................................... 31

4.2. Implementación del grafo a la matriz ........................................................... 34

4.3. Estudio mediante Cadenas de Markov y Predicción ................................... 37

4.3.1. Cálculo de valores y vectores propios ............................................................. 37

4.4. Búsqueda de la distribución estacionaria .................................................... 40

4.5. Análisis de resultados .................................................................................. 43

5. PLANIFICACIÓN TEMPORAL Y DE COSTES __________________ 46

5.1. Planificación temporal .................................................................................. 46

5.2. Planificación de costes ................................................................................ 47

6. IMPACTO AMBIENTAL ____________________________________ 49

CONCLUSIONES _____________________________________________ 51

AGRADECIMIENTOS __________________________________________ 53

BIBLIOGRAFÍA ______________________________________________ 55

Page 8: Un modelo de Markov para la optimización de la tarea del ...

Pág. 8 Memoria

ANEXOS ____________________________________________________ 56

Page 9: Un modelo de Markov para la optimización de la tarea del ...
Page 10: Un modelo de Markov para la optimización de la tarea del ...
Page 11: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 11

1. Introducción

Las cadenas de Markov ([1],[4]), constituyen una herramienta para estudiar el comportamiento

de procesos que evolucionan de forma no determinista, a lo largo del tiempo sobre un conjunto

de estados posibles. Así, se llama estados a cada una de las probabilidades que se pueden

presentar en una situación específica, entonces la herramienta de las Cadenas de Markov nos

puede permitir conocer a corto y largo plazo los estados en que se pueden encontrar un

proceso en tiempos futuros y tomar decisiones que afecten o favorezcan unos intereses

concretos.

En la actualidad las Cadenas de Markov están siendo ampliamente utilizadas en distintos

campos de las ciencias, ya que con ellas se pueden hacer predicciones de comportamientos

futuros, En la actualidad las cadenas de Markov. entre otros, se están utilizando en la

predicción y el control del desarrollo de la pandemia provocada por el virus SARS-CoV-2, ([3]).

1.1. Objetivos del proyecto

Este proyecto tiene la finalidad de hacer un diseño y simulación de un modelo predictivo para la

optimización de la tarea del equipo de reponedores de un servicio Bicing de Barcelona

mediante el uso de cadenas de Markov. Esto se realizará mediante el uso del software Matlab,

donde crearemos una función que consiga leer los datos de reposición y de porcentajes de uso

según los puntos de retirada y devolución de bicicletas del servicio bicing de Barcelona. La

base teórica de este estudio se soporta en el Álgebra lineal, el estudio de las matrices no

negativas y la teoría de las cadenas de Markov que nos permitirán construir el modelo

predictivo con el que se puede hacer predicciones de comportamientos futuros.

La meta principal es conseguir diseñar un programa capaz de leer los datos introducidos y que

estos sean capaces de dar soporte al sistema Bicing para facilitarles la reposición de bicicletas.

Nos basaremos en una zona en concreto de la ciudad donde el Bicing se emplee con asiduidad

y ver si nuestro programa funciona. De esta manera, veremos si en la zona concreta hay buen

servicio de bicing o por otra parte hay que colocar más puntos de bicicletas.

1.2. Alcance del proyecto

Debido al limitado número de horas marcadas para la realización de este trabajo (12 créditos

ECTS), el alcance de este proyecto es el análisis de la componente matemática que subyace

en el diseño de un modelo de Markov para la optimización de la tarea del equipo de

reponedores de bicicletas de un servicio de Bicing, por lo que tendremos que abordar ciertos

Page 12: Un modelo de Markov para la optimización de la tarea del ...

Pág. 12 Memoria

temas previamente para poder entender con exactitud lo que se va a afrontar.

Los temas que se abordan en este trabajo son los siguientes:

- Bases: conceptos fundamentales de álgebra lineal y de las cadenas de Markov.

- Qué es Matlab.

- Interés del estudio y elección de una zona de Barcelona para hacer el diseño.

- Diseño del modelo mediante la creación de un programa con Matlab.

- Simulación del modelo y análisis de los resultados obtenidos.

Page 13: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 13

Page 14: Un modelo de Markov para la optimización de la tarea del ...
Page 15: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 15

2. El Bicing

El Bicing es un sistema de alquiler de bicicletas público de la ciudad de Barcelona, tanto

mecánicas como eléctricas, que funciona las 24h del día los 365 días del año. Empezó en 2007

promovido por el Ayuntamiento, y hoy en día consta de 519 estaciones mixtas y con 6000

bicicletas mecánicas y 1000 eléctricas. Sistemas similares existen en muchas ciudades del

mundo.

Figura 1: Mapa de disponibilidad

2.1. La necesidad del Álgebra Lineal

En el momento de plantear cómo resolver el problema de predicción propuesto y buscando

en la bibliografía nos encontramos con el problema del viajante también conocido como

“Travelling Salesman Problem (TSP)”, que consiste en determinar la ruta más corta posible

que recorre un conjunto de ciudades (de manera general nodos), de manera que el nodo

final coincida con el nodo de partida y que todas las ciudades sean visitadas una única vez,

(ver [6]). Aunque a simple vista el problema del viajante pueda parecer un problema sencillo,

no es un problema resuelto por completo. Los conceptos matemáticos que son utilizados

para describir el problema del viajante o TSP son los referentes a la teoría de grafos. De

hecho, los grafos pueden representar información discreta de lo más diverso.

Page 16: Un modelo de Markov para la optimización de la tarea del ...

Pág. 16 Memoria

En el problema que nos ocupa y teniendo la información sobre el movimiento de las

bicicletas, es posible realizar un “grafo dirigido” que relacione los distintos puntos de

distribución. El grafo obtenido y ponderado por su porcentaje de utilización describe una

cadena de Markov de la cual se podrá analizar su evolución.

Necesitamos pues, hacer una introducción a la teoría de grafos y a la teoría de las cadenas

de Markov donde se estudia la toma de decisiones bajo incertidumbre mediante estos

procesos en la cual uno de los objetivos es estudiar el comportamiento a largo plazo, de una

cadena para un buen análisis del problema.

Para una buena comprensión tanto de la teoría de grafos como de las cadenas de Markov

haremos su revisión desde el punto de vista del Álgebra lineal ya que permite una

descripción matricial de ambas teorías.

2.1.1. Organización de los puntos de distribución mediante grafos dirigidos

Antes de centrarnos en cómo se pueden usar los grafos para su estructuración, será

necesario describir brevemente el concepto de grafo y entender por qué facilita la manera de

controlar el servicio de reposición

De una manera informal podemos decir que, un grafo consiste en un conjunto de vértices o

nodos con algunas conexiones entre ellos, estas conexiones reciben el nombre de aristas.

Una arista puede conectar dos nodos o un nodo consigo mismo.

Figura 2: Grafo

Page 17: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 17

Figura 3: Grafo dirigido

Se dice que el grafo es dirigido si las aristas tienen un sentido definido (ver Fig. 3). Y

finalmente, un grafo se dice ponderado (o con peso) si sus aristas tienen un valor asociado

que denotamos por pij.

Figura 4: Grafo ponderado

El concepto de matriz es clave en el campo del Álgebra lineal y está muy claramente

definido en el mundo de las Matemáticas, por lo que en todos los libros de Álgebra lineal se

encuentra el término de matriz definido de forma similar. Adaptaremos en este caso la

definición que se halla en el libro Herramientas de álgebra lineal y matricial para la ingeniería

[5], y que damos a continuación:

“Llamaremos matriz de orden n x m a coeficientes en un cuerpo conmutativo K a un

conjunto de n x m elementos del cuerpo distribuidos en n filas y m columnas y que

representaremos

A =

Page 18: Un modelo de Markov para la optimización de la tarea del ...

Pág. 18 Memoria

donde aij ϵ K.

De este modo, el elemento aij se encuentra en la fila i y en la columna j.”

A cada grafo se le puede asociar una matriz llamada matriz de adyacencia y es una matriz

cuadrada de forma que sus filas y columnas representan ordenadamente los vértices del

grafo, y cada elemento ij indica el número (ponderado) de aristas entre el vértice i y el vértice

j.

Por ejemplo, la matriz adyacente correspondiente al grafo de la figura 3 es

2.1.2. Espectro de una matriz

Un concepto importante en Álgebra lineal es el de vector y valor propio que tiene gran

importancia no sólo en el estudio del Álgebra lineal sino también en su aplicación en

ingeniería, como es por ejemplo el cálculo de los momentos de inercia y de los ejes

principales de inercia de un sólido rígido, o de las frecuencias propias de oscilación de un

sistema oscilante.

Dado que vamos a hacer uso de estos conceptos, será necesario definir ambos de forma

concreta.

Vamos a utilizar la descripción que puede encontrarse, por ejemplo, en [4] (página 160):

- Un vector v ϵ E es un vector propio de la matriz A si v ≠ 0 y existe λ ϵ K tal que

- Un escalar λ ϵ K es un valor propio de la matriz A si existe v ϵ E, v ≠ 0 tal que

Geométricamente, un vector propio es un vector que no cambia de dirección al aplicarle una

Page 19: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 19

deformación definida por la matriz A.

Llamaremos espectro de una matriz cuadrada A al conjunto de sus valores propios.

No siempre es fácil encontrar los valores propios de una matriz, es por ello que es

importante poder obtener cotas de dichos valores, definimos así lo que entendemos por

radio espectral:

El radio espectral de una matriz es igual al mayor de entre todos los módulos de los valores

propios:

Una propiedad importante de las matrices que nos permite obtener cotas para los valores

propios es

Propiedad: Para todo valor propio λ de una matriz A se cumple:

En particular:

Este concepto es importante ya que no siempre se pueden obtener los valores propios

exactos, solo aproximados, y es bueno tener cotas para estos valores.

Page 20: Un modelo de Markov para la optimización de la tarea del ...

Pág. 20 Memoria

2.1.3. Cálculo de los valores propios. Polinomio característico de una Matriz

Aunque en este trabajo no se haga un cálculo manual de los valores y vectores propios ya

que se obtendrán utilizando la herramienta Matlab, debido a su importancia, queremos

mostrar propiedades que permitan este cálculo.

Con esta introducción queremos mostrar de forma clara los conceptos más básicos para

que el proyecto sea autocontenido.

Puesto que, si Av = ʎv entonces (A- ʎI)v = 0, entonces det(A- ʎI) = 0. Esto nos

cambia el problema de buscar valores propios a encontrar raíces de un polinomio

Llamaremos polinomio característico a

Qa(t)= det(A-ʎIn)

Entonces, tenemos que el espectro de una matriz A está formado por las raíces de su

polinomio característico.

2.2. Matrices no negativas

En muchas de las aplicaciones de la teoría de matrices, los coeficientes de las matrices que

intervienen son todos no negativos. En particular, como es en el caso de este proyecto, en

las cadenas de Markov.

En relación a las matrices no negativas, la bibliografía es muy específica, y el trabajo se ha

basado en los textos ([1], [2], [4]).

Definición 3.1. Una matriz A ϵ Mnxm (R) se dice que es no negativa (y lo notamos por A ≥ 0)

si todos los elementos de A son no negativos. Esto es, la matriz

es no negativa cuando aij ≥ 0 para todo i ϵ {1, …, n}, j ϵ {1, …, m}.

Denotaremos por MNn(R) al conjunto de matrices no negativas de orden n.

Del mismo modo, se dice que una matriz A ϵ Mnxm (R) es positiva (y lo notamos por A > 0) si

todos los elementos de A son positivos. Esto es, la matriz

Page 21: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 21

se dice que es positiva cuando aij > 0 para todo i ϵ {1, …, n}, j ϵ {1, …, m}.

Dentro de la familia de matrices no negativas se hallan las llamadas estocásticas por

columnas o de Markov, claves para el estudio de las cadenas de Markov. Estas matrices se

definen de la siguiente manera

Una matriz A = (aij) ϵ MNn(R) se dice que es estocástica (por columnas) si la suma de los

elementos de cada columna de A vale 1. Es decir,

Ejemplo. La matriz siguiente es estocástica por columnas, ya que es no negativa y la suma

de todos los elementos de una columna es igual a la unidad.

Una propiedad importante que verifican las matrices estocásticas es la siguiente.

Propiedad: Sea A una matriz de orden n estocástica, Entonces uno es un valor propio.

Esta propiedad se puede probar simplemente viendo que el determinante de la matriz A − I

es nulo.

Además, por la propiedad sobre el radio espectral, tenemos que el radio espectral de una

matriz estocástica es uno, lo que significa que los valores propios son de módulo menor o

igual que uno, resultado importante para el análisis de la evolución de los sistemas

dinámicos del tipo:

Page 22: Un modelo de Markov para la optimización de la tarea del ...

Pág. 22 Memoria

Como son las cadenas de Markov homogéneas, en las que el paso del tiempo depende de

los valores propios.

A partir de una matriz positiva se puede obtener una matriz estocástica por columnas

dividiendo los elementos de cada columna por la suma de los elementos de la columna:

Si

entonces la matriz

es estocástica.

Si la matriz es no negativa, también se puede obtener, de la misma manera, la matriz

estocástica siempre que la matriz no tenga ninguna columna idénticamente nula.

Page 23: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 23

2.3. Cadenas de Markov

Las cadenas de Markov fueron introducidas por el matemático ruso Andrey Markov en 1907.

Aunque Markov desarrolló su teoría de cadenas desde un punto de vista totalmente teórico,

también aplicó estas ideas a cadenas de dos estados (vocales y consonantes) en los textos

literarios con la intención de crear un modelo probabilístico para analizar la frecuencia con la

cual aparecen las vocales en poemas y textos literarios. El éxito del modelo propuesto por

Markov radica en el hecho que es suficientemente complejo como para describir ciertas

características no triviales de algunos sistemas, pero al mismo tiempo es bastante sencillo

para ser analizado matemáticamente ([3]).

Definición 5.1.1. Una cadena de Markov es un proceso aleatorio sin memoria. Esto es, un

sistema que evoluciona en el tiempo (k = 0, 1, …) está en el estado ik en el instante k, si en

el instante k – 1 está en el instante ik-1:

Intuitivamente, esta ecuación implica que, conocido el estado “presente” de un sistema, el

estado “futuro” es independiente de su estado “pasado”.

Este proceso puede describirse matricialmente de la siguiente manera: Si p1(k), …, pn(k) son

las probabilidades de los n estados en el tiempo k y pij(k) la probabilidad de la evolución del

estado j al i en el tiempo k, 1 ≤ i, j ≤ n. Entonces,

de donde se obtiene la siguiente expresión matricial:

La matriz de dicho sistema se denomina Matriz de transición de estados, que incluye las

Page 24: Un modelo de Markov para la optimización de la tarea del ...

Pág. 24 Memoria

probabilidades de evolucionar de un estado j a un estado i en el tiempo k (1< i, j < n),

Es posible que los términos de la matriz de transición de estados no dependan de k,

entonces, se dice que la cadena es homogénea, que será el tipo de cadenas usadas en el

proyecto.

En el caso de cadenas homogéneas, se cumple:

siendo p (0) = (p1(0), …, pn(0)) el estado inicial de la cadena.

Nos interesa estudiar la evolución de las cadenas a largo plazo, por ello se hace necesario

definir el concepto de distribución estacionaria de una cadena de Markov.

Definición: Se denomina distribución estacionaria de una cadena, en caso de existir, al

siguiente límite:

Para el caso de cadenas de Markov homogéneas, se tiene:

Teniendo en cuenta que si A y B son dos matrices para las cuales existe una matriz

invertible S tal que se tiene que

y, por lo tanto

Page 25: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 25

Entonces una forma de calcular este límite es reduciendo la matriz a su forma reducida de

Jordan, matriz triangular por bloques en que cada bloque es de la forma ʎ I +N, siendo ʎ un

valor propio y N una matriz nilpotente, eso es una matriz que se anula a partir de una cierta

potencia menor o igual a su orden y se tiene que:

Y el límite de la potencia de la matriz de Jordan es la matriz formada por el límite de cada

una de sus cajas:

Page 26: Un modelo de Markov para la optimización de la tarea del ...

Pág. 26 Memoria

Page 27: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 27

3. Herramienta de cálculo. Matlab

3.1. Introducción al Matlab

MATLAB es una herramienta cuyo nombre proviene de la abreviatura de ‘MATrix

LABoratory’, es decir, laboratorio de matrices. Esta herramienta de software matemático fue

creada por el matemático y programador de computadoras Cleve Moler en 1984, con la idea

de poder ser usado en el ámbito del Álgebra lineal y el análisis numérico.

Matlab se creó con la principal idea de tener fácil acceso a las librerías EISPACK [7] y

LINPACK [8], dos de las librerías más importantes en cálculo matricial y computación. Con

el paso del tiempo, el uso de MATLAB ha ido expandiéndose, de tal manera que se usa

para llevar a cabo proyectos con una elevada carga de cálculo matemático. También, se ha

implementado en escuelas y universidades, usándose como una herramienta de ayuda

imprescindible para tanto investigadores como docentes. En las universidades, además se

usa en muchas asignaturas como se ha podido ver a lo largo del grado, desde Álgebra

Lineal, Cálculo, Dinámica de Sistemas o Métodos Numéricos.

Pero MATLAB no tiene los módulos mencionados anteriormente, sino que a lo largo de los

años se han ido añadiendo de tal manera que han ampliado su uso. Partiendo del paquete

básico, usado principalmente para la programación de funciones matemáticas y resolución

de problemas, se le puede añadir paquetes que ayuden en diferentes cálculos estadísticos,

sistemas de control, procesamiento de señales o imágenes y visión artificial… Estos

paquetes son conocidos como cajas y algunas de ellas son: Image Processing Toolbox,

Signal Processing Toolbox, Data Acquisition Toolbox, Bioinformatics Toolbox, Neural

Network Toolbox.

Además de lo referido anteriormente, también dispone del programa Simulink, un entorno de

bloques empleado para la simulación y diseño basado en modelos entre otras muchas más

opciones.

Podemos ver que MATLAB no se reduce solo a la manipulación y cálculo de matrices como

se creó originalmente, sino que se puede aplicar a un amplio abanico de campos, no solo en

los matemáticos.

Finalmente, quiero mencionar que durante la elaboración del trabajo se ha empleado el

Page 28: Un modelo de Markov para la optimización de la tarea del ...

Pág. 28 Memoria

paquete oficial obtenido en su web. [9]

3.2. Interés del Bicing

La realización de este trabajo cobra sentido por el interés que supone estudiar y predecir la

reposición del Bicing de Barcelona.

En primer lugar, este proyecto principalmente puede ayudar a los diferentes operarios que

trabajan para el servicio Bicing. El hecho de poder predecir qué paradas necesitan antes la

reposición de bicicletas y prever cuales lo van a necesitar, beneficia al servicio así para

optimizar el tiempo empleado por los operarios en la reposición y también en la distribución

de las paradas. Saber cuáles son las paradas más usadas y cuáles no, puede ayudar

también a saber dónde colocar una nueva parada o cual eliminar en caso de no usarse. La

reposición idónea de las paradas sería aquella en la que el operario directamente sabe

dónde ir, de tal manera que se ahorra tiempo y optimiza su trabajo, de esta manera se

pueden reducir gastos.

El hecho de optimizar el servicio de Bicing mejora considerablemente el uso de este. Un

servicio óptimo y que garantiza a sus clientes lo mejor de él hace que el uso aumente.

Además, un aumento del uso del Bicing, disminuye el consumo de CO2, por lo que este

sería otro motivo de haber escogido el Bicing para la realización de este proyecto. Hoy en

día el uso de vehículos alimentados a partir de gasolina o gasóleo ha aumentado

considerablemente, llegados al punto de estar en alerta y poner restricciones de ZBE a la

ciudad de Barcelona. Por lo que el aumento y la promoción del uso del Bicing ayudaría a

reducir las emisiones de CO2 y tener una ciudad más limpia y ecológica.

En conclusión, estudiar la reposición del Bicing mediante la realización de un programa que

determine los futuros movimientos del Bicing y la reposición de éste haciendo uso de las

cadenas de Markov es de gran interés ya que ayudará a mejorar la reposición de las

bicicletas y ayudará a prevenir situaciones de posible saturación de bicicletas o de falta de

ellas.

3.3. Obtención de datos

Para la realización de este proyecto, la idea inicial era contactar con el sistema Bicing y que

Page 29: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 29

ellos pudieran proporcionarme los datos de movimiento de las bicicletas de un cierto día del

año.

Tras intentarlo de varias formas establecer contacto con ellos, ya sea de forma telefónica o a

través de correo electrónico, no pude obtener los datos deseados por lo que la realización

de este proyecto va a ser una simulación de unos datos que trataran de ser lo más

adecuados a la realidad.

Estos datos, han siso obtenidos a partir de toda la información que se ha podido obtener de

la página web del propio Bicing. Con estos datos se realizará un grafo a partir del cual se va

a realizar el estudio.

Page 30: Un modelo de Markov para la optimización de la tarea del ...

Pág. 30 Memoria

Page 31: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 31

4. Aplicación al caso de Bicing

Una vez explicado la obtención de los datos y el porqué del motivo de aplicarlo en el servicio

Bicing, vamos con dicha aplicación.

4.1. Diseño del grafo

Para el diseño del grafo, se ha partido del número de paradas que hay de Bicing en

Barcelona. Hay un total de 519 (abril 2020) paradas repartidas por toda la ciudad con un

total de 7000 bicicletas [10]. Para realizar el grafo, se ha decidido que, en vez de monitorizar

todas las paradas, dando lugar a una matriz de 517x517 y a partir de esta una gran

complejidad en los cálculos, se ha decidido reducir el número de puntos (estados) ya que se

trata de comprender como se puede modelar este estudio. Se ha tomado como estados los

distritos, agrupando en un estado todos los datos de todos los puntos de Bicing del distrito.

Los estados son pues, los 10 distritos de Barcelona, tal y como se muestra en la siguiente

imagen.

Figura 5: distritos de Barcelona

Y seguidamente, vemos la distribución de las paradas en los diferentes distritos de la

ciudad.

Page 32: Un modelo de Markov para la optimización de la tarea del ...

Pág. 32 Memoria

Tabla 1: distribución paradas

Donde se observa que los distritos con más paradas son el distrito de L’Eixample y

el de Sant Martí. Teniendo en cuenta el número de paradas y el número total de

bicicletas, podemos hacer una estimación aproximada de la distribución de las

bicicletas según el distrito.

Distrito % de bicicletas Nº de bicicletas

Ciutat Vella 12,33 863

Eixample 20,42 1429

Sants-Montjuïc 9,63 674

Les Corts 6,74 472

Sarrià-Sant Gervasi 6,94 486

Gràcia 4,24 297

Horta-Guinardó 6,74 472

Nou Barris 5,59 391

Sant Andreu 9,06 634

Sant Martí 18,31 1282

Tabla 2: distribución bicicletas

Page 33: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 33

Tras ver la distribución de bicicletas en los diferentes distritos, a cada distrito se le asignará

un número que indicará la posición en el grafo y por consiguiente en nuestra matriz.

Distrito Posición

Ciutat Vella 1

Eixample 2

Sants-Montjuïc 3

Les Corts 4

Sarrià-Sant Gervasi 5

Gràcia 6

Horta-Guinardó 7

Nou Barris 8

Sant Andreu 9

Sant Martí 10

Tabla 3: nodos

Por lo que el grafo consta de 10 nodos

Figura 6: Nodos

Page 34: Un modelo de Markov para la optimización de la tarea del ...

Pág. 34 Memoria

4.2. Implementación de la Matriz adyacente al grafo

Una vez conocida la interacción entre los nodos tendremos el grafo, para ello sólo falta por

ver el movimiento entre distritos de bicicletas, y a partir de aquí, describir el grafo y asociarle

la matriz correspondiente con la que operaremos.

Los movimientos de bicicleta entre distritos están condicionados por muchos factores

distintos, ya sea por el mes del año en que estemos, influye la temperatura para coger la

bicicleta, franja horaria, la gente de noche no suele usar el sistema bicing, clima, en un día

lluvioso disminuye considerablemente el uso del bicing, entre otros factores. Estos factores

se evidencian en la evolución de los datos sobre el movimiento de bicicletas con el paso del

tiempo.

El movimiento para describir en el grafo representará la imagen final de la media de los

movimientos de bicicletas en el transcurso de varias horas considerando como unidad de

tiempo la hora. Partiendo de los datos de la página web del bicing, donde además se nos

informa que de media una bicicleta es usada 6 veces al día con una media de viaje de 13

minutos nos permite que nos hagamos una idea de los movimientos que puede realizar una

bicicleta y a que radio puede llegar validando en cierta medida los datos.

Tras la recolección de los datos simulados, el grafo con los distritos conectados debido a la

distribución quedará de la siguiente manera:

Figura 7: grafo

Page 35: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 35

Quedando los movimientos de distrito a distrito de la siguiente forma, nombrados por pnm,

donde m sería la posición inicial y n la final, quedando así formada la matriz como hemos

visto anteriormente.

Movimiento % Bicicletas Nº Bicicletas Movimiento % Bicicletas Nº Bicicletas

p12 18 155 p52 30 140

p21 27 386 p26 11 157

p13 29 250 p62 38 113

p31 18 121 p27 5 71

p110 36 311 p72 33 156

p101 24 308 p28 2 29

p23 22 314 p82 21 82

p32 31 209 p29 4 57

p24 8 114 p92 22 139

p42 42 198 p210 13 186

p25 7 100 p102 41 526

p34 17 115 p67 12 36

p43 28 132 p76 27 127

p53 15 71 p68 7 21

p45 17 80 p86 24 94

p54 31 145 p78 20 94

p56 18 84 p87 26 102

p65 19 56 p89 25 98

p57 6 28 p98 11 70

p75 11 52 p810 4 16

p910 34 216 p109 22 282

p11 17 147 p66 24 71

p22 1 15 p77 9 43

p33 34 229 p88 0 0

Page 36: Un modelo de Markov para la optimización de la tarea del ...

Pág. 36 Memoria

p44 13 62 p99 33 209

p55 0 0 p1010 13 166

Tabla 4: distribución bicicletas

Una vez completada la tabla la matriz queda de la siguiente forma.

Una vez diseñada la matriz, la normalizamos dividiendo cada valor de la matriz por la suma

de la columna de la que pertenece mediante el uso del software MATLAB, con la función

‘bsxfun’ como podemos a continuación.

Obteniendo así la matriz estocástica siguiente.

Page 37: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 37

4.3. Estudio mediante Cadenas de Markov y Predicción

Una vez obtenida la matriz de transición de estados, se puede proceder al análisis de la

matriz para poder predecir el movimiento de bicicletas del bicing y prever la reposición de

éstas. Para ello, se van a realizar los siguientes pasos:

- Cálculo de valores y vectores propios de la matriz de transición.

- Búsqueda del estado estacionario.

- Análisis de resultado.

4.3.1. Cálculo de valores y vectores propios

Para el cálculo de los valores y vectores propios de la matriz de transición, usaremos el

siguiente código creado en MATLAB.

Podemos ver en las líneas de codificación, como primero de todo nombramos a la de

transición obtenida como matriz1. La nombramos porque antes de realizar el código la

hemos implementado en el programa. Una vez nombrada, calculamos los valores propios

de dicha matriz haciendo uso de la función de Matlab ‘eig’ obteniendo ‘VAPS’, ‘VEPSDir’ y

‘DiagVaps’ que respectivamente son los valores propios, la matriz S con los vectores propios

correspondientes a los valores propios de la matriz y la matriz diagonal B equivalente.

Seguidamente, se calcula la matriz de vectores propios en la que se ha normalizado el

vector propio correspondiente al valor propio 1. Finalmente, a modo de información

complementaria, mediante el uso de la herramienta Symbolic Toolbox, podemos mostrar en

función de la variable x, el polinomio característico de la matriz, nombrado en el programa

‘polCar’. Además, obtenemos un vector columna denotado como ‘coefpolCar’, que

corresponde a los coeficientes del polinomio característico.

Pasamos a continuación a mostrar los resultados obtenidos.

Page 38: Un modelo de Markov para la optimización de la tarea del ...

Pág. 38 Memoria

- Valores propios de la matriz de transición de estados.

1

0.589325099389199 + 0.011423467356376i

0.589325099389199 - 0.011423467356376i

-0.422270561163934

-0.271305598211107 + 0.106483054735719i

-0.271305598211107 - 0.106483054735719i

-0.261956901600309

0.234582378528995

0.140547610616046

-0.002505746636244

Tabla 5: valores propios

Los valores propios han sido obtenidos con margen de error e16. Observamos, además,

que en efecto entre los valores propios está el valor propio 1, previsto por ser la matriz

estocástica.

- Matriz diagonal equivalente B.

Esta matriz está formada por los valores propios obtenidos, solo que ahora el margen de

error considerado es de e5 por tema de espacio. Los cálculos han sido realizados todos con

el margen de error menor, sin embargo, a largo plazo (cálculo del límite) el resultado no se

ve afectado.

Page 39: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 39

- Matriz S, con los vectores propios correspondientes, posicionados en columnas:

El vector propio en la columna 1 va asociado al valor propio de la columna 1 de la matriz

diagonal y así sucesivamente. Nótese que los valores tienen 5 decimales, los datos con

todos los decimales pueden verse en el Anexo.

- Matriz S, de vectores propios con el vector propio de valor propio 1 normalizado:

De esta matriz, la primera columna es la que proporciona información a largo plazo del

sistema.

A continuación, mostramos el polinomio característico obtenido, solo que lo pondremos en

función de λ, nomenclatura usada previamente

QD(λ) = λ10 -1.32λ9 -0.19λ8 +0.59λ7 +0.02λ6 -0.095λ5 -0.006λ4 +0.005λ3 +0.0003λ2 -0.0001λ -

0.0000002

Page 40: Un modelo de Markov para la optimización de la tarea del ...

Pág. 40 Memoria

4.4. Búsqueda de la distribución estacionaria

El próximo paso a realizar es encontrar la distribución estacionaria, que nos va a indicar la

evolución a lo largo del tiempo. Para ello, mediante los resultados obtenidos anteriormente,

se debe calcular la distribución estacionaria de la Cadena de Markov.

Se quiere ver la distribución estacionaria del movimiento de las bicicletas a lo largo del

tiempo. Primero demostramos que la Cadena de Markov es regular y se encuentra esta

tendencia.

El primer paso será hacer uso de la siguiente igualdad:

Como que los valores propios distintos de la unidad son en módulo menor que la unidad el

límite de sus potencias es 0. Es decir

Por lo que obtenemos a partir de

Page 41: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 41

Vamos ahora a ver como en efecto al ir haciendo potencias de la matriz A nos vamos

acercando al límite.

Como ejemplo, vamos a ver cómo nos acercamos a este límite elevando las matrices a 10,

15 y 25.

A10= SB10S-1 =

A15= SB15S-1 =

A25= SB25S-1 =

Page 42: Un modelo de Markov para la optimización de la tarea del ...

Pág. 42 Memoria

Observamos que llegamos al límite en un plazo breve de tiempo, a las 25h del inicio vemos

ya que la matriz se estabiliza y todos sus valores son iguales.

A medida que aumenta el valor de la potencia k, los valores convergen a un valor común.

No solo llegamos a la matriz estacionaria, sino que también las columnas de estas son

todas iguales y equivalentes al vector propio de valor propio 1. Por lo tanto, podemos decir

que se cumple la siguiente igualdad.

0.117820164298368

0.197262707292991

0.068830664659640

0.054579082497513

0.054568423991442

0.047006677236930

0.081665165272705

0.069011751945609

0.122495468411766

0.186759894393923

Tabla 6

Siendo el resultado obtenido igual al vector propio de valor propio 1 normalizado y p(0)

cualquier estado inicial.

Podemos asegurar que al modelar mediante la Cadena de Markov, el resultado límite

siempre es independiente del estado inicial ya que:

Si

Entonces

Page 43: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 43

Por lo tanto,

ya que si p(0) es un vector de probabilidad, también es de probabilidad y, en

consecuencia es el mismo vector y el límite es independiente de la condición

inicial.

4.5. Análisis de resultados

Observamos el resultado final obtenido.

Distribución estacionaria = (0.11782, 0.19726, 0.06883, 0.05457, 0.05456, 0.04700,

0.08166, 0.06901, 0.12249, 0.18675)

Los valores están acotados a 5 decimales, que se corresponden con el vector propio de

valor propio 1. Si cambiamos el resultado a porcentajes obtenemos los siguientes:

Page 44: Un modelo de Markov para la optimización de la tarea del ...

Pág. 44 Memoria

%

11,7820164298368

19,7262707292991

06,8830664659640

05,4579082497513

05,4568423991442

04,7006677236930

08,1665165272705

06,9011751945609

12,2495468411766

18,6759894393923

Tabla 7: porcentajes

Por lo tanto, podemos concluir que los distritos que acabarán con más bicicletas en ellas

serán los de Eixample y Sant Martí, casi un 20% de bicicletas totales en cada uno de ellos.

Esto encaja perfectamente porque Eixample es el distrito céntrico de la ciudad y Sant Martí

es uno de los distritos ubicados en la zona con menos altitud de la ciudad. Por otro lado, los

distritos ubicados en la zona más alta de la ciudad tendrán una menor cantidad de bicicletas

en sus paradas, cerca de un 5% o un poco más en ellas.

Por lo que podemos decir que para la reposición de bicicletas y distribuirlas entre los

diferentes distritos, generalmente los camiones encargados de distribuirlas tendrán que

mirar que paradas están por encima de sus valores o cuáles de ellas hacen falta bicicletas y

de esta manera distribuirlas por toda la ciudad. Más o menos vemos que las paradas

acaban con un porcentaje parecido al de inicio.

Page 45: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 45

Page 46: Un modelo de Markov para la optimización de la tarea del ...

Pág. 46 Memoria

5. Planificación temporal y de costes

5.1. Planificación temporal

Para la realización de este trabajo, ha sido necesaria una planificación específica, ya que

han sido unos hechos y aprendizajes concretos los que han permitido ir avanzando

adecuadamente e ir cumpliendo aquellos objetivos propuestos al inicio del planteamiento del

mismo.

El peso del trabajo es de 12 créditos, unas 300 horas aproximadamente, (considerando 25

horas el crédito), más o menos se ha empleado 3 meses en la realización de este trabajo.

Así, el trabajo ha sido planificado como se muestra a continuación:

• Búsqueda de información: 21 días.

• Tratamiento de la información: 11 días.

• Generación del Grafo y de la Matriz: 16 días.

• Validación de la Cadena de Markov: 9 días.

• Estudio predictivo: 17 días.

• Otros apartados (planificación, costes, impacto ambiental): 4 días.

• Revisión y corrección: 5 días.

• Presentación: 7 días.

De modo aproximado se ha invertido en este trabajo un total de 90 días.

Page 47: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 47

5.2. Planificación de costes

El coste que ha tenido la realización del trabajo, basándonos en el coste de Licencias,

consumo eléctrico o el de un Ingeniero Industrial viene desglosado en la siguiente tabla:

Concepto Gasto

Ingeniero Industrial 6000€

Licencia Matlab 40€

Consumo ordenador 95,84€

Ordenador 585€

Paquetes Matlab 50€

Tarifa Internet 100€

Material de oficina e impresiones 75€

Licencia Microsoft Office 135€

TOTAL 7080,84€

Tabla 8: costes

Page 48: Un modelo de Markov para la optimización de la tarea del ...

Pág. 48 Memoria

Page 49: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 49

6. Impacto ambiental

El impacto ambiental, en lo que se refiere a este Trabajo Final de Grado, es prácticamente

nulo. Partiendo de la base de que el trabajo es fundamentalmente teórico, el único aparato

usado a lo largo de todo el trabajo es el ordenador. Si bien es cierto, que, siendo un impacto

pequeño, se debe tener en cuenta ya que la mayor parte de la energía generada en España

no proviene de fuentes renovables, por lo que el consumo de energía de la red eléctrica del

ordenador portátil tiene un impacto negativo ya que al ser usado durante muchas horas la

energía gastada es suficientemente alta como para tenerse en cuenta.

Page 50: Un modelo de Markov para la optimización de la tarea del ...

Pág. 50 Memoria

Page 51: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 51

Conclusiones

Como he mencionado a lo largo de este trabajo el objetivo principal era el diseño y

simulación de un modelo predictivo para la optimización de la tarea del reponedor del

servicio Bicing de la ciudad de Barcelona.

Basado en este objetivo, se extraen las siguientes conclusiones:

Primero de todo indicar que se ha cumplido el objetivo principal. Se ha creado un programa

de Matlab el cual nos ha servido para que, a partir de un cierto movimiento de bicicletas al

en franjas horarias de una hora, analizar estos datos y guardar una distribución estacionaria.

El programa ha realizado correctamente la lectura de los datos, analizarlos y prever una

situación futura teniendo en cuenta solo el estado presente. Se ha visto a partir de unos

datos que el procedimiento tiene sentido y los cálculos con correctos, con lo que se puede

afirmar que se puede implementar con teniendo en cuenta todas las paradas, y en otros

sistemas de alquiler de bicicletas de otras ciudades.

A modo de resumen, primero hay que diseñar el grafo de movimientos de las bicicletas, y

una vez esto, usar la matriz asociada para modelar la Cadena de Markov. Una vez hecho,

se utiliza el programa que se ha diseñado para predecir la tendencia futura de los

movimientos de bicicletas entre paradas.

Por otro lado, a nivel académico ha supuesto un auténtico reto lograr elaborar este trabajo.

Ha supuesto un proceso de superación y aprendizaje a lo largo del trabajo a ser constante

con el trabajo y no rendirse a pesar de las adversidades. Realizar este trabajo me ha

ayudado a recordar conceptos tanto de Álgebra Lineal como de programación de Matlab,

además de aprender de nuevos que han sido necesarios para la elaboración del trabajo.

También se ha notado una mejoría del uso del programa de Matlab, pues es un software

con gran aplicabilidad en el mundo de la programación y servirá de ayuda en un futuro.

Finalmente, lo que decantó por escoger este tema fue que es un trabajo con aplicaciones a

la vida real. El poder implementar el álgebra Lineal, con conceptos abstractos, en un

ejemplo real muestra la realidad de cómo tanto el álgebra como las matemáticas en general,

están muy presentes en la vida cotidiana.

Page 52: Un modelo de Markov para la optimización de la tarea del ...
Page 53: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pàg. 53

Agradecimientos

En la realización de este trabajo, primero de todo dar las gracias a mi tutora, María Isabel

García Planas, ya que sin su ayuda y paciencia no podría haber realizado este trabajo. En el

transcurso del trabajo me ha dado el apoyo cuando era necesario y siempre estaba a

disposición tanto vía correo electrónico como por teléfono. También agradecerle todo el

interés mostrado a lo largo de estos meses.

Por último, pero no menos importante, agradecer a todos mis seres más cercanos, tanto

familiares como amigos. Ellos han estado apoyándome moralmente desde el primer

momento, incluso en esos momentos en los que por motivos ajenos no podía seguir

adelante. Agradecer en especial a mi padre, que ha sido un gran apoyo a lo largo de este

trabajo y a mi hermano Carlos, sin su ayuda no podría haber logrado realizar este trabajo.

Page 54: Un modelo de Markov para la optimización de la tarea del ...

Pág. 54 Memoria

Page 55: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pág. 55

Bibliografía

[1] R.B. BAPAT and T.E.S. RAGHAVAN, Nonnegative Matrices and Applications,

Encyclopedia of Mathematics and its Applications (No. 64), Cambridge University

Press, 1997.

[2] A. BERMAN, R.J. PLEMMONS, Non-negative Matrices in Mathematical Sciences,

SIAM. Filadelfia (1994).

[3] CASTRO PONCE, M., de LEÓN, M., GÓMEZ CORRAL, A. Andrei Markov, cadenas

para luchar contra las epidemias (I). Matemáticas y sus fronteras. (2020).

[4] DOMÍNGUEZ GARCÍA, J.L., GARCÍA PLANAS, M.I. Introducción a la teoría de

matrices positivas. Aplicaciones. Iniciativa Digital Politècnica, 2013.

[5] GARCÍA PLANAS, M.I., MAGRET PLANAS, M.D. Eines d’àlgebra lineal i matricial per

a l’enginyeria. Editado por las autoras. Barcelona, 2014.

[6] ZORITA MÍNGUEZ, M. Reconstrucción de trayectorias de aeronaves usando

Simulated Annealing para resolver una versión del problema del viajante (TSP). (2019).

[7] Eispack. <http://www.netlib.org/eispack/> [Consulta: 22 de junio de 2021]

[8] Linpack. <http://www.netlib.org/linpack/> [Consulta: 22 de junio de 2021]

[9] Mathworks. Matlab. <https://es.mathworks.com/products/matlab.html> [Consulta: 4 de

julio de 2021]

[10] Bicing. Datos del Bicing. <https://www.bicing.barcelona/es/datos-bicing> [Consulta: 15

de junio de 2021]

[11] Ajuntament de Barcelona <https://www.barcelona.cat/ca/> [Consulta: 1 de agostode

2021]

Page 56: Un modelo de Markov para la optimización de la tarea del ...

Pàg. 56 Memòria

Anexos

- Matriz S con los vectores propios con todos los decimales

Page 57: Un modelo de Markov para la optimización de la tarea del ...

Un modelo de Markov para el servicio de reposición de bicing Pág. 57