diff --git a/evaluation/configs/bigger_gasstation.yaml b/evaluation/configs/bigger_gasstation.yaml index 3cb96fae72fbedbf444b01bc18cb555298a5b407..37c210a39fcf5b77e578385aac72554a377b4dbc 100644 --- a/evaluation/configs/bigger_gasstation.yaml +++ b/evaluation/configs/bigger_gasstation.yaml @@ -12,33 +12,33 @@ setups: charging_stations: 1 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: charge consumption_coefficient: 0.1 # kWh/s - mu_s: 300 # Start and Target Soc mu_t: 0 charging_stations: 2 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: charge consumption_coefficient: 0.1 # kWh/s - mu_s: 300 # Start and Target Soc mu_t: 0 charging_stations: 4 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: charge consumption_coefficient: 0.1 # kWh/s - mu_s: 300 # Start and Target Soc mu_t: 0 charging_stations: 8 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: charge consumption_coefficient: 0.1 # kWh/s - mu_s: 300 # Start and Target Soc mu_t: 0 charging_stations: 10 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: charge consumption_coefficient: 0.1 # kWh/s diff --git a/evaluation/configs/debug_charge.yaml b/evaluation/configs/debug_charge.yaml index 32621733ba7d6cf9b9c3e89dbe6f4cadc91c3d9b..2caeec93fbcc3f50edaa670d3123e474a9c3012d 100644 --- a/evaluation/configs/debug_charge.yaml +++ b/evaluation/configs/debug_charge.yaml @@ -12,5 +12,5 @@ setups: charging_stations: 10 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: time consumption_coefficient: 0.5 # kWh/s diff --git a/evaluation/configs/example.yaml b/evaluation/configs/example.yaml index e3c9ef9153533ca0800f6b83043af577a17f376a..723efe1690814eaf3f85c6172e49e07929a7de17 100644 --- a/evaluation/configs/example.yaml +++ b/evaluation/configs/example.yaml @@ -12,19 +12,19 @@ setups: charging_stations: 1 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: time consumption_coefficient: 0.1 # kWh/s - mu_s: 300 # Start and Target Soc mu_t: 0 charging_stations: 2 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: time consumption_coefficient: 0.1 # kWh/s - mu_s: 300 # Start and Target Soc mu_t: 0 charging_stations: 3 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: time consumption_coefficient: 0.1 # kWh/s diff --git a/evaluation/configs/example_init.yaml b/evaluation/configs/example_init.yaml index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c94a53ee548a02450110b239d28eba75205389ba 100644 --- a/evaluation/configs/example_init.yaml +++ b/evaluation/configs/example_init.yaml @@ -0,0 +1,25 @@ +description: > + Compare charge and gasstation problem by assuming for the charge + algorithm also an consumption proportional to driving time. +type: init +charging_stations: charging_stations.json +maps: + - medium_nurnberg.osm +queries_per_setup: 10 +setups: + - mu_s: 300 # Start and Target Soc + mu_t: 0 + charging_stations: 1 # Max Number of charging Stations to be inserted. + capacity: 300 # kWh + algorithms: [charge] + consumption: + type: time + consumption_coefficient: 0.1 # kWh/s + - mu_s: 300 # Start and Target Soc + mu_t: 0 + charging_stations: 2 # Max Number of charging Stations to be inserted. + capacity: 300 # kWh + algorithms: [charge] + consumption: + type: time + consumption_coefficient: 0.1 # kWh/s \ No newline at end of file diff --git a/evaluation/configs/example_rank.yaml b/evaluation/configs/example_rank.yaml index 46d5d21ae539ad447486a51c7c833337a5f65c13..0fc2b4ba978756a1a9b70fd2b84e2501163deb80 100644 --- a/evaluation/configs/example_rank.yaml +++ b/evaluation/configs/example_rank.yaml @@ -10,8 +10,7 @@ ranks: [2, 4] setups: - mu_s: 300 # Start and Target Soc mu_t: 0 - charging_stations: 1 # Max Number of charging Stations to be inserted. capacity: 300 # kWh consumption: - type: gasstation + type: distance consumption_coefficient: 0.1 # kWh/s diff --git a/evaluation/lib/T.py b/evaluation/lib/T.py deleted file mode 100644 index a7cac2ae91a7681429683c73df903987c64c748a..0000000000000000000000000000000000000000 --- a/evaluation/lib/T.py +++ /dev/null @@ -1,55 +0,0 @@ -from collections import namedtuple -from dataclasses import dataclass - -__all__ = [ - 'GasstationQueryRow', - 'ClassicQueryRow', - 'ChargeQueryRow', - 'AStarQueryRow', - 'QueryRow', - 'Query' -] - - -@dataclass -class QueryRow: - start_node: str - target_node: str - query_time: float - trip_time: float - nodes: int - edges: int - charging_stations: int - - -@dataclass -class ChargingStopsQuery(QueryRow): - charging_stops: int - charging_time: float - - -@dataclass -class GasstationQueryRow(ChargingStopsQuery): - time_contracted_graph: float - time_state_graph: float - nodes_state_graph: int - edges_state_graph: int - - -@dataclass -class ChargeQueryRow(ChargingStopsQuery): - pass - - -@dataclass -class ClassicQueryRow(QueryRow): - dijkstra_rank: int - - -@dataclass -class AStarQueryRow(QueryRow): - pass - - -Query = namedtuple('Query', - field_names=['query_function', 'filename', 'row_dataclass']) diff --git a/evaluation/lib/benchmarks.py b/evaluation/lib/benchmarks.py index cde33844aa159e6f13b8754647f45f77165b9a1f..3ef6fd46183a4fe59eb4059365e5a63588e4aae7 100644 --- a/evaluation/lib/benchmarks.py +++ b/evaluation/lib/benchmarks.py @@ -7,28 +7,12 @@ from networkx.algorithms.shortest_paths.weighted import _weight_function from evrouting.graph_tools import DISTANCE_KEY -from evaluation.lib.T import * from evaluation.lib.algorithm import _dijkstra_multisource from evaluation.lib.export import write_head, write_row -from evaluation.lib.queries import ( - gasstation_query, - charge_query, - classic_query, - astar_query, - bidirectional_query, - CACHE -) +from evaluation.lib.queries import query_relations, CACHE logger = logging.getLogger(__name__) -query_relations = { - 'classic': Query(classic_query, 'classic.csv', ClassicQueryRow), - 'astar': Query(astar_query, 'astar.csv', AStarQueryRow), - 'bidirectional': Query(bidirectional_query, 'bidirectional.csv', QueryRow), - 'gasstation': Query(gasstation_query, 'gasstation.csv', GasstationQueryRow), - 'charge': Query(charge_query, 'charge.csv', ChargeQueryRow) -} - def _insert_charging_stations(graph, charging_stations, number=None): start = perf_counter() @@ -46,13 +30,13 @@ def _init_result_files(result_dir, queries=None): queries = query_relations.values() # Remove existing results and write heads - for _, filename, row_class in queries: - with result_dir.joinpath(filename).open('w') as f: - write_head(f, row_class) + for q in queries: + with result_dir.joinpath(q.filename).open('w') as f: + write_head(f, q.row_class) def _run_queries(graph, start_nodes, target_nodes, setup, queries, result_dir): - for func, filename, row_class in queries: + for func, filename, _ in queries: logger.info(f'Running {len(start_nodes)} times {func.__name__}') for i, (s, t) in enumerate(zip(start_nodes, target_nodes)): @@ -128,3 +112,37 @@ def rank(graphs, charging_stations, conf, result_dir): for setup in conf['setups']: _run_queries(graph, start_nodes, target_nodes, setup, queries, result_dir) + + +def init(graphs, charging_stations, conf, result_dir): + queries = [query_relations['charge']] + + _init_result_files(result_dir, queries) + + for map_name, G in zip(conf['maps'], graphs): + nodes = random.sample(list(G.nodes), k=2 * conf['queries_per_setup']) + + for setup in conf['setups']: + # Random start and target nodes + start_nodes = nodes[:int(len(nodes) / 2)] + target_nodes = nodes[int(len(nodes) / 2):] + + # Random adding of charging stations + _insert_charging_stations(G, charging_stations, setup['charging_stations']) + + logger.info(f"Running queries on map {map_name}") + _run_queries(G, start_nodes, target_nodes, setup, queries, result_dir) + + # Create state graph etc + logger.info(f'Running {len(start_nodes)} times {func.__name__}') + func, filename, _ = query_relations['init'] + + for i, (s, t) in enumerate(zip(start_nodes, target_nodes)): + logger.debug(f'{i + 1}/{len(start_nodes)}') + result_data = func(G, setup, s, t) + with result_dir.joinpath(filename).open('a') as f: + write_row(f, result_data) + + # Delete cached graphs + for key in list(CACHE.keys()): + del CACHE[key] diff --git a/evaluation/lib/export.py b/evaluation/lib/export.py index ccf4ba908227af6b49e6199aac6e0ea7be3528a8..bcc012ae5844d9240b1e0befa90a7e738c01bff2 100644 --- a/evaluation/lib/export.py +++ b/evaluation/lib/export.py @@ -1,7 +1,7 @@ from typing import TextIO from dataclasses import asdict, fields -from evaluation.lib.T import QueryRow +from evaluation.lib.queries import QueryRow SEP = ',' diff --git a/evaluation/lib/queries.py b/evaluation/lib/queries.py index 1a7836d433c4424f354e018a2595b62df9b3ae64..a624dcd4c743ad188a01b8c34b15e227e524d5f2 100644 --- a/evaluation/lib/queries.py +++ b/evaluation/lib/queries.py @@ -1,5 +1,7 @@ import logging import gc +from collections import namedtuple +from dataclasses import dataclass from time import perf_counter @@ -14,21 +16,61 @@ from evrouting.graph_tools import ( from evrouting.osm.profiles import car from evrouting.osm.routing import GasstationAccessFunctions, a_start_heuristic -from evaluation.lib.T import ( - GasstationQueryRow, - ChargeQueryRow, - ClassicQueryRow, - AStarQueryRow, - QueryRow -) from evaluation.lib.algorithm import ranked_dijkstra -__all__ = [ - 'gasstation_query', - 'charge_query', - 'classic_query', - 'astar_query' -] + +@dataclass +class InitQueryRow: + start_node: str + target_node: str + query_time: float + time_contracted_graph: float + time_state_graph: float + nodes_state_graph: int + edges_state_graph: int + nodes_contracted_graph: int + edges_contracted_graph: int + + +@dataclass +class QueryRow: + start_node: str + target_node: str + query_time: float + trip_time: float + nodes: int + edges: int + charging_stations: int + + +@dataclass +class ChargingStopsQuery(QueryRow): + charging_stops: int + charging_time: float + + +@dataclass +class GasstationQueryRow(ChargingStopsQuery): + time_contracted_graph: float + time_state_graph: float + nodes_state_graph: int + edges_state_graph: int + + +@dataclass +class ChargeQueryRow(ChargingStopsQuery): + pass + + +@dataclass +class ClassicQueryRow(QueryRow): + dijkstra_rank: int + + +@dataclass +class AStarQueryRow(QueryRow): + pass + CACHE = {} @@ -100,6 +142,29 @@ def get_state_graph(contracted_graph, conf, f): return state_graph, state_graph_time +@no_gc +def init_gasstation_queries(graph, conf, s, t): + f = GasstationAccessFunctions(conf['consumption']['consumption_coefficient']) + contracted_graph, contraction_time = get_contracted_graph(graph, conf, f) + state_graph, state_graph_time = get_state_graph(contracted_graph, conf, f) + + start = perf_counter() + nx.shortest_path(state_graph, s, t) + runtime = perf_counter() - start + + return InitQueryRow( + start_node=s[0], + target_node=t[0], + query_time=runtime, + time_contracted_graph=contraction_time, + time_state_graph=state_graph_time, + nodes_state_graph=len(state_graph.nodes), + edges_state_graph=len(state_graph.edges), + nodes_contracted_graph=len(contracted_graph.nodes), + edges_contracted_graph=len(contracted_graph.edges) + ) + + @no_gc def gasstation_query(graph, conf, s, t): f = GasstationAccessFunctions(conf['consumption']['consumption_coefficient']) @@ -142,7 +207,7 @@ def gasstation_query(graph, conf, s, t): @no_gc def charge_query(graph, conf, s, t): start = perf_counter() - if conf['consumption']['type'] == 'gasstation': + if conf['consumption'].get('type', 'distance') == 'time': c = consumption_function_time_factory(conf['consumption']['consumption_coefficient']) else: c = consumption_function_distance_factory(conf['consumption']['consumption_coefficient']) @@ -236,3 +301,15 @@ def astar_query(graph, conf, s, t): edges=len(graph.edges), charging_stations=len(graph.charging_stations) ) + + +Query = namedtuple('Query', field_names=['query_function', 'filename', 'row_class']) + +query_relations = { + 'classic': Query(classic_query, 'classic.csv', ClassicQueryRow), + 'astar': Query(astar_query, 'astar.csv', AStarQueryRow), + 'bidirectional': Query(bidirectional_query, 'bidirectional.csv', QueryRow), + 'gasstation': Query(gasstation_query, 'gasstation.csv', GasstationQueryRow), + 'charge': Query(charge_query, 'charge.csv', ChargeQueryRow), + 'init': Query(init_gasstation_queries, 'charge.csv', InitQueryRow), +} diff --git a/evaluation/results/example/queries/astar.csv b/evaluation/results/example/queries/astar.csv index e6010cd52686cb7bc3a1fc571ec293280fceecff..2ae67970212495a7d5f515a4d3516fbbfa12dcbe 100644 --- a/evaluation/results/example/queries/astar.csv +++ b/evaluation/results/example/queries/astar.csv @@ -1,11 +1,31 @@ start_node,target_node,query_time,trip_time,nodes,edges,charging_stations -2598983283,408478759,0.013125125999067677,474.28161566578916,2827,5691,1 -2700898238,5609333817,0.016497372998856008,470.98184955100396,2827,5691,1 -2618923396,474997347,0.006164742000692058,215.81175077372617,2827,5691,1 -549931437,34053449,0.017117833998781862,408.5252946946664,2827,5691,1 -549931430,317841011,0.00442360599845415,238.55382896092655,2827,5691,1 -4955446066,408478821,0.021316337002645014,500.6328612976349,2827,5691,1 -4304042853,7115183087,0.009966515000996878,333.6356004801343,2827,5691,1 -7286135579,4321209903,0.012021296999591868,380.2172229283969,2827,5691,1 -2604949288,288944222,0.011947100996621884,355.89937200596574,2827,5691,1 -1829401915,1253880618,0.01816958400013391,574.1116106198256,2827,5691,1 +7257113602,2614920419,0.003425089998927433,234.7336669483648,2827,5691,1 +360747540,317839543,0.0001752520001900848,None,2827,5691,1 +475912311,474997358,0.014303740001196275,604.3448574846665,2827,5691,1 +288943151,661183953,0.02107892499770969,690.6292319112416,2827,5691,1 +4475742630,2600670536,0.016499384000780992,608.5541358696867,2827,5691,1 +600852676,317841014,0.0003728039991983678,15.79447577249269,2827,5691,1 +2431244615,360747697,0.025924133999069454,None,2827,5691,1 +321209230,292484328,0.02586445300039486,None,2827,5691,1 +4321209902,469718545,0.020031713000207674,515.0475136686434,2827,5691,1 +4383156580,687130893,0.02593540200177813,850.1534973588364,2827,5691,1 +7257113602,2614920419,0.0034453539992682636,234.7336669483648,2827,5691,2 +360747540,317839543,0.0001817699994717259,None,2827,5691,2 +475912311,474997358,0.014159638998535229,604.3448574846665,2827,5691,2 +288943151,661183953,0.021552178001002176,690.6292319112416,2827,5691,2 +4475742630,2600670536,0.016843181001604535,608.5541358696867,2827,5691,2 +600852676,317841014,0.0003893689972755965,15.79447577249269,2827,5691,2 +2431244615,360747697,0.025895298000250477,None,2827,5691,2 +321209230,292484328,0.025502017000690103,None,2827,5691,2 +4321209902,469718545,0.02000323700121953,515.0475136686434,2827,5691,2 +4383156580,687130893,0.02703422199920169,850.1534973588364,2827,5691,2 +7257113602,2614920419,0.0035775120013568085,234.7336669483648,2827,5691,3 +360747540,317839543,0.00023692499962635338,None,2827,5691,3 +475912311,474997358,0.016566453999985242,604.3448574846665,2827,5691,3 +288943151,661183953,0.024229221999121364,690.6292319112416,2827,5691,3 +4475742630,2600670536,0.018492909999622498,608.5541358696867,2827,5691,3 +600852676,317841014,0.0004649639995477628,15.79447577249269,2827,5691,3 +2431244615,360747697,0.029205666000052588,None,2827,5691,3 +321209230,292484328,0.027609084001596784,None,2827,5691,3 +4321209902,469718545,0.02324765899902559,515.0475136686434,2827,5691,3 +4383156580,687130893,0.026546643999608932,850.1534973588364,2827,5691,3 diff --git a/evaluation/results/example/queries/bidirectional.csv b/evaluation/results/example/queries/bidirectional.csv index 1640e2c6e0b26f2ffd6912bb2ec4e33ba303543e..4e3184c5fe0493e941b2feedb985bf07e6d607b9 100644 --- a/evaluation/results/example/queries/bidirectional.csv +++ b/evaluation/results/example/queries/bidirectional.csv @@ -1,11 +1,31 @@ start_node,target_node,query_time,trip_time,nodes,edges,charging_stations -2598983283,408478759,0.004632356998627074,474.2816156657892,2827,5691,1 -2700898238,5609333817,0.010622931997204432,470.9818495510041,2827,5691,1 -2618923396,474997347,0.0016780660007498227,215.8117507737262,2827,5691,1 -549931437,34053449,0.010984134001773782,408.5252946946663,2827,5691,1 -549931430,317841011,0.008399117999942973,238.55382896092655,2827,5691,1 -4955446066,408478821,0.013294715001393342,500.6328612976349,2827,5691,1 -4304042853,7115183087,0.012315859999944223,333.63560048013414,2827,5691,1 -7286135579,4321209903,0.012433054998837179,380.21722292839695,2827,5691,1 -2604949288,288944222,0.006432009999116417,355.8993720059657,2827,5691,1 -1829401915,1253880618,0.004495074001169996,574.1116106198256,2827,5691,1 +7257113602,2614920419,0.0024938649985415395,234.73366694836477,2827,5691,1 +360747540,317839543,0.00023680300000705756,None,2827,5691,1 +475912311,474997358,0.002441155000269646,604.3448574846666,2827,5691,1 +288943151,661183953,0.014152913998259464,690.6292319112414,2827,5691,1 +4475742630,2600670536,0.005746017999626929,608.5541358696867,2827,5691,1 +600852676,317841014,0.00019180799790774472,15.79447577249269,2827,5691,1 +2431244615,360747697,7.557899880339392e-05,None,2827,5691,1 +321209230,292484328,0.0007444590009981766,None,2827,5691,1 +4321209902,469718545,0.011361551001755288,515.0475136686433,2827,5691,1 +4383156580,687130893,0.01430811300087953,850.1534973588364,2827,5691,1 +7257113602,2614920419,0.002172327000153018,234.73366694836477,2827,5691,2 +360747540,317839543,0.0003706520001287572,None,2827,5691,2 +475912311,474997358,0.0022838080003566574,604.3448574846666,2827,5691,2 +288943151,661183953,0.015897211000265088,690.6292319112414,2827,5691,2 +4475742630,2600670536,0.007147289001295576,608.5541358696867,2827,5691,2 +600852676,317841014,0.0001917690024129115,15.79447577249269,2827,5691,2 +2431244615,360747697,7.704100062255748e-05,None,2827,5691,2 +321209230,292484328,0.0008020479981496464,None,2827,5691,2 +4321209902,469718545,0.01499502699880395,515.0475136686433,2827,5691,2 +4383156580,687130893,0.015399750001961365,850.1534973588364,2827,5691,2 +7257113602,2614920419,0.0023540750007668976,234.73366694836477,2827,5691,3 +360747540,317839543,0.00020862200108240359,None,2827,5691,3 +475912311,474997358,0.002252874997793697,604.3448574846666,2827,5691,3 +288943151,661183953,0.013268393999169348,690.6292319112414,2827,5691,3 +4475742630,2600670536,0.005893120000109775,608.5541358696867,2827,5691,3 +600852676,317841014,0.0001957059976120945,15.79447577249269,2827,5691,3 +2431244615,360747697,7.633199857082218e-05,None,2827,5691,3 +321209230,292484328,0.0006991549998929258,None,2827,5691,3 +4321209902,469718545,0.011508765001053689,515.0475136686433,2827,5691,3 +4383156580,687130893,0.01308444300229894,850.1534973588364,2827,5691,3 diff --git a/evaluation/results/example/queries/charge.csv b/evaluation/results/example/queries/charge.csv index b01d0f48b639436a5da04f68e9141495db05a268..1e47cf3fd8d264c9cfc7ed64a7d66a7947ffc815 100644 --- a/evaluation/results/example/queries/charge.csv +++ b/evaluation/results/example/queries/charge.csv @@ -1,3 +1,61 @@ -start_node,target_node,query_time,trip_time,nodes,edges,charging_stations,charging_stops,charging_time -2598983283,408478759,0.5493511460008449,474.28161566578916,2828,5691,1,0,0 -2700898238,5609333817,0.473819877999631,470.98184955100396,2827,5691,1,0,0 +start_node,target_node,query_time,time_contracted_graph,time_state_graph,nodes_state_graph,edges_state_graph,nodes_contracted_graph,edges_contracted_graph +7257113602,2614920419,0.04417361699961475,234.7336669483648,2828,5691,1,0,0 +360747540,317839543,0.005578544998570578,None,2827,5691,1,0,0 +475912311,474997358,0.22231816099883872,604.3448574846665,2828,5691,1,0,0 +288943151,661183953,0.33749997400082066,690.6292319112416,2827,5691,1,0,0 +4475742630,2600670536,0.25029388700204436,608.5541358696867,2828,5691,1,0,0 +600852676,317841014,0.006943453998246696,15.79447577249269,2827,5691,1,0,0 +2431244615,360747697,0.7127236289998109,None,2828,5691,1,0,0 +321209230,292484328,0.8131562290000147,None,2827,5691,1,0,0 +4321209902,469718545,0.5710137329988356,515.0475136686434,2828,5691,1,0,0 +4383156580,687130893,0.7911051690025488,850.1534973588364,2827,5691,1,0,0 +7257113602,2614920419,0.039505632001237245,234.7336669483648,2828,5691,1,0,0 +360747540,317839543,0.004337693000707077,None,2827,5691,1,0,0 +475912311,474997358,0.23100137299843482,604.3448574846665,2828,5691,1,0,0 +288943151,661183953,0.3457401560008293,690.6292319112416,2827,5691,1,0,0 +4475742630,2600670536,0.2576170880020072,608.5541358696867,2828,5691,1,0,0 +600852676,317841014,0.007051110002066707,15.79447577249269,2827,5691,1,0,0 +2431244615,360747697,0.7302340659989568,None,2828,5691,1,0,0 +321209230,292484328,0.8457804139979999,None,2827,5691,1,0,0 +4321209902,469718545,0.5734661419992335,515.0475136686434,2828,5691,1,0,0 +4383156580,687130893,0.7975812110016705,850.1534973588364,2827,5691,1,0,0 +7257113602,2614920419,0.04413134300193633,234.7336669483648,2828,5691,2,0,0 +360747540,317839543,0.005301458997564623,None,2827,5691,2,0,0 +475912311,474997358,0.3484835259987449,604.3448574846665,2828,5691,2,0,0 +288943151,661183953,0.5715702339985,690.6292319112416,2827,5691,2,0,0 +4475742630,2600670536,0.4609526240019477,608.5541358696867,2828,5691,2,0,0 +600852676,317841014,0.007031798999378225,15.79447577249269,2827,5691,2,0,0 +2431244615,360747697,0.7271346319976146,None,2828,5691,2,0,0 +321209230,292484328,1.1185276030009845,None,2827,5691,2,0,0 +4321209902,469718545,0.7003590410022298,515.0475136686434,2828,5691,2,0,0 +4383156580,687130893,1.0292930379982863,850.1534973588364,2827,5691,2,0,0 +7257113602,2614920419,0.04167314300138969,234.7336669483648,2828,5691,2,0,0 +360747540,317839543,0.004437187002622522,None,2827,5691,2,0,0 +475912311,474997358,0.34496584499720484,604.3448574846665,2828,5691,2,0,0 +288943151,661183953,0.5729073639995477,690.6292319112416,2827,5691,2,0,0 +4475742630,2600670536,0.451093657000456,608.5541358696867,2828,5691,2,0,0 +600852676,317841014,0.007082921001710929,15.79447577249269,2827,5691,2,0,0 +2431244615,360747697,0.7007734369981335,None,2828,5691,2,0,0 +321209230,292484328,1.1660108550022414,None,2827,5691,2,0,0 +4321209902,469718545,0.7000758499998483,515.0475136686434,2828,5691,2,0,0 +4383156580,687130893,1.0249772860006487,850.1534973588364,2827,5691,2,0,0 +7257113602,2614920419,0.04038945399952354,234.7336669483648,2828,5691,3,0,0 +360747540,317839543,0.004385509000712773,None,2827,5691,3,0,0 +475912311,474997358,0.3832064130001527,604.3448574846665,2828,5691,3,0,0 +288943151,661183953,0.6150414959993213,690.6292319112416,2827,5691,3,0,0 +4475742630,2600670536,0.4840831729998172,608.5541358696867,2828,5691,3,0,0 +600852676,317841014,0.007041312001092592,15.79447577249269,2827,5691,3,0,0 +2431244615,360747697,0.7734838469987153,None,2828,5691,3,0,0 +321209230,292484328,1.1656792079993465,None,2827,5691,3,0,0 +4321209902,469718545,0.7038088709996373,515.0475136686434,2828,5691,3,0,0 +4383156580,687130893,1.0459808870000415,850.1534973588364,2827,5691,3,0,0 +7257113602,2614920419,0.03892015700330376,234.7336669483648,2828,5691,3,0,0 +360747540,317839543,0.004218695998133626,None,2827,5691,3,0,0 +475912311,474997358,0.3512326160016528,604.3448574846665,2828,5691,3,0,0 +288943151,661183953,0.5784528069998487,690.6292319112416,2827,5691,3,0,0 +4475742630,2600670536,0.4557092239992926,608.5541358696867,2828,5691,3,0,0 +600852676,317841014,0.007286233998456737,15.79447577249269,2827,5691,3,0,0 +2431244615,360747697,0.7106638779987406,None,2828,5691,3,0,0 +321209230,292484328,1.1356648719993245,None,2827,5691,3,0,0 +4321209902,469718545,0.694794005001313,515.0475136686434,2828,5691,3,0,0 +4383156580,687130893,1.059437167001306,850.1534973588364,2827,5691,3,0,0 diff --git a/evaluation/results/example/queries/classic.csv b/evaluation/results/example/queries/classic.csv index 46f65699342aff790e8b5d946bafce2184b9610c..7d4f7e0451217bbe837b13af0b78bba985a03887 100644 --- a/evaluation/results/example/queries/classic.csv +++ b/evaluation/results/example/queries/classic.csv @@ -1,11 +1,31 @@ start_node,target_node,query_time,trip_time,nodes,edges,charging_stations,dijkstra_rank -2598983283,408478759,0.006198499002493918,474.28161566578916,2827,5691,1,None -2700898238,5609333817,0.005541589998756535,470.98184955100396,2827,5691,1,None -2618923396,474997347,0.0021378410019678995,215.81175077372617,2827,5691,1,None -549931437,34053449,0.00549610300004133,408.5252946946664,2827,5691,1,None -549931430,317841011,0.0026378820002719294,238.55382896092655,2827,5691,1,None -4955446066,408478821,0.0061328590018092655,500.6328612976349,2827,5691,1,None -4304042853,7115183087,0.0038453830020444,333.6356004801343,2827,5691,1,None -7286135579,4321209903,0.004218541998852743,380.2172229283969,2827,5691,1,None -2604949288,288944222,0.004922629999782657,355.89937200596574,2827,5691,1,None -1829401915,1253880618,0.006157183997856919,574.1116106198256,2827,5691,1,None +7257113602,2614920419,0.0011558799997146707,234.7336669483648,2827,5691,1,419 +360747540,317839543,4.3545001972233877e-05,None,2827,5691,1,None +475912311,474997358,0.004979000001185341,604.3448574846665,2827,5691,1,1925 +288943151,661183953,0.006015088998537976,690.6292319112416,2827,5691,1,2454 +4475742630,2600670536,0.005340313997294288,608.5541358696867,2827,5691,1,2125 +600852676,317841014,0.00012513399997260422,15.79447577249269,2827,5691,1,43 +2431244615,360747697,0.006709844001306919,None,2827,5691,1,None +321209230,292484328,0.006763671997759957,None,2827,5691,1,None +4321209902,469718545,0.005814049000036903,515.0475136686434,2827,5691,1,2364 +4383156580,687130893,0.006802560998039553,850.1534973588364,2827,5691,1,2693 +7257113602,2614920419,0.0011122520008939318,234.7336669483648,2827,5691,2,419 +360747540,317839543,4.43459975940641e-05,None,2827,5691,2,None +475912311,474997358,0.004983306000212906,604.3448574846665,2827,5691,2,1925 +288943151,661183953,0.006096760000218637,690.6292319112416,2827,5691,2,2454 +4475742630,2600670536,0.0053229869990900625,608.5541358696867,2827,5691,2,2125 +600852676,317841014,0.00012281499948585406,15.79447577249269,2827,5691,2,43 +2431244615,360747697,0.008665500001370674,None,2827,5691,2,None +321209230,292484328,0.007027558000118006,None,2827,5691,2,None +4321209902,469718545,0.00606389200038393,515.0475136686434,2827,5691,2,2364 +4383156580,687130893,0.006716875999700278,850.1534973588364,2827,5691,2,2693 +7257113602,2614920419,0.001425022001058096,234.7336669483648,2827,5691,3,419 +360747540,317839543,4.8619996960042045e-05,None,2827,5691,3,None +475912311,474997358,0.006033845998899778,604.3448574846665,2827,5691,3,1925 +288943151,661183953,0.007887597999797435,690.6292319112416,2827,5691,3,2454 +4475742630,2600670536,0.006198561000928748,608.5541358696867,2827,5691,3,2125 +600852676,317841014,0.00013953099914942868,15.79447577249269,2827,5691,3,43 +2431244615,360747697,0.0084671119984705,None,2827,5691,3,None +321209230,292484328,0.007889581000199541,None,2827,5691,3,None +4321209902,469718545,0.007892913999967277,515.0475136686434,2827,5691,3,2364 +4383156580,687130893,0.009008050998090766,850.1534973588364,2827,5691,3,2693 diff --git a/evaluation/results/example/queries/gasstation.csv b/evaluation/results/example/queries/gasstation.csv index 543672b2257a60b5c99d2d666d5a8f2aae705f88..095144ca6abe22bbb113afa013f53aabf829ff7c 100644 --- a/evaluation/results/example/queries/gasstation.csv +++ b/evaluation/results/example/queries/gasstation.csv @@ -1,11 +1,31 @@ start_node,target_node,query_time,trip_time,nodes,edges,charging_stations,charging_stops,charging_time,time_contracted_graph,time_state_graph,nodes_state_graph,edges_state_graph -2598983283,408478759,0.014160153001284925,474.28161566578916,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -2700898238,5609333817,0.017143711000244366,470.98184955100396,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -2618923396,474997347,0.006243143998290179,215.81175077372617,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -549931437,34053449,0.01724633399862796,408.5252946946664,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -549931430,317841011,0.00438061699969694,238.55382896092655,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -4955446066,408478821,0.021376029999373714,500.6328612976349,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -4304042853,7115183087,0.009972768002626253,333.6356004801343,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -7286135579,4321209903,0.012199271001009038,380.2172229283969,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -2604949288,288944222,0.012062140001944499,355.89937200596574,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 -1829401915,1253880618,0.021040518000518205,574.1116106198256,2827,5691,1,0,0,7.763900066493079e-05,2.6272002287441865e-05,0,0 +7257113602,2614920419,0.00366084800043609,234.7336669483648,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +360747540,317839543,0.00018435500169289298,None,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +475912311,474997358,0.01416455500293523,604.3448574846665,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +288943151,661183953,0.02157536300001084,690.6292319112416,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +4475742630,2600670536,0.016644380000798265,608.5541358696867,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +600852676,317841014,0.00037730500116595067,15.79447577249269,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +2431244615,360747697,0.02574609099974623,None,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +321209230,292484328,0.025969820002501365,None,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +4321209902,469718545,0.02065769999899203,515.0475136686434,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +4383156580,687130893,0.02732778499921551,850.1534973588364,2827,5691,1,0,0,7.73779975133948e-05,2.7985999622615054e-05,0,0 +7257113602,2614920419,0.004108856999664567,234.7336669483648,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +360747540,317839543,0.0002651780014275573,None,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +475912311,474997358,0.01514115700047114,604.3448574846665,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +288943151,661183953,0.023305662001803285,690.6292319112416,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +4475742630,2600670536,0.017676034000032814,608.5541358696867,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +600852676,317841014,0.00041101500028162263,15.79447577249269,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +2431244615,360747697,0.025700120997498743,None,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +321209230,292484328,0.025627312999858987,None,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +4321209902,469718545,0.022171615000843303,515.0475136686434,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +4383156580,687130893,0.027555010001378832,850.1534973588364,2827,5691,2,0,0,0.013347836000320967,6.441799996537156e-05,2,2 +7257113602,2614920419,0.0033716799989633728,234.7336669483648,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +360747540,317839543,0.0001833160022215452,None,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +475912311,474997358,0.014127130001725163,604.3448574846665,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +288943151,661183953,0.02109723700050381,690.6292319112416,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +4475742630,2600670536,0.01875708900115569,608.5541358696867,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +600852676,317841014,0.0004193280001345556,15.79447577249269,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +2431244615,360747697,0.026239938000799157,None,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +321209230,292484328,0.029253147000417812,None,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +4321209902,469718545,0.021028413000749424,515.0475136686434,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10 +4383156580,687130893,0.025430024998058798,850.1534973588364,2827,5691,3,0,0,0.029607708998810267,0.00015924499894026667,7,10