Supported versions:
pgr_KSP¶
pgr_KSP
— Devuelve las K rutas más cortas usando Dijkstra .
Disponibilidad
Versión 2.1.0
Cambio de firma
Firma antigua ya no soportada
Versión 2.0.0
Función oficial
Descripción¶
El algoritmo de ruteo para obtener la ruta más corta K basado en el algoritmo de Yen . «K» es el número de rutas más cortas deseadas.
Firmas¶
Resumen
[directed, heap_paths]
(seq, path_id, path_seq, node, edge, cost, agg_cost)
- Ejemplo:
Obteners 2 caminos desde \(6\) hasta \(17\) en un grafo dirigido.
SELECT * FROM pgr_KSP(
'SELECT id, source, target, cost, reverse_cost FROM edges',
6, 17, 2);
seq | path_id | path_seq | node | edge | cost | agg_cost
-----+---------+----------+------+------+------+----------
1 | 1 | 1 | 6 | 4 | 1 | 0
2 | 1 | 2 | 7 | 10 | 1 | 1
3 | 1 | 3 | 8 | 12 | 1 | 2
4 | 1 | 4 | 12 | 13 | 1 | 3
5 | 1 | 5 | 17 | -1 | 0 | 4
6 | 2 | 1 | 6 | 4 | 1 | 0
7 | 2 | 2 | 7 | 8 | 1 | 1
8 | 2 | 3 | 11 | 9 | 1 | 2
9 | 2 | 4 | 16 | 15 | 1 | 3
10 | 2 | 5 | 17 | -1 | 0 | 4
(10 rows)
Parámetros¶
Columna |
Tipo |
Descripción |
---|---|---|
|
Consulta SQL como se describe. |
|
salida |
ENTEROS |
Identificador del vértice de salida. |
destino |
ENTEROS |
Identificador del vértice de salida. |
K |
ENTEROS |
Cantidad de rutas requeridas |
Donde:
- ENTEROS:
SMALLINT
,INTEGER
,BIGINT
Parámetros opcionales¶
Columna |
Tipo |
x Defecto |
Descripción |
---|---|---|---|
|
|
|
|
Parámetros opcionales de KSP¶
Columna |
Tipo |
x Defecto |
Descripción |
---|---|---|---|
|
|
|
|
Consultas Internas¶
SQL aristas¶
Columna |
Tipo |
x Defecto |
Descripción |
---|---|---|---|
|
ENTEROS |
Identificador de la arista. |
|
|
ENTEROS |
Identificador del primer vértice de la arista. |
|
|
ENTEROS |
Identificador del segundo vértice de la arista. |
|
|
FLOTANTES |
Peso de la arista ( |
|
|
FLOTANTES |
-1 |
Peso de la arista (
|
Donde:
- ENTEROS:
SMALLINT
,INTEGER
,BIGINT
- FLOTANTES:
SMALLINT
,INTEGER
,BIGINT
,REAL
,FLOAT
Columnas de Resultados¶
Devuelve el conjunto de (seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)
Columna |
Tipo |
Descripción |
---|---|---|
|
|
Valor secuencial a partir de 1. |
|
|
Identificador del camino.
|
|
|
Posición relativa en la ruta. Tiene el valor 1 para el inicio de una ruta. |
|
|
Identificador del nodo en la ruta como nodo de salida o nodo destino |
|
|
Identificador de la arista utilizado para ir del |
|
|
Costo para atravesar desde
|
|
|
Costo agregado desde vid inicial hasta |
Ejemplos Adicionales¶
- Ejemplo:
Obteners 2 caminos desde \(6\) hasta \(17\) en un grafo no dirigido
También obtener los caminos procesados.
SELECT * FROM pgr_KSP(
'SELECT id, source, target, cost, reverse_cost FROM edges',
6, 17, 2,
directed => false, heap_paths => true
);
seq | path_id | path_seq | node | edge | cost | agg_cost
-----+---------+----------+------+------+------+----------
1 | 1 | 1 | 6 | 4 | 1 | 0
2 | 1 | 2 | 7 | 10 | 1 | 1
3 | 1 | 3 | 8 | 12 | 1 | 2
4 | 1 | 4 | 12 | 13 | 1 | 3
5 | 1 | 5 | 17 | -1 | 0 | 4
6 | 2 | 1 | 6 | 4 | 1 | 0
7 | 2 | 2 | 7 | 8 | 1 | 1
8 | 2 | 3 | 11 | 11 | 1 | 2
9 | 2 | 4 | 12 | 13 | 1 | 3
10 | 2 | 5 | 17 | -1 | 0 | 4
11 | 3 | 1 | 6 | 4 | 1 | 0
12 | 3 | 2 | 7 | 8 | 1 | 1
13 | 3 | 3 | 11 | 9 | 1 | 2
14 | 3 | 4 | 16 | 15 | 1 | 3
15 | 3 | 5 | 17 | -1 | 0 | 4
16 | 4 | 1 | 6 | 2 | 1 | 0
17 | 4 | 2 | 10 | 5 | 1 | 1
18 | 4 | 3 | 11 | 9 | 1 | 2
19 | 4 | 4 | 16 | 15 | 1 | 3
20 | 4 | 5 | 17 | -1 | 0 | 4
(20 rows)
Ver también¶
Índices y tablas