Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class PathOperator
Note: This documentation is automatically generated.
Base class of the local search operators dedicated to path modifications
(a path is a set of nodes linked together by arcs).
This family of neighborhoods supposes they are handling next variables
representing the arcs (var[i] represents the node immediately after i on
a path).
Several services are provided:
- arc manipulators (SetNext(), ReverseChain(), MoveChain())
- path inspectors (Next(), Prev(), IsPathEnd())
- path iterators: operators need a given number of nodes to define a
neighbor; this class provides the iteration on a given number of (base)
nodes which can be used to define a neighbor (through the BaseNode method)
Subclasses only need to override MakeNeighbor to create neighbors using
the services above (no direct manipulation of assignments).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["`PathOperator` is a base class for local search operators that modify paths represented by linked nodes."],["It provides functionalities for manipulating arcs within paths (e.g., reversing, moving)."],["It offers methods for inspecting paths, such as determining the next or previous node."],["Subclasses can extend `PathOperator` by implementing `MakeNeighbor` to define specific path modifications."],["The class supports efficient iteration over base nodes for defining neighbors."]]],["The `PathOperator` class in C++ facilitates local search operations on paths within a network. It provides methods for modifying paths, including `SetNext`, `ReverseChain`, and `MoveChain`, and for inspecting paths, like `Next`, `Prev`, and `IsPathEnd`. It uses a base node iteration to define neighbors. The `MakeNeighbor` method is overriden in subclasses to generate neighbors. Key information includes the use of next variables to represent arcs, the number of next variables (`number_of_nexts`), and path identification (`Path`).\n"]]