public static final class RoutingSearchParameters.LocalSearchNeighborhoodOperators extends com.google.protobuf.GeneratedMessage implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
Local search neighborhood operators used to build a solutions neighborhood. Next ID: 39Protobuf type
operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators
Modifier and Type | Class and Description |
---|---|
static class |
RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder
Local search neighborhood operators used to build a solutions neighborhood.
|
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
getDefaultInstance() |
RoutingSearchParameters.LocalSearchNeighborhoodOperators |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Parser<RoutingSearchParameters.LocalSearchNeighborhoodOperators> |
getParserForType() |
int |
getSerializedSize() |
OptionalBoolean |
getUseCross()
Operator which cross exchanges the starting chains of 2 paths, including
exchanging the whole paths.
|
OptionalBoolean |
getUseCrossExchange()
Not implemented yet.
|
int |
getUseCrossExchangeValue()
Not implemented yet.
|
int |
getUseCrossValue()
Operator which cross exchanges the starting chains of 2 paths, including
exchanging the whole paths.
|
OptionalBoolean |
getUseExchange()
Operator which exchanges the positions of two nodes.
|
OptionalBoolean |
getUseExchangeAndMakeActive()
Operator which exchanges two nodes and inserts an inactive node.
|
int |
getUseExchangeAndMakeActiveValue()
Operator which exchanges two nodes and inserts an inactive node.
|
OptionalBoolean |
getUseExchangePair()
Operator which exchanges the positions of two pair of nodes.
|
int |
getUseExchangePairValue()
Operator which exchanges the positions of two pair of nodes.
|
OptionalBoolean |
getUseExchangePathStartEndsAndMakeActive()
Operator which exchanges the first and last nodes of two paths and makes
a node active.
|
int |
getUseExchangePathStartEndsAndMakeActiveValue()
Operator which exchanges the first and last nodes of two paths and makes
a node active.
|
OptionalBoolean |
getUseExchangeSubtrip()
Operator which exchanges subtrips associated to two pairs of nodes,
see use_relocate_subtrip for a definition of subtrips.
|
int |
getUseExchangeSubtripValue()
Operator which exchanges subtrips associated to two pairs of nodes,
see use_relocate_subtrip for a definition of subtrips.
|
int |
getUseExchangeValue()
Operator which exchanges the positions of two nodes.
|
OptionalBoolean |
getUseExtendedSwapActive()
Operator which makes an inactive node active and an active one inactive.
|
int |
getUseExtendedSwapActiveValue()
Operator which makes an inactive node active and an active one inactive.
|
OptionalBoolean |
getUseFullPathLns()
Operator which relaxes one entire path and all inactive nodes.
|
int |
getUseFullPathLnsValue()
Operator which relaxes one entire path and all inactive nodes.
|
OptionalBoolean |
getUseGlobalCheapestInsertionCloseNodesLns()
The following operator makes a node and its
heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along
with each of their corresponding performed pickup/delivery pairs, and
then reinserts them using the GlobalCheapestInsertion heuristic.
|
int |
getUseGlobalCheapestInsertionCloseNodesLnsValue()
The following operator makes a node and its
heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along
with each of their corresponding performed pickup/delivery pairs, and
then reinserts them using the GlobalCheapestInsertion heuristic.
|
OptionalBoolean |
getUseGlobalCheapestInsertionExpensiveChainLns()
This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider
most expensive arcs on a route, makes the nodes in between pairs of these
expensive arcs unperformed, and reinserts them using the
GlobalCheapestInsertion heuristic.
|
int |
getUseGlobalCheapestInsertionExpensiveChainLnsValue()
This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider
most expensive arcs on a route, makes the nodes in between pairs of these
expensive arcs unperformed, and reinserts them using the
GlobalCheapestInsertion heuristic.
|
OptionalBoolean |
getUseGlobalCheapestInsertionPathLns()
--- LNS-like large neighborhood search operators using heuristics ---
Operator which makes all nodes on a route unperformed, and reinserts them
using the GlobalCheapestInsertion heuristic.
|
int |
getUseGlobalCheapestInsertionPathLnsValue()
--- LNS-like large neighborhood search operators using heuristics ---
Operator which makes all nodes on a route unperformed, and reinserts them
using the GlobalCheapestInsertion heuristic.
|
OptionalBoolean |
getUseInactiveLns()
Operator which relaxes all inactive nodes and one sub-chain of six
consecutive arcs.
|
int |
getUseInactiveLnsValue()
Operator which relaxes all inactive nodes and one sub-chain of six
consecutive arcs.
|
OptionalBoolean |
getUseLightRelocatePair()
Operator which moves a pair of pickup and delivery nodes after another
pair.
|
int |
getUseLightRelocatePairValue()
Operator which moves a pair of pickup and delivery nodes after another
pair.
|
OptionalBoolean |
getUseLinKernighan()
Lin-Kernighan operator.
|
int |
getUseLinKernighanValue()
Lin-Kernighan operator.
|
OptionalBoolean |
getUseLocalCheapestInsertionCloseNodesLns()
Same as above, but insertion positions for nodes are determined by the
LocalCheapestInsertion heuristic.
|
int |
getUseLocalCheapestInsertionCloseNodesLnsValue()
Same as above, but insertion positions for nodes are determined by the
LocalCheapestInsertion heuristic.
|
OptionalBoolean |
getUseLocalCheapestInsertionExpensiveChainLns()
Same as above but using LocalCheapestInsertion as a heuristic for
insertion.
|
int |
getUseLocalCheapestInsertionExpensiveChainLnsValue()
Same as above but using LocalCheapestInsertion as a heuristic for
insertion.
|
OptionalBoolean |
getUseLocalCheapestInsertionPathLns()
Same as above but using LocalCheapestInsertion as a heuristic.
|
int |
getUseLocalCheapestInsertionPathLnsValue()
Same as above but using LocalCheapestInsertion as a heuristic.
|
OptionalBoolean |
getUseMakeActive()
--- Operators on inactive nodes ---
Operator which inserts an inactive node into a path.
|
int |
getUseMakeActiveValue()
--- Operators on inactive nodes ---
Operator which inserts an inactive node into a path.
|
OptionalBoolean |
getUseMakeChainInactive()
Operator which makes a "chain" of path nodes inactive.
|
int |
getUseMakeChainInactiveValue()
Operator which makes a "chain" of path nodes inactive.
|
OptionalBoolean |
getUseMakeInactive()
Operator which makes path nodes inactive.
|
int |
getUseMakeInactiveValue()
Operator which makes path nodes inactive.
|
OptionalBoolean |
getUseNodePairSwapActive()
Operator which makes an inactive node active and an active pair of nodes
inactive OR makes an inactive pair of nodes active and an active node
inactive.
|
int |
getUseNodePairSwapActiveValue()
Operator which makes an inactive node active and an active pair of nodes
inactive OR makes an inactive pair of nodes active and an active node
inactive.
|
OptionalBoolean |
getUseOrOpt()
Operator which moves sub-chains of a path of length 1, 2 and 3 to another
position in the same path.
|
int |
getUseOrOptValue()
Operator which moves sub-chains of a path of length 1, 2 and 3 to another
position in the same path.
|
OptionalBoolean |
getUsePathLns()
--- Large neighborhood search operators ---
Operator which relaxes two sub-chains of three consecutive arcs each.
|
int |
getUsePathLnsValue()
--- Large neighborhood search operators ---
Operator which relaxes two sub-chains of three consecutive arcs each.
|
OptionalBoolean |
getUseRelocate()
--- Inter-route operators ---
Operator which moves a single node to another position.
|
OptionalBoolean |
getUseRelocateAndMakeActive()
Operator which relocates a node while making an inactive one active.
|
int |
getUseRelocateAndMakeActiveValue()
Operator which relocates a node while making an inactive one active.
|
OptionalBoolean |
getUseRelocateExpensiveChain()
Operator which detects the relocate_expensive_chain_num_arcs_to_consider
most expensive arcs on a path, and moves the chain resulting from cutting
pairs of arcs among these to another position.
|
int |
getUseRelocateExpensiveChainValue()
Operator which detects the relocate_expensive_chain_num_arcs_to_consider
most expensive arcs on a path, and moves the chain resulting from cutting
pairs of arcs among these to another position.
|
OptionalBoolean |
getUseRelocateNeighbors()
Relocate neighborhood which moves chains of neighbors.
|
int |
getUseRelocateNeighborsValue()
Relocate neighborhood which moves chains of neighbors.
|
OptionalBoolean |
getUseRelocatePair()
Operator which moves a pair of pickup and delivery nodes to another
position where the first node of the pair must be before the second node
on the same path.
|
int |
getUseRelocatePairValue()
Operator which moves a pair of pickup and delivery nodes to another
position where the first node of the pair must be before the second node
on the same path.
|
OptionalBoolean |
getUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
The following operator relocates an entire route to an empty path and
then tries to insert the unperformed nodes using the global cheapest
insertion heuristic.
|
int |
getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue()
The following operator relocates an entire route to an empty path and
then tries to insert the unperformed nodes using the global cheapest
insertion heuristic.
|
OptionalBoolean |
getUseRelocateSubtrip()
Relocate neighborhood that moves subpaths all pickup and delivery
pairs have both pickup and delivery inside the subpath or both outside
the subpath.
|
int |
getUseRelocateSubtripValue()
Relocate neighborhood that moves subpaths all pickup and delivery
pairs have both pickup and delivery inside the subpath or both outside
the subpath.
|
int |
getUseRelocateValue()
--- Inter-route operators ---
Operator which moves a single node to another position.
|
OptionalBoolean |
getUseShortestPathSwapActive()
Swaps active nodes from node alternatives in sequence.
|
int |
getUseShortestPathSwapActiveValue()
Swaps active nodes from node alternatives in sequence.
|
OptionalBoolean |
getUseShortestPathTwoOpt()
Similar to use_two_opt but returns the shortest path on the DAG of node
alternatives of the reversed chain (cf. use_shortest_path_swap_active).
|
int |
getUseShortestPathTwoOptValue()
Similar to use_two_opt but returns the shortest path on the DAG of node
alternatives of the reversed chain (cf. use_shortest_path_swap_active).
|
OptionalBoolean |
getUseSwapActive()
Operator which replaces an active node by an inactive one.
|
OptionalBoolean |
getUseSwapActiveChain()
Operator which replaces a chain of active nodes by an inactive one.
|
int |
getUseSwapActiveChainValue()
Operator which replaces a chain of active nodes by an inactive one.
|
int |
getUseSwapActiveValue()
Operator which replaces an active node by an inactive one.
|
OptionalBoolean |
getUseTspLns()
TSP-base LNS.
|
int |
getUseTspLnsValue()
TSP-base LNS.
|
OptionalBoolean |
getUseTspOpt()
Sliding TSP operator.
|
int |
getUseTspOptValue()
Sliding TSP operator.
|
OptionalBoolean |
getUseTwoOpt()
--- Intra-route operators ---
Operator which reverses a subchain of a path.
|
int |
getUseTwoOptValue()
--- Intra-route operators ---
Operator which reverses a subchain of a path.
|
int |
hashCode() |
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder |
newBuilder() |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder |
newBuilder(RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype) |
RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder |
newBuilderForType() |
protected RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder |
newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseDelimitedFrom(java.io.InputStream input) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseDelimitedFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(byte[] data) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(java.nio.ByteBuffer data) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(com.google.protobuf.ByteString data) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(com.google.protobuf.CodedInputStream input) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(java.io.InputStream input) |
static RoutingSearchParameters.LocalSearchNeighborhoodOperators |
parseFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<RoutingSearchParameters.LocalSearchNeighborhoodOperators> |
parser() |
RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
findInitializationErrors, getInitializationErrorString, hashFields, toString
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
public static final int USE_RELOCATE_FIELD_NUMBER
public static final int USE_RELOCATE_PAIR_FIELD_NUMBER
public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER
public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER
public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER
public static final int USE_EXCHANGE_FIELD_NUMBER
public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER
public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER
public static final int USE_CROSS_FIELD_NUMBER
public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER
public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER
public static final int USE_TWO_OPT_FIELD_NUMBER
public static final int USE_OR_OPT_FIELD_NUMBER
public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER
public static final int USE_TSP_OPT_FIELD_NUMBER
public static final int USE_MAKE_ACTIVE_FIELD_NUMBER
public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER
public static final int USE_EXCHANGE_AND_MAKE_ACTIVE_FIELD_NUMBER
public static final int USE_EXCHANGE_PATH_START_ENDS_AND_MAKE_ACTIVE_FIELD_NUMBER
public static final int USE_MAKE_INACTIVE_FIELD_NUMBER
public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER
public static final int USE_SWAP_ACTIVE_FIELD_NUMBER
public static final int USE_SWAP_ACTIVE_CHAIN_FIELD_NUMBER
public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER
public static final int USE_SHORTEST_PATH_SWAP_ACTIVE_FIELD_NUMBER
public static final int USE_SHORTEST_PATH_TWO_OPT_FIELD_NUMBER
public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER
public static final int USE_PATH_LNS_FIELD_NUMBER
public static final int USE_FULL_PATH_LNS_FIELD_NUMBER
public static final int USE_TSP_LNS_FIELD_NUMBER
public static final int USE_INACTIVE_LNS_FIELD_NUMBER
public static final int USE_GLOBAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
public static final int USE_LOCAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
public static final int USE_RELOCATE_PATH_GLOBAL_CHEAPEST_INSERTION_INSERT_UNPERFORMED_FIELD_NUMBER
public static final int USE_GLOBAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
public static final int USE_LOCAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
public static final int USE_GLOBAL_CHEAPEST_INSERTION_CLOSE_NODES_LNS_FIELD_NUMBER
public static final int USE_LOCAL_CHEAPEST_INSERTION_CLOSE_NODES_LNS_FIELD_NUMBER
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class com.google.protobuf.GeneratedMessage
public int getUseRelocateValue()
--- Inter-route operators --- Operator which moves a single node to another position. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> 3 -> [2] -> 4 -> 5 1 -> 3 -> 4 -> [2] -> 5 1 -> 2 -> 4 -> [3] -> 5 1 -> [4] -> 2 -> 3 -> 5
.operations_research.OptionalBoolean use_relocate = 1;
getUseRelocateValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseRelocate()
--- Inter-route operators --- Operator which moves a single node to another position. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> 3 -> [2] -> 4 -> 5 1 -> 3 -> 4 -> [2] -> 5 1 -> 2 -> 4 -> [3] -> 5 1 -> [4] -> 2 -> 3 -> 5
.operations_research.OptionalBoolean use_relocate = 1;
getUseRelocate
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseRelocatePairValue()
Operator which moves a pair of pickup and delivery nodes to another position where the first node of the pair must be before the second node on the same path. Compared to the light_relocate_pair operator, tries all possible positions of insertion of a pair (not only after another pair). Possible neighbors for the path 1 -> A -> B -> 2 -> 3 (where (1, 3) are first and last nodes of the path and can therefore not be moved, and (A, B) is a pair of nodes): 1 -> [A] -> 2 -> [B] -> 3 1 -> 2 -> [A] -> [B] -> 3
.operations_research.OptionalBoolean use_relocate_pair = 2;
getUseRelocatePairValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseRelocatePair()
Operator which moves a pair of pickup and delivery nodes to another position where the first node of the pair must be before the second node on the same path. Compared to the light_relocate_pair operator, tries all possible positions of insertion of a pair (not only after another pair). Possible neighbors for the path 1 -> A -> B -> 2 -> 3 (where (1, 3) are first and last nodes of the path and can therefore not be moved, and (A, B) is a pair of nodes): 1 -> [A] -> 2 -> [B] -> 3 1 -> 2 -> [A] -> [B] -> 3
.operations_research.OptionalBoolean use_relocate_pair = 2;
getUseRelocatePair
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseLightRelocatePairValue()
Operator which moves a pair of pickup and delivery nodes after another pair. Possible neighbors for paths 1 -> A -> B -> 2, 3 -> C -> D -> 4 (where (1, 2) and (3, 4) are first and last nodes of paths and can therefore not be moved, and (A, B) and (C, D) are pair of nodes): 1 -> 2, 3 -> C -> [A] -> D -> [B] -> 4 1 -> A -> [C] -> B -> [D] -> 2, 3 -> 4
.operations_research.OptionalBoolean use_light_relocate_pair = 24;
getUseLightRelocatePairValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseLightRelocatePair()
Operator which moves a pair of pickup and delivery nodes after another pair. Possible neighbors for paths 1 -> A -> B -> 2, 3 -> C -> D -> 4 (where (1, 2) and (3, 4) are first and last nodes of paths and can therefore not be moved, and (A, B) and (C, D) are pair of nodes): 1 -> 2, 3 -> C -> [A] -> D -> [B] -> 4 1 -> A -> [C] -> B -> [D] -> 2, 3 -> 4
.operations_research.OptionalBoolean use_light_relocate_pair = 24;
getUseLightRelocatePair
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseRelocateNeighborsValue()
Relocate neighborhood which moves chains of neighbors. The operator starts by relocating a node n after a node m, then continues moving nodes which were after n as long as the "cost" added is less than the "cost" of the arc (m, n). If the new chain doesn't respect the domain of next variables, it will try reordering the nodes until it finds a valid path. Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2) are first and last nodes of the path and can therefore not be moved, A must be performed before B, and A, D and E are located at the same place): 1 -> A -> C -> [B] -> D -> E -> 2 1 -> A -> C -> D -> [B] -> E -> 2 1 -> A -> C -> D -> E -> [B] -> 2 1 -> A -> B -> D -> [C] -> E -> 2 1 -> A -> B -> D -> E -> [C] -> 2 1 -> A -> [D] -> [E] -> B -> C -> 2 1 -> A -> B -> [D] -> [E] -> C -> 2 1 -> A -> [E] -> B -> C -> D -> 2 1 -> A -> B -> [E] -> C -> D -> 2 1 -> A -> B -> C -> [E] -> D -> 2 This operator is extremely useful to move chains of nodes which are located at the same place (for instance nodes part of a same stop).
.operations_research.OptionalBoolean use_relocate_neighbors = 3;
getUseRelocateNeighborsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseRelocateNeighbors()
Relocate neighborhood which moves chains of neighbors. The operator starts by relocating a node n after a node m, then continues moving nodes which were after n as long as the "cost" added is less than the "cost" of the arc (m, n). If the new chain doesn't respect the domain of next variables, it will try reordering the nodes until it finds a valid path. Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2) are first and last nodes of the path and can therefore not be moved, A must be performed before B, and A, D and E are located at the same place): 1 -> A -> C -> [B] -> D -> E -> 2 1 -> A -> C -> D -> [B] -> E -> 2 1 -> A -> C -> D -> E -> [B] -> 2 1 -> A -> B -> D -> [C] -> E -> 2 1 -> A -> B -> D -> E -> [C] -> 2 1 -> A -> [D] -> [E] -> B -> C -> 2 1 -> A -> B -> [D] -> [E] -> C -> 2 1 -> A -> [E] -> B -> C -> D -> 2 1 -> A -> B -> [E] -> C -> D -> 2 1 -> A -> B -> C -> [E] -> D -> 2 This operator is extremely useful to move chains of nodes which are located at the same place (for instance nodes part of a same stop).
.operations_research.OptionalBoolean use_relocate_neighbors = 3;
getUseRelocateNeighbors
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseRelocateSubtripValue()
Relocate neighborhood that moves subpaths all pickup and delivery pairs have both pickup and delivery inside the subpath or both outside the subpath. For instance, for given paths: 0 -> A -> B -> A' -> B' -> 5 -> 6 -> 8 7 -> 9 Pairs (A,A') and (B,B') are interleaved, so the expected neighbors are: 0 -> 5 -> A -> B -> A' -> B' -> 6 -> 8 7 -> 9 0 -> 5 -> 6 -> A -> B -> A' -> B' -> 8 7 -> 9 0 -> 5 -> 6 -> 8 7 -> A -> B -> A' -> B' -> 9
.operations_research.OptionalBoolean use_relocate_subtrip = 25;
getUseRelocateSubtripValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseRelocateSubtrip()
Relocate neighborhood that moves subpaths all pickup and delivery pairs have both pickup and delivery inside the subpath or both outside the subpath. For instance, for given paths: 0 -> A -> B -> A' -> B' -> 5 -> 6 -> 8 7 -> 9 Pairs (A,A') and (B,B') are interleaved, so the expected neighbors are: 0 -> 5 -> A -> B -> A' -> B' -> 6 -> 8 7 -> 9 0 -> 5 -> 6 -> A -> B -> A' -> B' -> 8 7 -> 9 0 -> 5 -> 6 -> 8 7 -> A -> B -> A' -> B' -> 9
.operations_research.OptionalBoolean use_relocate_subtrip = 25;
getUseRelocateSubtrip
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseExchangeValue()
Operator which exchanges the positions of two nodes. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> [3] -> [2] -> 4 -> 5 1 -> [4] -> 3 -> [2] -> 5 1 -> 2 -> [4] -> [3] -> 5
.operations_research.OptionalBoolean use_exchange = 4;
getUseExchangeValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseExchange()
Operator which exchanges the positions of two nodes. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> [3] -> [2] -> 4 -> 5 1 -> [4] -> 3 -> [2] -> 5 1 -> 2 -> [4] -> [3] -> 5
.operations_research.OptionalBoolean use_exchange = 4;
getUseExchange
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseExchangePairValue()
Operator which exchanges the positions of two pair of nodes. Pairs correspond to the pickup and delivery pairs defined in the routing model. Possible neighbor for the paths 1 -> A -> B -> 2 -> 3 and 4 -> C -> D -> 5 (where (1, 3) and (4, 5) are first and last nodes of the paths and can therefore not be moved, and (A, B) and (C,D) are pairs of nodes): 1 -> [C] -> [D] -> 2 -> 3, 4 -> [A] -> [B] -> 5
.operations_research.OptionalBoolean use_exchange_pair = 22;
getUseExchangePairValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseExchangePair()
Operator which exchanges the positions of two pair of nodes. Pairs correspond to the pickup and delivery pairs defined in the routing model. Possible neighbor for the paths 1 -> A -> B -> 2 -> 3 and 4 -> C -> D -> 5 (where (1, 3) and (4, 5) are first and last nodes of the paths and can therefore not be moved, and (A, B) and (C,D) are pairs of nodes): 1 -> [C] -> [D] -> 2 -> 3, 4 -> [A] -> [B] -> 5
.operations_research.OptionalBoolean use_exchange_pair = 22;
getUseExchangePair
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseExchangeSubtripValue()
Operator which exchanges subtrips associated to two pairs of nodes, see use_relocate_subtrip for a definition of subtrips.
.operations_research.OptionalBoolean use_exchange_subtrip = 26;
getUseExchangeSubtripValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseExchangeSubtrip()
Operator which exchanges subtrips associated to two pairs of nodes, see use_relocate_subtrip for a definition of subtrips.
.operations_research.OptionalBoolean use_exchange_subtrip = 26;
getUseExchangeSubtrip
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseCrossValue()
Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths. First and last nodes are not moved. Possible neighbors for the paths 1 -> 2 -> 3 -> 4 -> 5 and 6 -> 7 -> 8 (where (1, 5) and (6, 8) are first and last nodes of the paths and can therefore not be moved): 1 -> [7] -> 3 -> 4 -> 5 6 -> [2] -> 8 1 -> [7] -> 4 -> 5 6 -> [2 -> 3] -> 8 1 -> [7] -> 5 6 -> [2 -> 3 -> 4] -> 8
.operations_research.OptionalBoolean use_cross = 5;
getUseCrossValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseCross()
Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths. First and last nodes are not moved. Possible neighbors for the paths 1 -> 2 -> 3 -> 4 -> 5 and 6 -> 7 -> 8 (where (1, 5) and (6, 8) are first and last nodes of the paths and can therefore not be moved): 1 -> [7] -> 3 -> 4 -> 5 6 -> [2] -> 8 1 -> [7] -> 4 -> 5 6 -> [2 -> 3] -> 8 1 -> [7] -> 5 6 -> [2 -> 3 -> 4] -> 8
.operations_research.OptionalBoolean use_cross = 5;
getUseCross
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseCrossExchangeValue()
Not implemented yet. TODO(b/68128619): Implement.
.operations_research.OptionalBoolean use_cross_exchange = 6;
getUseCrossExchangeValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseCrossExchange()
Not implemented yet. TODO(b/68128619): Implement.
.operations_research.OptionalBoolean use_cross_exchange = 6;
getUseCrossExchange
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseRelocateExpensiveChainValue()
Operator which detects the relocate_expensive_chain_num_arcs_to_consider most expensive arcs on a path, and moves the chain resulting from cutting pairs of arcs among these to another position. Possible neighbors for paths 1 -> 2 (empty) and 3 -> A ------> B --> C -----> D -> 4 (where A -> B and C -> D are the 2 most expensive arcs, and the chain resulting from breaking them is B -> C): 1 -> [B -> C] -> 2 3 -> A -> D -> 4 1 -> 2 3 -> [B -> C] -> A -> D -> 4 1 -> 2 3 -> A -> D -> [B -> C] -> 4
.operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
getUseRelocateExpensiveChainValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseRelocateExpensiveChain()
Operator which detects the relocate_expensive_chain_num_arcs_to_consider most expensive arcs on a path, and moves the chain resulting from cutting pairs of arcs among these to another position. Possible neighbors for paths 1 -> 2 (empty) and 3 -> A ------> B --> C -----> D -> 4 (where A -> B and C -> D are the 2 most expensive arcs, and the chain resulting from breaking them is B -> C): 1 -> [B -> C] -> 2 3 -> A -> D -> 4 1 -> 2 3 -> [B -> C] -> A -> D -> 4 1 -> 2 3 -> A -> D -> [B -> C] -> 4
.operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
getUseRelocateExpensiveChain
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseTwoOptValue()
--- Intra-route operators --- Operator which reverses a subchain of a path. It is called TwoOpt because it breaks two arcs on the path; resulting paths are called two-optimal. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> [3 -> 2] -> 4 -> 5 1 -> [4 -> 3 -> 2] -> 5 1 -> 2 -> [4 -> 3] -> 5
.operations_research.OptionalBoolean use_two_opt = 7;
getUseTwoOptValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseTwoOpt()
--- Intra-route operators --- Operator which reverses a subchain of a path. It is called TwoOpt because it breaks two arcs on the path; resulting paths are called two-optimal. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> [3 -> 2] -> 4 -> 5 1 -> [4 -> 3 -> 2] -> 5 1 -> 2 -> [4 -> 3] -> 5
.operations_research.OptionalBoolean use_two_opt = 7;
getUseTwoOpt
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseOrOptValue()
Operator which moves sub-chains of a path of length 1, 2 and 3 to another position in the same path. When the length of the sub-chain is 1, the operator simply moves a node to another position. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5, for a sub-chain length of 2 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> 4 -> [2 -> 3] -> 5 1 -> [3 -> 4] -> 2 -> 5 The OR_OPT operator is a limited version of 3-Opt (breaks 3 arcs on a path).
.operations_research.OptionalBoolean use_or_opt = 8;
getUseOrOptValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseOrOpt()
Operator which moves sub-chains of a path of length 1, 2 and 3 to another position in the same path. When the length of the sub-chain is 1, the operator simply moves a node to another position. Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5, for a sub-chain length of 2 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -> 4 -> [2 -> 3] -> 5 1 -> [3 -> 4] -> 2 -> 5 The OR_OPT operator is a limited version of 3-Opt (breaks 3 arcs on a path).
.operations_research.OptionalBoolean use_or_opt = 8;
getUseOrOpt
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseLinKernighanValue()
Lin-Kernighan operator. While the accumulated local gain is positive, performs a 2-OPT or a 3-OPT move followed by a series of 2-OPT moves. Returns a neighbor for which the global gain is positive.
.operations_research.OptionalBoolean use_lin_kernighan = 9;
getUseLinKernighanValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseLinKernighan()
Lin-Kernighan operator. While the accumulated local gain is positive, performs a 2-OPT or a 3-OPT move followed by a series of 2-OPT moves. Returns a neighbor for which the global gain is positive.
.operations_research.OptionalBoolean use_lin_kernighan = 9;
getUseLinKernighan
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseTspOptValue()
Sliding TSP operator. Uses an exact dynamic programming algorithm to solve the TSP corresponding to path sub-chains. For a subchain 1 -> 2 -> 3 -> 4 -> 5 -> 6, solves the TSP on nodes A, 2, 3, 4, 5, where A is a merger of nodes 1 and 6 such that cost(A,i) = cost(1,i) and cost(i,A) = cost(i,6).
.operations_research.OptionalBoolean use_tsp_opt = 10;
getUseTspOptValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseTspOpt()
Sliding TSP operator. Uses an exact dynamic programming algorithm to solve the TSP corresponding to path sub-chains. For a subchain 1 -> 2 -> 3 -> 4 -> 5 -> 6, solves the TSP on nodes A, 2, 3, 4, 5, where A is a merger of nodes 1 and 6 such that cost(A,i) = cost(1,i) and cost(i,A) = cost(i,6).
.operations_research.OptionalBoolean use_tsp_opt = 10;
getUseTspOpt
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseMakeActiveValue()
--- Operators on inactive nodes --- Operator which inserts an inactive node into a path. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 2 -> 3 -> 4 1 -> 2 -> [5] -> 3 -> 4 1 -> 2 -> 3 -> [5] -> 4
.operations_research.OptionalBoolean use_make_active = 11;
getUseMakeActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseMakeActive()
--- Operators on inactive nodes --- Operator which inserts an inactive node into a path. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 2 -> 3 -> 4 1 -> 2 -> [5] -> 3 -> 4 1 -> 2 -> 3 -> [5] -> 4
.operations_research.OptionalBoolean use_make_active = 11;
getUseMakeActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseRelocateAndMakeActiveValue()
Operator which relocates a node while making an inactive one active. As of 3/2017, the operator is limited to two kinds of moves: - Relocating a node and replacing it by an inactive node. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 3 -> 5, 2 -> 4 -> 6. - Relocating a node and inserting an inactive node next to it. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 4 -> 3 -> 5, 2 -> 6.
.operations_research.OptionalBoolean use_relocate_and_make_active = 21;
getUseRelocateAndMakeActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseRelocateAndMakeActive()
Operator which relocates a node while making an inactive one active. As of 3/2017, the operator is limited to two kinds of moves: - Relocating a node and replacing it by an inactive node. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 3 -> 5, 2 -> 4 -> 6. - Relocating a node and inserting an inactive node next to it. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 4 -> 3 -> 5, 2 -> 6.
.operations_research.OptionalBoolean use_relocate_and_make_active = 21;
getUseRelocateAndMakeActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseExchangeAndMakeActiveValue()
Operator which exchanges two nodes and inserts an inactive node. Possible neighbors for paths 0 -> 2 -> 4, 1 -> 3 -> 6 and 5 inactive are: 0 -> 3 -> 4, 1 -> 5 -> 2 -> 6 0 -> 3 -> 5 -> 4, 1 -> 2 -> 6 0 -> 5 -> 3 -> 4, 1 -> 2 -> 6 0 -> 3 -> 4, 1 -> 2 -> 5 -> 6
.operations_research.OptionalBoolean use_exchange_and_make_active = 37;
getUseExchangeAndMakeActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseExchangeAndMakeActive()
Operator which exchanges two nodes and inserts an inactive node. Possible neighbors for paths 0 -> 2 -> 4, 1 -> 3 -> 6 and 5 inactive are: 0 -> 3 -> 4, 1 -> 5 -> 2 -> 6 0 -> 3 -> 5 -> 4, 1 -> 2 -> 6 0 -> 5 -> 3 -> 4, 1 -> 2 -> 6 0 -> 3 -> 4, 1 -> 2 -> 5 -> 6
.operations_research.OptionalBoolean use_exchange_and_make_active = 37;
getUseExchangeAndMakeActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseExchangePathStartEndsAndMakeActiveValue()
Operator which exchanges the first and last nodes of two paths and makes a node active. Possible neighbors for paths 0 -> 1 -> 2 -> 7, 6 -> 3 -> 4 -> 8 and 5 inactive are: 0 -> 5 -> 3 -> 4 -> 7, 6 -> 1 -> 2 -> 8 0 -> 3 -> 4 -> 7, 6 -> 1 -> 5 -> 2 -> 8 0 -> 3 -> 4 -> 7, 6 -> 1 -> 2 -> 5 -> 8 0 -> 3 -> 5 -> 4 -> 7, 6 -> 1 -> 2 -> 8 0 -> 3 -> 4 -> 5 -> 7, 6 -> 1 -> 2 -> 8
.operations_research.OptionalBoolean use_exchange_path_start_ends_and_make_active = 38;
getUseExchangePathStartEndsAndMakeActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseExchangePathStartEndsAndMakeActive()
Operator which exchanges the first and last nodes of two paths and makes a node active. Possible neighbors for paths 0 -> 1 -> 2 -> 7, 6 -> 3 -> 4 -> 8 and 5 inactive are: 0 -> 5 -> 3 -> 4 -> 7, 6 -> 1 -> 2 -> 8 0 -> 3 -> 4 -> 7, 6 -> 1 -> 5 -> 2 -> 8 0 -> 3 -> 4 -> 7, 6 -> 1 -> 2 -> 5 -> 8 0 -> 3 -> 5 -> 4 -> 7, 6 -> 1 -> 2 -> 8 0 -> 3 -> 4 -> 5 -> 7, 6 -> 1 -> 2 -> 8
.operations_research.OptionalBoolean use_exchange_path_start_ends_and_make_active = 38;
getUseExchangePathStartEndsAndMakeActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseMakeInactiveValue()
Operator which makes path nodes inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first and last nodes of the path) are: 1 -> 3 -> 4 with 2 inactive 1 -> 2 -> 4 with 3 inactive
.operations_research.OptionalBoolean use_make_inactive = 12;
getUseMakeInactiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseMakeInactive()
Operator which makes path nodes inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first and last nodes of the path) are: 1 -> 3 -> 4 with 2 inactive 1 -> 2 -> 4 with 3 inactive
.operations_research.OptionalBoolean use_make_inactive = 12;
getUseMakeInactive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseMakeChainInactiveValue()
Operator which makes a "chain" of path nodes inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first and last nodes of the path) are: 1 -> 3 -> 4 with 2 inactive 1 -> 2 -> 4 with 3 inactive 1 -> 4 with 2 and 3 inactive
.operations_research.OptionalBoolean use_make_chain_inactive = 13;
getUseMakeChainInactiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseMakeChainInactive()
Operator which makes a "chain" of path nodes inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first and last nodes of the path) are: 1 -> 3 -> 4 with 2 inactive 1 -> 2 -> 4 with 3 inactive 1 -> 4 with 2 and 3 inactive
.operations_research.OptionalBoolean use_make_chain_inactive = 13;
getUseMakeChainInactive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseSwapActiveValue()
Operator which replaces an active node by an inactive one. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 3 -> 4 with 2 inactive 1 -> 2 -> [5] -> 4 with 3 inactive
.operations_research.OptionalBoolean use_swap_active = 14;
getUseSwapActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseSwapActive()
Operator which replaces an active node by an inactive one. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 3 -> 4 with 2 inactive 1 -> 2 -> [5] -> 4 with 3 inactive
.operations_research.OptionalBoolean use_swap_active = 14;
getUseSwapActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseSwapActiveChainValue()
Operator which replaces a chain of active nodes by an inactive one. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 3 -> 4 with 2 inactive 1 -> 2 -> [5] -> 4 with 3 inactive 1 -> [5] -> 4 with 2 and 3 inactive
.operations_research.OptionalBoolean use_swap_active_chain = 35;
getUseSwapActiveChainValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseSwapActiveChain()
Operator which replaces a chain of active nodes by an inactive one. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 3 -> 4 with 2 inactive 1 -> 2 -> [5] -> 4 with 3 inactive 1 -> [5] -> 4 with 2 and 3 inactive
.operations_research.OptionalBoolean use_swap_active_chain = 35;
getUseSwapActiveChain
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseExtendedSwapActiveValue()
Operator which makes an inactive node active and an active one inactive. It is similar to SwapActiveOperator excepts that it tries to insert the inactive node in all possible positions instead of just the position of the node made inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 3 -> 4 with 2 inactive 1 -> 3 -> [5] -> 4 with 2 inactive 1 -> [5] -> 2 -> 4 with 3 inactive 1 -> 2 -> [5] -> 4 with 3 inactive
.operations_research.OptionalBoolean use_extended_swap_active = 15;
getUseExtendedSwapActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseExtendedSwapActive()
Operator which makes an inactive node active and an active one inactive. It is similar to SwapActiveOperator excepts that it tries to insert the inactive node in all possible positions instead of just the position of the node made inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -> [5] -> 3 -> 4 with 2 inactive 1 -> 3 -> [5] -> 4 with 2 inactive 1 -> [5] -> 2 -> 4 with 3 inactive 1 -> 2 -> [5] -> 4 with 3 inactive
.operations_research.OptionalBoolean use_extended_swap_active = 15;
getUseExtendedSwapActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseShortestPathSwapActiveValue()
Swaps active nodes from node alternatives in sequence. Considers chains of nodes with alternatives, builds a DAG from the chain, each "layer" of the DAG being composed of the set of alternatives of the node at a given rank in the chain, fully connected to the next layer. A neighbor is built from the shortest path starting from the node before the chain (source), through the DAG to the node following the chain.
.operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
getUseShortestPathSwapActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseShortestPathSwapActive()
Swaps active nodes from node alternatives in sequence. Considers chains of nodes with alternatives, builds a DAG from the chain, each "layer" of the DAG being composed of the set of alternatives of the node at a given rank in the chain, fully connected to the next layer. A neighbor is built from the shortest path starting from the node before the chain (source), through the DAG to the node following the chain.
.operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
getUseShortestPathSwapActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseShortestPathTwoOptValue()
Similar to use_two_opt but returns the shortest path on the DAG of node alternatives of the reversed chain (cf. use_shortest_path_swap_active).
.operations_research.OptionalBoolean use_shortest_path_two_opt = 36;
getUseShortestPathTwoOptValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseShortestPathTwoOpt()
Similar to use_two_opt but returns the shortest path on the DAG of node alternatives of the reversed chain (cf. use_shortest_path_swap_active).
.operations_research.OptionalBoolean use_shortest_path_two_opt = 36;
getUseShortestPathTwoOpt
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseNodePairSwapActiveValue()
Operator which makes an inactive node active and an active pair of nodes inactive OR makes an inactive pair of nodes active and an active node inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path and (2,3) is a pair of nodes) are: 1 -> [5] -> 4 with (2,3) inactive Possible neighbors for the path 1 -> 2 -> 3 with (4,5) inactive (where 1 and 3 are first and last nodes of the path and (4,5) is a pair of nodes) are: 1 -> [4] -> [5] -> 3 with 2 inactive
.operations_research.OptionalBoolean use_node_pair_swap_active = 20;
getUseNodePairSwapActiveValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseNodePairSwapActive()
Operator which makes an inactive node active and an active pair of nodes inactive OR makes an inactive pair of nodes active and an active node inactive. Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive (where 1 and 4 are first and last nodes of the path and (2,3) is a pair of nodes) are: 1 -> [5] -> 4 with (2,3) inactive Possible neighbors for the path 1 -> 2 -> 3 with (4,5) inactive (where 1 and 3 are first and last nodes of the path and (4,5) is a pair of nodes) are: 1 -> [4] -> [5] -> 3 with 2 inactive
.operations_research.OptionalBoolean use_node_pair_swap_active = 20;
getUseNodePairSwapActive
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUsePathLnsValue()
--- Large neighborhood search operators --- Operator which relaxes two sub-chains of three consecutive arcs each. Each sub-chain is defined by a start node and the next three arcs. Those six arcs are relaxed to build a new neighbor. PATH_LNS explores all possible pairs of starting nodes and so defines n^2 neighbors, n being the number of nodes. Note that the two sub-chains can be part of the same path; they even may overlap.
.operations_research.OptionalBoolean use_path_lns = 16;
getUsePathLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUsePathLns()
--- Large neighborhood search operators --- Operator which relaxes two sub-chains of three consecutive arcs each. Each sub-chain is defined by a start node and the next three arcs. Those six arcs are relaxed to build a new neighbor. PATH_LNS explores all possible pairs of starting nodes and so defines n^2 neighbors, n being the number of nodes. Note that the two sub-chains can be part of the same path; they even may overlap.
.operations_research.OptionalBoolean use_path_lns = 16;
getUsePathLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseFullPathLnsValue()
Operator which relaxes one entire path and all inactive nodes.
.operations_research.OptionalBoolean use_full_path_lns = 17;
getUseFullPathLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseFullPathLns()
Operator which relaxes one entire path and all inactive nodes.
.operations_research.OptionalBoolean use_full_path_lns = 17;
getUseFullPathLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseTspLnsValue()
TSP-base LNS. Randomly merges consecutive nodes until n "meta"-nodes remain and solves the corresponding TSP. This defines an "unlimited" neighborhood which must be stopped by search limits. To force diversification, the operator iteratively forces each node to serve as base of a meta-node.
.operations_research.OptionalBoolean use_tsp_lns = 18;
getUseTspLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseTspLns()
TSP-base LNS. Randomly merges consecutive nodes until n "meta"-nodes remain and solves the corresponding TSP. This defines an "unlimited" neighborhood which must be stopped by search limits. To force diversification, the operator iteratively forces each node to serve as base of a meta-node.
.operations_research.OptionalBoolean use_tsp_lns = 18;
getUseTspLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseInactiveLnsValue()
Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs. That way the path can be improved by inserting inactive nodes or swapping arcs.
.operations_research.OptionalBoolean use_inactive_lns = 19;
getUseInactiveLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseInactiveLns()
Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs. That way the path can be improved by inserting inactive nodes or swapping arcs.
.operations_research.OptionalBoolean use_inactive_lns = 19;
getUseInactiveLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseGlobalCheapestInsertionPathLnsValue()
--- LNS-like large neighborhood search operators using heuristics --- Operator which makes all nodes on a route unperformed, and reinserts them using the GlobalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
getUseGlobalCheapestInsertionPathLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseGlobalCheapestInsertionPathLns()
--- LNS-like large neighborhood search operators using heuristics --- Operator which makes all nodes on a route unperformed, and reinserts them using the GlobalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
getUseGlobalCheapestInsertionPathLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseLocalCheapestInsertionPathLnsValue()
Same as above but using LocalCheapestInsertion as a heuristic.
.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
getUseLocalCheapestInsertionPathLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseLocalCheapestInsertionPathLns()
Same as above but using LocalCheapestInsertion as a heuristic.
.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
getUseLocalCheapestInsertionPathLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue()
The following operator relocates an entire route to an empty path and then tries to insert the unperformed nodes using the global cheapest insertion heuristic.
.operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
The following operator relocates an entire route to an empty path and then tries to insert the unperformed nodes using the global cheapest insertion heuristic.
.operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
getUseRelocatePathGlobalCheapestInsertionInsertUnperformed
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider most expensive arcs on a route, makes the nodes in between pairs of these expensive arcs unperformed, and reinserts them using the GlobalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
getUseGlobalCheapestInsertionExpensiveChainLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider most expensive arcs on a route, makes the nodes in between pairs of these expensive arcs unperformed, and reinserts them using the GlobalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
getUseGlobalCheapestInsertionExpensiveChainLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseLocalCheapestInsertionExpensiveChainLnsValue()
Same as above but using LocalCheapestInsertion as a heuristic for insertion.
.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
getUseLocalCheapestInsertionExpensiveChainLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
Same as above but using LocalCheapestInsertion as a heuristic for insertion.
.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
getUseLocalCheapestInsertionExpensiveChainLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseGlobalCheapestInsertionCloseNodesLnsValue()
The following operator makes a node and its heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along with each of their corresponding performed pickup/delivery pairs, and then reinserts them using the GlobalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
getUseGlobalCheapestInsertionCloseNodesLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
The following operator makes a node and its heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along with each of their corresponding performed pickup/delivery pairs, and then reinserts them using the GlobalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
getUseGlobalCheapestInsertionCloseNodesLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public int getUseLocalCheapestInsertionCloseNodesLnsValue()
Same as above, but insertion positions for nodes are determined by the LocalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
getUseLocalCheapestInsertionCloseNodesLnsValue
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public OptionalBoolean getUseLocalCheapestInsertionCloseNodesLns()
Same as above, but insertion positions for nodes are determined by the LocalCheapestInsertion heuristic.
.operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
getUseLocalCheapestInsertionCloseNodesLns
in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
public final boolean isInitialized()
isInitialized
in interface com.google.protobuf.MessageLiteOrBuilder
isInitialized
in class com.google.protobuf.GeneratedMessage
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException
writeTo
in interface com.google.protobuf.MessageLite
writeTo
in class com.google.protobuf.GeneratedMessage
java.io.IOException
public int getSerializedSize()
getSerializedSize
in interface com.google.protobuf.MessageLite
getSerializedSize
in class com.google.protobuf.GeneratedMessage
public boolean equals(java.lang.Object obj)
equals
in interface com.google.protobuf.Message
equals
in class com.google.protobuf.AbstractMessage
public int hashCode()
hashCode
in interface com.google.protobuf.Message
hashCode
in class com.google.protobuf.AbstractMessage
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder newBuilderForType()
newBuilderForType
in interface com.google.protobuf.Message
newBuilderForType
in interface com.google.protobuf.MessageLite
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder newBuilder()
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder newBuilder(RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype)
public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder toBuilder()
toBuilder
in interface com.google.protobuf.Message
toBuilder
in interface com.google.protobuf.MessageLite
protected RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
newBuilderForType
in class com.google.protobuf.AbstractMessage
public static RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstance()
public static com.google.protobuf.Parser<RoutingSearchParameters.LocalSearchNeighborhoodOperators> parser()
public com.google.protobuf.Parser<RoutingSearchParameters.LocalSearchNeighborhoodOperators> getParserForType()
getParserForType
in interface com.google.protobuf.Message
getParserForType
in interface com.google.protobuf.MessageLite
getParserForType
in class com.google.protobuf.GeneratedMessage
public RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
getDefaultInstanceForType
in interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType
in interface com.google.protobuf.MessageOrBuilder
Copyright © 2025. All rights reserved.