|
| CheapestInsertionFilteredHeuristic (RoutingModel *model, std::function< bool()> stop_search, std::function< int64_t(int64_t, int64_t, int64_t)> evaluator, std::function< int64_t(int64_t)> penalty_evaluator, LocalSearchFilterManager *filter_manager) |
| Takes ownership of evaluator.
|
|
| ~CheapestInsertionFilteredHeuristic () override=default |
|
| RoutingFilteredHeuristic (RoutingModel *model, std::function< bool()> stop_search, LocalSearchFilterManager *filter_manager) |
| RoutingFilteredHeuristic.
|
|
| ~RoutingFilteredHeuristic () override=default |
|
Assignment * | BuildSolutionFromRoutes (const std::function< int64_t(int64_t)> &next_accessor) |
| Builds a solution starting from the routes formed by the next accessor.
|
|
RoutingModel * | model () const |
|
int | GetStartChainEnd (int vehicle) const |
| Returns the end of the start chain of vehicle,.
|
|
int | GetEndChainStart (int vehicle) const |
| Returns the start of the end chain of vehicle,.
|
|
void | MakeDisjunctionNodesUnperformed (int64_t node) |
|
void | AddUnassignedNodesToEmptyVehicles () |
| Adds all unassigned nodes to empty vehicles.
|
|
bool | MakeUnassignedNodesUnperformed () |
| Make all unassigned nodes unperformed, always returns true.
|
|
void | MakePartiallyPerformedPairsUnperformed () |
|
| IntVarFilteredHeuristic (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, LocalSearchFilterManager *filter_manager) |
| — First solution heuristics —
|
|
virtual | ~IntVarFilteredHeuristic ()=default |
|
Assignment * | BuildSolution () |
|
int64_t | number_of_decisions () const |
|
int64_t | number_of_rejects () const |
|
virtual std::string | DebugString () const |
|
|
std::vector< std::vector< StartEndValue > > | ComputeStartEndDistanceForVehicles (absl::Span< const int > vehicles) |
|
void | InitializeSeedQueue (std::vector< std::vector< StartEndValue > > *start_end_distances_per_node, SeedQueue *sq) |
|
void | AddSeedNodeToQueue (int node, std::vector< StartEndValue > *start_end_distances, SeedQueue *sq) |
| clang-format on
|
|
void | InsertBetween (int64_t node, int64_t predecessor, int64_t successor, int vehicle=-1) |
|
void | AppendInsertionPositionsAfter (int64_t node_to_insert, int64_t start, int64_t next_after_start, int vehicle, bool ignore_cost, std::vector< NodeInsertion > *node_insertions) |
|
int64_t | GetInsertionCostForNodeAtPosition (int64_t node_to_insert, int64_t insert_after, int64_t insert_before, int vehicle) const |
|
int64_t | GetUnperformedValue (int64_t node_to_insert) const |
|
bool | HasHintedNext (int node) const |
|
bool | HasHintedPrev (int node) const |
|
bool | IsHint (int node, int64_t next) const |
|
bool | StopSearch () override |
| Returns true if the search must be stopped.
|
|
virtual void | SetVehicleIndex (int64_t, int) |
|
virtual void | ResetVehicleIndices () |
|
bool | VehicleIsEmpty (int vehicle) const |
|
void | SetNext (int64_t node, int64_t next, int vehicle) |
|
void | ResetSolution () |
| Resets the data members for a new solution.
|
|
virtual void | Initialize () |
| Initialize the heuristic; called before starting to build a new solution.
|
|
virtual bool | BuildSolutionInternal ()=0 |
| Virtual method to redefine how to build a solution.
|
|
std::optional< int64_t > | Evaluate (bool commit, bool ignore_upper_bound=false, bool update_upper_bound=true) |
|
void | SetValue (int64_t index, int64_t value) |
|
const std::vector< int > & | delta_indices () const |
| Returns the indices of the nodes currently in the insertion delta.
|
|
int64_t | Value (int64_t index) const |
|
bool | Contains (int64_t index) const |
| Returns true if the variable of index 'index' is in the current solution.
|
|
IntVar * | Var (int64_t index) const |
| Returns the variable of index 'index'.
|
|
int64_t | SecondaryVarIndex (int64_t index) const |
| Returns the index of a secondary var.
|
|
bool | HasSecondaryVars () const |
| Returns true if there are secondary variables.
|
|
bool | IsSecondaryVar (int64_t index) const |
| Returns true if 'index' is a secondary variable index.
|
|
void | SynchronizeFilters () |
| Synchronizes filters with an assignment (the current solution).
|
|
Definition at line 365 of file routing_search.h.