0% encontró este documento útil (0 votos)
11 vistas66 páginas

Teoría de grafos en rutas aéreas

El proyecto se centra en la aplicación de la teoría de grafos y álgebra lineal para determinar la ruta más económica entre Lima y Toronto utilizando datos de vuelos de LATAM Airlines. Se plantea un sistema de ecuaciones lineales para modelar las rutas aéreas y se aplicará el algoritmo de Dijkstra para encontrar el camino de menor costo. Este trabajo busca contribuir a la optimización de rutas aéreas en un contexto donde la información sobre costos es limitada.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas66 páginas

Teoría de grafos en rutas aéreas

El proyecto se centra en la aplicación de la teoría de grafos y álgebra lineal para determinar la ruta más económica entre Lima y Toronto utilizando datos de vuelos de LATAM Airlines. Se plantea un sistema de ecuaciones lineales para modelar las rutas aéreas y se aplicará el algoritmo de Dijkstra para encontrar el camino de menor costo. Este trabajo busca contribuir a la optimización de rutas aéreas en un contexto donde la información sobre costos es limitada.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Matemática III

Sección: 1.05

Ciclo: 2021-1

Proyecto
Teoría de grafos en red de vuelos

Profesor: Rosulo Perez Cupe


César Alejandro Ortiz Martinez (Lider) 201810312 100%
Leonardo Fabricio Yupanqui Mera 202010434 100%
Alberto Alejandro Pelaez Sagastegui 201710620 100%
Nayeli Cibelly Navarro Pizarro 201910240 100%
Rodrigo Gabriel Salazar Alva 202010387 100%

Fecha de entrega
01 de Junio

Junio 2021
Matemática III

ÍNDICE

ÍNDICE 1

I. INTRODUCCIÓN 4
I.I. Tema del Proyecto 4
I.I. Objetivos 5
I.I.I Objetivo Principal 5
[Link]. Justificación de la elección del tema 6
I.V. Identificación del problema 7

II. MARCO TEÓRICO 10


II.I Antecedentes 11
[Link] Base teórica 12
[Link] Conceptos Clave 20

III. METODOLOGÍA 22
I.I Planteamiento del sistema de ecuaciones 22
[Link] Resolución de sistemas de ecuaciones 23
[Link].I Eliminación Gaussiana con pivote: 23
[Link] Método Crout: 27
[Link] Definición del grafo y la búsqueda de la ruta mas barata 30

IV. DESARROLLO 32
IV.I Interpretación del problema 32
[Link] Planteamiento del problema 32
[Link] Procedimiento 33
[Link].I Asignación de variables 33
[Link] Definición de rutas 34
[Link] Sistema de ecuaciones 35

2
Matemática III

[Link] Resolución de sistema matricial 37


[Link].I Eliminación Gaussiana (Con pivoteo) 37
[Link] Factorización LU - Crout 40
[Link].V Planteamiento de Grafo y Resolución de camino mínimo 52
[Link] Interpretación de resultados 55

V. CONCLUSIONES 58

VI. BIBLIOGRAFÍA 61

VII. ANEXOS 63

3
Matemática III

I. INTRODUCCIÓN

I.I. Tema del Proyecto

La cotidianización del transporte aéreo es una de las más importantes


hazañas de la humanidad durante el último siglo que ha resultado en la
creación de complejas redes de aeropuertos profundamente interconectadas
por vuelos tanto a nivel nacional como internacional. Actualmente, existe un
creciente interés por el estudio de estas redes mediante sus
representaciones aproximadas en grafos.

La teoría de grafos es una rama relativamente nueva de investigación de las


matemáticas cuyo objeto de estudio son los grafos, sus propiedades y
conceptos relacionados como caminos y ciclos. Este es un área con
importante solapamiento con el álgebra lineal al frecuentemente emplear
matrices para la representación de sus diversos elementos, especialmente
para su modelamiento y cálculo en computadoras. Mediante la aplicación de
este área se ha podido representar y resolver diversos problemas de la vida
real como la síntesis de circuitos secuenciales y la creación de algoritmos de
motores de búsqueda.

El tema del presente trabajo es la aplicación de la teoría de grafos y álgebra


lineal en redes de vuelos para hallar el camino óptimo entre dos ciudades.
Para este fin, se tomarán como datos los precios de diferentes planes de
vuelo de la aerolínea internacional LATAM con el fin de reconstruir un grafo
pesado en base a un sistema de ecuaciones lineales. Finalmente, con este
grafo aplicaremos el algoritmo de Dijkstra para hallar la ruta de menor costo
entre Lima y Toronto.

4
Matemática III

I.I. Objetivos

I.I.I Objetivo Principal

- Plantear un sistema de ecuaciones lineales para describir un sistema


de rutas aéreas comerciales y determinar la ruta más barata aplicando
la teoría de grafos.

[Link] Objetivos Particulares

- Recolectar datos reales de rutas de vuelos en aerolíneas comerciales


para construir un sistema de ecuaciones lineales.
- Emplear el álgebra lineal para plantear o replantear el sistema
ecuaciones y verificar que tenga solución
- Implementar scripts para facilitar la resolución de sistemas matriciales
mediante herramientas computacionales como matlab usando los
metodos de eliminacion gaussiana con pivoteo y factorizacion LU
(crout).
- Aplicar el algoritmo de Dijkstra sobre un grafo ponderado para hallar el
trayecto de menor costo.

5
Matemática III

[Link]. Justificación de la elección del tema

La teoría de grafos es un área con gran potencial para la resolución de


