3. Vehicle Routing¶
Routing, is not limited to pedestrians and most of the time is used for routing vehicles.
3.1. Routing for vehicles¶
A query for vehicle routing generally differs from routing for pedestrians:
The road segments are considered directed
Costs can be:
Distance
Time
Euros
Pesos
Dollars
CO2emissions
Wear and tear on the vehicle, etc.
The
reverse_cost
attribute must be taken into account on two way streets.The costs should have the same units as the
cost
attributecost
andreverse_cost
values can be differentDue to the fact that there are roads that are one way
Depending on the geometry, the valid way:
(
source, target
) segmentIF cost >= 0 AND reverse_cost < 0
(
target, source
) segmentIF cost < 0 AND reverse_cost >= 0
A wrong way is indicated with a negative value and is not inserted in the graph for processing.
Two way roads - IF cost >= 0 AND reverse_cost >= 0
and their values can
be different. For example, it is faster going down hill on a sloped road.
In general, cost
and reverse_cost
do not need to be length; they can be
almost anything, for example - time, slope, surface, road type, etc., or they can
be a combination of multiple parameters.
The following queries indicate the number of road segments, where a “one way” rule applies:
Number of (
source, target
) segments withcost < 0
(line 3).SELECT count(*) FROM ways WHERE cost < 0; -- line 3
count ------- 0 (1 row)
Number of (
target, source
) segments withreverse_cost < 0
(line 3).SELECT count(*) FROM ways WHERE reverse_cost < 0; -- line 3
count ------- 8474 (1 row)
3.1.1. Exercise 1: Vehicle routing - going¶
Problem:
From the “Hangar Convention Center” to the “Palacete Bolonha” by car.
Solution:
Use
cost
(line 6) andreverse_cost
(line 7) columns, which are in unitdegrees
.The vehicle is going from vertex
20297
(line 10) to717
(line 11).
SELECT * FROM pgr_dijkstra(
'
SELECT gid AS id,
source,
target,
cost, -- line 6
reverse_cost -- line 7
FROM ways
',
20297, -- line 10
717, -- line 11
directed := true);
seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost
-----+----------+-----------+---------+-------+-------+------------------------+-----------------------
1 | 1 | 20297 | 717 | 20297 | 31885 | 0.0001716356422320464 | 0
2 | 2 | 20297 | 717 | 20296 | 91 | 0.0001153433569785665 | 0.0001716356422320464
3 | 3 | 20297 | 717 | 54 | 10915 | 0.00035708800864949733 | 0.0002869789992106129
4 | 4 | 20297 | 717 | 7354 | 1743 | 0.0014322361816398747 | 0.0006440670078601103
5 | 5 | 20297 | 717 | 1033 | 1775 | 0.0015143940604290334 | 0.002076303189499985
6 | 6 | 20297 | 717 | 1051 | 10920 | 0.0009291231403867673 | 0.0035906972499290184
7 | 7 | 20297 | 717 | 7357 | 1835 | 0.0006153841892071156 | 0.004519820390315786
8 | 8 | 20297 | 717 | 1084 | 10927 | 0.0009010473905377392 | 0.005135204579522901
9 | 9 | 20297 | 717 | 7361 | 1725 | 0.0005560954684229016 | 0.006036251970060641
10 | 10 | 20297 | 717 | 1022 | 10346 | 0.0012567037916704972 | 0.006592347438483542
11 | 11 | 20297 | 717 | 6953 | 27847 | 0.00015145418449423264 | 0.00784905123015404
12 | 12 | 20297 | 717 | 21151 | 540 | 0.00010643312454210425 | 0.008000505414648272
13 | 13 | 20297 | 717 | 320 | 27845 | 0.00010051691400060946 | 0.008106938539190376
14 | 14 | 20297 | 717 | 21149 | 10350 | 0.00017279285285780552 | 0.008207455453190985
15 | 15 | 20297 | 717 | 6955 | 565 | 0.0012135304240127123 | 0.00838024830604879
16 | 16 | 20297 | 717 | 333 | 15283 | 0.0004978948483381016 | 0.009593778730061503
17 | 17 | 20297 | 717 | 10784 | 10752 | 0.0008473144934902617 | 0.010091673578399605
18 | 18 | 20297 | 717 | 7234 | 10409 | 9.610020811439204e-05 | 0.010938988071889866
19 | 19 | 20297 | 717 | 6990 | 10411 | 7.496939375540897e-05 | 0.011035088280004258
20 | 20 | 20297 | 717 | 6991 | 15288 | 0.0012184804060786285 | 0.011110057673759667
21 | 21 | 20297 | 717 | 10787 | 375 | 0.00024798082587396635 | 0.012328538079838296
22 | 22 | 20297 | 717 | 226 | 15295 | 0.00021386897858363462 | 0.012576518905712262
23 | 23 | 20297 | 717 | 10791 | 13798 | 0.00041691485941307445 | 0.012790387884295897
24 | 24 | 20297 | 717 | 9580 | 27297 | 0.00048219433841428674 | 0.013207302743708972
25 | 25 | 20297 | 717 | 20647 | 3285 | 0.000378614645781829 | 0.013689497082123258
26 | 26 | 20297 | 717 | 2040 | 15304 | 0.0001014000493093058 | 0.014068111727905086
27 | 27 | 20297 | 717 | 10796 | 13799 | 0.000690339141293269 | 0.014169511777214393
28 | 28 | 20297 | 717 | 9581 | 10935 | 6.14524206174259e-05 | 0.014859850918507661
29 | 29 | 20297 | 717 | 7366 | 3256 | 0.0006448366416395072 | 0.014921303339125088
30 | 30 | 20297 | 717 | 2023 | 15305 | 0.00019525624189873058 | 0.015566139980764594
31 | 31 | 20297 | 717 | 10797 | 18878 | 0.00041348876647511075 | 0.015761396222663326
32 | 32 | 20297 | 717 | 13516 | 18875 | 0.00037592032400472335 | 0.016174884989138435
33 | 33 | 20297 | 717 | 13514 | 18321 | 0.00039010831828777424 | 0.01655080531314316
34 | 34 | 20297 | 717 | 13078 | 3255 | 8.531377380122786e-05 | 0.016940913631430934
35 | 35 | 20297 | 717 | 2022 | 18324 | 0.00011548991298170257 | 0.017026227405232162
36 | 36 | 20297 | 717 | 13081 | 18872 | 0.0008118415241947302 | 0.017141717318213866
37 | 37 | 20297 | 717 | 13512 | 12139 | 0.00031002412809421687 | 0.017953558842408596
38 | 38 | 20297 | 717 | 8261 | 15310 | 0.00015540093307229479 | 0.018263582970502814
39 | 39 | 20297 | 717 | 10800 | 1655 | 9.117335137152959e-05 | 0.01841898390357511
40 | 40 | 20297 | 717 | 983 | 12144 | 0.00012580381552128363 | 0.01851015725494664
41 | 41 | 20297 | 717 | 8264 | 15317 | 0.00016713542413305483 | 0.018635961070467923
42 | 42 | 20297 | 717 | 10804 | 1657 | 0.0012063682718777141 | 0.018803096494600977
43 | 43 | 20297 | 717 | 985 | 10077 | 0.0007259629664562226 | 0.02000946476647869
44 | 44 | 20297 | 717 | 6769 | 10359 | 0.0001000641794043222 | 0.020735427732934915
45 | 45 | 20297 | 717 | 6960 | 7947 | 0.00024665183964426847 | 0.020835491912339237
46 | 46 | 20297 | 717 | 5227 | 508 | 0.00039454221573752794 | 0.021082143751983504
47 | 47 | 20297 | 717 | 302 | 23247 | 0.000920938461572996 | 0.02147668596772103
48 | 48 | 20297 | 717 | 16963 | 1628 | 0.00014692055676409702 | 0.022397624429294025
49 | 49 | 20297 | 717 | 966 | 1636 | 0.0003061667846102729 | 0.022544544986058124
50 | 50 | 20297 | 717 | 971 | 148 | 0.0008497233782684474 | 0.022850711770668396
51 | 51 | 20297 | 717 | 83 | 23450 | 0.0008890276261183315 | 0.023700435148936844
52 | 52 | 20297 | 717 | 17152 | 320 | 2.9017236240749123e-06 | 0.024589462775055176
53 | 53 | 20297 | 717 | 197 | 24810 | 0.0004980350690443442 | 0.02459236449867925
54 | 54 | 20297 | 717 | 18350 | 20586 | 9.151770320890743e-05 | 0.025090399567723593
55 | 55 | 20297 | 717 | 14785 | 20587 | 2.640075756076166e-05 | 0.0251819172709325
56 | 56 | 20297 | 717 | 14786 | 20524 | 0.0002720488273948793 | 0.02520831802849326
57 | 57 | 20297 | 717 | 14741 | 23244 | 0.0009270686974724552 | 0.02548036685588814
58 | 58 | 20297 | 717 | 16961 | 20514 | 0.0014042238461164686 | 0.026407435553360593
59 | 59 | 20297 | 717 | 14734 | 20515 | 1.612451547048347e-06 | 0.02781165939947706
60 | 60 | 20297 | 717 | 14735 | 20512 | 3.238826949997096e-06 | 0.02781327185102411
61 | 61 | 20297 | 717 | 14733 | 20518 | 0.00022060775145070832 | 0.027816510677974107
62 | 62 | 20297 | 717 | 14737 | 20517 | 4.669047008933728e-06 | 0.028037118429424815
63 | 63 | 20297 | 717 | 14736 | 20633 | 0.0017243292535695101 | 0.02804178747643375
64 | 64 | 20297 | 717 | 14817 | 20508 | 0.0005125725802262838 | 0.029766116730003258
65 | 65 | 20297 | 717 | 14729 | 20510 | 6.76874937153904e-05 | 0.03027868931022954
66 | 66 | 20297 | 717 | 14731 | 20507 | 0.00040236167574913325 | 0.030346376803944933
67 | 67 | 20297 | 717 | 14728 | 797 | 0.0008595892650021071 | 0.030748738479694067
68 | 68 | 20297 | 717 | 478 | 18916 | 0.0012434449764071554 | 0.03160832774469617
69 | 69 | 20297 | 717 | 13549 | 18914 | 0.001287736844233779 | 0.032851772721103324
70 | 70 | 20297 | 717 | 13548 | 400 | 0.00021713325401738864 | 0.0341395095653371
71 | 71 | 20297 | 717 | 242 | 8111 | 0.0007146295403969889 | 0.034356642819354494
72 | 72 | 20297 | 717 | 5336 | 18920 | 0.0005166207216081487 | 0.03507127235975148
73 | 73 | 20297 | 717 | 13552 | 129 | 0.0008133260046502112 | 0.03558789308135963
74 | 74 | 20297 | 717 | 73 | 23872 | 0.00105179939627213 | 0.036401219086009844
75 | 75 | 20297 | 717 | 17545 | 133 | 0.0017825034185829603 | 0.037453018482281976
76 | 76 | 20297 | 717 | 75 | 8069 | 0.0009355679558470786 | 0.039235521900864934
77 | 77 | 20297 | 717 | 5343 | 13553 | 0.0004138411893461655 | 0.040171089856712014
78 | 78 | 20297 | 717 | 9383 | 26190 | 0.0006996503269481625 | 0.04058493104605818
79 | 79 | 20297 | 717 | 19540 | 20372 | 0.0002576070200854789 | 0.04128458137300634
80 | 80 | 20297 | 717 | 14633 | 1209 | 0.0009725325958516923 | 0.041542188393091824
81 | 81 | 20297 | 717 | 730 | 8118 | 0.0003842942882742046 | 0.042514720988943516
82 | 82 | 20297 | 717 | 5340 | 8120 | 0.00017291399596771487 | 0.04289901527721772
83 | 83 | 20297 | 717 | 5341 | 1407 | 0.0006319297191941005 | 0.043071929273185434
84 | 84 | 20297 | 717 | 847 | 23627 | 0.0005970993970838893 | 0.04370385899237954
85 | 85 | 20297 | 717 | 17326 | 1201 | 0.0007297861673124474 | 0.04430095838946343
86 | 86 | 20297 | 717 | 725 | 1593 | 0.0005294386177819955 | 0.04503074455677587
87 | 87 | 20297 | 717 | 945 | 1188 | 0.000629312521724741 | 0.045560183174557865
88 | 88 | 20297 | 717 | 719 | 1546 | 0.0011405803403423656 | 0.046189495696282605
89 | 89 | 20297 | 717 | 921 | 1185 | 0.0011917061089064978 | 0.04733007603662497
90 | 90 | 20297 | 717 | 718 | 1184 | 0.0012913085006919156 | 0.04852178214553147
91 | 91 | 20297 | 717 | 717 | -1 | 0 | 0.049813090646223385
(91 rows)
3.1.2. Exercise 2: Vehicle routing - returning¶
Problem:
From “Palacete Bolonha” to the “Hangar Convention Center” by car.
Solution:
Use
cost_s
(line 6) andreverse_cost_s
(line 7) columns, in units seconds.The vehicle is going from vertex
717
(line 10) to20297
(line 11).
SELECT * FROM pgr_dijkstra(
'
SELECT gid AS id,
source,
target,
cost_s AS cost, -- line 6
reverse_cost_s AS reverse_cost -- line 7
FROM ways
',
717, -- line 10
20297, -- line 11
directed := true);
seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost
-----+----------+-----------+---------+-------+-------+----------------------+--------------------
1 | 1 | 717 | 20297 | 717 | 11369 | 7.649277145705279 | 0
2 | 2 | 717 | 20297 | 7674 | 11370 | 3.1979608009334255 | 7.649277145705279
3 | 3 | 717 | 20297 | 703 | 1157 | 11.04007394672912 | 10.847237946638703
4 | 4 | 717 | 20297 | 702 | 156 | 10.929693214960086 | 21.887311893367823
5 | 5 | 717 | 20297 | 88 | 21353 | 11.542936122011175 | 32.817005108327905
6 | 6 | 717 | 20297 | 15362 | 16610 | 8.333725395076964 | 44.35994123033908
7 | 7 | 717 | 20297 | 11748 | 11111 | 1.0460058812418955 | 52.69366662541604
8 | 8 | 717 | 20297 | 7483 | 192 | 1.1224871367128515 | 53.73967250665794
9 | 9 | 717 | 20297 | 114 | 15091 | 1.201966517513442 | 54.86215964337079
10 | 10 | 717 | 20297 | 10625 | 1202 | 1.2145743248659164 | 56.06412616088423
11 | 11 | 717 | 20297 | 726 | 1089 | 10.631698839302336 | 57.27870048575014
12 | 12 | 717 | 20297 | 662 | 25766 | 1.5947062700842551 | 67.91039932505248
13 | 13 | 717 | 20297 | 19160 | 21346 | 7.209317427750495 | 69.50510559513674
14 | 14 | 717 | 20297 | 15355 | 1091 | 3.664591799120692 | 76.71442302288723
15 | 15 | 717 | 20297 | 663 | 21320 | 3.676461046720907 | 80.37901482200792
16 | 16 | 717 | 20297 | 15331 | 21322 | 8.532858200977705 | 84.05547586872882
17 | 17 | 717 | 20297 | 15333 | 1204 | 5.427710167423101 | 92.58833406970652
18 | 18 | 717 | 20297 | 727 | 20367 | 7.153961955300545 | 98.01604423712962
19 | 19 | 717 | 20297 | 14631 | 26617 | 3.843378476266271 | 105.17000619243017
20 | 20 | 717 | 20297 | 19968 | 26709 | 0.17575082816994467 | 109.01338466869643
21 | 21 | 717 | 20297 | 20060 | 26583 | 2.0069671990461964 | 109.18913549686637
22 | 22 | 717 | 20297 | 19934 | 1093 | 12.47887124092446 | 111.19610269591257
23 | 23 | 717 | 20297 | 664 | 1095 | 19.508677242653324 | 123.67497393683703
24 | 24 | 717 | 20297 | 665 | 25482 | 8.279697561260365 | 143.18365117949037
25 | 25 | 717 | 20297 | 18925 | 13642 | 3.8232835830362157 | 151.46334874075075
26 | 26 | 717 | 20297 | 9453 | 20529 | 6.140981371285463 | 155.28663232378696
27 | 27 | 717 | 20297 | 14744 | 22276 | 1.141317049151238 | 161.4276136950724
28 | 28 | 717 | 20297 | 16130 | 23240 | 5.819964005493112 | 162.56893074422365
29 | 29 | 717 | 20297 | 16957 | 23242 | 1.3616887721678947 | 168.38889474971677
30 | 30 | 717 | 20297 | 16959 | 20634 | 4.376617072113684 | 169.75058352188466
31 | 31 | 717 | 20297 | 14817 | 1096 | 0.2233733506101573 | 174.12720059399834
32 | 32 | 717 | 20297 | 666 | 18926 | 1.3044471263755029 | 174.3505739446085
33 | 33 | 717 | 20297 | 13558 | 20632 | 0.046009866596978095 | 175.655021070984
34 | 34 | 717 | 20297 | 14816 | 20527 | 12.241284182800436 | 175.70103093758098
35 | 35 | 717 | 20297 | 14743 | 13665 | 8.794184121996512 | 187.9423151203814
36 | 36 | 717 | 20297 | 9472 | 1098 | 5.233961567897756 | 196.73649924237793
37 | 37 | 717 | 20297 | 667 | 3237 | 8.575989565252819 | 201.97046081027568
38 | 38 | 717 | 20297 | 2011 | 10937 | 5.753660104916916 | 210.5464503755285
39 | 39 | 717 | 20297 | 7368 | 23470 | 4.349821481768251 | 216.30011048044543
40 | 40 | 717 | 20297 | 17170 | 19253 | 2.172887473049065 | 220.64993196221369
41 | 41 | 717 | 20297 | 13851 | 22805 | 3.3127131308112716 | 222.82281943526274
42 | 42 | 717 | 20297 | 16579 | 102 | 0.5361470911814347 | 226.135532566074
43 | 43 | 717 | 20297 | 60 | 23245 | 4.560298654310812 | 226.67167965725545
44 | 44 | 717 | 20297 | 16962 | 10360 | 3.371715219110345 | 231.23197831156625
45 | 45 | 717 | 20297 | 6961 | 1644 | 3.369172847320359 | 234.6036935306766
46 | 46 | 717 | 20297 | 977 | 7943 | 2.462066055691773 | 237.97286637799695
47 | 47 | 717 | 20297 | 5225 | 7944 | 1.5097956407383146 | 240.43493243368872
48 | 48 | 717 | 20297 | 5226 | 3194 | 0.787830328173101 | 241.94472807442702
49 | 49 | 717 | 20297 | 1982 | 1647 | 4.923602780529765 | 242.73255840260012
50 | 50 | 717 | 20297 | 979 | 27195 | 4.779578061852004 | 247.65616118312988
51 | 51 | 717 | 20297 | 20543 | 15321 | 3.2620556418627746 | 252.43573924498187
52 | 52 | 717 | 20297 | 10806 | 12145 | 1.1010412528764728 | 255.69779488684466
53 | 53 | 717 | 20297 | 8265 | 1653 | 0.7265291508959483 | 256.7988361397211
54 | 54 | 717 | 20297 | 982 | 15314 | 0.687892166829071 | 257.52536529061706
55 | 55 | 717 | 20297 | 10802 | 12141 | 1.00057182891344 | 258.2132574574461
56 | 56 | 717 | 20297 | 8262 | 18325 | 7.625877296588039 | 259.21382928635956
57 | 57 | 717 | 20297 | 13082 | 3154 | 0.6911991237607362 | 266.8397065829476
58 | 58 | 717 | 20297 | 1958 | 18322 | 0.589059340205777 | 267.5309057067083
59 | 59 | 717 | 20297 | 13079 | 15309 | 7.802332894772054 | 268.1199650469141
60 | 60 | 717 | 20297 | 10799 | 3160 | 1.451915421445249 | 275.92229794168617
61 | 61 | 717 | 20297 | 1961 | 11148 | 4.1291968838076585 | 277.3742133631314
62 | 62 | 717 | 20297 | 7512 | 18328 | 5.071210660887403 | 281.50341024693904
63 | 63 | 717 | 20297 | 13085 | 3165 | 0.6588005157910573 | 286.57462090782644
64 | 64 | 717 | 20297 | 1964 | 15302 | 0.6624379620171468 | 287.23342142361753
65 | 65 | 717 | 20297 | 10795 | 15299 | 7.64331893402423 | 287.89585938563465
66 | 66 | 717 | 20297 | 10793 | 372 | 1.6185624439136164 | 295.5391783196589
67 | 67 | 717 | 20297 | 225 | 15291 | 1.5426950808720525 | 297.1577407635725
68 | 68 | 717 | 20297 | 10789 | 10414 | 8.10018215092719 | 298.7004358444446
69 | 69 | 717 | 20297 | 6993 | 10412 | 0.8010340812788996 | 306.8006179953718
70 | 70 | 717 | 20297 | 6992 | 10755 | 0.32174055743410845 | 307.6016520766507
71 | 71 | 717 | 20297 | 7236 | 15284 | 5.603200219924484 | 307.9233926340848
72 | 72 | 717 | 20297 | 10785 | 1845 | 3.4154739303977477 | 313.52659285400927
73 | 73 | 717 | 20297 | 1090 | 3174 | 4.719295193747098 | 316.942066784407
74 | 74 | 717 | 20297 | 1970 | 3172 | 2.494985805447332 | 321.6613619781541
75 | 75 | 717 | 20297 | 1968 | 7938 | 1.1336853637583644 | 324.15634778360146
76 | 76 | 717 | 20297 | 5222 | 27846 | 0.8904302856085814 | 325.29003314735985
77 | 77 | 717 | 20297 | 21150 | 339 | 0.698022009641036 | 326.18046343296845
78 | 78 | 717 | 20297 | 207 | 27848 | 0.6564041634973928 | 326.8784854426095
79 | 79 | 717 | 20297 | 21152 | 10348 | 0.9834944305474466 | 327.53488960610684
80 | 80 | 717 | 20297 | 6954 | 10056 | 2.9402965329150215 | 328.5183840366543
81 | 81 | 717 | 20297 | 6753 | 1727 | 5.355184246550181 | 331.4586805695693
82 | 82 | 717 | 20297 | 1023 | 10929 | 3.8274834071623784 | 336.81386481611946
83 | 83 | 717 | 20297 | 7362 | 1731 | 1.4213261487655227 | 340.64134822328185
84 | 84 | 717 | 20297 | 1026 | 1733 | 4.631815146870902 | 342.06267437204735
85 | 85 | 717 | 20297 | 1027 | 10921 | 3.940277020140121 | 346.69448951891826
86 | 86 | 717 | 20297 | 7358 | 12969 | 0.8433302614957165 | 350.6347665390584
87 | 87 | 717 | 20297 | 8924 | 10392 | 5.077008239497512 | 351.4780968005541
88 | 88 | 717 | 20297 | 6978 | 12971 | 3.541402184491856 | 356.5551050400516
89 | 89 | 717 | 20297 | 8926 | 24118 | 1.163994608512139 | 360.0965072245435
90 | 90 | 717 | 20297 | 17746 | 1737 | 5.407282465448289 | 361.2605018330556
91 | 91 | 717 | 20297 | 1029 | 1741 | 5.6631558817312015 | 366.66778429850393
92 | 92 | 717 | 20297 | 1032 | 24307 | 2.8288056582150825 | 372.33094018023513
93 | 93 | 717 | 20297 | 17919 | 10919 | 1.5788656574755486 | 375.1597458384502
94 | 94 | 717 | 20297 | 7356 | 99 | 1.6125042321092125 | 376.73861149592574
95 | 95 | 717 | 20297 | 59 | 97 | 1.4555596260266292 | 378.3511157280349
96 | 96 | 717 | 20297 | 58 | 15816 | 0.7379112639781683 | 379.80667535406155
97 | 97 | 717 | 20297 | 11171 | 510 | 1.0674675004507879 | 380.5445866180397
98 | 98 | 717 | 20297 | 304 | 26944 | 0.9357212700059486 | 381.6120541184905
99 | 99 | 717 | 20297 | 20297 | -1 | 0 | 382.54777538849646
(99 rows)
Note
On a directed graph, going and coming back routes, most of the time are different.
3.1.3. Exercise 3: Vehicle routing when time is money¶
Problem:
From “Palacete Bolonha” to the “Hangar Convention Center” by taxi.
Solution:
The cost is
$100 per hour
.Using
cost_s
(line 6) andreverse_cost_s
(line 7) columns, which are in unitseconds
.The duration in hours is
cost_s / 3600
.The cost in
dollars
iscost_s / 3600 * 100
.
The vehicle is going from vertex
717
(line 10) to20297
(line 11).
SELECT * FROM pgr_dijkstra(
'
SELECT gid AS id,
source,
target,
cost_s / 3600 * 100 AS cost, -- line 6
reverse_cost_s / 3600 * 100 AS reverse_cost -- line 7
FROM ways
',
717, -- line 10
20297); -- line 11
seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost
-----+----------+-----------+---------+-------+-------+-----------------------+---------------------
1 | 1 | 717 | 20297 | 717 | 11369 | 0.21247992071403554 | 0
2 | 2 | 717 | 20297 | 7674 | 11370 | 0.08883224447037294 | 0.21247992071403554
3 | 3 | 717 | 20297 | 703 | 1157 | 0.30666872074247553 | 0.3013121651844085
4 | 4 | 717 | 20297 | 702 | 156 | 0.30360258930444683 | 0.607980885926884
5 | 5 | 717 | 20297 | 88 | 21353 | 0.3206371145003104 | 0.9115834752313309
6 | 6 | 717 | 20297 | 15362 | 16610 | 0.23149237208547122 | 1.2322205897316412
7 | 7 | 717 | 20297 | 11748 | 11111 | 0.029055718923385987 | 1.4637129618171123
8 | 8 | 717 | 20297 | 7483 | 192 | 0.031180198242023654 | 1.4927686807404983
9 | 9 | 717 | 20297 | 114 | 15091 | 0.033387958819817834 | 1.523948878982522
10 | 10 | 717 | 20297 | 10625 | 1202 | 0.0337381756907199 | 1.5573368378023398
11 | 11 | 717 | 20297 | 726 | 1089 | 0.2953249677583982 | 1.5910750134930596
12 | 12 | 717 | 20297 | 662 | 25766 | 0.04429739639122931 | 1.8863999812514578
13 | 13 | 717 | 20297 | 19160 | 21346 | 0.20025881743751375 | 1.930697377642687
14 | 14 | 717 | 20297 | 15355 | 1091 | 0.10179421664224145 | 2.1309561950802007
15 | 15 | 717 | 20297 | 663 | 21320 | 0.10212391796446964 | 2.232750411722442
16 | 16 | 717 | 20297 | 15331 | 21322 | 0.23702383891604736 | 2.3348743296869117
17 | 17 | 717 | 20297 | 15333 | 1204 | 0.15076972687286394 | 2.571898168602959
18 | 18 | 717 | 20297 | 727 | 20367 | 0.19872116542501514 | 2.722667895475823
19 | 19 | 717 | 20297 | 14631 | 26617 | 0.10676051322961863 | 2.921389060900838
20 | 20 | 717 | 20297 | 19968 | 26709 | 0.00488196744916513 | 3.028149574130457
21 | 21 | 717 | 20297 | 20060 | 26583 | 0.05574908886239434 | 3.033031541579622
22 | 22 | 717 | 20297 | 19934 | 1093 | 0.3466353122479017 | 3.0887806304420162
23 | 23 | 717 | 20297 | 664 | 1095 | 0.5419077011848146 | 3.435415942689918
24 | 24 | 717 | 20297 | 665 | 25482 | 0.22999159892389903 | 3.9773236438747324
25 | 25 | 717 | 20297 | 18925 | 13642 | 0.106202321751006 | 4.207315242798631
26 | 26 | 717 | 20297 | 9453 | 20529 | 0.17058281586904062 | 4.313517564549637
27 | 27 | 717 | 20297 | 14744 | 22276 | 0.03170325136531217 | 4.484100380418678
28 | 28 | 717 | 20297 | 16130 | 23240 | 0.16166566681925312 | 4.51580363178399
29 | 29 | 717 | 20297 | 16957 | 23242 | 0.03782468811577486 | 4.677469298603243
30 | 30 | 717 | 20297 | 16959 | 20634 | 0.12157269644760234 | 4.715293986719018
31 | 31 | 717 | 20297 | 14817 | 1096 | 0.006204815294726592 | 4.83686668316662
32 | 32 | 717 | 20297 | 666 | 18926 | 0.036234642399319526 | 4.843071498461346
33 | 33 | 717 | 20297 | 13558 | 20632 | 0.0012780518499160582 | 4.879306140860666
34 | 34 | 717 | 20297 | 14816 | 20527 | 0.3400356717444566 | 4.880584192710582
35 | 35 | 717 | 20297 | 14743 | 13665 | 0.24428289227768088 | 5.220619864455039
36 | 36 | 717 | 20297 | 9472 | 1098 | 0.14538782133049324 | 5.46490275673272
37 | 37 | 717 | 20297 | 667 | 3237 | 0.23822193236813383 | 5.610290578063213
38 | 38 | 717 | 20297 | 2011 | 10937 | 0.1598238918032477 | 5.848512510431347
39 | 39 | 717 | 20297 | 7368 | 23470 | 0.12082837449356253 | 6.008336402234595
40 | 40 | 717 | 20297 | 17170 | 19253 | 0.060357985362474026 | 6.129164776728158
41 | 41 | 717 | 20297 | 13851 | 22805 | 0.092019809189202 | 6.189522762090632
42 | 42 | 717 | 20297 | 16579 | 102 | 0.014892974755039852 | 6.281542571279834
43 | 43 | 717 | 20297 | 60 | 23245 | 0.12667496261974479 | 6.296435546034874
44 | 44 | 717 | 20297 | 16962 | 10360 | 0.09365875608639847 | 6.423110508654619
45 | 45 | 717 | 20297 | 6961 | 1644 | 0.09358813464778774 | 6.516769264741018
46 | 46 | 717 | 20297 | 977 | 7943 | 0.06839072376921593 | 6.610357399388805
47 | 47 | 717 | 20297 | 5225 | 7944 | 0.041938767798286515 | 6.678748123158021
48 | 48 | 717 | 20297 | 5226 | 3194 | 0.021884175782586137 | 6.720686890956308
49 | 49 | 717 | 20297 | 1982 | 1647 | 0.1367667439036046 | 6.742571066738893
50 | 50 | 717 | 20297 | 979 | 27195 | 0.13276605727366678 | 6.879337810642498
51 | 51 | 717 | 20297 | 20543 | 15321 | 0.09061265671841041 | 7.0121038679161645
52 | 52 | 717 | 20297 | 10806 | 12145 | 0.030584479246568687 | 7.102716524634575
53 | 53 | 717 | 20297 | 8265 | 1653 | 0.02018136530266523 | 7.133301003881144
54 | 54 | 717 | 20297 | 982 | 15314 | 0.01910811574525197 | 7.153482369183809
55 | 55 | 717 | 20297 | 10802 | 12141 | 0.027793661914262222 | 7.172590484929061
56 | 56 | 717 | 20297 | 8262 | 18325 | 0.2118299249052233 | 7.200384146843323
57 | 57 | 717 | 20297 | 13082 | 3154 | 0.019199975660020453 | 7.412214071748546
58 | 58 | 717 | 20297 | 1958 | 18322 | 0.016362759450160472 | 7.431414047408567
59 | 59 | 717 | 20297 | 13079 | 15309 | 0.2167314692992237 | 7.447776806858728
60 | 60 | 717 | 20297 | 10799 | 3160 | 0.04033098392903469 | 7.664508276157951
61 | 61 | 717 | 20297 | 1961 | 11148 | 0.11469991343910162 | 7.704839260086986
62 | 62 | 717 | 20297 | 7512 | 18328 | 0.14086696280242786 | 7.819539173526088
63 | 63 | 717 | 20297 | 13085 | 3165 | 0.018300014327529368 | 7.960406136328516
64 | 64 | 717 | 20297 | 1964 | 15302 | 0.0184010545004763 | 7.978706150656046
65 | 65 | 717 | 20297 | 10795 | 15299 | 0.21231441483400637 | 7.997107205156522
66 | 66 | 717 | 20297 | 10793 | 372 | 0.04496006788648934 | 8.209421619990529
67 | 67 | 717 | 20297 | 225 | 15291 | 0.04285264113533479 | 8.254381687877018
68 | 68 | 717 | 20297 | 10789 | 10414 | 0.2250050597479775 | 8.297234329012353
69 | 69 | 717 | 20297 | 6993 | 10412 | 0.022250946702191656 | 8.52223938876033
70 | 70 | 717 | 20297 | 6992 | 10755 | 0.008937237706503013 | 8.544490335462521
71 | 71 | 717 | 20297 | 7236 | 15284 | 0.1556444505534579 | 8.553427573169024
72 | 72 | 717 | 20297 | 10785 | 1845 | 0.09487427584438188 | 8.709072023722483
73 | 73 | 717 | 20297 | 1090 | 3174 | 0.13109153315964162 | 8.803946299566864
74 | 74 | 717 | 20297 | 1970 | 3172 | 0.06930516126242589 | 8.935037832726506
75 | 75 | 717 | 20297 | 1968 | 7938 | 0.03149126010439901 | 9.004342993988931
76 | 76 | 717 | 20297 | 5222 | 27846 | 0.02473417460023837 | 9.03583425409333
77 | 77 | 717 | 20297 | 21150 | 339 | 0.019389500267806555 | 9.06056842869357
78 | 78 | 717 | 20297 | 207 | 27848 | 0.01823344898603869 | 9.079957928961376
79 | 79 | 717 | 20297 | 21152 | 10348 | 0.027319289737429073 | 9.098191377947414
80 | 80 | 717 | 20297 | 6954 | 10056 | 0.08167490369208392 | 9.125510667684843
81 | 81 | 717 | 20297 | 6753 | 1727 | 0.14875511795972723 | 9.207185571376927
82 | 82 | 717 | 20297 | 1023 | 10929 | 0.10631898353228829 | 9.355940689336654
83 | 83 | 717 | 20297 | 7362 | 1731 | 0.03948128191015341 | 9.462259672868942
84 | 84 | 717 | 20297 | 1026 | 1733 | 0.12866153185752505 | 9.501740954779097
85 | 85 | 717 | 20297 | 1027 | 10921 | 0.10945213944833669 | 9.630402486636621
86 | 86 | 717 | 20297 | 7358 | 12969 | 0.023425840597103235 | 9.739854626084957
87 | 87 | 717 | 20297 | 8924 | 10392 | 0.14102800665270868 | 9.76328046668206
88 | 88 | 717 | 20297 | 6978 | 12971 | 0.09837228290255155 | 9.904308473334769
89 | 89 | 717 | 20297 | 8926 | 24118 | 0.03233318356978164 | 10.002680756237321
90 | 90 | 717 | 20297 | 17746 | 1737 | 0.15020229070689692 | 10.035013939807103
91 | 91 | 717 | 20297 | 1029 | 1741 | 0.15730988560364448 | 10.185216230514
92 | 92 | 717 | 20297 | 1032 | 24307 | 0.07857793495041895 | 10.342526116117645
93 | 93 | 717 | 20297 | 17919 | 10919 | 0.0438573793743208 | 10.421104051068063
94 | 94 | 717 | 20297 | 7356 | 99 | 0.044791784225255905 | 10.464961430442385
95 | 95 | 717 | 20297 | 59 | 97 | 0.040432211834073035 | 10.50975321466764
96 | 96 | 717 | 20297 | 58 | 15816 | 0.020497535110504676 | 10.550185426501713
97 | 97 | 717 | 20297 | 11171 | 510 | 0.029651875012521884 | 10.570682961612217
98 | 98 | 717 | 20297 | 304 | 26944 | 0.02599225750016524 | 10.60033483662474
99 | 99 | 717 | 20297 | 20297 | -1 | 0 | 10.626327094124905
(99 rows)
Note
Comparing with Exercise 2: Vehicle routing - returning:
The total number of records are identical.
The node sequence is identical.
The edge sequence is identical.
The cost and agg_cost results are directly proportional.
3.2. Cost manipulations¶
When dealing with data, being aware of what kind of data is being used can improve results.
Vehicles can not circulate on pedestrian ways
Penalizing or removal of pedestrian ways will make the results closer to reality.
When converting data from OSM format using the osm2pgrouting tool, there is an
additional table: configuration
.
The configuration
table structure can be obtained with the following command.
\dS+ configuration
Table "public.configuration"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
-------------------+------------------+-----------+----------+-------------------------------------------+----------+-------------+--------------+-------------
id | integer | | not null | nextval('configuration_id_seq'::regclass) | plain | | |
tag_id | integer | | | | plain | | |
tag_key | text | | | | extended | | |
tag_value | text | | | | extended | | |
priority | double precision | | | | plain | | |
maxspeed | double precision | | | | plain | | |
maxspeed_forward | double precision | | | | plain | | |
maxspeed_backward | double precision | | | | plain | | |
force | character(1) | | | | extended | | |
Indexes:
"configuration_pkey" PRIMARY KEY, btree (id)
"configuration_tag_id_key" UNIQUE CONSTRAINT, btree (tag_id)
Referenced by:
TABLE "ways" CONSTRAINT "ways_tag_id_fkey" FOREIGN KEY (tag_id) REFERENCES configuration(tag_id)
Access method: heap
Options: autovacuum_enabled=false
In the image above there is a detail of the tag_id
of the roads.
The OSM way
types:
SELECT tag_id, tag_key, tag_value
FROM configuration
ORDER BY tag_id;
tag_id | tag_key | tag_value
--------+-----------+-------------------
100 | highway | road
101 | highway | motorway
102 | highway | motorway_link
103 | highway | motorway_junction
104 | highway | trunk
105 | highway | trunk_link
106 | highway | primary
107 | highway | primary_link
108 | highway | secondary
109 | highway | tertiary
110 | highway | residential
111 | highway | living_street
112 | highway | service
113 | highway | track
114 | highway | pedestrian
115 | highway | services
116 | highway | bus_guideway
117 | highway | path
118 | highway | cycleway
119 | highway | footway
120 | highway | bridleway
121 | highway | byway
122 | highway | steps
123 | highway | unclassified
124 | highway | secondary_link
125 | highway | tertiary_link
201 | cycleway | lane
202 | cycleway | track
203 | cycleway | opposite_lane
204 | cycleway | opposite
301 | tracktype | grade1
302 | tracktype | grade2
303 | tracktype | grade3
304 | tracktype | grade4
305 | tracktype | grade5
401 | junction | roundabout
(36 rows)
Also, on the ways
table there is a column that can be used to JOIN
with the configuration
table.
The ways
types:
SELECT distinct tag_id, tag_key, tag_value
FROM ways JOIN configuration USING (tag_id)
ORDER BY tag_id;
tag_id | tag_key | tag_value
--------+----------+----------------
104 | highway | trunk
105 | highway | trunk_link
106 | highway | primary
107 | highway | primary_link
108 | highway | secondary
109 | highway | tertiary
110 | highway | residential
111 | highway | living_street
112 | highway | service
113 | highway | track
114 | highway | pedestrian
117 | highway | path
118 | highway | cycleway
119 | highway | footway
120 | highway | bridleway
122 | highway | steps
123 | highway | unclassified
124 | highway | secondary_link
125 | highway | tertiary_link
201 | cycleway | lane
204 | cycleway | opposite
(21 rows)
In this workshop, costs are going to be manipulated using the configuration
table.
3.2.1. Exercise 4: Vehicle routing without penalization¶
Problem:
From the “Palacete Bolonha” to “Hangar Convention Center”
Solution:
Add a penalty column
All roads have a
penalty
of1
(line 3).
Query
The vehicle’s cost in this case will be in penalized seconds.
Costs (in seconds) are to be multiplied by
penalty
(lines 12 and 13).Costs wont change (times 1 leaves the value unchanged).
The
configuration
table is linked with theways
table by thetag_id
field using aJOIN
(lines 14 and 15).The vehicle is going from vertex
717
(line 17) to vertex20297
(line 18).
ALTER TABLE configuration ADD COLUMN penalty FLOAT;
-- No penalty
UPDATE configuration SET penalty=1; -- line 3
SELECT *
FROM pgr_dijkstra(
'
SELECT gid AS id,
source,
target,
cost_s * penalty AS cost, -- line 12
reverse_cost_s * penalty AS reverse_cost -- line 13
FROM ways JOIN configuration -- line 14
USING (tag_id) -- line 15
',
717, -- line 17
20297); -- line 18
ALTER TABLE
UPDATE 36
seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost
-----+----------+-----------+---------+-------+-------+----------------------+--------------------
1 | 1 | 717 | 20297 | 717 | 11369 | 7.649277145705279 | 0
2 | 2 | 717 | 20297 | 7674 | 11370 | 3.1979608009334255 | 7.649277145705279
3 | 3 | 717 | 20297 | 703 | 1157 | 11.04007394672912 | 10.847237946638703
4 | 4 | 717 | 20297 | 702 | 156 | 10.929693214960086 | 21.887311893367823
5 | 5 | 717 | 20297 | 88 | 21353 | 11.542936122011175 | 32.817005108327905
6 | 6 | 717 | 20297 | 15362 | 16610 | 8.333725395076964 | 44.35994123033908
7 | 7 | 717 | 20297 | 11748 | 11111 | 1.0460058812418955 | 52.69366662541604
8 | 8 | 717 | 20297 | 7483 | 192 | 1.1224871367128515 | 53.73967250665794
9 | 9 | 717 | 20297 | 114 | 15091 | 1.201966517513442 | 54.86215964337079
10 | 10 | 717 | 20297 | 10625 | 1202 | 1.2145743248659164 | 56.06412616088423
11 | 11 | 717 | 20297 | 726 | 1089 | 10.631698839302336 | 57.27870048575014
12 | 12 | 717 | 20297 | 662 | 25766 | 1.5947062700842551 | 67.91039932505248
13 | 13 | 717 | 20297 | 19160 | 21346 | 7.209317427750495 | 69.50510559513674
14 | 14 | 717 | 20297 | 15355 | 1091 | 3.664591799120692 | 76.71442302288723
15 | 15 | 717 | 20297 | 663 | 21320 | 3.676461046720907 | 80.37901482200792
16 | 16 | 717 | 20297 | 15331 | 21322 | 8.532858200977705 | 84.05547586872882
17 | 17 | 717 | 20297 | 15333 | 1204 | 5.427710167423101 | 92.58833406970652
18 | 18 | 717 | 20297 | 727 | 20367 | 7.153961955300545 | 98.01604423712962
19 | 19 | 717 | 20297 | 14631 | 26617 | 3.843378476266271 | 105.17000619243017
20 | 20 | 717 | 20297 | 19968 | 26709 | 0.17575082816994467 | 109.01338466869643
21 | 21 | 717 | 20297 | 20060 | 26583 | 2.0069671990461964 | 109.18913549686637
22 | 22 | 717 | 20297 | 19934 | 1093 | 12.47887124092446 | 111.19610269591257
23 | 23 | 717 | 20297 | 664 | 1095 | 19.508677242653324 | 123.67497393683703
24 | 24 | 717 | 20297 | 665 | 25482 | 8.279697561260365 | 143.18365117949037
25 | 25 | 717 | 20297 | 18925 | 13642 | 3.8232835830362157 | 151.46334874075075
26 | 26 | 717 | 20297 | 9453 | 20529 | 6.140981371285463 | 155.28663232378696
27 | 27 | 717 | 20297 | 14744 | 22276 | 1.141317049151238 | 161.4276136950724
28 | 28 | 717 | 20297 | 16130 | 23240 | 5.819964005493112 | 162.56893074422365
29 | 29 | 717 | 20297 | 16957 | 23242 | 1.3616887721678947 | 168.38889474971677
30 | 30 | 717 | 20297 | 16959 | 20634 | 4.376617072113684 | 169.75058352188466
31 | 31 | 717 | 20297 | 14817 | 1096 | 0.2233733506101573 | 174.12720059399834
32 | 32 | 717 | 20297 | 666 | 18926 | 1.3044471263755029 | 174.3505739446085
33 | 33 | 717 | 20297 | 13558 | 20632 | 0.046009866596978095 | 175.655021070984
34 | 34 | 717 | 20297 | 14816 | 20527 | 12.241284182800436 | 175.70103093758098
35 | 35 | 717 | 20297 | 14743 | 13665 | 8.794184121996512 | 187.9423151203814
36 | 36 | 717 | 20297 | 9472 | 1098 | 5.233961567897756 | 196.73649924237793
37 | 37 | 717 | 20297 | 667 | 3237 | 8.575989565252819 | 201.97046081027568
38 | 38 | 717 | 20297 | 2011 | 10937 | 5.753660104916916 | 210.5464503755285
39 | 39 | 717 | 20297 | 7368 | 23470 | 4.349821481768251 | 216.30011048044543
40 | 40 | 717 | 20297 | 17170 | 19253 | 2.172887473049065 | 220.64993196221369
41 | 41 | 717 | 20297 | 13851 | 22805 | 3.3127131308112716 | 222.82281943526274
42 | 42 | 717 | 20297 | 16579 | 102 | 0.5361470911814347 | 226.135532566074
43 | 43 | 717 | 20297 | 60 | 23245 | 4.560298654310812 | 226.67167965725545
44 | 44 | 717 | 20297 | 16962 | 10360 | 3.371715219110345 | 231.23197831156625
45 | 45 | 717 | 20297 | 6961 | 1644 | 3.369172847320359 | 234.6036935306766
46 | 46 | 717 | 20297 | 977 | 7943 | 2.462066055691773 | 237.97286637799695
47 | 47 | 717 | 20297 | 5225 | 7944 | 1.5097956407383146 | 240.43493243368872
48 | 48 | 717 | 20297 | 5226 | 3194 | 0.787830328173101 | 241.94472807442702
49 | 49 | 717 | 20297 | 1982 | 1647 | 4.923602780529765 | 242.73255840260012
50 | 50 | 717 | 20297 | 979 | 27195 | 4.779578061852004 | 247.65616118312988
51 | 51 | 717 | 20297 | 20543 | 15321 | 3.2620556418627746 | 252.43573924498187
52 | 52 | 717 | 20297 | 10806 | 12145 | 1.1010412528764728 | 255.69779488684466
53 | 53 | 717 | 20297 | 8265 | 1653 | 0.7265291508959483 | 256.7988361397211
54 | 54 | 717 | 20297 | 982 | 15314 | 0.687892166829071 | 257.52536529061706
55 | 55 | 717 | 20297 | 10802 | 12141 | 1.00057182891344 | 258.2132574574461
56 | 56 | 717 | 20297 | 8262 | 18325 | 7.625877296588039 | 259.21382928635956
57 | 57 | 717 | 20297 | 13082 | 3154 | 0.6911991237607362 | 266.8397065829476
58 | 58 | 717 | 20297 | 1958 | 18322 | 0.589059340205777 | 267.5309057067083
59 | 59 | 717 | 20297 | 13079 | 15309 | 7.802332894772054 | 268.1199650469141
60 | 60 | 717 | 20297 | 10799 | 3160 | 1.451915421445249 | 275.92229794168617
61 | 61 | 717 | 20297 | 1961 | 11148 | 4.1291968838076585 | 277.3742133631314
62 | 62 | 717 | 20297 | 7512 | 18328 | 5.071210660887403 | 281.50341024693904
63 | 63 | 717 | 20297 | 13085 | 3165 | 0.6588005157910573 | 286.57462090782644
64 | 64 | 717 | 20297 | 1964 | 15302 | 0.6624379620171468 | 287.23342142361753
65 | 65 | 717 | 20297 | 10795 | 15299 | 7.64331893402423 | 287.89585938563465
66 | 66 | 717 | 20297 | 10793 | 372 | 1.6185624439136164 | 295.5391783196589
67 | 67 | 717 | 20297 | 225 | 15291 | 1.5426950808720525 | 297.1577407635725
68 | 68 | 717 | 20297 | 10789 | 10414 | 8.10018215092719 | 298.7004358444446
69 | 69 | 717 | 20297 | 6993 | 10412 | 0.8010340812788996 | 306.8006179953718
70 | 70 | 717 | 20297 | 6992 | 10755 | 0.32174055743410845 | 307.6016520766507
71 | 71 | 717 | 20297 | 7236 | 15284 | 5.603200219924484 | 307.9233926340848
72 | 72 | 717 | 20297 | 10785 | 1845 | 3.4154739303977477 | 313.52659285400927
73 | 73 | 717 | 20297 | 1090 | 3174 | 4.719295193747098 | 316.942066784407
74 | 74 | 717 | 20297 | 1970 | 3172 | 2.494985805447332 | 321.6613619781541
75 | 75 | 717 | 20297 | 1968 | 7938 | 1.1336853637583644 | 324.15634778360146
76 | 76 | 717 | 20297 | 5222 | 27846 | 0.8904302856085814 | 325.29003314735985
77 | 77 | 717 | 20297 | 21150 | 339 | 0.698022009641036 | 326.18046343296845
78 | 78 | 717 | 20297 | 207 | 27848 | 0.6564041634973928 | 326.8784854426095
79 | 79 | 717 | 20297 | 21152 | 10348 | 0.9834944305474466 | 327.53488960610684
80 | 80 | 717 | 20297 | 6954 | 10056 | 2.9402965329150215 | 328.5183840366543
81 | 81 | 717 | 20297 | 6753 | 1727 | 5.355184246550181 | 331.4586805695693
82 | 82 | 717 | 20297 | 1023 | 10929 | 3.8274834071623784 | 336.81386481611946
83 | 83 | 717 | 20297 | 7362 | 1731 | 1.4213261487655227 | 340.64134822328185
84 | 84 | 717 | 20297 | 1026 | 1733 | 4.631815146870902 | 342.06267437204735
85 | 85 | 717 | 20297 | 1027 | 10921 | 3.940277020140121 | 346.69448951891826
86 | 86 | 717 | 20297 | 7358 | 12969 | 0.8433302614957165 | 350.6347665390584
87 | 87 | 717 | 20297 | 8924 | 10392 | 5.077008239497512 | 351.4780968005541
88 | 88 | 717 | 20297 | 6978 | 12971 | 3.541402184491856 | 356.5551050400516
89 | 89 | 717 | 20297 | 8926 | 24118 | 1.163994608512139 | 360.0965072245435
90 | 90 | 717 | 20297 | 17746 | 1737 | 5.407282465448289 | 361.2605018330556
91 | 91 | 717 | 20297 | 1029 | 1741 | 5.6631558817312015 | 366.66778429850393
92 | 92 | 717 | 20297 | 1032 | 24307 | 2.8288056582150825 | 372.33094018023513
93 | 93 | 717 | 20297 | 17919 | 10919 | 1.5788656574755486 | 375.1597458384502
94 | 94 | 717 | 20297 | 7356 | 99 | 1.6125042321092125 | 376.73861149592574
95 | 95 | 717 | 20297 | 59 | 97 | 1.4555596260266292 | 378.3511157280349
96 | 96 | 717 | 20297 | 58 | 15816 | 0.7379112639781683 | 379.80667535406155
97 | 97 | 717 | 20297 | 11171 | 510 | 1.0674675004507879 | 380.5445866180397
98 | 98 | 717 | 20297 | 304 | 26944 | 0.9357212700059486 | 381.6120541184905
99 | 99 | 717 | 20297 | 20297 | -1 | 0 | 382.54777538849646
(99 rows)
3.2.2. Exercise 5: Vehicle routing with penalization¶
Concept:
Change the cost values for the configuration
table, in such a way, that the
Pedestrian roads are not used.
penalty < 0
makes the road not to be included in the graph.
Using residential roads is not encouraged.
penalty > 1
makes the road slower for the calculations.
Using “faster” roads is highly encouraged.
penalty < 1
makes the road faster for the calculations.
The penalty
values can be changed with UPDATE
queries.
Note
These values are an exaggeration.
-- Not including pedestrian ways
UPDATE configuration SET penalty=-1.0
WHERE tag_value IN ('steps','footway','pedestrian','cycleway');
-- Penalizing with 5 times the costs the unknown
UPDATE configuration SET penalty=5 WHERE tag_value IN ('unclassified');
-- Encuraging the use of "fast" roads
UPDATE configuration SET penalty=0.5 WHERE tag_value IN ('tertiary');
UPDATE configuration SET penalty=0.3
WHERE tag_value IN (
'primary','primary_link',
'trunk','trunk_link',
'motorway','motorway_junction','motorway_link',
'secondary');
Problem:
From the “Palacete Bolonha” to “Hangar Convention Center” with penalization.
Solution:
Using
cost_s
(line 6) andreverse_cost_s
(line 7) columns, which are in unitseconds
.Costs are to be multiplied by
penalty
(lines 6 and 7).
The
configuration
table is linked with theways
table by thetag_id
field using aJOIN
(lines 8 and 9).The vehicle is going from vertex
717
(line 11) to vertex20297
(line 12).
SELECT * FROM pgr_dijkstra(
'
SELECT gid AS id,
source,
target,
cost_s * penalty AS cost, -- line 6
reverse_cost_s * penalty AS reverse_cost -- line 7
FROM ways JOIN configuration -- line 8
USING (tag_id) -- line 9
',
717, -- line 11
20297); -- line 12
seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost
-----+----------+-----------+---------+-------+-------+---------------------+--------------------
1 | 1 | 717 | 20297 | 717 | 1183 | 0.2960057352141056 | 0
2 | 2 | 717 | 20297 | 716 | 23539 | 3.5400047592944794 | 0.2960057352141056
3 | 3 | 717 | 20297 | 17233 | 16690 | 7.8358053541959585 | 3.836010494508585
4 | 4 | 717 | 20297 | 11804 | 10431 | 0.7643930526247685 | 11.671815848704544
5 | 5 | 717 | 20297 | 7006 | 13584 | 2.2684808789218165 | 12.436208901329312
6 | 6 | 717 | 20297 | 9405 | 13586 | 1.1069099932147388 | 14.70468978025113
7 | 7 | 717 | 20297 | 9406 | 26463 | 0.8553405109687702 | 15.811599773465868
8 | 8 | 717 | 20297 | 19814 | 16689 | 1.33651411869866 | 16.666940284434638
9 | 9 | 717 | 20297 | 11803 | 21121 | 0.3972810368164751 | 18.003454403133297
10 | 10 | 717 | 20297 | 15159 | 1549 | 2.9702320596337426 | 18.400735439949774
11 | 11 | 717 | 20297 | 922 | 321 | 2.77572136730283 | 21.370967499583514
12 | 12 | 717 | 20297 | 198 | 23635 | 1.0302304079691458 | 24.146688866886343
13 | 13 | 717 | 20297 | 17334 | 23637 | 0.7605955432844383 | 25.17691927485549
14 | 14 | 717 | 20297 | 17335 | 26056 | 2.2793490335041517 | 25.937514818139928
15 | 15 | 717 | 20297 | 19405 | 27290 | 1.0011633798277397 | 28.216863851644078
16 | 16 | 717 | 20297 | 20639 | 23643 | 0.7170853581581006 | 29.21802723147182
17 | 17 | 717 | 20297 | 17341 | 8117 | 0.05432648513812345 | 29.93511258962992
18 | 18 | 717 | 20297 | 5339 | 23010 | 1.5206434695923998 | 29.989439074768043
19 | 19 | 717 | 20297 | 16756 | 20374 | 1.4454066122998621 | 31.510082544360444
20 | 20 | 717 | 20297 | 14634 | 23377 | 1.6560410968556265 | 32.955489156660306
21 | 21 | 717 | 20297 | 17084 | 26684 | 1.4722213508349837 | 34.61153025351593
22 | 22 | 717 | 20297 | 20035 | 27611 | 0.08917852794242753 | 36.083751604350915
23 | 23 | 717 | 20297 | 20912 | 20329 | 0.22644193710012114 | 36.172930132293345
24 | 24 | 717 | 20297 | 14602 | 18897 | 1.898086733563235 | 36.399372069393465
25 | 25 | 717 | 20297 | 13533 | 26428 | 0.3042530905199942 | 38.2974588029567
26 | 26 | 717 | 20297 | 19779 | 26766 | 0.8862794292609869 | 38.60171189347669
27 | 27 | 717 | 20297 | 20117 | 1099 | 2.3041021996747384 | 39.48799132273768
28 | 28 | 717 | 20297 | 668 | 26855 | 0.23226015198338862 | 41.792093522412415
29 | 29 | 717 | 20297 | 20208 | 23388 | 0.4430726392125957 | 42.024353674395805
30 | 30 | 717 | 20297 | 17096 | 1101 | 0.45625095251626535 | 42.4674263136084
31 | 31 | 717 | 20297 | 669 | 27184 | 2.2656472325815242 | 42.92367726612466
32 | 32 | 717 | 20297 | 20532 | 1125 | 0.30789185698870647 | 45.189324498706185
33 | 33 | 717 | 20297 | 684 | 27612 | 2.9172937055237687 | 45.49721635569489
34 | 34 | 717 | 20297 | 20913 | 20388 | 1.5935137876166687 | 48.41451006121866
35 | 35 | 717 | 20297 | 14646 | 20389 | 3.7759663390562848 | 50.00802384883533
36 | 36 | 717 | 20297 | 14647 | 23385 | 1.3779163294442702 | 53.78399018789161
37 | 37 | 717 | 20297 | 17092 | 20391 | 0.7212891460549953 | 55.16190651733588
38 | 38 | 717 | 20297 | 14648 | 20393 | 2.088273529229889 | 55.88319566339087
39 | 39 | 717 | 20297 | 14649 | 23382 | 1.1698979217128171 | 57.97146919262076
40 | 40 | 717 | 20297 | 17089 | 20394 | 2.8020997349636643 | 59.141367114333576
41 | 41 | 717 | 20297 | 14650 | 12754 | 0.743484124264174 | 61.94346684929724
42 | 42 | 717 | 20297 | 8757 | 11995 | 0.7535548812805611 | 62.68695097356141
43 | 43 | 717 | 20297 | 8139 | 10847 | 0.17928453155545482 | 63.44050585484197
44 | 44 | 717 | 20297 | 7295 | 7967 | 1.521051231781284 | 63.619790386397426
45 | 45 | 717 | 20297 | 5243 | 25521 | 0.3977855879901294 | 65.14084161817871
46 | 46 | 717 | 20297 | 18962 | 10375 | 1.0244476150686697 | 65.53862720616884
47 | 47 | 717 | 20297 | 6970 | 2710 | 0.35838559039750933 | 66.5630748212375
48 | 48 | 717 | 20297 | 1669 | 15160 | 0.5951480500947322 | 66.92146041163501
49 | 49 | 717 | 20297 | 10678 | 15157 | 0.32541153954163504 | 67.51660846172975
50 | 50 | 717 | 20297 | 10676 | 10845 | 0.4496486476432563 | 67.84202000127138
51 | 51 | 717 | 20297 | 7294 | 10844 | 0.903123685521604 | 68.29166864891464
52 | 52 | 717 | 20297 | 7293 | 10842 | 1.0909150137845127 | 69.19479233443624
53 | 53 | 717 | 20297 | 7291 | 24811 | 0.32493410377611615 | 70.28570734822075
54 | 54 | 717 | 20297 | 18351 | 10839 | 0.8556790177023017 | 70.61064145199687
55 | 55 | 717 | 20297 | 7289 | 10826 | 0.08209178643889901 | 71.46632046969917
56 | 56 | 717 | 20297 | 7279 | 10836 | 0.9198432656860073 | 71.54841225613806
57 | 57 | 717 | 20297 | 7287 | 626 | 0.6684518844132583 | 72.46825552182408
58 | 58 | 717 | 20297 | 368 | 10372 | 4.348360854966903 | 73.13670740623733
59 | 59 | 717 | 20297 | 6968 | 10366 | 0.9233520605154579 | 77.48506826120423
60 | 60 | 717 | 20297 | 6965 | 10939 | 2.420743212977811 | 78.40842032171969
61 | 61 | 717 | 20297 | 7369 | 10363 | 1.7305037827913727 | 80.8291635346975
62 | 62 | 717 | 20297 | 6963 | 23340 | 0.31531573482697495 | 82.55966731748887
63 | 63 | 717 | 20297 | 17048 | 10938 | 1.2654733938415637 | 82.87498305231586
64 | 64 | 717 | 20297 | 7368 | 23470 | 1.304946444530475 | 84.14045644615742
65 | 65 | 717 | 20297 | 17170 | 19253 | 0.6518662419147195 | 85.44540289068789
66 | 66 | 717 | 20297 | 13851 | 22805 | 0.9938139392433815 | 86.0972691326026
67 | 67 | 717 | 20297 | 16579 | 102 | 0.1608441273544304 | 87.09108307184599
68 | 68 | 717 | 20297 | 60 | 23245 | 1.3680895962932436 | 87.25192719920042
69 | 69 | 717 | 20297 | 16962 | 10360 | 1.0115145657331035 | 88.62001679549367
70 | 70 | 717 | 20297 | 6961 | 1644 | 1.0107518541961076 | 89.63153136122678
71 | 71 | 717 | 20297 | 977 | 7943 | 0.7386198167075319 | 90.64228321542288
72 | 72 | 717 | 20297 | 5225 | 7944 | 0.45293869222149435 | 91.3809030321304
73 | 73 | 717 | 20297 | 5226 | 3194 | 0.23634909845193028 | 91.8338417243519
74 | 74 | 717 | 20297 | 1982 | 1647 | 1.4770808341589294 | 92.07019082280382
75 | 75 | 717 | 20297 | 979 | 27195 | 1.4338734185556012 | 93.54727165696275
76 | 76 | 717 | 20297 | 20543 | 15321 | 0.9786166925588323 | 94.98114507551836
77 | 77 | 717 | 20297 | 10806 | 12145 | 0.3303123758629418 | 95.95976176807719
78 | 78 | 717 | 20297 | 8265 | 1653 | 0.21795874526878448 | 96.29007414394013
79 | 79 | 717 | 20297 | 982 | 15314 | 0.2063676500487213 | 96.50803288920892
80 | 80 | 717 | 20297 | 10802 | 12141 | 0.300171548674032 | 96.71440053925764
81 | 81 | 717 | 20297 | 8262 | 18325 | 2.2877631889764114 | 97.01457208793167
82 | 82 | 717 | 20297 | 13082 | 3154 | 0.20735973712822087 | 99.30233527690808
83 | 83 | 717 | 20297 | 1958 | 18322 | 0.1767178020617331 | 99.5096950140363
84 | 84 | 717 | 20297 | 13079 | 15309 | 2.340699868431616 | 99.68641281609803
85 | 85 | 717 | 20297 | 10799 | 3160 | 0.4355746264335747 | 102.02711268452964
86 | 86 | 717 | 20297 | 1961 | 11148 | 1.2387590651422975 | 102.46268731096322
87 | 87 | 717 | 20297 | 7512 | 18328 | 1.521363198266221 | 103.70144637610552
88 | 88 | 717 | 20297 | 13085 | 3165 | 0.19764015473731716 | 105.22280957437174
89 | 89 | 717 | 20297 | 1964 | 15302 | 0.19873138860514403 | 105.42044972910905
90 | 90 | 717 | 20297 | 10795 | 15299 | 2.292995680207269 | 105.61918111771419
91 | 91 | 717 | 20297 | 10793 | 372 | 0.4855687331740849 | 107.91217679792146
92 | 92 | 717 | 20297 | 225 | 15291 | 0.46280852426161573 | 108.39774553109555
93 | 93 | 717 | 20297 | 10789 | 10414 | 2.430054645278157 | 108.86055405535717
94 | 94 | 717 | 20297 | 6993 | 10412 | 0.2403102243836699 | 111.29060870063533
95 | 95 | 717 | 20297 | 6992 | 10755 | 0.09652216723023253 | 111.530918925019
96 | 96 | 717 | 20297 | 7236 | 15284 | 1.6809600659773452 | 111.62744109224923
97 | 97 | 717 | 20297 | 10785 | 1845 | 1.0246421791193243 | 113.30840115822657
98 | 98 | 717 | 20297 | 1090 | 3174 | 1.4157885581241294 | 114.3330433373459
99 | 99 | 717 | 20297 | 1970 | 3172 | 0.7484957416341996 | 115.74883189547003
100 | 100 | 717 | 20297 | 1968 | 7938 | 0.3401056091275093 | 116.49732763710423
101 | 101 | 717 | 20297 | 5222 | 27846 | 0.26712908568257443 | 116.83743324623174
102 | 102 | 717 | 20297 | 21150 | 339 | 0.2094066028923108 | 117.10456233191431
103 | 103 | 717 | 20297 | 207 | 27848 | 0.19692124904921784 | 117.31396893480662
104 | 104 | 717 | 20297 | 21152 | 10348 | 0.29504832916423396 | 117.51089018385584
105 | 105 | 717 | 20297 | 6954 | 10056 | 0.8820889598745064 | 117.80593851302007
106 | 106 | 717 | 20297 | 6753 | 1727 | 1.6065552739650542 | 118.68802747289457
107 | 107 | 717 | 20297 | 1023 | 10929 | 1.1482450221487135 | 120.29458274685963
108 | 108 | 717 | 20297 | 7362 | 1731 | 0.4263978446296568 | 121.44282776900835
109 | 109 | 717 | 20297 | 1026 | 1733 | 1.3895445440612704 | 121.86922561363801
110 | 110 | 717 | 20297 | 1027 | 10921 | 1.1820831060420363 | 123.25877015769927
111 | 111 | 717 | 20297 | 7358 | 12969 | 0.25299907844871494 | 124.44085326374132
112 | 112 | 717 | 20297 | 8924 | 10392 | 1.5231024718492534 | 124.69385234219003
113 | 113 | 717 | 20297 | 6978 | 12971 | 1.0624206553475568 | 126.21695481403928
114 | 114 | 717 | 20297 | 8926 | 24118 | 0.3491983825536417 | 127.27937546938684
115 | 115 | 717 | 20297 | 17746 | 1737 | 1.6221847396344866 | 127.62857385194047
116 | 116 | 717 | 20297 | 1029 | 1741 | 1.6989467645193603 | 129.25075859157496
117 | 117 | 717 | 20297 | 1032 | 24307 | 0.8486416974645247 | 130.9497053560943
118 | 118 | 717 | 20297 | 17919 | 10919 | 0.47365969724266455 | 131.79834705355884
119 | 119 | 717 | 20297 | 7356 | 99 | 0.4837512696327637 | 132.2720067508015
120 | 120 | 717 | 20297 | 59 | 97 | 0.43666788780798876 | 132.75575802043426
121 | 121 | 717 | 20297 | 58 | 15816 | 0.2213733791934505 | 133.19242590824226
122 | 122 | 717 | 20297 | 11171 | 510 | 0.3202402501352363 | 133.4137992874357
123 | 123 | 717 | 20297 | 304 | 26944 | 0.2807163810017846 | 133.73403953757094
124 | 124 | 717 | 20297 | 20297 | -1 | 0 | 134.01475591857272
(124 rows)
Note
Comparing with Exercise 3: Vehicle routing when time is money:
The total number of records changed.
The node sequence changed.
The edge sequence changed.
The route is avoiding the residential roads that have
tag_id = 110
.The costs do not change proportionally.
3.2.3. Exercise 6: Time in seconds of penalized route¶
Problem:
Get the times in seconds of a penalized route
Solution:
Use as inner query the penalized query joined with the ways table
Keep the
edge
asgid
(line 6)Join using
gid
(line 18)
SELECT * FROM pgr_dijkstra(
$$
SELECT gid AS id, source, target, cost_s AS cost, reverse_cost_s AS reverse_cost
FROM (
-- penalized query
SELECT edge AS gid FROM pgr_dijkstra( -- line 6
'
SELECT gid AS id,
source,
target,
cost_s * penalty AS cost,
reverse_cost_s * penalty AS reverse_cost
FROM ways JOIN configuration
USING (tag_id)
',
717,
20297) ) AS edges_in_route
JOIN ways USING (gid) -- line 18
$$,
717, 20297);
seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost
-----+----------+-----------+---------+-------+-------+---------------------+--------------------
1 | 1 | 717 | 20297 | 717 | 1183 | 0.9866857840470188 | 0
2 | 2 | 717 | 20297 | 716 | 23539 | 3.5400047592944794 | 0.9866857840470188
3 | 3 | 717 | 20297 | 17233 | 16690 | 7.8358053541959585 | 4.526690543341498
4 | 4 | 717 | 20297 | 11804 | 10431 | 0.7643930526247685 | 12.362495897537457
5 | 5 | 717 | 20297 | 7006 | 13584 | 7.561602929739388 | 13.126888950162225
6 | 6 | 717 | 20297 | 9405 | 13586 | 3.6896999773824626 | 20.688491879901612
7 | 7 | 717 | 20297 | 9406 | 26463 | 2.8511350365625674 | 24.378191857284076
8 | 8 | 717 | 20297 | 19814 | 16689 | 4.455047062328867 | 27.229326893846643
9 | 9 | 717 | 20297 | 11803 | 21121 | 1.3242701227215836 | 31.68437395617551
10 | 10 | 717 | 20297 | 15159 | 1549 | 9.900773532112476 | 33.00864407889709
11 | 11 | 717 | 20297 | 922 | 321 | 9.2524045576761 | 42.909417611009566
12 | 12 | 717 | 20297 | 198 | 23635 | 3.434101359897153 | 52.16182216868567
13 | 13 | 717 | 20297 | 17334 | 23637 | 2.5353184776147946 | 55.59592352858282
14 | 14 | 717 | 20297 | 17335 | 26056 | 7.597830111680507 | 58.13124200619762
15 | 15 | 717 | 20297 | 19405 | 27290 | 3.3372112660924658 | 65.72907211787812
16 | 16 | 717 | 20297 | 20639 | 23643 | 2.3902845271936686 | 69.06628338397059
17 | 17 | 717 | 20297 | 17341 | 8117 | 0.18108828379374484 | 71.45656791116426
18 | 18 | 717 | 20297 | 5339 | 23010 | 5.068811565308 | 71.637656194958
19 | 19 | 717 | 20297 | 16756 | 20374 | 4.818022040999541 | 76.706467760266
20 | 20 | 717 | 20297 | 14634 | 23377 | 5.520136989518755 | 81.52448980126553
21 | 21 | 717 | 20297 | 17084 | 26684 | 4.9074045027832796 | 87.04462679078429
22 | 22 | 717 | 20297 | 20035 | 27611 | 0.2972617598080918 | 91.95203129356757
23 | 23 | 717 | 20297 | 20912 | 20329 | 0.7548064570004038 | 92.24929305337567
24 | 24 | 717 | 20297 | 14602 | 18897 | 6.326955778544117 | 93.00409951037607
25 | 25 | 717 | 20297 | 13533 | 26428 | 1.0141769683999808 | 99.33105528892018
26 | 26 | 717 | 20297 | 19779 | 26766 | 2.9542647642032898 | 100.34523225732016
27 | 27 | 717 | 20297 | 20117 | 1099 | 7.680340665582461 | 103.29949702152345
28 | 28 | 717 | 20297 | 668 | 26855 | 0.7742005066112955 | 110.97983768710591
29 | 29 | 717 | 20297 | 20208 | 23388 | 1.476908797375319 | 111.75403819371721
30 | 30 | 717 | 20297 | 17096 | 1101 | 1.5208365083875512 | 113.23094699109252
31 | 31 | 717 | 20297 | 669 | 27184 | 7.552157441938414 | 114.75178349948007
32 | 32 | 717 | 20297 | 20532 | 1125 | 1.026306189962355 | 122.30394094141849
33 | 33 | 717 | 20297 | 684 | 27612 | 9.724312351745896 | 123.33024713138084
34 | 34 | 717 | 20297 | 20913 | 20388 | 5.311712625388896 | 133.05455948312675
35 | 35 | 717 | 20297 | 14646 | 20389 | 12.58655446352095 | 138.36627210851566
36 | 36 | 717 | 20297 | 14647 | 23385 | 4.593054431480901 | 150.9528265720366
37 | 37 | 717 | 20297 | 17092 | 20391 | 2.404297153516651 | 155.5458810035175
38 | 38 | 717 | 20297 | 14648 | 20393 | 6.960911764099629 | 157.95017815703414
39 | 39 | 717 | 20297 | 14649 | 23382 | 3.899659739042724 | 164.91108992113377
40 | 40 | 717 | 20297 | 17089 | 20394 | 9.340332449878881 | 168.8107496601765
41 | 41 | 717 | 20297 | 14650 | 12754 | 2.478280414213913 | 178.15108211005537
42 | 42 | 717 | 20297 | 8757 | 11995 | 2.511849604268537 | 180.62936252426928
43 | 43 | 717 | 20297 | 8139 | 10847 | 0.5976151051848494 | 183.14121212853783
44 | 44 | 717 | 20297 | 7295 | 7967 | 5.07017077260428 | 183.73882723372267
45 | 45 | 717 | 20297 | 5243 | 25521 | 1.3259519599670981 | 188.80899800632696
46 | 46 | 717 | 20297 | 18962 | 10375 | 3.4148253835622326 | 190.13494996629404
47 | 47 | 717 | 20297 | 6970 | 2710 | 1.1946186346583645 | 193.54977534985628
48 | 48 | 717 | 20297 | 1669 | 15160 | 1.9838268336491074 | 194.74439398451463
49 | 49 | 717 | 20297 | 10678 | 15157 | 1.0847051318054501 | 196.72822081816375
50 | 50 | 717 | 20297 | 10676 | 10845 | 1.498828825477521 | 197.8129259499692
51 | 51 | 717 | 20297 | 7294 | 10844 | 3.0104122850720136 | 199.31175477544673
52 | 52 | 717 | 20297 | 7293 | 10842 | 3.636383379281709 | 202.32216706051875
53 | 53 | 717 | 20297 | 7291 | 24811 | 1.0831136792537206 | 205.95855043980046
54 | 54 | 717 | 20297 | 18351 | 10839 | 2.8522633923410057 | 207.0416641190542
55 | 55 | 717 | 20297 | 7289 | 10826 | 0.27363928812966337 | 209.8939275113952
56 | 56 | 717 | 20297 | 7279 | 10836 | 3.0661442189533576 | 210.16756679952485
57 | 57 | 717 | 20297 | 7287 | 626 | 2.2281729480441945 | 213.2337110184782
58 | 58 | 717 | 20297 | 368 | 10372 | 14.49453618322301 | 215.4618839665224
59 | 59 | 717 | 20297 | 6968 | 10366 | 3.0778402017181934 | 229.9564201497454
60 | 60 | 717 | 20297 | 6965 | 10939 | 8.069144043259369 | 233.03426035146362
61 | 61 | 717 | 20297 | 7369 | 10363 | 5.768345942637909 | 241.103404394723
62 | 62 | 717 | 20297 | 6963 | 23340 | 1.0510524494232498 | 246.8717503373609
63 | 63 | 717 | 20297 | 17048 | 10938 | 4.218244646138546 | 247.92280278678416
64 | 64 | 717 | 20297 | 7368 | 23470 | 4.349821481768251 | 252.1410474329227
65 | 65 | 717 | 20297 | 17170 | 19253 | 2.172887473049065 | 256.49086891469096
66 | 66 | 717 | 20297 | 13851 | 22805 | 3.3127131308112716 | 258.66375638774
67 | 67 | 717 | 20297 | 16579 | 102 | 0.5361470911814347 | 261.9764695185513
68 | 68 | 717 | 20297 | 60 | 23245 | 4.560298654310812 | 262.51261660973273
69 | 69 | 717 | 20297 | 16962 | 10360 | 3.371715219110345 | 267.07291526404356
70 | 70 | 717 | 20297 | 6961 | 1644 | 3.369172847320359 | 270.4446304831539
71 | 71 | 717 | 20297 | 977 | 7943 | 2.462066055691773 | 273.8138033304743
72 | 72 | 717 | 20297 | 5225 | 7944 | 1.5097956407383146 | 276.27586938616605
73 | 73 | 717 | 20297 | 5226 | 3194 | 0.787830328173101 | 277.7856650269044
74 | 74 | 717 | 20297 | 1982 | 1647 | 4.923602780529765 | 278.5734953550775
75 | 75 | 717 | 20297 | 979 | 27195 | 4.779578061852004 | 283.4970981356073
76 | 76 | 717 | 20297 | 20543 | 15321 | 3.2620556418627746 | 288.2766761974593
77 | 77 | 717 | 20297 | 10806 | 12145 | 1.1010412528764728 | 291.5387318393221
78 | 78 | 717 | 20297 | 8265 | 1653 | 0.7265291508959483 | 292.6397730921986
79 | 79 | 717 | 20297 | 982 | 15314 | 0.687892166829071 | 293.36630224309454
80 | 80 | 717 | 20297 | 10802 | 12141 | 1.00057182891344 | 294.0541944099236
81 | 81 | 717 | 20297 | 8262 | 18325 | 7.625877296588039 | 295.05476623883703
82 | 82 | 717 | 20297 | 13082 | 3154 | 0.6911991237607362 | 302.6806435354251
83 | 83 | 717 | 20297 | 1958 | 18322 | 0.589059340205777 | 303.3718426591858
84 | 84 | 717 | 20297 | 13079 | 15309 | 7.802332894772054 | 303.9609019993916
85 | 85 | 717 | 20297 | 10799 | 3160 | 1.451915421445249 | 311.76323489416365
86 | 86 | 717 | 20297 | 1961 | 11148 | 4.1291968838076585 | 313.21515031560887
87 | 87 | 717 | 20297 | 7512 | 18328 | 5.071210660887403 | 317.3443471994165
88 | 88 | 717 | 20297 | 13085 | 3165 | 0.6588005157910573 | 322.4155578603039
89 | 89 | 717 | 20297 | 1964 | 15302 | 0.6624379620171468 | 323.074358376095
90 | 90 | 717 | 20297 | 10795 | 15299 | 7.64331893402423 | 323.73679633811213
91 | 91 | 717 | 20297 | 10793 | 372 | 1.6185624439136164 | 331.3801152721364
92 | 92 | 717 | 20297 | 225 | 15291 | 1.5426950808720525 | 332.99867771605
93 | 93 | 717 | 20297 | 10789 | 10414 | 8.10018215092719 | 334.5413727969221
94 | 94 | 717 | 20297 | 6993 | 10412 | 0.8010340812788996 | 342.6415549478493
95 | 95 | 717 | 20297 | 6992 | 10755 | 0.32174055743410845 | 343.44258902912816
96 | 96 | 717 | 20297 | 7236 | 15284 | 5.603200219924484 | 343.76432958656227
97 | 97 | 717 | 20297 | 10785 | 1845 | 3.4154739303977477 | 349.36752980648674
98 | 98 | 717 | 20297 | 1090 | 3174 | 4.719295193747098 | 352.7830037368845
99 | 99 | 717 | 20297 | 1970 | 3172 | 2.494985805447332 | 357.5022989306316
100 | 100 | 717 | 20297 | 1968 | 7938 | 1.1336853637583644 | 359.99728473607894
101 | 101 | 717 | 20297 | 5222 | 27846 | 0.8904302856085814 | 361.1309700998373
102 | 102 | 717 | 20297 | 21150 | 339 | 0.698022009641036 | 362.02140038544593
103 | 103 | 717 | 20297 | 207 | 27848 | 0.6564041634973928 | 362.71942239508695
104 | 104 | 717 | 20297 | 21152 | 10348 | 0.9834944305474466 | 363.3758265585843
105 | 105 | 717 | 20297 | 6954 | 10056 | 2.9402965329150215 | 364.3593209891318
106 | 106 | 717 | 20297 | 6753 | 1727 | 5.355184246550181 | 367.2996175220468
107 | 107 | 717 | 20297 | 1023 | 10929 | 3.8274834071623784 | 372.65480176859694
108 | 108 | 717 | 20297 | 7362 | 1731 | 1.4213261487655227 | 376.48228517575933
109 | 109 | 717 | 20297 | 1026 | 1733 | 4.631815146870902 | 377.90361132452483
110 | 110 | 717 | 20297 | 1027 | 10921 | 3.940277020140121 | 382.53542647139574
111 | 111 | 717 | 20297 | 7358 | 12969 | 0.8433302614957165 | 386.47570349153585
112 | 112 | 717 | 20297 | 8924 | 10392 | 5.077008239497512 | 387.3190337530316
113 | 113 | 717 | 20297 | 6978 | 12971 | 3.541402184491856 | 392.3960419925291
114 | 114 | 717 | 20297 | 8926 | 24118 | 1.163994608512139 | 395.93744417702095
115 | 115 | 717 | 20297 | 17746 | 1737 | 5.407282465448289 | 397.1014387855331
116 | 116 | 717 | 20297 | 1029 | 1741 | 5.6631558817312015 | 402.5087212509814
117 | 117 | 717 | 20297 | 1032 | 24307 | 2.8288056582150825 | 408.1718771327126
118 | 118 | 717 | 20297 | 17919 | 10919 | 1.5788656574755486 | 411.00068279092767
119 | 119 | 717 | 20297 | 7356 | 99 | 1.6125042321092125 | 412.5795484484032
120 | 120 | 717 | 20297 | 59 | 97 | 1.4555596260266292 | 414.1920526805124
121 | 121 | 717 | 20297 | 58 | 15816 | 0.7379112639781683 | 415.64761230653903
122 | 122 | 717 | 20297 | 11171 | 510 | 1.0674675004507879 | 416.3855235705172
123 | 123 | 717 | 20297 | 304 | 26944 | 0.9357212700059486 | 417.452991070968
124 | 124 | 717 | 20297 | 20297 | -1 | 0 | 418.38871234097394
(124 rows)
Note
Comparing with Exercise 5: Vehicle routing with penalization:
The total number of records is the same.
The route is the same
The
cost
column have the original vales from the ways table.