Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							f9f3d43152 
							
						 
					 
					
						
						
							
							Fix min average sample time  
						
						
						
					 
					
						2015-12-19 01:40:55 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							0b1c9d33a5 
							
						 
					 
					
						
						
							
							Don't use phantom node pairs as input for distance table  
						
						
						
					 
					
						2015-12-16 22:51:01 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							1a8783cfa0 
							
						 
					 
					
						
						
							
							Fix unused variable warning  
						
						
						
					 
					
						2015-12-16 22:03:46 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							24e7d00af5 
							
						 
					 
					
						
						
							
							Fix call to shortest_path from match plugin /cc @danpat  
						
						
						
					 
					
						2015-12-15 21:27:03 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							9414a8085d 
							
						 
					 
					
						
						
							
							Fixed shortest_path when called from match plugin  
						
						
						
					 
					
						2015-12-11 05:44:05 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							b41af5f580 
							
						 
					 
					
						
						
							
							Incoperate PR comments  
						
						
						
					 
					
						2015-12-09 23:37:06 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							cdb1918973 
							
						 
					 
					
						
						
							
							Refactor StaticRTree to remove application dependent code  
						
						... 
						
						
						
						StaticRTree now acts like a container, just returning the input data
(NodeBasedEdge) and not PhantomNodes. 
						
					 
					
						2015-12-09 23:37:05 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							7e722db3ee 
							
						 
					 
					
						
						
							
							Make the API grammar more strict to actually error  
						
						
						
					 
					
						2015-12-09 21:17:18 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							20c45be3b3 
							
						 
					 
					
						
						
							
							Address PR comments  
						
						
						
					 
					
						2015-12-09 21:17:18 +01:00 
						 
				 
			
				
					
						
							
							
								Fabien Girard 
							
						 
					 
					
						
						
						
						
							
						
						
							478d4a571a 
							
						 
					 
					
						
						
							
							Support rectangular matrix with less sources than targets  
						
						
						
					 
					
						2015-12-09 21:17:18 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							c38183423f 
							
						 
					 
					
						
						
							
							Move assertion to caller to save parameter  
						
						
						
					 
					
						2015-12-05 01:27:01 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							019e26dd8e 
							
						 
					 
					
						
						
							
							Refactor direct_shortest_path and shortest_path  
						
						
						
					 
					
						2015-12-04 23:34:24 +01:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							4206d98b55 
							
						 
					 
					
						
						
							
							Move leg search to routing base  
						
						
						
					 
					
						2015-12-04 20:52:21 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Patterson 
							
						 
					 
					
						
						
						
						
							
						
						
							8f3482561b 
							
						 
					 
					
						
						
							
							Rename great_circle_distance->haversine_distance, and euclidean_distance->great_circle_distance, because that's what they actually are.  
						
						
						
					 
					
						2015-11-17 17:10:06 -05:00 
						 
				 
			
				
					
						
							
							
								Kal Conley 
							
						 
					 
					
						
						
						
						
							
						
						
							29c75337f2 
							
						 
					 
					
						
						
							
							Fix segmentation fault when sizeof(size_t) < sizeof(int64_t)  
						
						
						
					 
					
						2015-10-19 20:13:02 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							fd84827e51 
							
						 
					 
					
						
						
							
							Don't use stalling in core search  
						
						
						
					 
					
						2015-10-19 17:11:03 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel J. Hofmann 
							
						 
					 
					
						
						
						
						
							
						
						
							17d8e65c64 
							
						 
					 
					
						
						
							
							Silence unused variable warnings  
						
						
						
					 
					
						2015-09-30 18:20:00 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel J. Hofmann 
							
						 
					 
					
						
						
						
						
							
						
						
							829b9d96e4 
							
						 
					 
					
						
						
							
							Revert parallelization on algorithms that are used in the server. Let node do this.  
						
						... 
						
						
						
						This reverts @6b2bf49 on the server algorithms. 
						
					 
					
						2015-09-28 20:26:29 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel J. Hofmann 
							
						 
					 
					
						
						
						
						
							
						
						
							9231335eef 
							
						 
					 
					
						
						
							
							Use Intel TBB's parallel_sort even for nested parallelism.  
						
						... 
						
						
						
						TBB has a global task scheduler (that's one of the reason TBB is not
linked statically but dyanmically instead). This allows control over all
running threads, enabling us to use nested parallelism and the scheduler
doing all the task allocation itself.
That is, nested parallel execution such as in
    parallel_for(seq, [](const auto& rng){
      parallel_sort(rng);
    });