problemas al permitir representar de forma matemática una gran diversidad
de fenómenos como las cadenas de infección de epidemias o redes de
distribución de servicios públicos. No obstante, no siempre se cuenta con
todos los datos listos para un procesamiento directo con algoritmos
computacionales conocidos sino que es necesario inferir o aproximar
modelos en base a datos más complejos. En este sentido, el álgebra lineal
presenta una posible solución a este problema poco explorado que es la
reconstrucción de grafos ponderados en la cual creemos que se debería
profundizar. Asimismo, la información académica disponible sobre la
aplicación de este campo en el análisis de redes de vuelos es bastante
escasa y comúnmente se limita únicamente a la descripción de estas redes
en vez de resolver problemas concretos. Por estos motivos, este trabajo
busca proponer una posible aplicación de estas áreas en la resolución de
problemas concretos con el potencial de que nuestros conocimientos y
resultados obtenidos puedan servir en un futuro como base para otras
investigaciones más profundas en este campo.

6
Matemática III

I.V. Identificación del problema

Dentro de una subred de aeropuertos en la que opera LATAM Airlanes, esta


empresa desea ofrecer el plan de vuelo más económico para un vuelo con
partida desde Lima y arrive en Toronto para poder competir en el mercado de
transporte aéreo sabiendo que este es un destino con creciente popularidad.
Lamentablemente, para poder calcular la ruta óptima no se cuenta con los
datos exactos para los costos para viajar de un aeropuerto a otro. No
obstante, si sabe el costo de múltiples rutas ya existentes entre estos dos
destinos y alrededores con diferentes escalas dentro de esta subred. Nuestro
objetivo es calcular los precios de vuelo entre aeropuertos elegidos a partir
de los precios de las rutas conocidas, con el fin de construir un grafo
apropiado para uso en algoritmos de búsqueda de caminos mínimos y
determinar de esta manera cuál es la ruta que LATAM Airlines debería
implementar, de no estar disponible aun, y enfocarse.

Para el planteamiento de este problema, no se toma en cuenta los


descuentos proporcionados por la aerolínea, ya que estos varían
dependiendo de la temporada y dificultan el planteamiento de un sistema
lineal. Asimismo, se asume que el costo de viaje entre dos aeropuertos
adyacentes es el mismo en ambas direcciones. Los datos recolectados de
LATAM airlines el 15 de Mayo de 2021 son los siguientes:

7
Matemática III

Figura 1
Rutas alternativas para el viaje de Lima a Toronto.

Nota. Elaboración propia con Matlab.

8
Matemática III

Figura 2
Tabla de precios reales tomados de la página de LATAM.

Nota. Elaboración propia.

Figura 3
Tabla descriptiva de los vuelos que se toman por ruta.

Nota. Elaboración propia.

9
Matemática III

Teniendo en cuenta los datos recolectados, estableceremos un sistema de


ecuaciones para calcular el precio de cada vuelo entre cada par de
aeropuertos directamente conectados. Luego, resolveremos el sistema de
ecuaciones empleando eliminación gaussiana con pivoteo y factorización LU
(crout). El grafo ponderado construido se usará como input para hallar la ruta
mínima mediante el algoritmo de Dijkstra.

II. MARCO TEÓRICO

II.I Antecedentes

La teoría de grafos es una área de las matemáticas que ha recibido especial


atención en los últimos años debido a su capacidad de simplificar en gran
medida el proceso de modelación de sistemas complejos como el
movimiento de partículas atómicas, redes eléctricas o modelos
epidemiológicos de contagio. Su aplicación tiene gran potencial en el campo
del transporte y la definición de nuevas rutas aéreas. Algunas trabajos
previos relacionados se describen a continuación:

En Puchades V., Mula J. y Rodríguez A. (2008) se estudia el caso de la


empresa Semacaf Maquinas de Cafe S.L la cual que pertenece al rubro de la
distribución. En este trabajo, Rodriguez aplica el algoritmo del “Problema del
Viajante”, para determinar mediante el uso de grafos, rutas alternativas que
permitan optimizar la tarea de reparto reduciendo costos y tiempo. Si bien
este trabajo no se centra especialmente en rutas de vuelo, nos muestra el
potencial que tienen los grafos en el área de transporte en general.

Asimismo, en Restrepo C., Hernán J., Sanchez C. y Jairo J. (2004) se abarca


el problema de rutas mínimas al buscar determinaron las distancias más
cortas de las rutas de la ciudad de Santa Rosa de Cabal mediante la

10
Matemática III

aplicación de la teoría de grafos junto al algoritmo dijkstra. Este trabajo tiene


un objetivo similar al del presente trabajo pero se trabaja con el caso ideal de
un grafo pesado ya conocido.

11
Matemática III

Por otro lado, en Guamanga J. y Granada A. (2019) propusieron mejoras en


el algoritmo de Dijkstra para mejorar la conectividad aérea de latinoamérica
y el Caribe. En su trabajo, ellos aplicaron la teoría de redes sociales junto a la
teoría de grafos para optimizar el proceso de selección de rutas, obteniendo
como resultado el aumento de los vuelos comerciales.

Por último, trabajos más actuales como Gomez R., Zuluaga A. y Espinoza J.
(2015) demuestran el potencial de la teoría de grafos para diseñar una red de
distribución de productos cárnicos lo más eficientemente posible teniendo en
cuenta el tiempo y distancia de los pedidos de los clientes.

[Link] Base teórica

Teoría de grafos - El acertijo de los “puentes de Köningsberg (1736)

En 1736, Leonhard Euler publicó un artículo donde resolvió este problema


definiendo los conceptos que sentaron las bases de lo que actualmente se
conoce como la teoría de grafos.

La ciudad de Königsberg, en Prusia Oriental, estaba dividida en cuatro zonas


por el río Pregel. Siete puentes comunicaban estas regiones, tal y como se
muestra en el dibujo. Los habitantes de dicha ciudad debían recorrer grandes
trayectos tratando de encontrar una forma de caminar por la ciudad,
cruzando cada puente una sola vez, y regresar al lugar de partida. (Rosen,
2012)

