Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class PairExchangeRelocateOperator
Note: This documentation is automatically generated.
Operator which exchanges the paths of two pairs (path have to be different).
Pairs are inserted in all possible positions in their new path with the
constraint that the second node must be placed after the first.
Possible neighbors for the path 1 -> A -> B -> 2 -> 3, 4 -> C -> 5 -> D -> 6
1 -> C -> D -> 2 -> 3 4 -> A -> B -> 5 -> 6
1 -> C -> 2 -> D -> 3 4 -> A -> 5 -> B -> 6
1 -> 2 -> C -> D -> 3 4 -> 5 -> A -> B -> 6
1 -> C -> D -> 2 -> 3 4 -> A -> B -> 5 -> 6
1 -> C -> 2 -> D -> 3 4 -> A -> 5 -> B -> 6
1 -> 2 -> C -> D -> 3 4 -> 5 -> A -> B -> 6
1 -> C -> D -> 2 -> 3 4 -> A -> B -> 5 -> 6
1 -> C -> 2 -> D -> 3 4 -> A -> 5 -> B -> 6
1 -> 2 -> C -> D -> 3 4 -> 5 -> A -> B -> 6
[[["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."],[[["The `PairExchangeRelocateOperator` exchanges the paths of two pairs in a routing problem, ensuring the second node is placed after the first in the new path."],["It explores different insertion positions for the pairs within their new paths, generating various neighbor solutions."],["The operator is defined by the `PairExchangeRelocateOperator` class in the `routing_neighborhoods.h` file, offering methods like `MakeNeighbor` and `DebugString`."],["This operator is used within constraint programming to optimize routes by considering pair exchanges and relocations."]]],["The `PairExchangeRelocateOperator` exchanges paths of two pairs, ensuring they are different. Pairs are relocated to all possible positions within their new path, with the constraint that the second node follows the first. Key methods include `MakeNeighbor`, which returns a boolean, `DebugString`, returning a string, and the constructor `PairExchangeRelocateOperator`, accepting variables, a function and index pairs, as arguments. A destructor `~PairExchangeRelocateOperator` is also defined.\n"]]