Sistematización De Contenidos
Básicos De La Carrera
Tema: 2. Matemática Computacional
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
“El mayor enemigo del conocimiento no es la ignorancia,
sino la ilusión del conocimiento”
— Stephen Hawking
Objetivo
1. Aplicar conceptos y técnicas
de matemática, ciencia e
ingeniería obteniendo
resultados que solucionan
problemas de complejidad
mayor, relacionados al
desarrollo, mejora de
procesos, y otros aspectos
del ámbito de la ingeniería
● 2.2 Algoritmos de optimización:
Ruta corta
Contenido
ODS
● 4.3 De aquí a 2030, asegurar
el acceso igualitario de todos
los hombres y las mujeres a
una formación técnica,
profesional y superior de
calidad, incluida la enseñanza
universitaria
META
Los grafos son modelos matemáticos o estructura de datos utilizados para representar
objetos de un conjunto.
Se utilizan para estudiar conexiones entre objetos. G=(V,E)
V=vértices
E= aristas (edges)
Los vértices pueden ser objetos físicos, ciudades, terminales, personas, islas, etc.
=
Los grafos se utilizan también para modelar trayectos como el de una línea de
autobús a través de las calles de una ciudad, en el que podemos obtener
caminos óptimos para el trayecto.
como lo demostró Euler, es inevitable cruzar de nuevo algún puente
siempre que hayan tres o más puntos en los cuales converjan una
cantidad impar de caminos, como lo es en este caso.
El problema de los siete puentes
https://www.youtube.com/watch?v=m_IT0RNZRw8
Camino Euleriano
Pi Pf Pi
Pf
Condición:
2 vértices de grado impar
Condición:
Todos los vértices de grado par
Ciclo Euleriano
Camino que pase por todas las aristas sin repetir
ninguna.
Pueden recorrerse completamente desde un
vértice y regresar al punto de origen sin pasar
dos veces por la misma arista.
Camino Hamiltoniano
Pi Pf Pi
Pf
Condición:
grado(u) + grado(v) >= n-1
2 + 3 >= 5-1
5 > = 4
Condición:
grado(u) + grado(v) >= n
3 + 3 >= 6
6 > = 6
Ciclo Hamiltoniano
Pasa exactamente una vez por cada uno de los
vértices del grafo. (Puede no usar todas las aristas o
lados)
Pasa exactamente una vez por cada punto, y
volver a la ciudad de la cual se partió.
Reglas topológicas para entidades de polilínea
No debe superponerse No deben quedar nodos colgados No deben intersectarse con si mismo
Debe ser una sola parte
Teoría de localización: Disciplina matemática que construye modelos matemáticos que tratan de dar soluciones a
problemas de decisión de rutas.
b) Desviaciones negativas: Segundo tipo de desviaciones, procede de la
necesidad de evitar barreras o de minimizar la distancia
recorrida a través de áreas de coste elevado.
comentó la aplicación al estudio de la localización de las rutas de las <<leyes de refracción>>.
A B C
i j
Casos alternativos de refracción de rutas ( Lösch, 1954)
i i
j j
El objetivo fundamental de la ley de refracción es el de permitir en términos simples el recorrido de costo mínimo
entre los puntos cualesquiera.
Diseños
“óptimos”
Menor coste desde
el punto de vista del
usuario
Los modelos de localización han estudiado
problemas de localización sobre redes que
tienen un peso por nodo y/o una longitud
por arista.
B
A
D C
15
9
11
20
Los problemas reales involucran, más de un criterio. Así,
para modelar adecuadamente muchos problemas reales,
se necesita colocar más parámetros en los nodos
(demanda, importancia, número de clientes, etc.) y en las
aristas (longitud, tiempo, costo de tránsito, etc.).
Algoritmo Dijkstra
Es un algoritmo para determinar el camino más corto dado un vértice origen a un vértice destino.
Su nombre se refiere a Edsger Dijkstra, quien lo describió por primera vez en 1959.
Fue el primer algoritmo implementado para PgRouting.
El problema del camino más corto de un vértice a otro consiste en determinar el camino de
menor costo.
El costo es la suma de los costos (pesos) de los arcos que lo conforman.
Puede especificar si la red tienen un costo de reverso o no.
Consiste en ir explorando todos los caminos más cortos
que parten del vértice origen y que llevan a todos los
demás vértices; cuando se obtiene el camino más corto
desde el vértice origen, al resto de vértices que
componen el grafo, el algoritmo se detiene.
Modelado del Problema:
- Los vértices representan intersecciones.
- Los arcos representan segmentos de carretera entre intersecciones.
- Los pesos de los arcos representan las distancias en carretera. (Los pesos
también pueden representar otras métricas como tiempo, costos $, etc.)
La meta es encontrar la ruta mas corta entre el punto de origen A y el punto
destino H.
A
B
C
D
E
H
5
3
4
1
2
2
6
5
3
F
8
3
G
Una heurística admisible
es una que no sobreestima
la distancia entre el nodo
presente y el nodo meta.
Por ejemplo, una ruta real
entre dos localizaciones es
mayor y a lo sumo igual a
la distancia en línea recta
tomada de un mapa.
Esta última distancia es así
una heurística admisible
pues en todo caso es
"optimista“.
Es un algoritmo heurístico, es decir una manera de que el algoritmo no va a
buscar sobre todas las posibles soluciones, es decir hace una poda del árbol de
decisión y reduce el espacio en el que va a buscar.
Para esto necesita saber donde están geográficamente estos puntos y busca el
que no esta muy lejos de los que se están agregando.
A* es un algoritmo que basa su comportamiento en la evaluación de una
función expresada:
El modo de realizar el cálculo de la distancia necesaria para llegar a la meta
depende del tipo de movidas permitidas. Si solo podemos movernos vertical y
horizontalmente podremos realizar el cálculo de la distancia Manhattan, que consiste en sumar la cantidad de bloques
en horizontal y vertical que restan para llegar a la meta. Si además se permiten movidas diagonales,
deberemos aplicar Pitágoras y el cálculo será la raíz cuadrada de la suma de los cuadrados de los catetos.
S representa el punto
de partida. La
bandera azul
representa la meta.
Los casilleros de
color negro
representan
obstáculos y los
casilleros blancos
representan caminos
posibles.
pgRouting es una extensión open source de PostGIS que agrega
enrutamiento y otras funciones de análisis de red para bases de datos
PostGIS/PostgreSQL
Ventajas:
Los datos y atributos pueden ser modificados
por muchos clientes, como QGIS o directamente
usando SQL.
El parámetro "costo" se puede calcular
dinámicamente a través de SQL y su valor
puede provenir de múltiples campos o tablas
Utiliza PostGIS para su formato de datos
geográficos, que a su vez utiliza el formato de
datos de OGC Well Konwn Text (WKT) y Well
Known Binary (WKB).
.
Características principales:
https://workshop.pgrouting.org/0.5.2/en/index.html
http://www.pgrouting.org
Ejemplos de rutas utilizando PgRouting:
http://bikedistrict.org/#/45.46372,9.19105/45.46866,9.19913/t
https://cdmx.rutadirecta.com/
un estudio realizado por el matemático suizo Leonhard Euler en 1736. La investigación de Euler trataba de resolver el mítico problema de los puentes de Konisberg. Este problema consistía en obtener una ruta eficiente para cruzar todos los puentes de la ciudad, cruzándolos una sola vez. Las conclusiones de Euler demostraron su improbabilidad, pero fue el punto de partida a un número increíble de estudios
To be able to use reverse cost you need to add an additional cost column. We can set reverse cost as length.
En la figura mostrada el algoritmo trata de llegar del punto de inicio (recuadro verde Start) en la parte inferior hasta la parte superior, no hay nada en el área que muestre que no debería moverse directamente hacia arriba, cerca de llegar a la parte de arriba se encuentra con un obstáculo y cambia su ruta dándole la vuelta al obstáculo en forma de “U” siguiendo la trayectoria roja, de haber empleado un buscador de ruta como el A* este seguiría la ruta mas optima a la meta que en esta caso se describe por la ruta azul
pgRouting was first called pgDijkstra, because it implemented only shortest path search with Dijkstra algorithm. Later other functions were added and the library was renamed.
This chapter will explain the three different shortest path algorithms