Definición de grafo (no dirigido):

12
Matemática III

Un grafo G se puede definir como un par (V , E) donde V es un conjunto de


vértices y E un conjunto de aristas.(Galvin, 2009)

Dentro del contexto de grafos los vértices (o también llamado nodos) se


entiende como los elementos principales de un grafo cuya naturaleza es
discreta y cuyo significado varía dependiendo del sistema que se desea
modelar, mientras que las aristas son las conexiones entre pares de nodos
que representan la existencia de una relación entre estos.

Para ejemplificar, para resolver el acertijo previamente mencionado, Euler


creó un grafo G=(V , E) donde V ={a , b , c , d } era el conjunto de vértices
donde cada vértices representaba una zona de la ciudad y
E={e 1 ,e 2 , e3 , e 4 , e5 , e6 , e 7 } era el conjunto de artistas que representan la
existencia de un puente entre cada par de ciudades como se muestra en la
Figura 4.

Figura 4
Representación de Euler del problema

Nota. Adaptado de Galvin, 2009, Discrete Mathematics, Spring 2009 Graph


theory notation ([Link]
[Link]).

13
Matemática III

Donde las incidencias de las aristas son:


e 1=e 2={a , b }
e 3=e 4 ={b . c }
e 5={a , d }
e 6={b , d }
e 7={c , d }

Definición de grafo ponderado (no dirigido):


Un grafo ponderado se puede entender como una extensión de la definición
previa de grafo donde todo elemento e ∈ E cumple con tener exactamente una
solución con la función de peso asociada al grafo (Rosen, 2012):
w (e)=PESO
El peso de una arista es un número (por lo general perteneciente a los
reales) que describe alguna propiedad de los vértices que conecta.

En el ejemplo anterior de Euler, su grafo podría ser extendido a un grafo


ponderado en el que el peso de cada arista representa la longitud de cada
puente en metros.

Definición de camino:
Un camino en un grafo se define como una sucesión finita alternada de
vértices y aristas pertenecientes al grafo donde se cumple que cada arista
conecta al vértice anterior y siguiente a esta en la sucesión. Los caminos se
pueden representar matemáticamente como (Rosen, 2012):
π n :a , b , c , d , e , f , g , h…

Donde n es el número de vértices que se recorre en el camino y


a , b , c , d ,e , f , g ,h representa la sucesión de vértices y aristas recorridas.

14
Matemática III

El costo de un camino se entiende como la sumatoria de los pesos de todas


las aristas recorridas en este.
e ∈E
w (r )= ∑ w (e)
e

Matriz de adyacencia:
Una matriz de adyacencia es una representación matricial de un grafo
simple.

Para un grafo ponderado simple (simple = máximo una arista conecta cada
par de vértices) la matriz de adyacencia se construye como una matriz A de
dimensionesn x n donde n=¿ V ∨¿ . (Rosen, 2012)

Cada elemento Ai , jse define como:


● Ai , j=∞o Ai , j=0 si los vértices i y j no están conectados (Matlab usa 0)
● Ai , j=w(ei , j) si los vértices i y j están conectados, donde e i , j es la
arista que los conecta

Figura 5
Matriz de adyacencia

Nota. Adaptado de Grafo Ponderado[Imagen] por dar15, 2011, Matriz de


adyacencia ([Link]

Algoritmo de Dijkstra:

15
Matemática III

El algoritmo de Dijkstra resuelve el problema de encontrar el camino mínimo


desde un origen a un destino. Resulta que uno puede encontrar el camino
mínimo desde un origen dado a todos los vértices de un grafo al mismo
tiempo; de ahí, este problema a veces se llama el problema del camino
mínimo con un origen único. De hecho, este algoritmo se puede utilizar para
entregar el conjunto de aristas que conectan todos los vértices tal que la
suma de las longitudes de las aristas desde el origen hasta cada nodo sea
mínimo. ( Rodríguez, 2009)

Proceso para el algoritmo de Dijkstra :


El algoritmo requiere como datos de entrada un grafo ponderado
G=(V , E , w), un vértice de origen s y un vértice de fin u.

El objeto resultante del algoritmo es un árbol generador T con el camino


mínimo con raíz s.

Los detalles de la implementación de este algoritmo se pueden ver descritos


a continuación en la Figura 6 que contienen un pseudocódigo
correspondiente.

16
Matemática III

Figura 6
Pseudocódigo del algoritmo de Dijkstra

Nota. Adaptado de Algoritmo: DIJKSTRA por Rodriguez, 2009. .Problemas


De Optimización En Árboles Generadores, Universidad Politécnica de Madrid
([Link]
descargas/Memoria_Teoria.pdf)

17
Matemática III

Eliminacion Gaussiana con pivoteo:

Este es un método para la resolución de un sistema de ecuaciones en su


forma matricial Ax=b.

Este método se basa en la sustitución de un sistema de ecuaciones lineales


por una matriz escalonada superior. Para ello, teniendo un sistema matricial
definido como Ax=b se define una nueva matriz extendida como Ab= A∨b.
Mediante operaciones elementales el sistema se simplifica a una forma
escalonada, semejante a la de la Figura 7. (Rosen, 2012)

Figura 7
Ejemplo de matriz escalonada

Nota. Elaboración propia.

Con esta matriz se puede crear un nuevo sistema equivalente A ' x=b '
fácilmente resoluble de forma inversa: empezando de la ecuación inferior a la
superior resolviendo un nuevo valor(es) de x i en cada paso.

18
Matemática III

Método Crout - Factorización LU:


Este es otro método para la resolución de un sistema de ecuaciones en su
forma matricial Ax=b. En este caso, este método se basa en la
descomposición de la matriz A en el producto de L(matriz triangular inferior) y
U(matriz triangular superior). Este proceso consiste en dos partes principales
(Rosen, 2012):

● Cálculo de la matriz L mediante eliminación por columnas


usando operaciones elementales.

Figura 8
Cálculo de L.

Nota. Elaboración propia.

● Construcción de la matriz triangular superior U mediante


elementos obtenidos durante el proceso anterior: Con la
formación de la matriz escalonada de L se obtuvieron
u12 ,u13 y u 23las cuales forman a ser parte de la matriz U.

19
Matemática III

Figura 9
Construcción de U

Nota. Elaboración propia.

Una vez obtenido este resultado se vuelve fácil resolver el sistema de


ecuaciones como dos sistemas encadenados con matrices triangulares:

LZ=b ; Donde Ux=Z


El sistema Ux=Z se resuelve de forma inversa (de la ecuación inferior a
superior) y posteriormente LZ=b se resuelve de forma directa (de la
ecuación superior a inferior)

[Link] Conceptos Clave

● Red de vuelos: Modelo de rutas de transporte aéreo representable


mediante un grafo como el que se puede apreciar en la Figura 10. El
conjunto de vértices V representa los aeropuertos de la red y el
conjunto de aristas E representa la existencia entre un vuelo existente
entre un par de aeropuertos. El pesow (e) de una arista e puede
representar diferentes características dependiendo del contexto.
Algunas definiciones comunes son: precio, tiempo y distancia.

20
Matemática III

Figura 10
Ejemplo de red de vuelos

Nota. Adaptado de Grafos con pesos por Antony, 2011, Algoritmos de


caminos más cortos ([Link]
-caminos-m-s-cortos).

● Ruta de vuelo: Pasaje comparable que lleva de un destino u a un


destino v con 0 a múltiples escalas intermedias. Esta se puede
representar como un camino dentro de una red de vuelos.

21
Matemática III

III. METODOLOGÍA

Para resolver el problema usamos la metodología planteada en el diagrama


de la Figura 11.
Figura 11
Metodología

Nota. Elaboración propia.

I.I Planteamiento del sistema de ecuaciones

El planteamiento del sistema de ecuaciones lineales se realiza mediante el


planteamiento de las ecuaciones lineales de pesos de cada ruta. El costo
total de una ruta se puede representar como la sumatoria de los pesos de
todas sus aristas:

22
Matemática III

a∈ A
w (r )= ∑ w (a)
a

Teniendo aristas etiquetadas, esto también se puede representar como la


ecuación lineal:
c 1 x 1 +c 2 x 2 +c 3 x3 .. c n x n=k
Donde k =w (r ) es el costo total de la ruta, x irepresenta el costo de la arista a i
y c ies un coeficiente que indica cuantas veces la ruta pasa por la arista a i.
Con ello, es posible representar esto como una sistema matricial Cx=K .
Asimismo, cabe denotar que, asumiendo todas las rutas a lo máximo cada
arista una única vez, la matriz C será una matriz de 1’s y 0’s donde 1
representa que el camino recorre la arista correspondiente y un 0 que no.

[Link] Resolución de sistemas de ecuaciones

Para resolver los sistemas de ecuaciones obtenidos se usa la factorización o


descomposición para adquirir las soluciones más eficientemente. Por ende,
se usará los siguientes métodos de factorización:

[Link].I Eliminación Gaussiana con pivote:

Teniendo un sistema matricial definido como Ax=b se define una nueva


matriz extendida como Ab= A∨b.

Sobre este nuevo sistema se aplica el siguiente algoritmo:

1. El contexto se define como la submatriz de Abconstruida como


n ,m
Contexto=(a ij )i , j =kdonde a ijson los elementos de Ab, n=¿número de
filas y m=¿ número de columnas.

El contexto se inicia como como la totalidad de la matriz Ab (k =1)

23
Matemática III

2. Mientras k ≥ n y k ≥m se elimina la siguiente columna:


a. Pivoteo: Se busca dentro del contexto cuál es el major valor de
la primera columna. En caso de ser distinto al actual se
intercalan las filas.

Figura 12
Ejemplo de pasos intermedios - Eliminacion Gaussiana

Nota. Elaboración propia.

b. Eliminación: El elemento pivote se define como el primer


elemento del contexto actual ( piv=akk ). Para cada fila posterior
a k +1 se calcula el coeficiente de eliminación¿ c como el
coeficiente por el que se debe multiplicar el elemento pivote
para que, al sumarlo con el primer elemento de esta fila el
resultado sea 0. Con este valor se realiza la operación entre
filas: f =f −c∗f k.

c. Reducción de contexto: Una vez finalizado los cálculos


correspondientes se reduce el contexto incrementando k en 1

3. La matriz resultante es el resultado. Su forma debe ser semejante a la


mostrada en la Figura 13.

24
Matemática III

Figura 13
Resultado - Eliminacion Gaussiana

Nota. Elaboración Propia.

Una vez obtenido este resultado se vuelve fácil resolver el sistema de


ecuaciones de forma inversa (de abajo hacia arriba).

Este algoritmo se ha implementado en la script Gauss_Pivoteo_Parcial.m


en matlab para su uso durante el desarrollo:

25
Matemática III

26
Matemática III

[Link] Método Crout:

Existen diferente algoritmos para hallar las matrices LU de un sistema Ax=b


de tipo crout. En este caso, el algoritmo que se usará es el siguiente:

1. El contexto se define como la submatriz de A construida como


n
Contexto=(a ij )i , j =kdonde a ijson los elementos de A , n=¿número de filas
y columnas.

2. Se define la matriz U inicial como una matriz identidad de dimensiones


de A .

3. Mientras k ≥ nse siguen calculando las matrices:


a. Recuperación de U:
Se recupera la primera fila del contexto actual y se divide por un
coeficiente ¿ s tal que el primer elemento de la fila sea igual a 1.
La fila obtenida de esta división se pone en las posiciones
correspondientes en la matriz U.

b. Cálculo de L:
El elemento pivote se define como el primer elemento del
contexto actual ( piv=akk ). Para cada columna posterior a k +1 se
calcula el coeficiente de eliminación¿ r como el coeficiente por
el que se debe multiplicar el elemento pivote para que, al
sumarlo con el primer elemento de esta columna el resultado
sea 0. Con este valor se realiza la operación entre filas:
c=c−r∗c k.

27
Matemática III

c. Reducción de contexto: Una vez finalizado los cálculos


correspondientes se reduce el contexto incrementando k en 1

4. La matriz modificada de A es L y la matriz U es su matriz U


correspondiente.

Una vez obtenido este resultado se vuelve fácil resolver el sistema de


ecuaciones como dos sistemas encadenados con matrices triangulares:

LZ=b ; Donde Ux=Z

Este algoritmo se ha implementado en la script crout.m en matlab para su


uso durante el desarrollo:

28
Matemática III

29
Matemática III

[Link] Definición del grafo y la búsqueda de la ruta mas barata

Una vez que encontremos la solución al sistema de ecuaciones planteado, se


procede a la construcción del grafo la búsqueda de la ruta más barata,
utilizando el los siguientes scripts:

Script para la definición de matriz de adyacencia en base a los pesos


hallados:

30
Matemática III

Asimismo, para aplicar Dijkstra se usará la función shortestpath (G,a,b) de


matlab para aplicar el algoritmo de Dijkstra en un grafo G y hallar la ruta de
menor peso entre a y b y su valor.

La función shortestpah usa este algoritmo por defecto para grafos


ponderados con todos sus pesos no negativos.

31
Matemática III

IV. DESARROLLO

IV.I Interpretación del problema

Tenemos diferentes rutas para la red de vuelo de una aerolínea


(representada por el grafo de la figura N 1). A partir de los precios de cada
ruta, hallaremos el precio de un boleto de avión entre todos los aeropuertos
adyacentes (conectados por una arista) para reconstruir el grafo. Con el grafo
resultante, calcularemos la ruta de mínimo costo entre Lima y Toronto
aplicando el algoritmo de Dijkstra.

[Link] Planteamiento del problema

Para resolver el problema, representamos el sistema en su forma matricial.


Posteriormente, resolvemos la matriz aumentada empleando el método de
eliminación gaussiana con pivoteo y metodo de factorizacion LU crout, y
como resultados obtendremos los precios de vuelo.

Con el fin de hacer el sistema matricial resoluble, se han realizado ajustes a


los precios de cada ruta:
Figura 14
Tabla descriptiva de los vuelos que se toman por ruta

32
Matemática III

Nota. Elaboración propia.

ruta 1: Lima - Nueva York - Toronto, con un precio de $765.98


ruta 2: Lima - México - Toronto, con un precio de $786.4
ruta 3: Colombia - Nueva York - Toronto, con un precio de $812.79
ruta 4: 2 vuelos distintos, Lima - Colombia - Nueva York y México - Nueva
York - Toronto, con un precio de $1427.99 por los 2.
ruta 5: Lima - Colombia - Nueva York - Toronto, con un precio de $1119.39
ruta 6: Lima - México - Nueva York - Toronto, con un precio de $945.69
ruta 7: México - Nueva York - Toronto, con un precio de $564.99

[Link] Procedimiento

[Link].I Asignación de variables

Para poder representar los precios de las rutas de vuelo de forma algebraica
es necesario poder diferenciar cada aristas del grafo con lo que a
continuación asignamos una etiqueta a cada vuelo entre aeropuertos
adyacentes y su costo:

Lima - Nueva York = a1


Lima - Colombia = a2
Lima - México = a3
Colombia - Nueva York = a4
Nueva York - Toronto = a5
Nueva York - México = a6
México - Toronto = a7

Asimismo, para representar el peso correspondiente a cada arista (a i) se usar


la siguiente notación:

33
Matemática III

x i=w (a i)

[Link] Definición de rutas

ruta 1: Lima - Nueva York - Toronto, con un precio de $765.98


ruta 2: Lima - México - Toronto, con un precio de $786.4.
ruta 3: Colombia - Nueva York - Toronto, con un precio de $812.79
ruta 4: 2 vuelos distintos, Lima - Colombia - Nueva York y México - Nueva
York - Toronto, con un precio de $1427.99 por los 2.
ruta 5: Lima - Colombia - Nueva York - Toronto, con un precio de $1119.39
ruta 6: Lima - México - Nueva York - Toronto, con un precio de $945.69
ruta 7: México - Nueva York - Toronto, con un precio de $564.99

De esta forma, nuestras rutas serían las siguientes:

ruta 1 = π 2 : Lima , a 1 , NuevaY ork , a5 ,Toronto con w (ruta 1)=765.98


ruta 2 = π 2 : Lima , a 3 , México , a7 , Toronto con w (ruta 2)=786.4
ruta 3 = π 2 :Colombia , a4 , NuevaYork , a5 ,Toronto con w (ruta 3)=812.79
ruta 4 = π 2 : Lima , a 2 , Colombia , a4 , Nueva York +
π 2 : México , a6 , Nueva York , a5 ,Toronto con w (ruta 4)=1427.99
ruta 5 = π 3 : Lima , a 2 , Colombia , a 4 , Nueva York , a 5 , Toronto
con w (ruta 5)=1119.39
ruta 6 = π 3 : Lima , a 3 , México , a6 , NuevaYork , a5 , Toronto
con w (ruta 6)=9 4 5.69
ruta 7 = π 2 : México , a6 , Nueva York , a5 ,Toronto con w (ruta 6)=564.99

Sabiendo que el costo de una ruta es la suma de los costos de todos los
vuelos intermedios presentes en esta podemos plantear la ecuación lineal de
una ruta como:

34
Matemática III

a∈ A
w (r )= ∑ w (a)
a

Donde A es el conjunto de todas las aristas pertenecientes a la ruta.

De esta forma obtenemos una ecuación lineal por ruta:

ruta 1: x 1+ x5 =$ 765.98
ruta 2: x 3 + x7 =$ 786.4
ruta 3: x 4 + x 5=$ 812.79
ruta 4: x 2+ x 4 + x 6+ x5 =$ 1427.99
ruta 5: x 2+ x 4 + x 5=$ 1119.39
ruta 6: x 3 + x 6+ x 5=$ 945.69
ruta 7: x 6 + x 5=$ 564.99

[Link] Sistema de ecuaciones

En base a las ecuaciones de peso de cada ruta podemos plantear el


siguiente sistema de ecuaciones como su recolección, representada en la
Figura 15.

Figura 15
Sistema de ecuaciones

Nota. Elaboración propia.

35
Matemática III

Para poder crear una matriz, completamos con 0’s el sistema de ecuaciones
para incluir todas las incógnitas de forma ordenada. El sistema de
ecuaciones resultante se aprecia en la Figura 16.

Figura 16
Sistema de ecuaciones rellenado con ceros

Nota. Elaboración propia.

Con este sistema resultante es posible reescribir en su forma matricial como


se muestra a continuación.

Figura 17
Sistema matricial

Nota. Elaboración propia.

36
Matemática III

[Link] Resolución de sistema matricial

[Link].I Eliminación Gaussiana (Con pivoteo)

Para resolver por eliminación gaussiana primero se plantea la Matriz


Aumentada mostrada en la Figura 16.
Figura 18
Matriz aumentada

Nota. Elaboración propia.

Utilizando Gauss_Pivoteo_Parcial.m con esta matriz como input obtenemos


la matriz escalonada:

37
Matemática III

(...)

38
Matemática III

Obteniendo como resultado el sistema equivalente Ax=bsiguiente:

39
Matemática III

Mediante resolución inversa (ecuaciones lineales de abajo hacia arriba) del


sistema de matriz escalonada hallado obtenemos los costos resultantes:

[Link] Factorización LU - Crout

Para resolver mediante crout usaremos la script crout.m previamente


mencionada. Para ello, primero planteamos el sistema matricial LUx = b en
matlab de la siguiente forma:

40
Matemática III

No obstante, si se intenta resolver el sistema matricial planteado


directamente mediante la función creada crout.m, el resultado dará error al
haber casos en los que se dividirá entre 0 por el algoritmo utilizado,
resultando en Nan’s y Inf’s como se muestra a continuación. Es necesario
realizar un pivoteo.

41
Matemática III

42
Matemática III

Inicio de problema desde paso 3 al tener que dividir entre 0:

(...)

Resultado

43
Matemática III

Por lo tanto, es necesario hacer un reordenamiento de la matriz. Para ello se


ha usado como función auxiliar la función integrada de matlab lu para
recuperar la matriz de reordenamiento P mostrada a continuación:

44
Matemática III

Utilizamos la matriz “P” para ordenar las filas de ambas matrices: Matrix_coef
y Matriz_precios. Primero, multiplicamos la matriz de permutaciones por la
matriz de coeficiente.

Obtenemos nuestra nueva matriz de coeficientes:

45
Matemática III

Posteriormente, multiplicamos la matriz de permutaciones por la matriz


precios
Obtenemos nuestra nueva matriz de precios:

46
Matemática III

A continuación, factorizamos la nueva matriz de coeficientes (Matriz_Coef_P)


por el método de Crout.

47
Matemática III

(...)

48
Matemática III

Obtenemos el siguiente sistema expresado en su forma matricial

Figura 19
Sistema LUx = b.
L U X b

Nota. Elaboración propia.

49
Matemática III

Donde b=¿ Matriz_Precios:

Reemplazando con Ux=Z

Figura 20
Sistema LZ = b.
L Z b

Nota. Elaboración propia.

LZ=b
−1 −1
L LZ=L b
−1
IZ=L b
−1
Z=L b

Calculamos Z:
resolvemos el sistema LZ=Matriz¿ :

50
Matemática III

Con los valores de Z ahora resolvemos el sistema Ux=Z :

Figura 21
Sistema Ux = Z.
U X Z

Nota. Elaboración propia.

−1 −1
U Ux=U Z
−1
Ix=U Z
−1
x=U Z

51
Matemática III

De esta forma, los precios obtenidos mediante corut son los anteriores.

[Link].V Planteamiento de Grafo y Resolución de camino mínimo

Al comparar los resultados obtenidos con ambos métodos encontramos que


la diferencia entre estos es mínima o nula con lo que trabajaremos con estas
como si fueran iguales. Con esta matriz X de pesos de hallada, podemos
reconstruir la matriz de adyacencia ponderada remplazando como:
Mi, j:
● Si existe un a k tal que incide en nodo i y nodo j ⇒ M i , j=a k
● Caso contrario ⇒ M i , j=0

Con esto obtenemos la matriz de adyacencia:

Donde:

52
Matemática III

1:Lima, 2:Nueva York; 3: Toronto, 4: Mexico, 5:Colombio

De esta forma, nuestro grafo estaría representado de la siguiente manera


usando el siguiente código de matlab:

Figura 22
Grafo ponderado reconstruido

Nota. Elaboración propia usando Matlab.

53
Matemática III

Finalmente procederemos a calcular la ruta más económica, empleando el


algoritmo dijkstra con la función integrada de Matlab shortestpath:
Figura 23
Ruta mínima

Nota. Elaboración propia usando Matlab.

54
Matemática III

Obteniendo como resultado la siguiente ruta:

RUTA OPTIMA: LIMA, NUEVA YORK, TORONTO


PRECIO: 765.98 $

[Link] Interpretación de resultados

En base a los resultados del procedimiento podemos determinar que la ruta


de costo mínimo dentro de la subred de vuelos en la que se trabaja es Lima-
Nueva York-Toronto con costo de 765.98 $:
r = π 2 : Lima , a 1 , NuevaYork , a5 , Toronto
w (r )=765.98

Este resultado implica que el curso de acción aconsejado para LATAM


Airlines es priorizar sus recursos a esta ruta específica a fin de poder
competir en el mercado de compañías de vuelo internacional: una mayor
cantidad de aviones y frecuencia de vuelos a fin de poder maximizar sus
ganancias.

55
Matemática III

El proceso realizado le garantiza a LATAM Airlines que dentro de la subred


escogida, no existe ninguna otra ruta más barata posible al haber obtenido
este resultado tomando en consideración todos los pesos de las aristas para
el algoritmo de optimización, donde estos pesos representan el precio
aproximado de un viaje entre cada par de aeropuertos directamente
conectados por algún vuelo.

Asimismo, el grafo resultante del procedimiento realizado es un elemento de


gran valor para la compañía LATAM ya que puede ser utilizado para resolver
múltiples consultas relacionadas al planeamiento de vuelos. Por ejemplo, en
caso de querer hallar la ruta mínima entre cualquier otro par de aeropuertos
pertenecientes a la subred, esto se podría resolver fácilmente aplicando
nuevamente el algoritmo de Dikstra pero con diferentes nodos iniciales y
finales. Además, de este grafo se puede deducir información valiosa como
que Nueva York es un aeropuerto central al ser el que tiene la mayor
cantidad de conexiones/aristas.

Estos vuelos se han obtenido mediante la resolución de las ecuaciones


lineales de los precios de las rutas conocidas usando dos métodos distintos:
eliminación gaussiana con pivoteo y crout. La diferencia entre los resultados
obtenidos entre estos métodos es despreciable debido al uso de
relativamente pocas variables y datos iniciales con pocas cifras significativas.
En el caso de usar datos iniciales más exactos, entonces la diferencia en
errores de aproximación entre ambos métodos probablemente sería más
visible En dicho caso el mejor método sería una factorización LU (crout), pero
con la adición de un pivoteo ya que, como se ha podido ver durante la
resolución de este problema, cuando se trabajan con matrices con múltiples
ceros, no usar pivote puede causar problemas.

56
Matemática III

Si bien este modelo da información útil a LATAM Airlines, es importante


tomar en consideración que para poder crear este modelo se han necesitado
realizar reajustes en los precios exactos de las rutas para hacer que el
sistema sea resoluble. Este es evidente por ejemplo en la diferencia de costo
en la ruta Lima-Nueva York-Toronto: 765.98−745.97=$ 20.01.

En este sentido, si bien el modelo creado es una buena representación de


las redes de vuelos, esta es aproximada al haber sido necesarios ciertos
ajustes y suposiciones para facilitar el planteamiento y desarrollo del sistema
lineal. En caso de querer aplicar esto con la mayor fidelidad posible se
debería:

1. Trabajar en rangos de error al resolver los sistemas (el precio por el


que se valúa el costo de una vuelo entre dos aeropuertos adyacentes
no es fijo, varía de acuerdo a múltiples variables: temporada, ruta en la
que se encuentra, paquetes, etc.)

2. Tener en consideración los descuentos dados por los viajes en escala.


Esto es algo más complicado de modelar mediante sistemas lineales.

Una posible sugerencia sería agregar una columna al sistema matricial


en la que se considere el descuento como una variable a hallar
proporcional al número de escalas (que se agregaría como otro
elemento a la ecuación:

c 1 x 1 +c 2 x 2 +c 3 x3 .. c n x n +dn=k ;
d=¿coeficiente negativo igual al descuento por cantidad de escala en
el vuelo

57
Matemática III

Si bien esta podría resultar una mejor aproximaciones, no


necesariamente reflejan con gran fidelidad casos extremos: viajes con
múltiples escalas de bajo costo podrían tener llegar a tener costos
negativos que es algo que no podría pasar.

58
Matemática III

V. CONCLUSIONES

En base a nuestras experiencia en el proceso de investigación para el


planteamiento de este proyecto hemos encontrado que la información
disponible en relación a la teoría de grafos y su aplicación en actividades de
programación de redes de vuelos es escasa, debido en gran medida al
hecho de que esta es un área relativamente nueva de la investigación
matemáticas. Por esto, esperamos que las conclusiones e ideas propuestas
en este documento sean de ayuda para futuras investigaciones.

Respecto a la metodología utilizada en este proyecto, podemos concluir que


el modelamiento de sistemas de la vida real mediante sistemas matriciales y
teoría de grafos es un proceso complejo que no siempre se puede hacer de
forma exacta sino que muchas veces es necesario hacer aproximaciones y
reajustes. Esto se debe a que los datos recolectados de manera empírica
muchas veces no se ajustan idealmente a los parámetros del modelo que se
quiere diseñar. En este proyecto, por ejemplo, durante el proceso de
construcción del sistema de ecuaciones se tuvieron que realizar ajustes en
los precios, debido a que el sistema obtenido era incompatible.

Asimismo, hemos podido apreciar que las herramientas computacionales y


programación tales como Matlab son una indispensable y poderosa
herramienta para cualquier matemático en la actualidad al proveer una forma
confiable y rápida de resolver problemas. Esto lo hemos podido apreciar
durante todo el proceso de nuestro proyecto al usar scripts como
Gauss_Pivoteo_Parcial.m para resolver largas operaciones rápidamente y
con la seguridad de que los resultados sean correctos. No obstante, es
importante no olvidar que no son suficientes por sí solas, sino que requieren

59
Matemática III

de una fuerte base teórica por parte del usuario para su correcto
aprovechamiento. Esto lo hemos vivido durante el desarrollo de nuestro
proyecto al encontrar que que algunos métodos aprendidos en clase no
fueron suficiente para solucionar algunas partes del problema. En la etapa de
resolución del sistema, por ejemplo, no se pudo aplicar la factorización de
Crout con el método enseñado (implementado en crout.m) directamente
debido a que daba errores al dividir entre 0. Por lo tanto, fue necesario
aplicar un reordenamiento en la matriz de coeficientes, para lo que fue
necesario utilizar una función ya definida en el matlab y que integraba una
matriz especial para este reordenamiento.

Otra conclusión a la que hemos llegado es que, los sistemas matriciales y la


teoría de grafos son herramientas extremadamente útiles para el
modelamiento de rutas más cortas, precios más baratos y periodos de tiempo
más costos, y nos permite entender la relación entre nodos con cierta
aproximación, tomando en cuenta que siempre existirá un error. En este
sentido, como se ha podido ver durante el desarrollo de este proyecto, el
sistema que hemos planteado es uno que hace suposiciones necesarias
para linealizar el sistema y garantizar su resolubilidad como asumir que no
hay descuentos por escalas, algo frecuente en la vida real pero cuyo
modelamiento como incógnita es extremadamente complicado como parte de
un sistema lineal. No obstante, aun con estas aproximaciones y correcciones,
se ha llegado a construir un modelo aproximado que es útil y relevante al
tener aplicaciones en la vida real como resolver el problema que se planteó
como objetivo del proyecto de forma efectiva.

Finalmente, como posibles extensiones y mejoras para este proyecto


tenemos tres sugerencias principales. En primer lugar, si bien en esta
ocasión se ha trabajado con una red y conjunto de rutas relativamente
pequeño por las restricciones de tiempo y espacio, es posible extrapolar este

60
Matemática III

método a sistemas más grandes para resolver problemas más complejos.


Por ejemplo, se podría intentar modelar la red de latinoamérica en base a
este modelo para hallar la ruta óptima entre cualquier par de países. Por otro
lado, es posible intentar incluir más variables en este sistema como los
descuentos por el número de escalas, habiendo una posible solución para
este factor en la sección de interpretación de resultados. Para finalizar,
trabajar con rangos de error sería una forma posible mejora para poder
representar la realidad de los precios con mayor fidelidad sin necesidad de
reajustes o que estos sean mínimos.

61
Matemática III

VI. BIBLIOGRAFÍA

1. Alaba, F. (s.f.). Optimal Crout method in solving systems of linear


equations: A computer Approach. Academia. Disponible en:
[Link]
[Link]?Expires=1621986785&Signature=UCPYx4y-
klWbqGSB~DDJoxenFmpQvKlSvkPB8MCp~Wj4Zz9MjFTkHO~Ru2A0
LAcKaRBArfsiZLut~1qfFyVID9LSdbwu~0dIA7dZ--vXaqm-
rECFCp7xrCHnRW2z3cXnE1AAKFtNpffzC0Yq28

2. Antony, (2011). Algoritmos de caminos más cortos. SlideServe.


Disponible en: [Link]
caminos-m-s-cortos

3. Baroudi, U., Bin-Yahya, M., Alshammari, M., & Yaqoub, U. (2018, junio
14). Ticket-based QoS routing optimization using genetic algorithm for
WSN applications in smart grid. Disponible en:
[Link]

4. dar15, (2011). Prácticas sesión 13. [Link]. Disponible en:


[Link]

5. Galvin, D., (2009). Discrete Mathematics, Spring 2009 Graph theory


notation. Disponible en:
[Link]
.pdf

62
Matemática III

6. Guamanga Dorado, J., y Granada Ortega, A. (2019). ¿Qué tan


Conectado Está El Continente Americano Y El Caribe En Términos De
Vuelos Comerciales? Un Enfoque Con Redes. Universidad Icesi.
Disponible en:
[Link]
1/[Link]

7. Puchades Cortés, V., Mula Bru, J., y Rodríguez Villalobos, A. (2008,


Diciembre). Revista de Métodos Cuantitativos para la Economía y la
Empresa. Redalyc. Disponible en: [Link]
id=233117226002

8. Restrepo, C., Hernán, J., Sánchez, C., y Jairo, J. (2004, Diciembre


26). Aplicación De La Teoría De Grafos Y El Algoritmo De Dijkstra
Para Determinar Las Distancias Y Las Rutas Más Cortas En Una
Ciudad. Redalyc. Disponible en: [Link]
id=84911640035

9. Rodríguez Gálvez, M. (2009).Problemas De Optimización En Árboles


Generadores, Universidad Politécnica de [Link] en:
[Link]
os/descargas/Memoria_Teoria.pdf

10. Rosen, K., (2012). Discrete mathematics and its applications by


Rosen, Kenneth. 7th ed. McGraw-Hill, p.651-660.

63
Matemática III

VII. ANEXOS

Anexo 1: Página oficial de Latam de donde se recogieron los precios de las


rutas.

Anexo 2: ruta 1

Anexo 3: ruta 2

64
Matemática III

Anexo 4: ruta 3

Anexo 5: ruta 4.1

Anexo 6: ruta 4.2

Anexo 7: ruta 5

Anexo 8: ruta 6

65
Matemática III

Anexo 9: ruta 7

66

También podría gustarte