is no problem at all, as the scheduler still claims control over the
global environment.
Therefore, use `parallel_sort` Range overload where possible.
References:
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms.htm 
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms/parallel_sort_func.htm 
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler.htm 
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler/task_scheduler_init_cls.htm 
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#tbb_userguide/Initializing_and_Terminating_the_Library.htm  
						
					 
					
						2015-09-28 20:26:03 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel J. Hofmann 
							
						 
					 
					
						
						
						
						
							
						
						
							82dd5d8ccf 
							
						 
					 
					
						
						
							
							Use Boost.Optional instead of custom optional monad implementation.  
						
						... 
						
						
						
						This switches out the `<variant/optional.hpp>` implementation of the
optional monad to the one from Boost.
The following trick makes sure we keep compile times down:
- use `<boost/optional/optional_fwd.hpp>` to forward declare the
  optional type in header, then include the full blown optional header
  only in the implementation file.
- do the same for the files we touch, e.g. forward declare osmium types,
  allowing us to remove the osmium header dependency from our headers:
      `namespace osmium { class Relation; }
  and then include the appropriate osmium headers in the implementation
  file only. We should do this globally...
References:
- http://www.boost.org/doc/libs/1_59_0/libs/optional/doc/html/index.html 
- https://github.com/osmcode/libosmium/issues/123  
						
					 
					
						2015-09-28 15:00:21 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							70bb082973 
							
						 
					 
					
						
						
							
							Fix endless loop  
						
						
						
					 
					
						2015-09-03 17:02:34 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							0b53242564 
							
						 
					 
					
						
						
							
							Move distance calculation out of loop  
						
						
						
					 
					
						2015-09-03 17:02:34 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							f11bd509b0 
							
						 
					 
					
						
						
							
							Also prune on MAX_DOUBLE  
						
						
						
					 
					
						2015-09-03 17:02:33 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							57608628a4 
							
						 
					 
					
						
						
							
							Use median sample time instead of average to harden against outliers  
						
						
						
					 
					
						2015-09-03 17:02:33 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							f167c3e12e 
							
						 
					 
					
						
						
							
							Move heap initialization out of loop  
						
						
						
					 
					
						2015-09-03 17:02:33 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							ee0c20ae44 
							
						 
					 
					
						
						
							
							Fix typo  
						
						
						
					 
					
						2015-09-03 17:02:33 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							c30c144120 
							
						 
					 
					
						
						
							
							Move matching default in route_parameters.cpp  
						
						
						
					 
					
						2015-09-03 17:02:33 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							a5ee82b0d1 
							
						 
					 
					
						
						
							
							Make matching thresholds adaptable to different sample lengths  
						
						
						
					 
					
						2015-09-03 17:02:33 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							74e00cf652 
							
						 
					 
					
						
						
							
							fix some small issues:  
						
						... 
						
						
						
						remove empty unit test
remove compiler directives
move trip related files from routing_algorithms to algorithms
run clang-format on files
fix all std::size_t related issues
improve code by adding std::move()s
clean up includes
fixing several code stye and improvement issues
add several small code improvements
return single scc in SplitUnaccessibleLocations() when theres only one
change ComputeRoute() to return an InternalRouteResult by value
improve some code style issues 
						
					 
					
						2015-09-01 15:20:35 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							e773a80b06 
							
						 
					 
					
						
						
							
							remove possibility to choose algorithm but only use brute force and farthest insertion  
						
						
						
					 
					
						2015-09-01 15:20:34 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							e6eea67eeb 
							
						 
					 
					
						
						
							
							rename all names with round_trip, trip or tsp to trip to standardize the naming  
						
						
						
					 
					
						2015-09-01 15:20:34 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							8429a1e792 
							
						 
					 
					
						
						
							
							add assertions  
						
						
						
					 
					
						2015-09-01 15:20:34 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							93835b9b94 
							
						 
					 
					
						
						
							
							change input param for tsp algos from a vector to a begin and an end iterator  
						
						
						
					 
					
						2015-09-01 15:20:34 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							78a8cf6982 
							
						 
					 
					
						
						
							
							add a wrapper for the distance table for better access  
						
						
						
					 
					
						2015-09-01 15:20:34 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							99cf3219d4 
							
						 
					 
					
						
						
							
							have less redundant code for requests with one or multiple SCCs  
						
						
						
					 
					
						2015-09-01 15:20:34 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							7587e97d46 
							
						 
					 
					
						
						
							
							use typedefs from typedefs.h  
						
						... 
						
						
						
						return roundtrip result as a return parameter and not as an input parameter 
						
					 
					
						2015-09-01 15:20:34 +02:00 
						 
				 
			
				
					
						
							
							
								Huyen Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							77e9e95067 
							
						 
					 
					
						
						
							
							fix bugs  
						
						... 
						
						
						
						and add todos of code review session with daniel-j-h 
						
					 
					
						2015-09-01 15:20:33 +02:00 
						 
				 
			
				
					
						
							
							
								Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							6191b6bee2 
							
						 
					 
					
						
						
							
							add parameter to choose algorithm for tsp calculation and remove redundant code  
						
						
						
					 
					
						2015-09-01 15:20:33 +02:00 
						 
				 
			
				
					
						
							
							
								Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							b15f8f68e4 
							
						 
					 
					
						
						
							
							refactor and improve the round trip computation of multiple SCCs  
						
						... 
						
						
						
						Problem:
- old solution was slow
- depending on the result of TarjanSCC, new distance tables and new phantom node vectors were created to run tsp on it
Solution:
- dont create new distance tables and phantom node vectors
- pass an additional vector with the information which locations are in the same component and ignore all others
fix bug for scc split computation 
						
					 
					
						2015-09-01 15:20:33 +02:00 
						 
				 
			
				
					
						
							
							
								Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							6eeadddd4d 
							
						 
					 
					
						
						
							
							remove attention on unaccessible locations as we filter them beforehand  
						
						
						
					 
					
						2015-09-01 15:20:33 +02:00 
						 
				 
			
				
					
						
							
							
								Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							a40b3a98dc 
							
						 
					 
					
						
						
							
							split algorithms in different plugins for better evaluation  
						
						... 
						
						
						
						split tsp brute force algorithm for better testing
refactor and clean up 
						
					 
					
						2015-09-01 15:20:33 +02:00 
						 
				 
			
				
					
						
							
							
								Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							f0d66ff0fb 
							
						 
					 
					
						
						
							
							move implementation of algorithms to own hpp in routing_algorithms folder  
						
						... 
						
						
						
						add changes to improve readability 
						
					 
					
						2015-09-01 15:20:33 +02:00 
						 
				 
			
				
					
						
							
							
								Chau Nguyen 
							
						 
					 
					
						
						
						
						
							
						
						
							d3ebd360b2 
							
						 
					 
					
						
						
							
							add brute force algorithm for tsp for small tests  
						
						
						
					 
					
						2015-09-01 15:20:33 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							48d1a5ec5d 
							
						 
					 
					
						
						
							
							Make sure to terminate when the core heaps are empty  
						
						
						
					 
					
						2015-08-19 12:27:44 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							7cc875b8db 
							
						 
					 
					
						
						
							
							Initial version of core based search  
						
						
						
					 
					
						2015-08-19 12:27:44 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							49adf2192a 
							
						 
					 
					
						
						
							
							Move calculate_coordinate to algorithms/  
						
						... 
						
						
						
						Fixes  #1367  
					
						2015-08-12 13:02:18 +02:00 
						 
				 
			
				
					
						
							
							
								MoKob 
							
						 
					 
					
						
						
						
						
							
						
						
							b526cadebd 
							
						 
					 
					
						
						
							
							Initial version of core ch  
						
						... 
						
						
						
						This improves preprocessing times in favour of worse query performance.
Core size can be set over the --core parameater, default is the old
behaviour to fully contract the graph. 
						
					 
					
						2015-08-01 18:00:48 +02:00 
						 
				 
			
				
					
						
							
							
								Patrick Niklaus 
							
						 
					 
					
						
						
						
						
							
						
						
							5c77bb7c67 
							
						 
					 
					
						
						
							
							Fix inversion of sign  
						
						
						
					 
					
						2015-06-17 23:25:16 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Patterson 
							
						 
					 
					
						
						
						
						
							
						
						
							f52abc1a62 
							
						 
					 
					
						
						
							
							When replacing packed_path1/2, also need to replace distance1/2 to properly track.  
						
						
						
					 
					
						2015-05-29 16:52:08 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Patterson 
							
						 
					 
					
						
						
						
						
							
						
						
							e763953562 
							
						 
					 
					
						
						
							
							Address  #1424  by using the original fix  
						
						
						
					 
					
						2015-05-29 16:52:08 +02:00