Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::PathOperator::IterationParameters Struct Reference

Set of parameters used to configure how the neighnorhood is traversed. More...

#include <constraint_solveri.h>

Public Attributes

int number_of_base_nodes
 Number of nodes needed to define a neighbor.
 
bool skip_locally_optimal_paths
 
bool accept_path_end_base
 True if path ends should be considered when iterating over neighbors.
 
std::function< int(int64_t)> start_empty_path_class
 
std::function< const std::vector< int > &(int, int)> get_neighbors
 Callback returning neighbors of a node on a path starting at start_node.
 

Detailed Description

Set of parameters used to configure how the neighnorhood is traversed.

Definition at line 1321 of file constraint_solveri.h.

Member Data Documentation

◆ accept_path_end_base

bool operations_research::PathOperator::IterationParameters::accept_path_end_base

True if path ends should be considered when iterating over neighbors.

Definition at line 1328 of file constraint_solveri.h.

◆ get_neighbors

std::function<const std::vector<int>&(int, int)> operations_research::PathOperator::IterationParameters::get_neighbors

Callback returning neighbors of a node on a path starting at start_node.

Definition at line 1342 of file constraint_solveri.h.

◆ number_of_base_nodes

int operations_research::PathOperator::IterationParameters::number_of_base_nodes

Number of nodes needed to define a neighbor.

Definition at line 1323 of file constraint_solveri.h.

◆ skip_locally_optimal_paths

bool operations_research::PathOperator::IterationParameters::skip_locally_optimal_paths

Skip paths which have been proven locally optimal. Note this might skip neighbors when paths are not independent.

Definition at line 1326 of file constraint_solveri.h.

◆ start_empty_path_class

std::function<int(int64_t)> operations_research::PathOperator::IterationParameters::start_empty_path_class

Callback returning an index such that if c1 = start_empty_path_class(StartNode(p1)), c2 = start_empty_path_class(StartNode(p2)), p1 and p2 are path indices, then if c1 == c2, p1 and p2 are equivalent if they are empty. This is used to remove neighborhood symmetries on equivalent empty paths; for instance if a node cannot be moved to an empty path, then all moves moving the same node to equivalent empty paths will be skipped. 'start_empty_path_class' can be nullptr in which case no symmetries will be removed.

Definition at line 1339 of file constraint_solveri.h.


The documentation for this struct was generated from the following file: