Java Reference

Java Reference

RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder

Detailed Description

Local search neighborhood operators used to build a solutions neighborhood.
Next ID: 31

Protobuf type

operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators

Definition at line 3240 of file RoutingSearchParameters.java.

Public Member Functions

.lang.Override Builder clear ()
 
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType ()
 
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType ()
 
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators build ()
 
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators buildPartial ()
 
.lang.Override Builder clone ()
 
.lang.Override Builder setField (com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
 
.lang.Override Builder clearField (com.google.protobuf.Descriptors.FieldDescriptor field)
 
.lang.Override Builder clearOneof (com.google.protobuf.Descriptors.OneofDescriptor oneof)
 
.lang.Override Builder setRepeatedField (com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
 
.lang.Override Builder addRepeatedField (com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
 
.lang.Override Builder mergeFrom (com.google.protobuf.Message other)
 
Builder mergeFrom (com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other)
 
.lang.Override final boolean isInitialized ()
 
.lang.Override Builder mergeFrom (com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
 
.lang.Override int getUseRelocateValue ()
 
Builder setUseRelocateValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocate ()
 
Builder setUseRelocate (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseRelocate ()
 
.lang.Override int getUseRelocatePairValue ()
 
Builder setUseRelocatePairValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePair ()
 
Builder setUseRelocatePair (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseRelocatePair ()
 
.lang.Override int getUseLightRelocatePairValue ()
 
Builder setUseLightRelocatePairValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseLightRelocatePair ()
 
Builder setUseLightRelocatePair (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseLightRelocatePair ()
 
.lang.Override int getUseRelocateNeighborsValue ()
 
Builder setUseRelocateNeighborsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors ()
 
Builder setUseRelocateNeighbors (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseRelocateNeighbors ()
 
.lang.Override int getUseRelocateSubtripValue ()
 
Builder setUseRelocateSubtripValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip ()
 
Builder setUseRelocateSubtrip (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseRelocateSubtrip ()
 
.lang.Override int getUseExchangeValue ()
 
Builder setUseExchangeValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchange ()
 
Builder setUseExchange (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseExchange ()
 
.lang.Override int getUseExchangePairValue ()
 
Builder setUseExchangePairValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangePair ()
 
Builder setUseExchangePair (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseExchangePair ()
 
.lang.Override int getUseExchangeSubtripValue ()
 
Builder setUseExchangeSubtripValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip ()
 
Builder setUseExchangeSubtrip (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseExchangeSubtrip ()
 
.lang.Override int getUseCrossValue ()
 
Builder setUseCrossValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseCross ()
 
Builder setUseCross (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseCross ()
 
.lang.Override int getUseCrossExchangeValue ()
 
Builder setUseCrossExchangeValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseCrossExchange ()
 
Builder setUseCrossExchange (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseCrossExchange ()
 
.lang.Override int getUseRelocateExpensiveChainValue ()
 
Builder setUseRelocateExpensiveChainValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain ()
 
Builder setUseRelocateExpensiveChain (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseRelocateExpensiveChain ()
 
.lang.Override int getUseTwoOptValue ()
 
Builder setUseTwoOptValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseTwoOpt ()
 
Builder setUseTwoOpt (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseTwoOpt ()
 
.lang.Override int getUseOrOptValue ()
 
Builder setUseOrOptValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseOrOpt ()
 
Builder setUseOrOpt (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseOrOpt ()
 
.lang.Override int getUseLinKernighanValue ()
 
Builder setUseLinKernighanValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseLinKernighan ()
 
Builder setUseLinKernighan (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseLinKernighan ()
 
.lang.Override int getUseTspOptValue ()
 
Builder setUseTspOptValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspOpt ()
 
Builder setUseTspOpt (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseTspOpt ()
 
.lang.Override int getUseMakeActiveValue ()
 
Builder setUseMakeActiveValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeActive ()
 
Builder setUseMakeActive (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseMakeActive ()
 
.lang.Override int getUseRelocateAndMakeActiveValue ()
 
Builder setUseRelocateAndMakeActiveValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive ()
 
Builder setUseRelocateAndMakeActive (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseRelocateAndMakeActive ()
 
.lang.Override int getUseMakeInactiveValue ()
 
Builder setUseMakeInactiveValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeInactive ()
 
Builder setUseMakeInactive (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseMakeInactive ()
 
.lang.Override int getUseMakeChainInactiveValue ()
 
Builder setUseMakeChainInactiveValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeChainInactive ()
 
Builder setUseMakeChainInactive (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseMakeChainInactive ()
 
.lang.Override int getUseSwapActiveValue ()
 
Builder setUseSwapActiveValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseSwapActive ()
 
Builder setUseSwapActive (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseSwapActive ()
 
.lang.Override int getUseExtendedSwapActiveValue ()
 
Builder setUseExtendedSwapActiveValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive ()
 
Builder setUseExtendedSwapActive (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseExtendedSwapActive ()
 
.lang.Override int getUseNodePairSwapActiveValue ()
 
Builder setUseNodePairSwapActiveValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive ()
 
Builder setUseNodePairSwapActive (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseNodePairSwapActive ()
 
.lang.Override int getUsePathLnsValue ()
 
Builder setUsePathLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUsePathLns ()
 
Builder setUsePathLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUsePathLns ()
 
.lang.Override int getUseFullPathLnsValue ()
 
Builder setUseFullPathLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseFullPathLns ()
 
Builder setUseFullPathLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseFullPathLns ()
 
.lang.Override int getUseTspLnsValue ()
 
Builder setUseTspLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspLns ()
 
Builder setUseTspLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseTspLns ()
 
.lang.Override int getUseInactiveLnsValue ()
 
Builder setUseInactiveLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseInactiveLns ()
 
Builder setUseInactiveLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseInactiveLns ()
 
.lang.Override int getUseGlobalCheapestInsertionPathLnsValue ()
 
Builder setUseGlobalCheapestInsertionPathLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns ()
 
Builder setUseGlobalCheapestInsertionPathLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseGlobalCheapestInsertionPathLns ()
 
.lang.Override int getUseLocalCheapestInsertionPathLnsValue ()
 
Builder setUseLocalCheapestInsertionPathLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns ()
 
Builder setUseLocalCheapestInsertionPathLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseLocalCheapestInsertionPathLns ()
 
.lang.Override int getUseGlobalCheapestInsertionExpensiveChainLnsValue ()
 
Builder setUseGlobalCheapestInsertionExpensiveChainLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns ()
 
Builder setUseGlobalCheapestInsertionExpensiveChainLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseGlobalCheapestInsertionExpensiveChainLns ()
 
.lang.Override int getUseLocalCheapestInsertionExpensiveChainLnsValue ()
 
Builder setUseLocalCheapestInsertionExpensiveChainLnsValue (int value)
 
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns ()
 
Builder setUseLocalCheapestInsertionExpensiveChainLns (com.google.ortools.util.OptionalBoolean value)
 
Builder clearUseLocalCheapestInsertionExpensiveChainLns ()
 
.lang.Override final Builder setUnknownFields (final com.google.protobuf.UnknownFieldSet unknownFields)
 
.lang.Override final Builder mergeUnknownFields (final com.google.protobuf.UnknownFieldSet unknownFields)
 

Static Public Member Functions

static final com.google.protobuf.Descriptors.Descriptor getDescriptor ()
 

Protected Member Functions

.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable ()
 

Member Function Documentation

◆ addRepeatedField()

.lang.Override Builder addRepeatedField ( com.google.protobuf.Descriptors.FieldDescriptor  field,
java.lang.Object  value 
)
inline

Definition at line 3422 of file RoutingSearchParameters.java.

◆ build()

◆ buildPartial()

◆ clear()

.lang.Override Builder clear ( )
inline

Definition at line 3273 of file RoutingSearchParameters.java.

◆ clearField()

.lang.Override Builder clearField ( com.google.protobuf.Descriptors.FieldDescriptor  field)
inline

Definition at line 3406 of file RoutingSearchParameters.java.

◆ clearOneof()

.lang.Override Builder clearOneof ( com.google.protobuf.Descriptors.OneofDescriptor  oneof)
inline

Definition at line 3411 of file RoutingSearchParameters.java.

◆ clearUseCross()

Builder clearUseCross ( )
inline
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;

Returns
This builder for chaining.

Definition at line 4592 of file RoutingSearchParameters.java.

◆ clearUseCrossExchange()

Builder clearUseCrossExchange ( )
inline
Not implemented yet. TODO(b/68128619): Implement.

.operations_research.OptionalBoolean use_cross_exchange = 6;

Returns
This builder for chaining.

Definition at line 4666 of file RoutingSearchParameters.java.

◆ clearUseExchange()

Builder clearUseExchange ( )
inline
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;

Returns
This builder for chaining.

Definition at line 4295 of file RoutingSearchParameters.java.

◆ clearUseExchangePair()

Builder clearUseExchangePair ( )
inline
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;

Returns
This builder for chaining.

Definition at line 4399 of file RoutingSearchParameters.java.

◆ clearUseExchangeSubtrip()

Builder clearUseExchangeSubtrip ( )
inline
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;

Returns
This builder for chaining.

Definition at line 4478 of file RoutingSearchParameters.java.

◆ clearUseExtendedSwapActive()

Builder clearUseExtendedSwapActive ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5845 of file RoutingSearchParameters.java.

◆ clearUseFullPathLns()

Builder clearUseFullPathLns ( )
inline
Operator which relaxes one entire path and all unactive nodes.

.operations_research.OptionalBoolean use_full_path_lns = 17;

Returns
This builder for chaining.

Definition at line 6152 of file RoutingSearchParameters.java.

◆ clearUseGlobalCheapestInsertionExpensiveChainLns()

Builder clearUseGlobalCheapestInsertionExpensiveChainLns ( )
inline
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;

Returns
This builder for chaining.

Definition at line 6582 of file RoutingSearchParameters.java.

◆ clearUseGlobalCheapestInsertionPathLns()

Builder clearUseGlobalCheapestInsertionPathLns ( )
inline
--- 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;

Returns
This builder for chaining.

Definition at line 6419 of file RoutingSearchParameters.java.

◆ clearUseInactiveLns()

Builder clearUseInactiveLns ( )
inline
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 swaping arcs.

.operations_research.OptionalBoolean use_inactive_lns = 19;

Returns
This builder for chaining.

Definition at line 6335 of file RoutingSearchParameters.java.

◆ clearUseLightRelocatePair()

Builder clearUseLightRelocatePair ( )
inline
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;

Returns
This builder for chaining.

Definition at line 3883 of file RoutingSearchParameters.java.

◆ clearUseLinKernighan()

Builder clearUseLinKernighan ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5117 of file RoutingSearchParameters.java.

◆ clearUseLocalCheapestInsertionExpensiveChainLns()

Builder clearUseLocalCheapestInsertionExpensiveChainLns ( )
inline
Same as above but using LocalCheapestInsertion as a heuristic for
insertion.

.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;

Returns
This builder for chaining.

Definition at line 6661 of file RoutingSearchParameters.java.

◆ clearUseLocalCheapestInsertionPathLns()

Builder clearUseLocalCheapestInsertionPathLns ( )
inline
Same as above but using LocalCheapestInsertion as a heuristic.

.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;

Returns
This builder for chaining.

Definition at line 6493 of file RoutingSearchParameters.java.

◆ clearUseMakeActive()

Builder clearUseMakeActive ( )
inline
--- 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;

Returns
This builder for chaining.

Definition at line 5320 of file RoutingSearchParameters.java.

◆ clearUseMakeChainInactive()

Builder clearUseMakeChainInactive ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5632 of file RoutingSearchParameters.java.

◆ clearUseMakeInactive()

Builder clearUseMakeInactive ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5533 of file RoutingSearchParameters.java.

◆ clearUseNodePairSwapActive()

Builder clearUseNodePairSwapActive ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5969 of file RoutingSearchParameters.java.

◆ clearUseOrOpt()

Builder clearUseOrOpt ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5028 of file RoutingSearchParameters.java.

◆ clearUsePathLns()

Builder clearUsePathLns ( )
inline
--- 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;

Returns
This builder for chaining.

Definition at line 6078 of file RoutingSearchParameters.java.

◆ clearUseRelocate()

Builder clearUseRelocate ( )
inline
--- 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;

Returns
This builder for chaining.

Definition at line 3665 of file RoutingSearchParameters.java.

◆ clearUseRelocateAndMakeActive()

Builder clearUseRelocateAndMakeActive ( )
inline
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;
Returns
This builder for chaining.

Definition at line 5439 of file RoutingSearchParameters.java.

◆ clearUseRelocateExpensiveChain()

Builder clearUseRelocateExpensiveChain ( )
inline
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;

Returns
This builder for chaining.

Definition at line 4785 of file RoutingSearchParameters.java.

◆ clearUseRelocateNeighbors()

Builder clearUseRelocateNeighbors ( )
inline
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 extremelly 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;

Returns
This builder for chaining.

Definition at line 4062 of file RoutingSearchParameters.java.

◆ clearUseRelocatePair()

Builder clearUseRelocatePair ( )
inline
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;

Returns
This builder for chaining.

Definition at line 3779 of file RoutingSearchParameters.java.

◆ clearUseRelocateSubtrip()

Builder clearUseRelocateSubtrip ( )
inline
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;

Returns
This builder for chaining.

Definition at line 4191 of file RoutingSearchParameters.java.

◆ clearUseSwapActive()

Builder clearUseSwapActive ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5726 of file RoutingSearchParameters.java.

◆ clearUseTspLns()

Builder clearUseTspLns ( )
inline
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;

Returns
This builder for chaining.

Definition at line 6251 of file RoutingSearchParameters.java.

◆ clearUseTspOpt()

Builder clearUseTspOpt ( )
inline
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;

Returns
This builder for chaining.

Definition at line 5216 of file RoutingSearchParameters.java.

◆ clearUseTwoOpt()

Builder clearUseTwoOpt ( )
inline
--- Intra-route operators ---
Operator which reverves a sub-chain 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;

Returns
This builder for chaining.

Definition at line 4904 of file RoutingSearchParameters.java.

◆ clone()

.lang.Override Builder clone ( )
inline

Definition at line 3396 of file RoutingSearchParameters.java.

◆ getDefaultInstanceForType()

Definition at line 3345 of file RoutingSearchParameters.java.

◆ getDescriptor()

static final com.google.protobuf.Descriptors.Descriptor getDescriptor ( )
inlinestatic

Definition at line 3245 of file RoutingSearchParameters.java.

◆ getDescriptorForType()

.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType ( )
inline

Definition at line 3340 of file RoutingSearchParameters.java.

◆ getUseCross()

.lang.Override com.google.ortools.util.OptionalBoolean getUseCross ( )
inline
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;

Returns
The useCross.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4545 of file RoutingSearchParameters.java.

◆ getUseCrossExchange()

.lang.Override com.google.ortools.util.OptionalBoolean getUseCrossExchange ( )
inline
Not implemented yet. TODO(b/68128619): Implement.

.operations_research.OptionalBoolean use_cross_exchange = 6;

Returns
The useCrossExchange.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4635 of file RoutingSearchParameters.java.

◆ getUseCrossExchangeValue()

.lang.Override int getUseCrossExchangeValue ( )
inline
Not implemented yet. TODO(b/68128619): Implement.

.operations_research.OptionalBoolean use_cross_exchange = 6;

Returns
The enum numeric value on the wire for useCrossExchange.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4608 of file RoutingSearchParameters.java.

◆ getUseCrossValue()

.lang.Override int getUseCrossValue ( )
inline
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;

Returns
The enum numeric value on the wire for useCross.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4502 of file RoutingSearchParameters.java.

◆ getUseExchange()

.lang.Override com.google.ortools.util.OptionalBoolean getUseExchange ( )
inline
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;

Returns
The useExchange.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4252 of file RoutingSearchParameters.java.

◆ getUseExchangePair()

.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangePair ( )
inline
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;

Returns
The useExchangePair.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4356 of file RoutingSearchParameters.java.

◆ getUseExchangePairValue()

.lang.Override int getUseExchangePairValue ( )
inline
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;

Returns
The enum numeric value on the wire for useExchangePair.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4317 of file RoutingSearchParameters.java.

◆ getUseExchangeSubtrip()

.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip ( )
inline
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;

Returns
The useExchangeSubtrip.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4445 of file RoutingSearchParameters.java.

◆ getUseExchangeSubtripValue()

.lang.Override int getUseExchangeSubtripValue ( )
inline
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;

Returns
The enum numeric value on the wire for useExchangeSubtrip.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4416 of file RoutingSearchParameters.java.

◆ getUseExchangeValue()

.lang.Override int getUseExchangeValue ( )
inline
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;

Returns
The enum numeric value on the wire for useExchange.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4213 of file RoutingSearchParameters.java.

◆ getUseExtendedSwapActive()

.lang.Override com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive ( )
inline
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;

Returns
The useExtendedSwapActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5796 of file RoutingSearchParameters.java.

◆ getUseExtendedSwapActiveValue()

.lang.Override int getUseExtendedSwapActiveValue ( )
inline
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;

Returns
The enum numeric value on the wire for useExtendedSwapActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5751 of file RoutingSearchParameters.java.

◆ getUseFullPathLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUseFullPathLns ( )
inline
Operator which relaxes one entire path and all unactive nodes.

.operations_research.OptionalBoolean use_full_path_lns = 17;

Returns
The useFullPathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6121 of file RoutingSearchParameters.java.

◆ getUseFullPathLnsValue()

.lang.Override int getUseFullPathLnsValue ( )
inline
Operator which relaxes one entire path and all unactive nodes.

.operations_research.OptionalBoolean use_full_path_lns = 17;

Returns
The enum numeric value on the wire for useFullPathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6094 of file RoutingSearchParameters.java.

◆ getUseGlobalCheapestInsertionExpensiveChainLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns ( )
inline
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;

Returns
The useGlobalCheapestInsertionExpensiveChainLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6545 of file RoutingSearchParameters.java.

◆ getUseGlobalCheapestInsertionExpensiveChainLnsValue()

.lang.Override int getUseGlobalCheapestInsertionExpensiveChainLnsValue ( )
inline
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;

Returns
The enum numeric value on the wire for useGlobalCheapestInsertionExpensiveChainLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6512 of file RoutingSearchParameters.java.

◆ getUseGlobalCheapestInsertionPathLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns ( )
inline
--- 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;

Returns
The useGlobalCheapestInsertionPathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6384 of file RoutingSearchParameters.java.

◆ getUseGlobalCheapestInsertionPathLnsValue()

.lang.Override int getUseGlobalCheapestInsertionPathLnsValue ( )
inline
--- 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;

Returns
The enum numeric value on the wire for useGlobalCheapestInsertionPathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6353 of file RoutingSearchParameters.java.

◆ getUseInactiveLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUseInactiveLns ( )
inline
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 swaping arcs.

.operations_research.OptionalBoolean use_inactive_lns = 19;

Returns
The useInactiveLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6300 of file RoutingSearchParameters.java.

◆ getUseInactiveLnsValue()

.lang.Override int getUseInactiveLnsValue ( )
inline
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 swaping arcs.

.operations_research.OptionalBoolean use_inactive_lns = 19;

Returns
The enum numeric value on the wire for useInactiveLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6269 of file RoutingSearchParameters.java.

◆ getUseLightRelocatePair()

.lang.Override com.google.ortools.util.OptionalBoolean getUseLightRelocatePair ( )
inline
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;

Returns
The useLightRelocatePair.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3840 of file RoutingSearchParameters.java.

◆ getUseLightRelocatePairValue()

.lang.Override int getUseLightRelocatePairValue ( )
inline
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;

Returns
The enum numeric value on the wire for useLightRelocatePair.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3801 of file RoutingSearchParameters.java.

◆ getUseLinKernighan()

.lang.Override com.google.ortools.util.OptionalBoolean getUseLinKernighan ( )
inline
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;

Returns
The useLinKernighan.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5080 of file RoutingSearchParameters.java.

◆ getUseLinKernighanValue()

.lang.Override int getUseLinKernighanValue ( )
inline
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;

Returns
The enum numeric value on the wire for useLinKernighan.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5047 of file RoutingSearchParameters.java.

◆ getUseLocalCheapestInsertionExpensiveChainLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns ( )
inline
Same as above but using LocalCheapestInsertion as a heuristic for
insertion.

.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;

Returns
The useLocalCheapestInsertionExpensiveChainLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6628 of file RoutingSearchParameters.java.

◆ getUseLocalCheapestInsertionExpensiveChainLnsValue()

.lang.Override int getUseLocalCheapestInsertionExpensiveChainLnsValue ( )
inline
Same as above but using LocalCheapestInsertion as a heuristic for
insertion.

.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;

Returns
The enum numeric value on the wire for useLocalCheapestInsertionExpensiveChainLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6599 of file RoutingSearchParameters.java.

◆ getUseLocalCheapestInsertionPathLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns ( )
inline
Same as above but using LocalCheapestInsertion as a heuristic.

.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;

Returns
The useLocalCheapestInsertionPathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6462 of file RoutingSearchParameters.java.

◆ getUseLocalCheapestInsertionPathLnsValue()

.lang.Override int getUseLocalCheapestInsertionPathLnsValue ( )
inline
Same as above but using LocalCheapestInsertion as a heuristic.

.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;

Returns
The enum numeric value on the wire for useLocalCheapestInsertionPathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6435 of file RoutingSearchParameters.java.

◆ getUseMakeActive()

.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeActive ( )
inline
--- 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;

Returns
The useMakeActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5277 of file RoutingSearchParameters.java.

◆ getUseMakeActiveValue()

.lang.Override int getUseMakeActiveValue ( )
inline
--- 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;

Returns
The enum numeric value on the wire for useMakeActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5238 of file RoutingSearchParameters.java.

◆ getUseMakeChainInactive()

.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeChainInactive ( )
inline
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;

Returns
The useMakeChainInactive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5591 of file RoutingSearchParameters.java.

◆ getUseMakeChainInactiveValue()

.lang.Override int getUseMakeChainInactiveValue ( )
inline
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;

Returns
The enum numeric value on the wire for useMakeChainInactive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5554 of file RoutingSearchParameters.java.

◆ getUseMakeInactive()

.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeInactive ( )
inline
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;

Returns
The useMakeInactive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5494 of file RoutingSearchParameters.java.

◆ getUseMakeInactiveValue()

.lang.Override int getUseMakeInactiveValue ( )
inline
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;

Returns
The enum numeric value on the wire for useMakeInactive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5459 of file RoutingSearchParameters.java.

◆ getUseNodePairSwapActive()

.lang.Override com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive ( )
inline
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;

Returns
The useNodePairSwapActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5918 of file RoutingSearchParameters.java.

◆ getUseNodePairSwapActiveValue()

.lang.Override int getUseNodePairSwapActiveValue ( )
inline
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;

Returns
The enum numeric value on the wire for useNodePairSwapActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5871 of file RoutingSearchParameters.java.

◆ getUseOrOpt()

.lang.Override com.google.ortools.util.OptionalBoolean getUseOrOpt ( )
inline
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;

Returns
The useOrOpt.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4977 of file RoutingSearchParameters.java.

◆ getUseOrOptValue()

.lang.Override int getUseOrOptValue ( )
inline
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;

Returns
The enum numeric value on the wire for useOrOpt.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4930 of file RoutingSearchParameters.java.

◆ getUsePathLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUsePathLns ( )
inline
--- 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;

Returns
The usePathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6033 of file RoutingSearchParameters.java.

◆ getUsePathLnsValue()

.lang.Override int getUsePathLnsValue ( )
inline
--- 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;

Returns
The enum numeric value on the wire for usePathLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5992 of file RoutingSearchParameters.java.

◆ getUseRelocate()

.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocate ( )
inline
--- 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;

Returns
The useRelocate.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3618 of file RoutingSearchParameters.java.

◆ getUseRelocateAndMakeActive()

.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive ( )
inline
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;
Returns
The useRelocateAndMakeActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5390 of file RoutingSearchParameters.java.

◆ getUseRelocateAndMakeActiveValue()

.lang.Override int getUseRelocateAndMakeActiveValue ( )
inline
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;
Returns
The enum numeric value on the wire for useRelocateAndMakeActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5345 of file RoutingSearchParameters.java.

◆ getUseRelocateExpensiveChain()

.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain ( )
inline
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;

Returns
The useRelocateExpensiveChain.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4736 of file RoutingSearchParameters.java.

◆ getUseRelocateExpensiveChainValue()

.lang.Override int getUseRelocateExpensiveChainValue ( )
inline
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;

Returns
The enum numeric value on the wire for useRelocateExpensiveChain.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4691 of file RoutingSearchParameters.java.

◆ getUseRelocateNeighbors()

.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors ( )
inline
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 extremelly 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;

Returns
The useRelocateNeighbors.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3989 of file RoutingSearchParameters.java.

◆ getUseRelocateNeighborsValue()

.lang.Override int getUseRelocateNeighborsValue ( )
inline
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 extremelly 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;

Returns
The enum numeric value on the wire for useRelocateNeighbors.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3920 of file RoutingSearchParameters.java.

◆ getUseRelocatePair()

.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePair ( )
inline
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;

Returns
The useRelocatePair.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3732 of file RoutingSearchParameters.java.

◆ getUseRelocatePairValue()

.lang.Override int getUseRelocatePairValue ( )
inline
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;

Returns
The enum numeric value on the wire for useRelocatePair.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3689 of file RoutingSearchParameters.java.

◆ getUseRelocateSubtrip()

.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip ( )
inline
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;

Returns
The useRelocateSubtrip.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4138 of file RoutingSearchParameters.java.

◆ getUseRelocateSubtripValue()

.lang.Override int getUseRelocateSubtripValue ( )
inline
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;

Returns
The enum numeric value on the wire for useRelocateSubtrip.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4089 of file RoutingSearchParameters.java.

◆ getUseRelocateValue()

.lang.Override int getUseRelocateValue ( )
inline
--- 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;

Returns
The enum numeric value on the wire for useRelocate.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 3575 of file RoutingSearchParameters.java.

◆ getUseSwapActive()

.lang.Override com.google.ortools.util.OptionalBoolean getUseSwapActive ( )
inline
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;

Returns
The useSwapActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5687 of file RoutingSearchParameters.java.

◆ getUseSwapActiveValue()

.lang.Override int getUseSwapActiveValue ( )
inline
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;

Returns
The enum numeric value on the wire for useSwapActive.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5652 of file RoutingSearchParameters.java.

◆ getUseTspLns()

.lang.Override com.google.ortools.util.OptionalBoolean getUseTspLns ( )
inline
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;

Returns
The useTspLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6210 of file RoutingSearchParameters.java.

◆ getUseTspLnsValue()

.lang.Override int getUseTspLnsValue ( )
inline
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;

Returns
The enum numeric value on the wire for useTspLns.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 6173 of file RoutingSearchParameters.java.

◆ getUseTspOpt()

.lang.Override com.google.ortools.util.OptionalBoolean getUseTspOpt ( )
inline
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;

Returns
The useTspOpt.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5175 of file RoutingSearchParameters.java.

◆ getUseTspOptValue()

.lang.Override int getUseTspOptValue ( )
inline
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;

Returns
The enum numeric value on the wire for useTspOpt.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 5138 of file RoutingSearchParameters.java.

◆ getUseTwoOpt()

.lang.Override com.google.ortools.util.OptionalBoolean getUseTwoOpt ( )
inline
--- Intra-route operators ---
Operator which reverves a sub-chain 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;

Returns
The useTwoOpt.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4855 of file RoutingSearchParameters.java.

◆ getUseTwoOptValue()

.lang.Override int getUseTwoOptValue ( )
inline
--- Intra-route operators ---
Operator which reverves a sub-chain 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;

Returns
The enum numeric value on the wire for useTwoOpt.

Implements RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder.

Definition at line 4810 of file RoutingSearchParameters.java.

◆ internalGetFieldAccessorTable()

.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable ( )
inlineprotected

Definition at line 3251 of file RoutingSearchParameters.java.

◆ isInitialized()

.lang.Override final boolean isInitialized ( )
inline

Definition at line 3535 of file RoutingSearchParameters.java.

◆ mergeFrom() [1/3]

◆ mergeFrom() [2/3]

.lang.Override Builder mergeFrom ( com.google.protobuf.CodedInputStream  input,
com.google.protobuf.ExtensionRegistryLite  extensionRegistry 
) throws java.io.IOException
inline

Definition at line 3540 of file RoutingSearchParameters.java.

◆ mergeFrom() [3/3]

.lang.Override Builder mergeFrom ( com.google.protobuf.Message  other)
inline

Definition at line 3428 of file RoutingSearchParameters.java.

◆ mergeUnknownFields()

.lang.Override final Builder mergeUnknownFields ( final com.google.protobuf.UnknownFieldSet  unknownFields)
inline

Definition at line 6674 of file RoutingSearchParameters.java.

◆ setField()

.lang.Override Builder setField ( com.google.protobuf.Descriptors.FieldDescriptor  field,
java.lang.Object  value 
)
inline

Definition at line 3400 of file RoutingSearchParameters.java.

◆ setRepeatedField()

.lang.Override Builder setRepeatedField ( com.google.protobuf.Descriptors.FieldDescriptor  field,
int  index,
java.lang.Object  value 
)
inline

Definition at line 3416 of file RoutingSearchParameters.java.

◆ setUnknownFields()

.lang.Override final Builder setUnknownFields ( final com.google.protobuf.UnknownFieldSet  unknownFields)
inline

Definition at line 6668 of file RoutingSearchParameters.java.

◆ setUseCross()

Builder setUseCross ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useCross to set.
Returns
This builder for chaining.

Definition at line 4567 of file RoutingSearchParameters.java.

◆ setUseCrossExchange()

Builder setUseCrossExchange ( com.google.ortools.util.OptionalBoolean  value)
inline
Not implemented yet. TODO(b/68128619): Implement.

.operations_research.OptionalBoolean use_cross_exchange = 6;

Parameters
valueThe useCrossExchange to set.
Returns
This builder for chaining.

Definition at line 4649 of file RoutingSearchParameters.java.

◆ setUseCrossExchangeValue()

Builder setUseCrossExchangeValue ( int  value)
inline
Not implemented yet. TODO(b/68128619): Implement.

.operations_research.OptionalBoolean use_cross_exchange = 6;

Parameters
valueThe enum numeric value on the wire for useCrossExchange to set.
Returns
This builder for chaining.

Definition at line 4620 of file RoutingSearchParameters.java.

◆ setUseCrossValue()

Builder setUseCrossValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useCross to set.
Returns
This builder for chaining.

Definition at line 4522 of file RoutingSearchParameters.java.

◆ setUseExchange()

Builder setUseExchange ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useExchange to set.
Returns
This builder for chaining.

Definition at line 4272 of file RoutingSearchParameters.java.

◆ setUseExchangePair()

Builder setUseExchangePair ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useExchangePair to set.
Returns
This builder for chaining.

Definition at line 4376 of file RoutingSearchParameters.java.

◆ setUseExchangePairValue()

Builder setUseExchangePairValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useExchangePair to set.
Returns
This builder for chaining.

Definition at line 4335 of file RoutingSearchParameters.java.

◆ setUseExchangeSubtrip()

Builder setUseExchangeSubtrip ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useExchangeSubtrip to set.
Returns
This builder for chaining.

Definition at line 4460 of file RoutingSearchParameters.java.

◆ setUseExchangeSubtripValue()

Builder setUseExchangeSubtripValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useExchangeSubtrip to set.
Returns
This builder for chaining.

Definition at line 4429 of file RoutingSearchParameters.java.

◆ setUseExchangeValue()

Builder setUseExchangeValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useExchange to set.
Returns
This builder for chaining.

Definition at line 4231 of file RoutingSearchParameters.java.

◆ setUseExtendedSwapActive()

Builder setUseExtendedSwapActive ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useExtendedSwapActive to set.
Returns
This builder for chaining.

Definition at line 5819 of file RoutingSearchParameters.java.

◆ setUseExtendedSwapActiveValue()

Builder setUseExtendedSwapActiveValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useExtendedSwapActive to set.
Returns
This builder for chaining.

Definition at line 5772 of file RoutingSearchParameters.java.

◆ setUseFullPathLns()

Builder setUseFullPathLns ( com.google.ortools.util.OptionalBoolean  value)
inline
Operator which relaxes one entire path and all unactive nodes.

.operations_research.OptionalBoolean use_full_path_lns = 17;

Parameters
valueThe useFullPathLns to set.
Returns
This builder for chaining.

Definition at line 6135 of file RoutingSearchParameters.java.

◆ setUseFullPathLnsValue()

Builder setUseFullPathLnsValue ( int  value)
inline
Operator which relaxes one entire path and all unactive nodes.

.operations_research.OptionalBoolean use_full_path_lns = 17;

Parameters
valueThe enum numeric value on the wire for useFullPathLns to set.
Returns
This builder for chaining.

Definition at line 6106 of file RoutingSearchParameters.java.

◆ setUseGlobalCheapestInsertionExpensiveChainLns()

Builder setUseGlobalCheapestInsertionExpensiveChainLns ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useGlobalCheapestInsertionExpensiveChainLns to set.
Returns
This builder for chaining.

Definition at line 6562 of file RoutingSearchParameters.java.

◆ setUseGlobalCheapestInsertionExpensiveChainLnsValue()

Builder setUseGlobalCheapestInsertionExpensiveChainLnsValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useGlobalCheapestInsertionExpensiveChainLns to set.
Returns
This builder for chaining.

Definition at line 6527 of file RoutingSearchParameters.java.

◆ setUseGlobalCheapestInsertionPathLns()

Builder setUseGlobalCheapestInsertionPathLns ( com.google.ortools.util.OptionalBoolean  value)
inline
--- 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;

Parameters
valueThe useGlobalCheapestInsertionPathLns to set.
Returns
This builder for chaining.

Definition at line 6400 of file RoutingSearchParameters.java.

◆ setUseGlobalCheapestInsertionPathLnsValue()

Builder setUseGlobalCheapestInsertionPathLnsValue ( int  value)
inline
--- 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;

Parameters
valueThe enum numeric value on the wire for useGlobalCheapestInsertionPathLns to set.
Returns
This builder for chaining.

Definition at line 6367 of file RoutingSearchParameters.java.

◆ setUseInactiveLns()

Builder setUseInactiveLns ( com.google.ortools.util.OptionalBoolean  value)
inline
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 swaping arcs.

.operations_research.OptionalBoolean use_inactive_lns = 19;

Parameters
valueThe useInactiveLns to set.
Returns
This builder for chaining.

Definition at line 6316 of file RoutingSearchParameters.java.

◆ setUseInactiveLnsValue()

Builder setUseInactiveLnsValue ( int  value)
inline
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 swaping arcs.

.operations_research.OptionalBoolean use_inactive_lns = 19;

Parameters
valueThe enum numeric value on the wire for useInactiveLns to set.
Returns
This builder for chaining.

Definition at line 6283 of file RoutingSearchParameters.java.

◆ setUseLightRelocatePair()

Builder setUseLightRelocatePair ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useLightRelocatePair to set.
Returns
This builder for chaining.

Definition at line 3860 of file RoutingSearchParameters.java.

◆ setUseLightRelocatePairValue()

Builder setUseLightRelocatePairValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useLightRelocatePair to set.
Returns
This builder for chaining.

Definition at line 3819 of file RoutingSearchParameters.java.

◆ setUseLinKernighan()

Builder setUseLinKernighan ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useLinKernighan to set.
Returns
This builder for chaining.

Definition at line 5097 of file RoutingSearchParameters.java.

◆ setUseLinKernighanValue()

Builder setUseLinKernighanValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useLinKernighan to set.
Returns
This builder for chaining.

Definition at line 5062 of file RoutingSearchParameters.java.

◆ setUseLocalCheapestInsertionExpensiveChainLns()

Builder setUseLocalCheapestInsertionExpensiveChainLns ( com.google.ortools.util.OptionalBoolean  value)
inline
Same as above but using LocalCheapestInsertion as a heuristic for
insertion.

.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;

Parameters
valueThe useLocalCheapestInsertionExpensiveChainLns to set.
Returns
This builder for chaining.

Definition at line 6643 of file RoutingSearchParameters.java.

◆ setUseLocalCheapestInsertionExpensiveChainLnsValue()

Builder setUseLocalCheapestInsertionExpensiveChainLnsValue ( int  value)
inline
Same as above but using LocalCheapestInsertion as a heuristic for
insertion.

.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;

Parameters
valueThe enum numeric value on the wire for useLocalCheapestInsertionExpensiveChainLns to set.
Returns
This builder for chaining.

Definition at line 6612 of file RoutingSearchParameters.java.

◆ setUseLocalCheapestInsertionPathLns()

Builder setUseLocalCheapestInsertionPathLns ( com.google.ortools.util.OptionalBoolean  value)
inline
Same as above but using LocalCheapestInsertion as a heuristic.

.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;

Parameters
valueThe useLocalCheapestInsertionPathLns to set.
Returns
This builder for chaining.

Definition at line 6476 of file RoutingSearchParameters.java.

◆ setUseLocalCheapestInsertionPathLnsValue()

Builder setUseLocalCheapestInsertionPathLnsValue ( int  value)
inline
Same as above but using LocalCheapestInsertion as a heuristic.

.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;

Parameters
valueThe enum numeric value on the wire for useLocalCheapestInsertionPathLns to set.
Returns
This builder for chaining.

Definition at line 6447 of file RoutingSearchParameters.java.

◆ setUseMakeActive()

Builder setUseMakeActive ( com.google.ortools.util.OptionalBoolean  value)
inline
--- 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;

Parameters
valueThe useMakeActive to set.
Returns
This builder for chaining.

Definition at line 5297 of file RoutingSearchParameters.java.

◆ setUseMakeActiveValue()

Builder setUseMakeActiveValue ( int  value)
inline
--- 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;

Parameters
valueThe enum numeric value on the wire for useMakeActive to set.
Returns
This builder for chaining.

Definition at line 5256 of file RoutingSearchParameters.java.

◆ setUseMakeChainInactive()

Builder setUseMakeChainInactive ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useMakeChainInactive to set.
Returns
This builder for chaining.

Definition at line 5610 of file RoutingSearchParameters.java.

◆ setUseMakeChainInactiveValue()

Builder setUseMakeChainInactiveValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useMakeChainInactive to set.
Returns
This builder for chaining.

Definition at line 5571 of file RoutingSearchParameters.java.

◆ setUseMakeInactive()

Builder setUseMakeInactive ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useMakeInactive to set.
Returns
This builder for chaining.

Definition at line 5512 of file RoutingSearchParameters.java.

◆ setUseMakeInactiveValue()

Builder setUseMakeInactiveValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useMakeInactive to set.
Returns
This builder for chaining.

Definition at line 5475 of file RoutingSearchParameters.java.

◆ setUseNodePairSwapActive()

Builder setUseNodePairSwapActive ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useNodePairSwapActive to set.
Returns
This builder for chaining.

Definition at line 5942 of file RoutingSearchParameters.java.

◆ setUseNodePairSwapActiveValue()

Builder setUseNodePairSwapActiveValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useNodePairSwapActive to set.
Returns
This builder for chaining.

Definition at line 5893 of file RoutingSearchParameters.java.

◆ setUseOrOpt()

Builder setUseOrOpt ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useOrOpt to set.
Returns
This builder for chaining.

Definition at line 5001 of file RoutingSearchParameters.java.

◆ setUseOrOptValue()

Builder setUseOrOptValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useOrOpt to set.
Returns
This builder for chaining.

Definition at line 4952 of file RoutingSearchParameters.java.

◆ setUsePathLns()

Builder setUsePathLns ( com.google.ortools.util.OptionalBoolean  value)
inline
--- 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;

Parameters
valueThe usePathLns to set.
Returns
This builder for chaining.

Definition at line 6054 of file RoutingSearchParameters.java.

◆ setUsePathLnsValue()

Builder setUsePathLnsValue ( int  value)
inline
--- 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;

Parameters
valueThe enum numeric value on the wire for usePathLns to set.
Returns
This builder for chaining.

Definition at line 6011 of file RoutingSearchParameters.java.

◆ setUseRelocate()

Builder setUseRelocate ( com.google.ortools.util.OptionalBoolean  value)
inline
--- 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;

Parameters
valueThe useRelocate to set.
Returns
This builder for chaining.

Definition at line 3640 of file RoutingSearchParameters.java.

◆ setUseRelocateAndMakeActive()

Builder setUseRelocateAndMakeActive ( com.google.ortools.util.OptionalBoolean  value)
inline
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;
Parameters
valueThe useRelocateAndMakeActive to set.
Returns
This builder for chaining.

Definition at line 5413 of file RoutingSearchParameters.java.

◆ setUseRelocateAndMakeActiveValue()

Builder setUseRelocateAndMakeActiveValue ( int  value)
inline
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;
Parameters
valueThe enum numeric value on the wire for useRelocateAndMakeActive to set.
Returns
This builder for chaining.

Definition at line 5366 of file RoutingSearchParameters.java.

◆ setUseRelocateExpensiveChain()

Builder setUseRelocateExpensiveChain ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useRelocateExpensiveChain to set.
Returns
This builder for chaining.

Definition at line 4759 of file RoutingSearchParameters.java.

◆ setUseRelocateExpensiveChainValue()

Builder setUseRelocateExpensiveChainValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useRelocateExpensiveChain to set.
Returns
This builder for chaining.

Definition at line 4712 of file RoutingSearchParameters.java.

◆ setUseRelocateNeighbors()

Builder setUseRelocateNeighbors ( com.google.ortools.util.OptionalBoolean  value)
inline
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 extremelly 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;

Parameters
valueThe useRelocateNeighbors to set.
Returns
This builder for chaining.

Definition at line 4024 of file RoutingSearchParameters.java.

◆ setUseRelocateNeighborsValue()

Builder setUseRelocateNeighborsValue ( int  value)
inline
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 extremelly 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;

Parameters
valueThe enum numeric value on the wire for useRelocateNeighbors to set.
Returns
This builder for chaining.

Definition at line 3953 of file RoutingSearchParameters.java.

◆ setUseRelocatePair()

Builder setUseRelocatePair ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useRelocatePair to set.
Returns
This builder for chaining.

Definition at line 3754 of file RoutingSearchParameters.java.

◆ setUseRelocatePairValue()

Builder setUseRelocatePairValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useRelocatePair to set.
Returns
This builder for chaining.

Definition at line 3709 of file RoutingSearchParameters.java.

◆ setUseRelocateSubtrip()

Builder setUseRelocateSubtrip ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useRelocateSubtrip to set.
Returns
This builder for chaining.

Definition at line 4163 of file RoutingSearchParameters.java.

◆ setUseRelocateSubtripValue()

Builder setUseRelocateSubtripValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useRelocateSubtrip to set.
Returns
This builder for chaining.

Definition at line 4112 of file RoutingSearchParameters.java.

◆ setUseRelocateValue()

Builder setUseRelocateValue ( int  value)
inline
--- 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;

Parameters
valueThe enum numeric value on the wire for useRelocate to set.
Returns
This builder for chaining.

Definition at line 3595 of file RoutingSearchParameters.java.

◆ setUseSwapActive()

Builder setUseSwapActive ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useSwapActive to set.
Returns
This builder for chaining.

Definition at line 5705 of file RoutingSearchParameters.java.

◆ setUseSwapActiveValue()

Builder setUseSwapActiveValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useSwapActive to set.
Returns
This builder for chaining.

Definition at line 5668 of file RoutingSearchParameters.java.

◆ setUseTspLns()

Builder setUseTspLns ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useTspLns to set.
Returns
This builder for chaining.

Definition at line 6229 of file RoutingSearchParameters.java.

◆ setUseTspLnsValue()

Builder setUseTspLnsValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useTspLns to set.
Returns
This builder for chaining.

Definition at line 6190 of file RoutingSearchParameters.java.

◆ setUseTspOpt()

Builder setUseTspOpt ( com.google.ortools.util.OptionalBoolean  value)
inline
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;

Parameters
valueThe useTspOpt to set.
Returns
This builder for chaining.

Definition at line 5194 of file RoutingSearchParameters.java.

◆ setUseTspOptValue()

Builder setUseTspOptValue ( int  value)
inline
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;

Parameters
valueThe enum numeric value on the wire for useTspOpt to set.
Returns
This builder for chaining.

Definition at line 5155 of file RoutingSearchParameters.java.

◆ setUseTwoOpt()

Builder setUseTwoOpt ( com.google.ortools.util.OptionalBoolean  value)
inline
--- Intra-route operators ---
Operator which reverves a sub-chain 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;

Parameters
valueThe useTwoOpt to set.
Returns
This builder for chaining.

Definition at line 4878 of file RoutingSearchParameters.java.

◆ setUseTwoOptValue()

Builder setUseTwoOptValue ( int  value)
inline
--- Intra-route operators ---
Operator which reverves a sub-chain 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;

Parameters
valueThe enum numeric value on the wire for useTwoOpt to set.
Returns
This builder for chaining.

Definition at line 4831 of file RoutingSearchParameters.java.


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