Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
routing_neighborhoods.h File Reference
#include <stdbool.h>
#include <cstdint>
#include <functional>
#include <string>
#include <utility>
#include <vector>
#include "absl/log/check.h"
#include "absl/types/span.h"
#include "ortools/constraint_solver/constraint_solver.h"
#include "ortools/constraint_solver/constraint_solveri.h"
#include "ortools/constraint_solver/routing_types.h"
#include "ortools/util/bitset.h"

Go to the source code of this file.

Classes

class  operations_research::MakeRelocateNeighborsOperator< ignore_path_vars >
 
class  operations_research::ShortestPathOnAlternatives
 
class  operations_research::TwoOptWithShortestPathOperator< ignore_path_vars >
 
class  operations_research::SwapActiveToShortestPathOperator< ignore_path_vars >
 | / \ ^ More...
 
class  operations_research::MakePairActiveOperator< ignore_path_vars >
 
class  operations_research::MakePairInactiveOperator< ignore_path_vars >
 Operator which makes pairs of active nodes inactive. More...
 
class  operations_research::PairRelocateOperator< ignore_path_vars >
 
class  operations_research::GroupPairAndRelocateOperator< ignore_path_vars >
 
class  operations_research::LightPairRelocateOperator< ignore_path_vars >
 
class  operations_research::PairExchangeOperator< ignore_path_vars >
 
class  operations_research::PairExchangeRelocateOperator< ignore_path_vars >
 
class  operations_research::SwapIndexPairOperator
 
class  operations_research::IndexPairSwapActiveOperator< ignore_path_vars >
 
class  operations_research::RelocateExpensiveChain< ignore_path_vars >
 
class  operations_research::PairNodeSwapActiveOperator< swap_first, ignore_path_vars >
 
class  operations_research::PickupAndDeliveryData
 A utility class to maintain pickup and delivery information of nodes. More...
 
class  operations_research::RelocateSubtrip< ignore_path_vars >
 
class  operations_research::ExchangeSubtrip< ignore_path_vars >
 

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 

Functions

LocalSearchOperatoroperations_research::MakeRelocateNeighbors (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::function< const std::vector< int > &(int, int)> get_incoming_neighbors, std::function< const std::vector< int > &(int, int)> get_outgoing_neighbors, RoutingTransitCallback2 arc_evaluator)
 
LocalSearchOperatoroperations_research::MakeRelocateNeighbors (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, RoutingTransitCallback2 arc_evaluator)
 
LocalSearchOperatoroperations_research::MakeTwoOptWithShortestPath (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::vector< std::vector< int64_t > > alternative_sets, RoutingTransitCallback2 arc_evaluator)
 
LocalSearchOperatoroperations_research::MakeSwapActiveToShortestPath (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::vector< std::vector< int64_t > > alternative_sets, RoutingTransitCallback2 arc_evaluator)
 
LocalSearchOperatoroperations_research::MakePairActive (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakePairInactive (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakePairRelocate (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakeGroupPairAndRelocate (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::function< const std::vector< int > &(int, int)> get_incoming_neighbors, std::function< const std::vector< int > &(int, int)> get_outgoing_neighbors, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakeGroupPairAndRelocate (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakeLightPairRelocate (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::function< const std::vector< int > &(int, int)> get_incoming_neighbors, std::function< const std::vector< int > &(int, int)> get_outgoing_neighbors, const std::vector< PickupDeliveryPair > &pairs, std::function< bool(int64_t)> force_lifo)
 
LocalSearchOperatoroperations_research::MakeLightPairRelocate (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs, std::function< bool(int64_t)> force_lifo)
 
LocalSearchOperatoroperations_research::MakePairExchange (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::function< const std::vector< int > &(int, int)> get_incoming_neighbors, std::function< const std::vector< int > &(int, int)> get_outgoing_neighbors, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakePairExchange (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakePairExchangeRelocate (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakeIndexPairSwapActive (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakeRelocateExpensiveChain (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, int num_arcs_to_consider, std::function< int64_t(int64_t, int64_t, int64_t)> arc_cost_for_path_start)
 
template<bool swap_first>
LocalSearchOperatoroperations_research::MakePairNodeSwapActive (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, const std::vector< PickupDeliveryPair > &pairs)
 
LocalSearchOperatoroperations_research::MakeRelocateSubtrip (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::function< const std::vector< int > &(int, int)> get_incoming_neighbors, std::function< const std::vector< int > &(int, int)> get_outgoing_neighbors, absl::Span< const PickupDeliveryPair > pairs)
 
LocalSearchOperatoroperations_research::MakeRelocateSubtrip (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, absl::Span< const PickupDeliveryPair > pairs)
 
LocalSearchOperatoroperations_research::MakeExchangeSubtrip (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::function< const std::vector< int > &(int, int)> get_incoming_neighbors, std::function< const std::vector< int > &(int, int)> get_outgoing_neighbors, absl::Span< const PickupDeliveryPair > pairs)
 
LocalSearchOperatoroperations_research::MakeExchangeSubtrip (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, absl::Span< const PickupDeliveryPair > pairs)