Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
shortest_paths.h File Reference
#include <cstdint>
#include <limits>
#include <memory>
#include <utility>
#include <vector>
#include "absl/base/attributes.h"
#include "absl/container/flat_hash_map.h"
#include "absl/functional/bind_front.h"
#include "absl/log/check.h"
#include "absl/types/span.h"
#include "ortools/base/adjustable_priority_queue-inl.h"
#include "ortools/base/adjustable_priority_queue.h"
#include "ortools/base/logging.h"
#include "ortools/base/map_util.h"
#include "ortools/base/stl_util.h"
#include "ortools/base/threadpool.h"
#include "ortools/base/timer.h"

Go to the source code of this file.

Classes

class  operations_research::GenericPathContainer< GraphType >
class  operations_research::internal::PathContainerImpl< NodeIndex, kNilNode >
class  operations_research::internal::PathTree< NodeIndex, kNilNode >
class  operations_research::internal::DistanceContainer< NodeIndex, kNilNode >
class  operations_research::internal::InMemoryCompactPathContainer< NodeIndex, kNilNode >
class  operations_research::internal::NodeEntry< NodeIndex, kNilNode >

Namespaces

namespace  operations_research
 OR-Tools root namespace.
namespace  operations_research::internal

Typedefs

typedef uint32_t operations_research::PathDistance

Functions

template<class GraphType>
void operations_research::GetGraphNodes (const GraphType &graph, std::vector< typename GraphType::NodeIndex > *nodes)
template<class GraphType>
void operations_research::GetGraphNodesFromGraph (const GraphType &graph, std::vector< typename GraphType::NodeIndex > *nodes)
template<class GraphType>
void operations_research::ComputeOneToAllShortestPaths (const GraphType &graph, const std::vector< PathDistance > &arc_lengths, typename GraphType::NodeIndex source, GenericPathContainer< GraphType > *const path_container)
template<class GraphType>
void operations_research::ComputeOneToManyShortestPaths (const GraphType &graph, const std::vector< PathDistance > &arc_lengths, typename GraphType::NodeIndex source, const std::vector< typename GraphType::NodeIndex > &destinations, GenericPathContainer< GraphType > *const path_container)
template<class GraphType>
std::vector< typename GraphType::NodeIndex > operations_research::ComputeOneToOneShortestPath (const GraphType &graph, const std::vector< PathDistance > &arc_lengths, typename GraphType::NodeIndex source, typename GraphType::NodeIndex destination)
template<class GraphType>
void operations_research::ComputeManyToAllShortestPathsWithMultipleThreads (const GraphType &graph, const std::vector< PathDistance > &arc_lengths, const std::vector< typename GraphType::NodeIndex > &sources, int num_threads, GenericPathContainer< GraphType > *const path_container)
template<class GraphType>
void operations_research::ComputeAllToAllShortestPathsWithMultipleThreads (const GraphType &graph, const std::vector< PathDistance > &arc_lengths, int num_threads, GenericPathContainer< GraphType > *const path_container)
template<class NodeIndex, NodeIndex kNilNode>
bool operations_research::internal::InsertOrUpdateEntry (PathDistance distance, NodeEntry< NodeIndex, kNilNode > *entry, AdjustablePriorityQueue< NodeEntry< NodeIndex, kNilNode > > *priority_queue)
template<class GraphType>
void operations_research::internal::ComputeOneToManyOnGraph (const GraphType *const graph, const std::vector< PathDistance > *const arc_lengths, typename GraphType::NodeIndex source, const std::vector< typename GraphType::NodeIndex > *const destinations, typename GenericPathContainer< GraphType >::Impl *const paths)
template<class GraphType>
void operations_research::ComputeManyToManyShortestPathsWithMultipleThreads (const GraphType &graph, const std::vector< PathDistance > &arc_lengths, const std::vector< typename GraphType::NodeIndex > &sources, const std::vector< typename GraphType::NodeIndex > &destinations, int num_threads, GenericPathContainer< GraphType > *const paths)

Variables

const PathDistance operations_research::kDisconnectedPathDistance