Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class RoutingFullPathNeighborhoodGenerator
Note: This documentation is automatically generated.
This routing based LNS generator aims are relaxing one full path, and make
some room on the other paths to absorb the nodes of the relaxed path.
In order to do so, it will relax the first and the last arc of each path in
the circuit or routes constraints. Then it will relax all arc literals in one
random path. Then it will relax random arcs in the remaining paths until it
reaches the given difficulty.
[[["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."],[[["\u003cp\u003eThis Large Neighborhood Search (LNS) generator focuses on routing problems by relaxing one full path and allowing other paths to absorb the displaced nodes.\u003c/p\u003e\n"],["\u003cp\u003eIt achieves this by relaxing the first and last arcs of all paths, completely relaxing a random path, and then partially relaxing other paths based on desired difficulty.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eGenerate\u003c/code\u003e method creates the neighborhood using an initial solution, difficulty level, and random number generator.\u003c/p\u003e\n"],["\u003cp\u003eThe generator is initialized with a helper object and a unique name.\u003c/p\u003e\n"]]],["The `RoutingFullPathNeighborhoodGenerator` class relaxes routes in a solution. It operates by relaxing the first and last arcs of each path and then relaxing all arcs in one random path. It continues by relaxing random arcs in other paths until a set difficulty level is met. The `Generate` method, taking an initial solution, difficulty, and random seed as arguments, returns a `Neighborhood`. The `RoutingFullPathNeighborhoodGenerator` constructor takes a `NeighborhoodGeneratorHelper` and a name.\n"],null,["# RoutingFullPathNeighborhoodGenerator\n\nC++ Reference: class RoutingFullPathNeighborhoodGenerator\n=========================================================\n\n\nNote: This documentation is automatically generated.\nThis routing based LNS generator aims are relaxing one full path, and make some room on the other paths to absorb the nodes of the relaxed path. \n\nIn order to do so, it will relax the first and the last arc of each path in the circuit or routes constraints. Then it will relax all arc literals in one random path. Then it will relax random arcs in the remaining paths until it reaches the given difficulty.\n\n| Method ||\n|------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|\n| [`Generate`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cp_model_lns.h#L642) | Return type: `Neighborhood ` Arguments: `const CpSolverResponse& initial_solution, double difficulty, absl::BitGenRef random` \u003cbr /\u003e |\n| [`RoutingFullPathNeighborhoodGenerator`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cp_model_lns.h#L638) | \u003cbr /\u003e Arguments: ` NeighborhoodGeneratorHelper const* helper, const std::string& name` \u003cbr /\u003e |"]]