wip
This commit is contained in:
parent
88708eedb0
commit
96ae1e1320
@ -516,11 +516,12 @@ std::optional<std::pair<NodeID, EdgeWeight>> runSearch(const DataFacade<Algorith
|
||||
while (forward_heap.Size() + reverse_heap.Size() > 0 && (
|
||||
forward_heap_min < weight || reverse_heap_min < weight))
|
||||
#else
|
||||
while (forward_heap.Size() + reverse_heap.Size() > 0 && (
|
||||
forward_heap_min + reverse_heap_min < weight))
|
||||
while (forward_heap.Size() + reverse_heap.Size() > 0 &&
|
||||
(forward_heap_min + reverse_heap_min < weight))
|
||||
#endif
|
||||
{
|
||||
// std::cerr << "F: " << forward_heap_min << " R: " << reverse_heap_min << " W: " << weight << std::endl;
|
||||
// std::cerr << "F: " << forward_heap_min << " R: " << reverse_heap_min << " W: " << weight
|
||||
// << std::endl;
|
||||
|
||||
if (!forward_heap.Empty())
|
||||
{
|
||||
@ -752,9 +753,9 @@ double getNetworkDistance(SearchEngineData<Algorithm> &engine_working_data,
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// forward_heap.Clear();
|
||||
if (forward_heap.Empty()) {
|
||||
if (forward_heap.Empty())
|
||||
{
|
||||
if (source_phantom.IsValidForwardSource())
|
||||
{
|
||||
forward_heap.Insert(source_phantom.forward_segment_id.id,
|
||||
@ -768,19 +769,33 @@ double getNetworkDistance(SearchEngineData<Algorithm> &engine_working_data,
|
||||
EdgeWeight{0},
|
||||
{source_phantom.reverse_segment_id.id, false, EdgeDistance{0}});
|
||||
}
|
||||
} else {
|
||||
if (target_phantom.IsValidForwardTarget()) {
|
||||
if (forward_heap.WasInserted(target_phantom.forward_segment_id.id)) {
|
||||
std::cerr << "Found " << target_phantom.forward_segment_id.id << " in forward_heap" << std::endl;
|
||||
} else {
|
||||
std::cerr << "Not found " << target_phantom.forward_segment_id.id << " in forward_heap" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (target_phantom.IsValidForwardTarget())
|
||||
{
|
||||
if (forward_heap.WasInserted(target_phantom.forward_segment_id.id))
|
||||
{
|
||||
std::cerr << "Found " << target_phantom.forward_segment_id.id << " in forward_heap"
|
||||
<< std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "Not found " << target_phantom.forward_segment_id.id
|
||||
<< " in forward_heap" << std::endl;
|
||||
}
|
||||
}
|
||||
if (target_phantom.IsValidReverseTarget()) {
|
||||
if (forward_heap.WasInserted(target_phantom.reverse_segment_id.id)) {
|
||||
std::cerr << "Found " << target_phantom.reverse_segment_id.id << " in forward_heap" << std::endl;
|
||||
} else {
|
||||
std::cerr << "Not found " << target_phantom.reverse_segment_id.id << " in forward_heap" << std::endl;
|
||||
if (target_phantom.IsValidReverseTarget())
|
||||
{
|
||||
if (forward_heap.WasInserted(target_phantom.reverse_segment_id.id))
|
||||
{
|
||||
std::cerr << "Found " << target_phantom.reverse_segment_id.id << " in forward_heap"
|
||||
<< std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "Not found " << target_phantom.reverse_segment_id.id
|
||||
<< " in forward_heap" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -219,7 +219,6 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
||||
const EdgeWeight weight_upper_bound = to_alias<EdgeWeight>(
|
||||
((haversine_distance + max_distance_delta) / 4.) * facade.GetWeightMultiplier());
|
||||
|
||||
|
||||
#if 1
|
||||
std::vector<PhantomNode> test_sources;
|
||||
std::vector<PhantomNode> test_targets;
|
||||
@ -238,7 +237,6 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
||||
test_targets[0].forward_segment_id.enabled = 1;
|
||||
test_targets[0].is_valid_forward_target = true;
|
||||
|
||||
|
||||
test_targets[0].reverse_segment_id.id = 268;
|
||||
test_targets[0].reverse_segment_id.enabled = 0;
|
||||
|
||||
@ -246,7 +244,6 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
||||
test_sources[1].forward_segment_id.enabled = 1;
|
||||
test_sources[0].is_valid_forward_source = true;
|
||||
|
||||
|
||||
test_sources[1].reverse_segment_id.id = 2147483647;
|
||||
test_sources[1].reverse_segment_id.enabled = 0;
|
||||
|
||||
@ -257,7 +254,6 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
||||
test_targets[1].reverse_segment_id.enabled = 1;
|
||||
test_targets[1].is_valid_reverse_target = true;
|
||||
|
||||
|
||||
// std::cerr << "OLD RUN: \n";
|
||||
// std::vector<double> old_distances;
|
||||
|
||||
@ -277,17 +273,17 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// std::cerr << "NEW RUN: \n";
|
||||
std::vector<double> new_distances;
|
||||
|
||||
for (const auto& s: test_sources) {
|
||||
for (const auto &s : test_sources)
|
||||
{
|
||||
forward_heap.Clear();
|
||||
|
||||
for (const auto& t: test_targets) {
|
||||
for (const auto &t : test_targets)
|
||||
{
|
||||
|
||||
double network_distance =
|
||||
getNetworkDistance(engine_working_data,
|
||||
double network_distance = getNetworkDistance(engine_working_data,
|
||||
facade,
|
||||
forward_heap,
|
||||
reverse_heap,
|
||||
@ -295,22 +291,28 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
||||
t,
|
||||
weight_upper_bound);
|
||||
new_distances.push_back(network_distance);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<double> expected = {663.997, 1533.04, std::numeric_limits<double>::max(), std::numeric_limits<double>::max()};
|
||||
if (new_distances.size() != expected.size()) {
|
||||
std::vector<double> expected = {663.997,
|
||||
1533.04,
|
||||
std::numeric_limits<double>::max(),
|
||||
std::numeric_limits<double>::max()};
|
||||
if (new_distances.size() != expected.size())
|
||||
{
|
||||
std::cerr << "New distances size is not equal to expected size" << std::endl;
|
||||
std::exit(1);
|
||||
}
|
||||
// for (size_t index = 0; index < new_distances.size(); index++) {
|
||||
// std::cerr << new_distances[index] << std::endl;
|
||||
// }
|
||||
for (size_t index = 0; index < new_distances.size(); index++) {
|
||||
for (size_t index = 0; index < new_distances.size(); index++)
|
||||
{
|
||||
|
||||
if (std::abs(new_distances[index] - expected[index]) > 1e-1) {
|
||||
std::cerr << "New: " << new_distances[index] << " Expected: " << expected[index] << std::endl;
|
||||
if (std::abs(new_distances[index] - expected[index]) > 1e-1)
|
||||
{
|
||||
std::cerr << "New: " << new_distances[index] << " Expected: " << expected[index]
|
||||
<< std::endl;
|
||||
std::exit(1);
|
||||
}
|
||||
}
|
||||
@ -376,15 +378,19 @@ SubMatchingList mapMatching(SearchEngineData<Algorithm> &engine_working_data,
|
||||
new_distances.push_back(network_distance);
|
||||
}
|
||||
}
|
||||
if (new_distances.size() != old_distances.size()) {
|
||||
if (new_distances.size() != old_distances.size())
|
||||
{
|
||||
std::cerr << "New distances size is not equal to expected size" << std::endl;
|
||||
std::exit(1);
|
||||
}
|
||||
|
||||
for (size_t index = 0; index < new_distances.size(); index++) {
|
||||
for (size_t index = 0; index < new_distances.size(); index++)
|
||||
{
|
||||
|
||||
if (std::abs(new_distances[index] - old_distances[index]) > 1e-1) {
|
||||
std::cerr << "New: " << new_distances[index] << " Expected: " << old_distances[index] << std::endl;
|
||||
if (std::abs(new_distances[index] - old_distances[index]) > 1e-1)
|
||||
{
|
||||
std::cerr << "New: " << new_distances[index]
|
||||
<< " Expected: " << old_distances[index] << std::endl;
|
||||
std::exit(1);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user