wip
This commit is contained in:
		
							parent
							
								
									dcd615ef2a
								
							
						
					
					
						commit
						5b26eac258
					
				| @ -497,7 +497,7 @@ std::optional<std::pair<NodeID, EdgeWeight>> runSearch(const DataFacade<Algorith | ||||
|                                                        EdgeWeight weight_upper_bound, | ||||
|                                                        const Args &...args) | ||||
| { | ||||
|     if (forward_heap.Empty() || reverse_heap.Empty()) | ||||
|     if (forward_heap.Empty() && reverse_heap.Empty()) | ||||
|     { | ||||
|         return {}; | ||||
|     } | ||||
| @ -510,9 +510,17 @@ std::optional<std::pair<NodeID, EdgeWeight>> runSearch(const DataFacade<Algorith | ||||
|     EdgeWeight weight = weight_upper_bound; | ||||
|     EdgeWeight forward_heap_min = forward_heap.MinKey(); | ||||
|     EdgeWeight reverse_heap_min = reverse_heap.MinKey(); | ||||
|     while (forward_heap.Size() + reverse_heap.Size() > 0 /*&&
 | ||||
|            forward_heap_min + reverse_heap_min < weight*/) | ||||
|     // if (!reverse_heap.Empty())
 | ||||
|     //     reverse_heap_min = reverse_heap.MinKey();
 | ||||
|     #if 0 | ||||
|     while (forward_heap.Size() + reverse_heap.Size() > 0 && ( | ||||
|            forward_heap_min < weight || reverse_heap_min < weight)) | ||||
|     #else | ||||
|         while (forward_heap.Size() > 0 && forward_heap_min < weight_upper_bound) | ||||
|     #endif | ||||
|     { | ||||
|        // std::cerr << "F: " << forward_heap_min << " R: " << reverse_heap_min << " W: " << weight << std::endl;
 | ||||
| 
 | ||||
|         if (!forward_heap.Empty()) | ||||
|         { | ||||
|             routingStep<FORWARD_DIRECTION>( | ||||
| @ -520,15 +528,22 @@ std::optional<std::pair<NodeID, EdgeWeight>> runSearch(const DataFacade<Algorith | ||||
|             if (!forward_heap.Empty()) | ||||
|                 forward_heap_min = forward_heap.MinKey(); | ||||
|         } | ||||
|         if (!reverse_heap.Empty()) | ||||
|         { | ||||
|             routingStep<REVERSE_DIRECTION>( | ||||
|                 facade, reverse_heap, forward_heap, middle, weight, force_step_nodes, args...); | ||||
|             if (!reverse_heap.Empty()) | ||||
|                 reverse_heap_min = reverse_heap.MinKey(); | ||||
|         } | ||||
|         // if (!reverse_heap.Empty())
 | ||||
|         // {
 | ||||
|         //    routingStep<REVERSE_DIRECTION>(
 | ||||
|         //         facade, reverse_heap, forward_heap, middle, weight, force_step_nodes, args...);
 | ||||
|         //     if (!reverse_heap.Empty())
 | ||||
|         //         reverse_heap_min = reverse_heap.MinKey();
 | ||||
|         // }
 | ||||
|     }; | ||||
| 
 | ||||
|     if (!reverse_heap.Empty()) { | ||||
|         routingStep<REVERSE_DIRECTION>( | ||||
|             facade, reverse_heap, forward_heap, middle, weight, force_step_nodes, args...); | ||||
|         if (!reverse_heap.Empty()) | ||||
|             reverse_heap_min = reverse_heap.MinKey(); | ||||
|     } | ||||
| 
 | ||||
|     // No path found for both target nodes?
 | ||||
|     if (weight >= weight_upper_bound || SPECIAL_NODEID == middle) | ||||
|     { | ||||
|  | ||||
| @ -220,7 +220,7 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data, | ||||
|                 ((haversine_distance + max_distance_delta) / 4.) * facade.GetWeightMultiplier()); | ||||
| 
 | ||||
|            | ||||
| #if 0 | ||||
| #if 1 | ||||
|             std::vector<PhantomNode> test_sources; | ||||
|             std::vector<PhantomNode> test_targets; | ||||
| 
 | ||||
| @ -259,23 +259,23 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data, | ||||
| 
 | ||||
| 
 | ||||
|         //    std::cerr << "OLD RUN: \n";
 | ||||
|             std::vector<double> old_distances; | ||||
|             // std::vector<double> old_distances;
 | ||||
| 
 | ||||
|             for (const auto& s: test_sources) { | ||||
|                 for (const auto& t: test_targets) { | ||||
|                     forward_heap.Clear(); | ||||
|                     double network_distance = | ||||
|                         getNetworkDistanceOld(engine_working_data, | ||||
|                                            facade, | ||||
|                                            forward_heap, | ||||
|                                            reverse_heap, | ||||
|                                            s, | ||||
|                                            t, | ||||
|                                            weight_upper_bound); | ||||
|                     old_distances.push_back(network_distance); | ||||
|             // for (const auto& s: test_sources) {
 | ||||
|             //     for (const auto& t: test_targets) {
 | ||||
|             //         forward_heap.Clear();
 | ||||
|             //         double network_distance =
 | ||||
|             //             getNetworkDistanceOld(engine_working_data,
 | ||||
|             //                                facade,
 | ||||
|             //                                forward_heap,
 | ||||
|             //                                reverse_heap,
 | ||||
|             //                                s,
 | ||||
|             //                                t,
 | ||||
|             //                                weight_upper_bound);
 | ||||
|             //         old_distances.push_back(network_distance);
 | ||||
|                  | ||||
|                 } | ||||
|             } | ||||
|             //     }
 | ||||
|             // }
 | ||||
| 
 | ||||
| 
 | ||||
|           //  std::cerr << "NEW RUN: \n";
 | ||||
| @ -314,7 +314,8 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data, | ||||
|                     std::exit(1); | ||||
|                 } | ||||
|             } | ||||
| #else | ||||
|             std::exit(1); | ||||
| #elif 1 | ||||
|             std::vector<double> old_distances; | ||||
|               for (const auto s : util::irange<std::size_t>(0UL, prev_viterbi.size())) | ||||
|             { | ||||
| @ -409,7 +410,7 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data, | ||||
|                     } | ||||
| 
 | ||||
|                     double network_distance = | ||||
|                         getNetworkDistanceOld(engine_working_data, | ||||
|                         getNetworkDistance(engine_working_data, | ||||
|                                            facade, | ||||
|                                            forward_heap, | ||||
|                                            reverse_heap, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user