diff --git a/debug/classic.csv b/debug/classic.csv index f2a88c57248be07997b4312dc7d65bfdb7da9c29..f345f7c6d371cadd94ef36943f7857cdbc07a222 100644 --- a/debug/classic.csv +++ b/debug/classic.csv @@ -1,121 +1,81 @@ start_node,target_node,query_time,trip_time,nodes,edges,charging_stations,dijkstra_rank -278788097,278788064,3.6123998143011704e-05,2.544455887440966,513591,775628,921,4 -1974276840,304743827,4.0936000004876405e-05,5.468344830265442,513591,775628,921,4 -4379640612,251721242,4.584600173984654e-05,4.400673382656193,513591,775628,921,4 -7052016254,7052035885,4.489799903240055e-05,4.910422549620248,513591,775628,921,4 -297358502,296505210,4.975599949830212e-05,6.006005554923204,513591,775628,921,4 -4001179266,279803170,4.0498998714610934e-05,6.787909702485399,513591,775628,921,4 -370260513,15934136,3.024999750778079e-05,3.6488563422704834,513591,775628,921,4 -253688476,253688478,4.657600220525637e-05,5.102975420893581,513591,775628,921,4 -670244222,670244208,4.483399970922619e-05,2.8777689306919836,513591,775628,921,4 -295812797,1186947550,4.6608998673036695e-05,2.305732311136417,513591,775628,921,4 -2092158041,110968707,3.09450006170664e-05,10.348220071064414,513591,775628,921,4 -1019862577,310740297,5.166999835637398e-05,3.1150150790654334,513591,775628,921,4 -1596409452,21349599,2.5798999558901414e-05,6.226881406984204,513591,775628,921,4 -3629862160,35341595,4.756199996336363e-05,4.243324937022972,513591,775628,921,4 -5116240898,5116240897,3.0107003112789243e-05,1.7214481834825603,513591,775628,921,4 -9201751,9193591,4.026600072393194e-05,10.338578998313869,513591,775628,921,4 -325718780,1398513311,3.746799848158844e-05,7.194162255941293,513591,775628,921,4 -384931335,384931529,2.9496000934159383e-05,7.172397044818459,513591,775628,921,4 -3655203260,3655203230,4.6779998228885233e-05,26.340009684234197,513591,775628,921,4 -1772688730,1772688731,4.06340004701633e-05,1.8021178538349452,513591,775628,921,4 -3779253653,21605682,3.820599886239506e-05,6.440256144606137,513591,775628,921,16 -3442894702,1288303198,8.64629982970655e-05,10.174488131976736,513591,775628,921,16 -2734232768,1368463837,7.194700083346106e-05,24.979432711128094,513591,775628,921,16 -324460984,324460952,8.43620000523515e-05,34.855892541880934,513591,775628,921,16 -1388209924,1376143875,7.31250001990702e-05,23.369454475567824,513591,775628,921,16 -3296257345,33024617,5.04890012962278e-05,73.35269873617314,513591,775628,921,16 -21516057,21516060,6.770400068489835e-05,44.07024744026253,513591,775628,921,16 -4278663465,31927910,6.415900134015828e-05,17.381704300263863,513591,775628,921,16 -7010426275,7010426240,7.610299871885218e-05,11.550300725435491,513591,775628,921,16 -4451772155,2151728158,8.008000077097677e-05,21.968863349225796,513591,775628,921,16 -530230113,5220432715,6.3292001868831e-05,17.91782716089565,513591,775628,921,16 -995959176,996113704,6.185500024002977e-05,65.0727740633652,513591,775628,921,16 -281260920,2799020208,7.42839984013699e-05,36.80301813801878,513591,775628,921,16 -560149740,2337055488,7.689500125707127e-05,40.163722333537585,513591,775628,921,16 -1978950983,111007577,5.8395999076310545e-05,62.312263177665606,513591,775628,921,16 -82533584,82533589,0.00010228799874312244,22.531355395225866,513591,775628,921,16 -367526344,322828416,0.00014162099978420883,26.592301250432616,513591,775628,921,16 -2088441607,296969297,0.00010998300058417954,50.33670383622816,513591,775628,921,16 -1844442623,357475749,0.000112900001113303,62.81023925748234,513591,775628,921,16 -1028144237,1056964046,9.897800191538408e-05,68.73549942625228,513591,775628,921,16 -3220840672,201851149,0.0001950309997482691,174.32355211015434,513591,775628,921,64 -36748523,2388848,0.00019567200070014223,121.32580835738597,513591,775628,921,64 -3130347756,3130347329,0.0002424809972580988,108.27118302141959,513591,775628,921,64 -1547069810,411133732,0.0001613509994058404,256.40308180241857,513591,775628,921,64 -3597248342,1674603507,0.00023229100042954087,34.85652333729989,513591,775628,921,64 -3790253212,59975819,0.00016300100105581805,107.86232786378116,513591,775628,921,64 -2895826757,297507303,0.00016575200061197393,107.45826802804294,513591,775628,921,64 -1736934595,20966465,0.00017126899911090732,159.1639460794961,513591,775628,921,64 -319615593,2518878954,0.00023569699988001958,43.45869902592796,513591,775628,921,64 -5002927891,3754266159,0.00021129200104041956,57.98113603320815,513591,775628,921,64 -2579137172,5063570813,0.0002142390003427863,61.5366358276483,513591,775628,921,64 -312763593,134701949,0.00022530500064021908,108.1307587387181,513591,775628,921,64 -3369654275,1473378283,0.000288334002107149,109.99002882889786,513591,775628,921,64 -249633765,249633758,0.00024689299971214496,47.61533465071713,513591,775628,921,64 -4291056236,4291055580,0.0001970149969565682,261.1600903088694,513591,775628,921,64 -1637802213,320226813,0.00026519899984123185,28.070885122314884,513591,775628,921,64 -616611038,2583559409,0.0002618830003484618,37.246881034372066,513591,775628,921,64 -36318594,11666598,0.00024141800167853944,44.57229612596537,513591,775628,921,64 -383521,5095604737,0.00019654999778140336,174.0467542346948,513591,775628,921,64 -2068590974,318895208,0.0002688839995244052,36.21930872762024,513591,775628,921,64 -3247535208,25626731,0.0004903619992546737,634.8937297982908,513591,775628,921,256 -461546,653603498,0.0005161930021131411,881.3305760058632,513591,775628,921,256 -581195,581141,0.0004575650018523447,695.575903128425,513591,775628,921,256 -979225594,6783606326,0.0004905160021735355,432.4076961369738,513591,775628,921,256 -26261827,410452925,0.0007324520011025015,71.44640860941952,513591,775628,921,256 -2143163767,470897387,0.0005068809987278655,172.57630372344587,513591,775628,921,256 -1448902129,33958260,0.0004416499978106003,966.3231357738559,513591,775628,921,256 -509267256,508577799,0.00042274699808331206,333.6962081339936,513591,775628,921,256 -530798414,82538716,0.0005942719981248956,490.2426858850804,513591,775628,921,256 -3594887294,1664388881,0.0006805939992773347,173.17787222910795,513591,775628,921,256 -1444721834,2083020058,0.0006834269988758024,123.41660204450442,513591,775628,921,256 -453231089,600514464,0.0007116740016499534,80.29099386719858,513591,775628,921,256 -515323,77924156,0.000465983001049608,869.837002491225,513591,775628,921,256 -34004398,260977399,0.0005460020001919474,237.7417902569312,513591,775628,921,256 -346932262,3129578003,0.0007214979996206239,98.94681154802963,513591,775628,921,256 -319048125,287464702,0.0007328450010390952,104.10802402818534,513591,775628,921,256 -3556528925,357489219,0.0006546719996549655,136.23245421330063,513591,775628,921,256 -139541,293536918,0.0004627560010703746,770.2121702120756,513591,775628,921,256 -2131942265,2071408447,0.0006551229998876806,164.71708692338362,513591,775628,921,256 -2600312295,323125728,0.0006524159980472177,225.57100183204827,513591,775628,921,256 -319442900,2887934658,0.0024950549995992333,407.2932625146748,513591,775628,921,1024 -32008898,268772387,0.0015889329988567624,2803.148662897562,513591,775628,921,1024 -1111574411,6767508665,0.0015920830010145437,2625.511934495633,513591,775628,921,1024 -1969643540,14001867,0.001886399000795791,2293.8522997773557,513591,775628,921,1024 -1885077335,456744,0.0018805790023179725,1770.0419997862678,513591,775628,921,1024 -60263679,2489316973,0.0026386400022602174,444.55292443906046,513591,775628,921,1024 -3738929332,6560433799,0.0016814640002849046,3274.6931931857334,513591,775628,921,1024 -49874983,3674012436,0.001833171998441685,2070.5750652362267,513591,775628,921,1024 -5119369026,1940161211,0.0027592480000748765,410.0405387921802,513591,775628,921,1024 -6551313413,7049979601,0.0023089040005288552,2374.7962222547726,513591,775628,921,1024 -3071384878,306251709,0.0026317410010960884,435.8936768859933,513591,775628,921,1024 -1485262466,1482777851,0.0017236380008398555,1929.423503079553,513591,775628,921,1024 -134697348,303266729,0.002748591999989003,115.17308427261189,513591,775628,921,1024 -2362354369,3740059705,0.0027479170021251775,301.2279449750924,513591,775628,921,1024 -5116240907,5119483566,0.0016262169992842246,1366.491107180064,513591,775628,921,1024 -241863215,3137765348,0.0019644699968921486,850.4136645128996,513591,775628,921,1024 -501002,1306947734,0.001808911001717206,2646.78472328243,513591,775628,921,1024 -3124949600,1649447784,0.0022134210012154654,999.3340981015767,513591,775628,921,1024 -4523763498,1856510925,0.0022163489993545227,669.239035967434,513591,775628,921,1024 -3223961182,2337151916,0.001684728002146585,1366.2368261840381,513591,775628,921,1024 -345545628,2260191455,0.008373068998480448,3719.196155948357,513591,775628,921,4096 -3192919201,5726480086,0.0070519789987884,16132.529041698832,513591,775628,921,4096 -1205905007,5501907575,0.011622191002970794,295.4047787417922,513591,775628,921,4096 -17294385,146739,0.007572518003144069,6210.995751802389,513591,775628,921,4096 -1598126176,3585723044,0.007197785998869222,4283.211503733242,513591,775628,921,4096 -324150617,300414752,0.010200359000009485,1625.86832497776,513591,775628,921,4096 -295207349,4431275625,0.011280605998763349,418.1311220240191,513591,775628,921,4096 -2898144982,367726156,0.007909354000730673,2224.6100681615776,513591,775628,921,4096 -254043139,29750343,0.007265272997756256,5038.120186733389,513591,775628,921,4096 -357130628,524422773,0.010862682000151835,590.976768156467,513591,775628,921,4096 -447113,1753939781,0.0074761439973372035,3006.594288140207,513591,775628,921,4096 -2654951621,4733405417,0.0066350830020383,4938.75483840242,513591,775628,921,4096 -304392060,561314049,0.011186251998879015,674.9023483434884,513591,775628,921,4096 -256225555,3445560484,0.011652896999294171,786.5613711924018,513591,775628,921,4096 -251332730,292272335,0.008115971999359317,2718.092432316061,513591,775628,921,4096 -148648471,2165134791,0.007913038996775867,1809.9876798503608,513591,775628,921,4096 -5062779692,2071316312,0.011333256999932928,676.5217399000071,513591,775628,921,4096 -1902094309,3805108849,0.007831605998944724,3874.210860820841,513591,775628,921,4096 -25468519,31292241,0.007029169999441365,5912.370671266628,513591,775628,921,4096 -2400252153,350036028,0.011470358997030417,378.81892011281525,513591,775628,921,4096 +266770384,26512639,0.00010164000013901386,92.39126579388387,513591,775628,921,64 +6245491151,2414294704,0.00020633799977076706,96.25089604977572,513591,775628,921,64 +2567615920,2567615985,0.00019709399930434301,104.4465538356171,513591,775628,921,64 +6355147731,364380126,0.00023781799973221496,32.39877283968328,513591,775628,921,64 +98048843,1396697840,0.0002142590001312783,34.57797722095909,513591,775628,921,64 +5497775833,31907391,0.00031088399919099174,62.31629859945005,513591,775628,921,64 +267848955,2127631609,0.00018277400158694945,75.39559005128869,513591,775628,921,64 +3267643176,31496705,0.00017164400014735293,100.14490596769456,513591,775628,921,64 +608592398,1430925522,0.0002012940003623953,192.96369240720634,513591,775628,921,64 +7037870356,6157399526,0.00022610499945585616,53.94254537797592,513591,775628,921,64 +300512586,6771026237,0.000205901000299491,57.2294299925239,513591,775628,921,54 +330108819,21391493,0.0001937119996000547,144.9794901669213,513591,775628,921,64 +323173118,323170335,0.00023016900013317354,139.88923824750447,513591,775628,921,64 +668355561,74239698,0.0002018529994529672,486.2684671993839,513591,775628,921,64 +246729944,2135807035,0.00019468599930405617,152.49294251520968,513591,775628,921,64 +14003240,3863557122,0.00019984999926236924,71.11700922775599,513591,775628,921,64 +2801197168,5635402325,0.00019922799947380554,186.97069680923283,513591,775628,921,64 +4200289169,432772022,0.00023616900034539867,40.982597668115275,513591,775628,921,64 +3742897190,3742897205,0.000259584001469193,46.36558890617164,513591,775628,921,64 +1615544002,6367848393,0.00019980000070063397,213.51214967164023,513591,775628,921,64 +476035165,573415726,0.0007687699999223696,240.19903764870853,513591,775628,921,256 +479099916,4057780978,0.00048440099999425,908.9018423605959,513591,775628,921,256 +5251859324,5296885029,0.00046675199882884044,180.18771055276815,513591,775628,921,256 +451384269,6991953123,0.0006678720001218608,566.2518909105926,513591,775628,921,256 +4029640473,1555684750,0.0007564330007880926,64.6092981019593,513591,775628,921,256 +2446052142,7001192381,0.0007961640003486536,143.91169784075623,513591,775628,921,256 +60013445,2509486117,0.0004732729994429974,698.9197207144779,513591,775628,921,256 +29005808,2090461523,0.00048097100079758093,780.7444025172283,513591,775628,921,256 +561305072,3446098354,0.0007366410009126412,223.3581035176849,513591,775628,921,256 +1597984545,447768304,0.0005181039996386971,621.3623202000684,513591,775628,921,256 +5653835915,5311215307,0.0004822490009246394,638.2187310130835,513591,775628,921,256 +2120420445,26616157,0.000642011998934322,320.1619307772698,513591,775628,921,256 +1755318539,4561388697,0.0005720720000681467,330.05097365736015,513591,775628,921,256 +295389614,292762245,0.0007859530014684424,166.07695280989503,513591,775628,921,256 +309533148,276379851,0.0006863409998913994,350.1996661022576,513591,775628,921,256 +2943178350,1700849137,0.0005510640003194567,702.367616573946,513591,775628,921,256 +206224069,206225999,0.00046284400013973936,422.0440141421653,513591,775628,921,256 +1905682923,5254805194,0.00047709099999337923,642.19945113859,513591,775628,921,256 +5123007955,2794876437,0.00046947900045779534,579.1817210835991,513591,775628,921,256 +1579841594,1899778679,0.0006613479999941774,250.4962434959953,513591,775628,921,256 +1955737136,268088587,0.001894903998618247,2718.6930170275523,513591,775628,921,1024 +274306473,495054379,0.0027508719995239517,314.72405961212746,513591,775628,921,1024 +11840583,2943190473,0.0021290320000844076,813.1093109545037,513591,775628,921,1024 +3699558576,3264214896,0.0027594479997787857,377.29780925582327,513591,775628,921,1024 +3738176651,25249327,0.0016858350008988054,2576.412491543233,513591,775628,921,1024 +17084349,983584653,0.001765242001056322,1298.199887431708,513591,775628,921,1024 +770012290,2606021636,0.0020961320005881134,251.76600932797248,513591,775628,921,1024 +321371373,2160170484,0.002739528999882168,176.73759996157358,513591,775628,921,1024 +508577657,769121552,0.0015958780004439177,1408.87864985193,513591,775628,921,1024 +1672379598,1113350706,0.0023581000004924135,1007.2694712809154,513591,775628,921,1024 +4231864517,5116870457,0.0015773060003994033,1527.0721512554521,513591,775628,921,1024 +3367699187,897458684,0.003062688998397789,231.77534270070603,513591,775628,921,1024 +4612386241,7102319708,0.0017135489997599507,3050.7461344702438,513591,775628,921,1024 +262983215,150743435,0.0019472260009933962,1033.8206945234438,513591,775628,921,1024 +2836359391,6560575032,0.0021497539983101888,2201.365942061172,513591,775628,921,1024 +3542681323,3039497446,0.001614000000699889,920.7308121576677,513591,775628,921,1024 +325592795,310431046,0.0026595079998514848,761.6871848993279,513591,775628,921,1024 +1713150268,3782946390,0.002158137000151328,1262.2316990870518,513591,775628,921,1024 +60671173,7328201794,0.0021976349999022204,982.1789995182467,513591,775628,921,1024 +12248660,600882002,0.002606453001135378,142.2688934426737,513591,775628,921,1024 +70709809,3870422831,0.010068650999528472,1253.5767747511682,513591,775628,921,4096 +4180648989,735376328,0.011635648999799741,256.6095408821192,513591,775628,921,4096 +2376882055,322868826,0.01085727799909364,543.5061122137873,513591,775628,921,4096 +2327184772,5251664967,0.006545509000716265,4653.851723522941,513591,775628,921,4096 +7361971258,2623147659,0.010228490000372403,1194.0335084334713,513591,775628,921,4096 +1912266439,1239244495,0.011797420000220882,451.5204197234411,513591,775628,921,4096 +1665554667,29909069,0.00742093900043983,2887.857603033543,513591,775628,921,4096 +1618827071,5924033,0.007921080999949481,3236.178002744769,513591,775628,921,4096 +21263762,1777121700,0.007452742000168655,3738.0324179569425,513591,775628,921,4096 +1305538894,2451041838,0.008189054000467877,1657.7545953681608,513591,775628,921,4096 +2329957745,1802844573,0.006803607000620104,3549.4557139180847,513591,775628,921,4096 +894102667,1548411599,0.010804612000356428,353.1334045002259,513591,775628,921,4096 +21257893,5422770729,0.0066953530003956985,5639.5876417807285,513591,775628,921,4096 +2382285597,2618368245,0.0065926329989451915,5686.4073473934395,513591,775628,921,4096 +206237532,256031819,0.0075648129986802815,2830.2054038387437,513591,775628,921,4096 +6719959105,3840409788,0.01188248200014641,306.3968962367907,513591,775628,921,4096 +1417863214,687540295,0.010906610999882105,342.3292761767111,513591,775628,921,4096 +2468426226,3998172276,0.006668341000477085,5707.76816434155,513591,775628,921,4096 +5758095530,26112827,0.007515190000049188,3608.984500742662,513591,775628,921,4096 +502334,4042094280,0.007020570999884512,4285.3647186866065,513591,775628,921,4096 diff --git a/debug/classic_old.csv b/debug/classic_old.csv new file mode 100644 index 0000000000000000000000000000000000000000..f2a88c57248be07997b4312dc7d65bfdb7da9c29 --- /dev/null +++ b/debug/classic_old.csv @@ -0,0 +1,121 @@ +start_node,target_node,query_time,trip_time,nodes,edges,charging_stations,dijkstra_rank +278788097,278788064,3.6123998143011704e-05,2.544455887440966,513591,775628,921,4 +1974276840,304743827,4.0936000004876405e-05,5.468344830265442,513591,775628,921,4 +4379640612,251721242,4.584600173984654e-05,4.400673382656193,513591,775628,921,4 +7052016254,7052035885,4.489799903240055e-05,4.910422549620248,513591,775628,921,4 +297358502,296505210,4.975599949830212e-05,6.006005554923204,513591,775628,921,4 +4001179266,279803170,4.0498998714610934e-05,6.787909702485399,513591,775628,921,4 +370260513,15934136,3.024999750778079e-05,3.6488563422704834,513591,775628,921,4 +253688476,253688478,4.657600220525637e-05,5.102975420893581,513591,775628,921,4 +670244222,670244208,4.483399970922619e-05,2.8777689306919836,513591,775628,921,4 +295812797,1186947550,4.6608998673036695e-05,2.305732311136417,513591,775628,921,4 +2092158041,110968707,3.09450006170664e-05,10.348220071064414,513591,775628,921,4 +1019862577,310740297,5.166999835637398e-05,3.1150150790654334,513591,775628,921,4 +1596409452,21349599,2.5798999558901414e-05,6.226881406984204,513591,775628,921,4 +3629862160,35341595,4.756199996336363e-05,4.243324937022972,513591,775628,921,4 +5116240898,5116240897,3.0107003112789243e-05,1.7214481834825603,513591,775628,921,4 +9201751,9193591,4.026600072393194e-05,10.338578998313869,513591,775628,921,4 +325718780,1398513311,3.746799848158844e-05,7.194162255941293,513591,775628,921,4 +384931335,384931529,2.9496000934159383e-05,7.172397044818459,513591,775628,921,4 +3655203260,3655203230,4.6779998228885233e-05,26.340009684234197,513591,775628,921,4 +1772688730,1772688731,4.06340004701633e-05,1.8021178538349452,513591,775628,921,4 +3779253653,21605682,3.820599886239506e-05,6.440256144606137,513591,775628,921,16 +3442894702,1288303198,8.64629982970655e-05,10.174488131976736,513591,775628,921,16 +2734232768,1368463837,7.194700083346106e-05,24.979432711128094,513591,775628,921,16 +324460984,324460952,8.43620000523515e-05,34.855892541880934,513591,775628,921,16 +1388209924,1376143875,7.31250001990702e-05,23.369454475567824,513591,775628,921,16 +3296257345,33024617,5.04890012962278e-05,73.35269873617314,513591,775628,921,16 +21516057,21516060,6.770400068489835e-05,44.07024744026253,513591,775628,921,16 +4278663465,31927910,6.415900134015828e-05,17.381704300263863,513591,775628,921,16 +7010426275,7010426240,7.610299871885218e-05,11.550300725435491,513591,775628,921,16 +4451772155,2151728158,8.008000077097677e-05,21.968863349225796,513591,775628,921,16 +530230113,5220432715,6.3292001868831e-05,17.91782716089565,513591,775628,921,16 +995959176,996113704,6.185500024002977e-05,65.0727740633652,513591,775628,921,16 +281260920,2799020208,7.42839984013699e-05,36.80301813801878,513591,775628,921,16 +560149740,2337055488,7.689500125707127e-05,40.163722333537585,513591,775628,921,16 +1978950983,111007577,5.8395999076310545e-05,62.312263177665606,513591,775628,921,16 +82533584,82533589,0.00010228799874312244,22.531355395225866,513591,775628,921,16 +367526344,322828416,0.00014162099978420883,26.592301250432616,513591,775628,921,16 +2088441607,296969297,0.00010998300058417954,50.33670383622816,513591,775628,921,16 +1844442623,357475749,0.000112900001113303,62.81023925748234,513591,775628,921,16 +1028144237,1056964046,9.897800191538408e-05,68.73549942625228,513591,775628,921,16 +3220840672,201851149,0.0001950309997482691,174.32355211015434,513591,775628,921,64 +36748523,2388848,0.00019567200070014223,121.32580835738597,513591,775628,921,64 +3130347756,3130347329,0.0002424809972580988,108.27118302141959,513591,775628,921,64 +1547069810,411133732,0.0001613509994058404,256.40308180241857,513591,775628,921,64 +3597248342,1674603507,0.00023229100042954087,34.85652333729989,513591,775628,921,64 +3790253212,59975819,0.00016300100105581805,107.86232786378116,513591,775628,921,64 +2895826757,297507303,0.00016575200061197393,107.45826802804294,513591,775628,921,64 +1736934595,20966465,0.00017126899911090732,159.1639460794961,513591,775628,921,64 +319615593,2518878954,0.00023569699988001958,43.45869902592796,513591,775628,921,64 +5002927891,3754266159,0.00021129200104041956,57.98113603320815,513591,775628,921,64 +2579137172,5063570813,0.0002142390003427863,61.5366358276483,513591,775628,921,64 +312763593,134701949,0.00022530500064021908,108.1307587387181,513591,775628,921,64 +3369654275,1473378283,0.000288334002107149,109.99002882889786,513591,775628,921,64 +249633765,249633758,0.00024689299971214496,47.61533465071713,513591,775628,921,64 +4291056236,4291055580,0.0001970149969565682,261.1600903088694,513591,775628,921,64 +1637802213,320226813,0.00026519899984123185,28.070885122314884,513591,775628,921,64 +616611038,2583559409,0.0002618830003484618,37.246881034372066,513591,775628,921,64 +36318594,11666598,0.00024141800167853944,44.57229612596537,513591,775628,921,64 +383521,5095604737,0.00019654999778140336,174.0467542346948,513591,775628,921,64 +2068590974,318895208,0.0002688839995244052,36.21930872762024,513591,775628,921,64 +3247535208,25626731,0.0004903619992546737,634.8937297982908,513591,775628,921,256 +461546,653603498,0.0005161930021131411,881.3305760058632,513591,775628,921,256 +581195,581141,0.0004575650018523447,695.575903128425,513591,775628,921,256 +979225594,6783606326,0.0004905160021735355,432.4076961369738,513591,775628,921,256 +26261827,410452925,0.0007324520011025015,71.44640860941952,513591,775628,921,256 +2143163767,470897387,0.0005068809987278655,172.57630372344587,513591,775628,921,256 +1448902129,33958260,0.0004416499978106003,966.3231357738559,513591,775628,921,256 +509267256,508577799,0.00042274699808331206,333.6962081339936,513591,775628,921,256 +530798414,82538716,0.0005942719981248956,490.2426858850804,513591,775628,921,256 +3594887294,1664388881,0.0006805939992773347,173.17787222910795,513591,775628,921,256 +1444721834,2083020058,0.0006834269988758024,123.41660204450442,513591,775628,921,256 +453231089,600514464,0.0007116740016499534,80.29099386719858,513591,775628,921,256 +515323,77924156,0.000465983001049608,869.837002491225,513591,775628,921,256 +34004398,260977399,0.0005460020001919474,237.7417902569312,513591,775628,921,256 +346932262,3129578003,0.0007214979996206239,98.94681154802963,513591,775628,921,256 +319048125,287464702,0.0007328450010390952,104.10802402818534,513591,775628,921,256 +3556528925,357489219,0.0006546719996549655,136.23245421330063,513591,775628,921,256 +139541,293536918,0.0004627560010703746,770.2121702120756,513591,775628,921,256 +2131942265,2071408447,0.0006551229998876806,164.71708692338362,513591,775628,921,256 +2600312295,323125728,0.0006524159980472177,225.57100183204827,513591,775628,921,256 +319442900,2887934658,0.0024950549995992333,407.2932625146748,513591,775628,921,1024 +32008898,268772387,0.0015889329988567624,2803.148662897562,513591,775628,921,1024 +1111574411,6767508665,0.0015920830010145437,2625.511934495633,513591,775628,921,1024 +1969643540,14001867,0.001886399000795791,2293.8522997773557,513591,775628,921,1024 +1885077335,456744,0.0018805790023179725,1770.0419997862678,513591,775628,921,1024 +60263679,2489316973,0.0026386400022602174,444.55292443906046,513591,775628,921,1024 +3738929332,6560433799,0.0016814640002849046,3274.6931931857334,513591,775628,921,1024 +49874983,3674012436,0.001833171998441685,2070.5750652362267,513591,775628,921,1024 +5119369026,1940161211,0.0027592480000748765,410.0405387921802,513591,775628,921,1024 +6551313413,7049979601,0.0023089040005288552,2374.7962222547726,513591,775628,921,1024 +3071384878,306251709,0.0026317410010960884,435.8936768859933,513591,775628,921,1024 +1485262466,1482777851,0.0017236380008398555,1929.423503079553,513591,775628,921,1024 +134697348,303266729,0.002748591999989003,115.17308427261189,513591,775628,921,1024 +2362354369,3740059705,0.0027479170021251775,301.2279449750924,513591,775628,921,1024 +5116240907,5119483566,0.0016262169992842246,1366.491107180064,513591,775628,921,1024 +241863215,3137765348,0.0019644699968921486,850.4136645128996,513591,775628,921,1024 +501002,1306947734,0.001808911001717206,2646.78472328243,513591,775628,921,1024 +3124949600,1649447784,0.0022134210012154654,999.3340981015767,513591,775628,921,1024 +4523763498,1856510925,0.0022163489993545227,669.239035967434,513591,775628,921,1024 +3223961182,2337151916,0.001684728002146585,1366.2368261840381,513591,775628,921,1024 +345545628,2260191455,0.008373068998480448,3719.196155948357,513591,775628,921,4096 +3192919201,5726480086,0.0070519789987884,16132.529041698832,513591,775628,921,4096 +1205905007,5501907575,0.011622191002970794,295.4047787417922,513591,775628,921,4096 +17294385,146739,0.007572518003144069,6210.995751802389,513591,775628,921,4096 +1598126176,3585723044,0.007197785998869222,4283.211503733242,513591,775628,921,4096 +324150617,300414752,0.010200359000009485,1625.86832497776,513591,775628,921,4096 +295207349,4431275625,0.011280605998763349,418.1311220240191,513591,775628,921,4096 +2898144982,367726156,0.007909354000730673,2224.6100681615776,513591,775628,921,4096 +254043139,29750343,0.007265272997756256,5038.120186733389,513591,775628,921,4096 +357130628,524422773,0.010862682000151835,590.976768156467,513591,775628,921,4096 +447113,1753939781,0.0074761439973372035,3006.594288140207,513591,775628,921,4096 +2654951621,4733405417,0.0066350830020383,4938.75483840242,513591,775628,921,4096 +304392060,561314049,0.011186251998879015,674.9023483434884,513591,775628,921,4096 +256225555,3445560484,0.011652896999294171,786.5613711924018,513591,775628,921,4096 +251332730,292272335,0.008115971999359317,2718.092432316061,513591,775628,921,4096 +148648471,2165134791,0.007913038996775867,1809.9876798503608,513591,775628,921,4096 +5062779692,2071316312,0.011333256999932928,676.5217399000071,513591,775628,921,4096 +1902094309,3805108849,0.007831605998944724,3874.210860820841,513591,775628,921,4096 +25468519,31292241,0.007029169999441365,5912.370671266628,513591,775628,921,4096 +2400252153,350036028,0.011470358997030417,378.81892011281525,513591,775628,921,4096 diff --git a/debug/debug.py b/debug/debug.py index 2420fb9a6ed6757d6ab9748a80d99b1c02a117f5..a4c3007eeb07387fd4863b4a1abe1ca642a4a3ff 100644 --- a/debug/debug.py +++ b/debug/debug.py @@ -1,12 +1,16 @@ import json import datetime import pickle +import random import pandas as pd from time import perf_counter - +import networkx as nx +from networkx.algorithms.shortest_paths.weighted import _weight_function +from evaluation.lib.algorithm import _dijkstra_multisource +from evrouting.graph_tools import DISTANCE_KEY from evrouting.osm.imports import OSMGraph from evrouting import charge -from evrouting.graph_tools import consumption_function_time_factory +from evrouting.graph_tools import consumption_function_distance_factory def get_graph(): @@ -18,9 +22,48 @@ def get_graph(): def get_tasks(): - print('Getting tasks..') - df = pd.read_csv('classic.csv', dtype={'start_node': str, 'target_node': str}) - return [(row['start_node'], row['target_node']) for _, row in df.iterrows()] + print('Getting tasks from file..') + df = pd.read_csv('tasks.csv', dtype={'start_node': str, 'target_node': str}) + tasks = [(row['start_node'], row['target_node']) for _, row in df.iterrows()] + return [tasks[84]] + return tasks + + +def _get_target_with_rank(graph, start_node, rank): + weight = _weight_function(graph, DISTANCE_KEY) + return _dijkstra_multisource( + graph, + [start_node], + weight=weight, + rank=rank + ) + + +def _get_ranked_tasks(G, rank, number): + """ + Generate <number> start and target nodes with Dijkstra Rank of <rank>. + + This is done by randomly sampling start nodes and finding for each of + them a target nodes with the according rank by executing a modified + Dijkstra routine. + + """ + tasks = [] + attempts = 0 + # Try three times to find a tasks with the required rank. + # If not enough nodes can be found, return what you have. + while len(tasks) < number and attempts < 3: + attempts += 1 + for s in random.sample(list(G.nodes), number): + try: + t = _get_target_with_rank(G, s, rank) + except nx.NetworkXNoPath: + continue + tasks.append((s, t)) + if len(tasks) == number: + break + + return tasks def get_charging_stations(): @@ -30,24 +73,33 @@ def get_charging_stations(): return charging_stations +def get_ranked_tasks(G, ranks, query_per_rank): + print('Generating tasks..') + tasks = [i for r in ranks for i in _get_ranked_tasks(G, r, query_per_rank)] + with open('tasks.csv', 'w') as file: + file.write('start_node,target_node\n') + for s, t in tasks: + file.write(f'{s},{t}\n') + return tasks + + if __name__ == '__main__': - """Full tank is enough to get there. Must be equal to shortest path.""" - tasks = get_tasks() - charging_stations = get_charging_stations() G = get_graph() - G.insert_charging_stations(charging_stations) + G.insert_charging_stations(get_charging_stations()) + ranks = [6, 8, 10, 12, 14, 18] + query_per_rank = 20 - c = consumption_function_time_factory(0.5) + c = consumption_function_distance_factory(0.5) mu_s = 40000 mu_t = 0 capacity = 40000 - total_tasks = len(tasks) + # tasks = get_ranked_tasks(G, ranks, query_per_rank) + tasks = get_tasks() + total = len(tasks) + print(f'Evaluating {total} tasks..') for i, (s, t) in enumerate(tasks): - now = datetime.datetime.now().strftime("%H:%M:%S") - print(f'{now}: {i}/{total_tasks} ({(i / total_tasks) * 100:.2f} %)') - # nodes_before = set(G.nodes) - # edges_before = set(G.edges) + print(f'Solving {s} to {t}..') start = perf_counter() charge.routing.shortest_path( G=G, @@ -60,7 +112,5 @@ if __name__ == '__main__': c=c ) runtime = perf_counter() - start - - # assert nodes_before ^ set(G.nodes) == set() - # assert edges_before ^ set(G.edges) == set() - # assert runtime < 100 + now = datetime.datetime.now().strftime("%H:%M:%S") + print(f'{now} - {i + 1}/{total} ({((i + 1) / total) * 100:.2f} %)') diff --git a/debug/tasks.csv b/debug/tasks.csv new file mode 100644 index 0000000000000000000000000000000000000000..fc4cdaa9f34e54ce23ec204393448a0a8b256ce4 --- /dev/null +++ b/debug/tasks.csv @@ -0,0 +1,121 @@ +start_node,target_node +338618220,275435743 +5486255196,5486255310 +362789988,2502685154 +21271626,3203789562 +321874030,321874045 +1506790922,1539339146 +15936854,319075729 +26582112,5120664345 +2775483237,37899400 +280518116,280518805 +311303940,310741833 +323176715,333124600 +2628278546,18233316 +697080832,684325588 +4525150942,18157369 +31382989,248966155 +51229203,3235229607 +4743069005,32866022 +2935639934,292277058 +2225648470,2895845860 +256504244,1460567043 +309273948,252180956 +346963079,2718111868 +7278370746,606196262 +361091244,1364901430 +324069738,273098837 +478744743,478744685 +6398994685,4593060552 +442024327,60263667 +253799569,253806882 +5123257977,671216811 +37879126,2326541373 +25186035,25187389 +339922389,2126609202 +357921628,2140740340 +1014137815,4836927366 +6631455144,5250290853 +2249925698,2313072564 +1608628206,1977788961 +2026218516,311305923 +364485342,2151728251 +287885440,5291970477 +4133094542,5119764921 +4523301773,7328201829 +5799788342,340180309 +3314168156,147790630 +6576844728,6513195312 +2749917046,287017951 +319273398,304602903 +1368463805,3145050462 +4186356394,2266421027 +4297015987,286797694 +1500721513,601052549 +335947065,2448571035 +6992447171,21733711 +4342264190,364478149 +3463281986,3458044451 +2857930902,17165978 +1113447154,2446142963 +5220126641,2465904603 +213534143,5219800404 +1848640403,4846551941 +1473432929,4815311148 +1111580587,3044653289 +3937887286,659522407 +324230910,734772925 +4407188793,290928269 +3783167932,4128457674 +4595907376,7010174733 +3669616333,318677524 +9194630,2441171083 +715150184,4596431431 +470897413,773660334 +361045267,3292599598 +2147975012,2056590134 +938717872,332974702 +1934045747,5776945061 +2145029018,2608714065 +6778012837,254896407 +1431572140,1774160121 +7451351149,824899787 +1588194197,5311185293 +326775,316495851 +2600400888,2364151130 +274939401,299642186 +2357512655,2999567269 +309739529,312891063 +318314178,3449597079 +281956861,300664972 +242336,293964339 +3592613181,1016222267 +781841763,315751252 +267762039,324650303 +48304950,509625465 +589371,281043193 +366366908,3803359060 +1773372489,2897498047 +5270152699,1935125623 +6917402738,17291447 +429363016,622975670 +933612274,77939603 +296877893,364112616 +4042062579,1377356310 +289381205,11247030 +2129925421,4791487754 +1931233112,5972495813 +1669284764,60403068 +339961759,296875471 +5016150227,2079245256 +1485262724,3753647684 +276798550,268103105 +587060960,2718818601 +2642428227,508892 +2519015456,384381 +1567054963,1536016609 +2382445037,2895860645 +4226606962,2810116799 +5653827521,1399528929 +2871248133,253244527 +2303031902,77930011 diff --git a/evaluation/configs/rank.yaml b/evaluation/configs/rank.yaml index 23723ffe686c700d38d5b73b6dd4bd856cee03e8..2affcd758868dce966e8f2a61631a3c33b1f17bc 100644 --- a/evaluation/configs/rank.yaml +++ b/evaluation/configs/rank.yaml @@ -6,8 +6,8 @@ paths: charging_stations: charging_stations.json map: medium_nurnberg.osm queries_per_rank: 20 -ranks: [10, 12] -algorithms: [classic, charge] +ranks: [6, 8, 10, 12, 14, 18] +algorithms: [charge] mu_s: 40 # Start and Target Soc mu_t: 0 capacity: 40 # kWh diff --git a/evaluation/lib/benchmarks.py b/evaluation/lib/benchmarks.py index ac8dc1b3370f4df84a3a6940e6ad4d454a43ea33..c366fbb409badd75f86049c6e0a09e76334e6221 100644 --- a/evaluation/lib/benchmarks.py +++ b/evaluation/lib/benchmarks.py @@ -7,9 +7,7 @@ from dataclasses import asdict, fields import networkx as nx from networkx.algorithms.shortest_paths.weighted import _weight_function - from evrouting.graph_tools import DISTANCE_KEY - from evaluation.lib.algorithm import _dijkstra_multisource from evaluation.lib import queries from evaluation.lib.config import RankConf, QueryConf, InitConf, AnyConf @@ -50,13 +48,13 @@ def fname(algorithm_name: str) -> str: return f'{algorithm_name}.csv' -def _insert_charging_stations(graph, charging_stations, number=None): +def _insert_charging_stations(G, charging_stations, number=None): start = perf_counter() - graph.insert_charging_stations(charging_stations, number) + G.insert_charging_stations(charging_stations, number) runtime = perf_counter() - start logger.info('Importing {} Charging Stations took {:.2f} s'.format( - len(graph.charging_stations), + len(G.charging_stations), runtime )) @@ -87,7 +85,6 @@ def _init_result_files(result_dir, conf: AnyConf): def _run_queries(func, start_nodes, target_nodes, file: TextIO, **kwargs): logger.info(f'Running {len(start_nodes)} times {func.__name__}..') num_total = len(start_nodes) - for i, (s, t) in enumerate(zip(start_nodes, target_nodes)): logger.debug(f'{i + 1}/{num_total}') result_data = func(s=s, t=t, **kwargs) @@ -179,7 +176,7 @@ def rank(G, charging_stations, conf: RankConf, result_dir: Path): _run_queries(func, start_nodes, target_nodes, - file, + file=file, G=G, conf=conf) @@ -209,4 +206,4 @@ def init(G, charging_stations, conf: InitConf, result_dir: Path): out_insert, G=G, conf=conf, - ) \ No newline at end of file + ) diff --git a/evaluation/lib/export.py b/evaluation/lib/export.py deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/evaluation/lib/export.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/evaluation/lib/queries.py b/evaluation/lib/queries.py index 1746336fada272066b8ed7a2638e85ad687b2bdc..6f5a1beeb46812d2fd2409f81919b45d0a1d6c98 100644 --- a/evaluation/lib/queries.py +++ b/evaluation/lib/queries.py @@ -21,7 +21,7 @@ from evrouting.osm.routing import ( ) from evaluation.lib.algorithm import ranked_dijkstra -from evaluation.lib.config import InitConf, QueryConf, RankConf, AnyConf +from evaluation.lib.config import InitConf, RankConf, AnyConf @dataclass