Java Reference

Java Reference

RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder

Detailed Description

Definition at line 400 of file RoutingSearchParameters.java.

Public Member Functions

int getUseRelocateValue ()
 
com.google.ortools.util.OptionalBoolean getUseRelocate ()
 
int getUseRelocatePairValue ()
 
com.google.ortools.util.OptionalBoolean getUseRelocatePair ()
 
int getUseLightRelocatePairValue ()
 
com.google.ortools.util.OptionalBoolean getUseLightRelocatePair ()
 
int getUseRelocateNeighborsValue ()
 
com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors ()
 
int getUseRelocateSubtripValue ()
 
com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip ()
 
int getUseExchangeValue ()
 
com.google.ortools.util.OptionalBoolean getUseExchange ()
 
int getUseExchangePairValue ()
 
com.google.ortools.util.OptionalBoolean getUseExchangePair ()
 
int getUseExchangeSubtripValue ()
 
com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip ()
 
int getUseCrossValue ()
 
com.google.ortools.util.OptionalBoolean getUseCross ()
 
int getUseCrossExchangeValue ()
 
com.google.ortools.util.OptionalBoolean getUseCrossExchange ()
 
int getUseRelocateExpensiveChainValue ()
 
com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain ()
 
int getUseTwoOptValue ()
 
com.google.ortools.util.OptionalBoolean getUseTwoOpt ()
 
int getUseOrOptValue ()
 
com.google.ortools.util.OptionalBoolean getUseOrOpt ()
 
int getUseLinKernighanValue ()
 
com.google.ortools.util.OptionalBoolean getUseLinKernighan ()
 
int getUseTspOptValue ()
 
com.google.ortools.util.OptionalBoolean getUseTspOpt ()
 
int getUseMakeActiveValue ()
 
com.google.ortools.util.OptionalBoolean getUseMakeActive ()
 
int getUseRelocateAndMakeActiveValue ()
 
com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive ()
 
int getUseMakeInactiveValue ()
 
com.google.ortools.util.OptionalBoolean getUseMakeInactive ()
 
int getUseMakeChainInactiveValue ()
 
com.google.ortools.util.OptionalBoolean getUseMakeChainInactive ()
 
int getUseSwapActiveValue ()
 
com.google.ortools.util.OptionalBoolean getUseSwapActive ()
 
int getUseExtendedSwapActiveValue ()
 
com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive ()
 
int getUseNodePairSwapActiveValue ()
 
com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive ()
 
int getUsePathLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUsePathLns ()
 
int getUseFullPathLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUseFullPathLns ()
 
int getUseTspLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUseTspLns ()
 
int getUseInactiveLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUseInactiveLns ()
 
int getUseGlobalCheapestInsertionPathLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns ()
 
int getUseLocalCheapestInsertionPathLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns ()
 
int getUseGlobalCheapestInsertionExpensiveChainLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns ()
 
int getUseLocalCheapestInsertionExpensiveChainLnsValue ()
 
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns ()
 

Member Function Documentation

◆ getUseCross()

Operator which cross exchanges the starting chains of 2 paths, including
exchanging the whole paths.
First and last nodes are not moved.
Possible neighbors for the paths 1 -> 2 -> 3 -> 4 -> 5 and 6 -> 7 -> 8
(where (1, 5) and (6, 8) are first and last nodes of the paths and can
therefore not be moved):
  1 -> [7] -> 3 -> 4 -> 5  6 -> [2] -> 8
  1 -> [7] -> 4 -> 5       6 -> [2 -> 3] -> 8
  1 -> [7] -> 5            6 -> [2 -> 3 -> 4] -> 8

.operations_research.OptionalBoolean use_cross = 5;

Returns
The useCross.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseCrossExchange()

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

.operations_research.OptionalBoolean use_cross_exchange = 6;

Returns
The useCrossExchange.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseCrossExchangeValue()

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

.operations_research.OptionalBoolean use_cross_exchange = 6;

Returns
The enum numeric value on the wire for useCrossExchange.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseCrossValue()

int getUseCrossValue ( )
Operator which cross exchanges the starting chains of 2 paths, including
exchanging the whole paths.
First and last nodes are not moved.
Possible neighbors for the paths 1 -> 2 -> 3 -> 4 -> 5 and 6 -> 7 -> 8
(where (1, 5) and (6, 8) are first and last nodes of the paths and can
therefore not be moved):
  1 -> [7] -> 3 -> 4 -> 5  6 -> [2] -> 8
  1 -> [7] -> 4 -> 5       6 -> [2 -> 3] -> 8
  1 -> [7] -> 5            6 -> [2 -> 3 -> 4] -> 8

.operations_research.OptionalBoolean use_cross = 5;

Returns
The enum numeric value on the wire for useCross.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExchange()

Operator which exchanges the positions of two nodes.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
(where (1, 5) are first and last nodes of the path and can therefore not
be moved):
  1 -> [3] -> [2] ->  4  -> 5
  1 -> [4] ->  3  -> [2] -> 5
  1 ->  2  -> [4] -> [3] -> 5

.operations_research.OptionalBoolean use_exchange = 4;

Returns
The useExchange.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExchangePair()

Operator which exchanges the positions of two pair of nodes. Pairs
correspond to the pickup and delivery pairs defined in the routing model.
Possible neighbor for the paths
1 -> A -> B -> 2 -> 3 and 4 -> C -> D -> 5
(where (1, 3) and (4, 5) are first and last nodes of the paths and can
therefore not be moved, and (A, B) and (C,D) are pairs of nodes):
  1 -> [C] ->  [D] -> 2 -> 3, 4 -> [A] -> [B] -> 5

.operations_research.OptionalBoolean use_exchange_pair = 22;

Returns
The useExchangePair.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExchangePairValue()

int getUseExchangePairValue ( )
Operator which exchanges the positions of two pair of nodes. Pairs
correspond to the pickup and delivery pairs defined in the routing model.
Possible neighbor for the paths
1 -> A -> B -> 2 -> 3 and 4 -> C -> D -> 5
(where (1, 3) and (4, 5) are first and last nodes of the paths and can
therefore not be moved, and (A, B) and (C,D) are pairs of nodes):
  1 -> [C] ->  [D] -> 2 -> 3, 4 -> [A] -> [B] -> 5

.operations_research.OptionalBoolean use_exchange_pair = 22;

Returns
The enum numeric value on the wire for useExchangePair.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExchangeSubtrip()

com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip ( )
Operator which exchanges subtrips associated to two pairs of nodes,
see use_relocate_subtrip for a definition of subtrips.

.operations_research.OptionalBoolean use_exchange_subtrip = 26;

Returns
The useExchangeSubtrip.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExchangeSubtripValue()

int getUseExchangeSubtripValue ( )
Operator which exchanges subtrips associated to two pairs of nodes,
see use_relocate_subtrip for a definition of subtrips.

.operations_research.OptionalBoolean use_exchange_subtrip = 26;

Returns
The enum numeric value on the wire for useExchangeSubtrip.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExchangeValue()

int getUseExchangeValue ( )
Operator which exchanges the positions of two nodes.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
(where (1, 5) are first and last nodes of the path and can therefore not
be moved):
  1 -> [3] -> [2] ->  4  -> 5
  1 -> [4] ->  3  -> [2] -> 5
  1 ->  2  -> [4] -> [3] -> 5

.operations_research.OptionalBoolean use_exchange = 4;

Returns
The enum numeric value on the wire for useExchange.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExtendedSwapActive()

com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive ( )
Operator which makes an inactive node active and an active one inactive.
It is similar to SwapActiveOperator excepts that it tries to insert the
inactive node in all possible positions instead of just the position of
the node made inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path) are:
  1 -> [5] ->  3  -> 4 with 2 inactive
  1 ->  3  -> [5] -> 4 with 2 inactive
  1 -> [5] ->  2  -> 4 with 3 inactive
  1 ->  2  -> [5] -> 4 with 3 inactive

.operations_research.OptionalBoolean use_extended_swap_active = 15;

Returns
The useExtendedSwapActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseExtendedSwapActiveValue()

int getUseExtendedSwapActiveValue ( )
Operator which makes an inactive node active and an active one inactive.
It is similar to SwapActiveOperator excepts that it tries to insert the
inactive node in all possible positions instead of just the position of
the node made inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path) are:
  1 -> [5] ->  3  -> 4 with 2 inactive
  1 ->  3  -> [5] -> 4 with 2 inactive
  1 -> [5] ->  2  -> 4 with 3 inactive
  1 ->  2  -> [5] -> 4 with 3 inactive

.operations_research.OptionalBoolean use_extended_swap_active = 15;

Returns
The enum numeric value on the wire for useExtendedSwapActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseFullPathLns()

Operator which relaxes one entire path and all unactive nodes.

.operations_research.OptionalBoolean use_full_path_lns = 17;

Returns
The useFullPathLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseFullPathLnsValue()

int getUseFullPathLnsValue ( )
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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseGlobalCheapestInsertionExpensiveChainLns()

com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns ( )
This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider
most expensive arcs on a route, makes the nodes in between pairs of these
expensive arcs unperformed, and reinserts them using the
GlobalCheapestInsertion heuristic.

.operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;

Returns
The useGlobalCheapestInsertionExpensiveChainLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseGlobalCheapestInsertionExpensiveChainLnsValue()

int getUseGlobalCheapestInsertionExpensiveChainLnsValue ( )
This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider
most expensive arcs on a route, makes the nodes in between pairs of these
expensive arcs unperformed, and reinserts them using the
GlobalCheapestInsertion heuristic.

.operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;

Returns
The enum numeric value on the wire for useGlobalCheapestInsertionExpensiveChainLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseGlobalCheapestInsertionPathLns()

com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns ( )
--- LNS-like large neighborhood search operators using heuristics ---
Operator which makes all nodes on a route unperformed, and reinserts them
using the GlobalCheapestInsertion heuristic.

.operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;

Returns
The useGlobalCheapestInsertionPathLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseGlobalCheapestInsertionPathLnsValue()

int getUseGlobalCheapestInsertionPathLnsValue ( )
--- LNS-like large neighborhood search operators using heuristics ---
Operator which makes all nodes on a route unperformed, and reinserts them
using the GlobalCheapestInsertion heuristic.

.operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;

Returns
The enum numeric value on the wire for useGlobalCheapestInsertionPathLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseInactiveLns()

Operator which relaxes all inactive nodes and one sub-chain of six
consecutive arcs. That way the path can be improved by inserting inactive
nodes or swaping arcs.

.operations_research.OptionalBoolean use_inactive_lns = 19;

Returns
The useInactiveLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseInactiveLnsValue()

int getUseInactiveLnsValue ( )
Operator which relaxes all inactive nodes and one sub-chain of six
consecutive arcs. That way the path can be improved by inserting inactive
nodes or swaping arcs.

.operations_research.OptionalBoolean use_inactive_lns = 19;

Returns
The enum numeric value on the wire for useInactiveLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLightRelocatePair()

com.google.ortools.util.OptionalBoolean getUseLightRelocatePair ( )
Operator which moves a pair of pickup and delivery nodes after another
pair.
Possible neighbors for paths 1 -> A -> B -> 2, 3 -> C -> D -> 4 (where
(1, 2) and (3, 4) are first and last nodes of paths and can therefore not
be moved, and (A, B) and (C, D) are pair of nodes):
  1 -> 2, 3 -> C -> [A] -> D -> [B] -> 4
  1 -> A -> [C] -> B -> [D] -> 2, 3 -> 4

.operations_research.OptionalBoolean use_light_relocate_pair = 24;

Returns
The useLightRelocatePair.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLightRelocatePairValue()

int getUseLightRelocatePairValue ( )
Operator which moves a pair of pickup and delivery nodes after another
pair.
Possible neighbors for paths 1 -> A -> B -> 2, 3 -> C -> D -> 4 (where
(1, 2) and (3, 4) are first and last nodes of paths and can therefore not
be moved, and (A, B) and (C, D) are pair of nodes):
  1 -> 2, 3 -> C -> [A] -> D -> [B] -> 4
  1 -> A -> [C] -> B -> [D] -> 2, 3 -> 4

.operations_research.OptionalBoolean use_light_relocate_pair = 24;

Returns
The enum numeric value on the wire for useLightRelocatePair.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLinKernighan()

Lin-Kernighan operator.
While the accumulated local gain is positive, performs a 2-OPT or a 3-OPT
move followed by a series of 2-OPT moves. Returns a neighbor for which
the global gain is positive.

.operations_research.OptionalBoolean use_lin_kernighan = 9;

Returns
The useLinKernighan.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLinKernighanValue()

int getUseLinKernighanValue ( )
Lin-Kernighan operator.
While the accumulated local gain is positive, performs a 2-OPT or a 3-OPT
move followed by a series of 2-OPT moves. Returns a neighbor for which
the global gain is positive.

.operations_research.OptionalBoolean use_lin_kernighan = 9;

Returns
The enum numeric value on the wire for useLinKernighan.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLocalCheapestInsertionExpensiveChainLns()

com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns ( )
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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLocalCheapestInsertionExpensiveChainLnsValue()

int getUseLocalCheapestInsertionExpensiveChainLnsValue ( )
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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLocalCheapestInsertionPathLns()

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

.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;

Returns
The useLocalCheapestInsertionPathLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseLocalCheapestInsertionPathLnsValue()

int getUseLocalCheapestInsertionPathLnsValue ( )
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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseMakeActive()

--- Operators on inactive nodes ---
Operator which inserts an inactive node into a path.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path) are:
  1 -> [5] ->  2  ->  3  -> 4
  1 ->  2  -> [5] ->  3  -> 4
  1 ->  2  ->  3  -> [5] -> 4

.operations_research.OptionalBoolean use_make_active = 11;

Returns
The useMakeActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseMakeActiveValue()

int getUseMakeActiveValue ( )
--- Operators on inactive nodes ---
Operator which inserts an inactive node into a path.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path) are:
  1 -> [5] ->  2  ->  3  -> 4
  1 ->  2  -> [5] ->  3  -> 4
  1 ->  2  ->  3  -> [5] -> 4

.operations_research.OptionalBoolean use_make_active = 11;

Returns
The enum numeric value on the wire for useMakeActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseMakeChainInactive()

com.google.ortools.util.OptionalBoolean getUseMakeChainInactive ( )
Operator which makes a "chain" of path nodes inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first
and last nodes of the path) are:
  1 -> 3 -> 4 with 2 inactive
  1 -> 2 -> 4 with 3 inactive
  1 -> 4 with 2 and 3 inactive

.operations_research.OptionalBoolean use_make_chain_inactive = 13;

Returns
The useMakeChainInactive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseMakeChainInactiveValue()

int getUseMakeChainInactiveValue ( )
Operator which makes a "chain" of path nodes inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first
and last nodes of the path) are:
  1 -> 3 -> 4 with 2 inactive
  1 -> 2 -> 4 with 3 inactive
  1 -> 4 with 2 and 3 inactive

.operations_research.OptionalBoolean use_make_chain_inactive = 13;

Returns
The enum numeric value on the wire for useMakeChainInactive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseMakeInactive()

Operator which makes path nodes inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first
and last nodes of the path) are:
  1 -> 3 -> 4 with 2 inactive
  1 -> 2 -> 4 with 3 inactive

.operations_research.OptionalBoolean use_make_inactive = 12;

Returns
The useMakeInactive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseMakeInactiveValue()

int getUseMakeInactiveValue ( )
Operator which makes path nodes inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first
and last nodes of the path) are:
  1 -> 3 -> 4 with 2 inactive
  1 -> 2 -> 4 with 3 inactive

.operations_research.OptionalBoolean use_make_inactive = 12;

Returns
The enum numeric value on the wire for useMakeInactive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseNodePairSwapActive()

com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive ( )
Operator which makes an inactive node active and an active pair of nodes
inactive OR makes an inactive pair of nodes active and an active node
inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path and (2,3) is a pair
of nodes) are:
  1 -> [5] -> 4 with (2,3) inactive
Possible neighbors for the path 1 -> 2 -> 3 with (4,5) inactive
(where 1 and 3 are first and last nodes of the path and (4,5) is a pair
of nodes) are:
  1 -> [4] -> [5] -> 3 with 2 inactive

.operations_research.OptionalBoolean use_node_pair_swap_active = 20;

Returns
The useNodePairSwapActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseNodePairSwapActiveValue()

int getUseNodePairSwapActiveValue ( )
Operator which makes an inactive node active and an active pair of nodes
inactive OR makes an inactive pair of nodes active and an active node
inactive.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path and (2,3) is a pair
of nodes) are:
  1 -> [5] -> 4 with (2,3) inactive
Possible neighbors for the path 1 -> 2 -> 3 with (4,5) inactive
(where 1 and 3 are first and last nodes of the path and (4,5) is a pair
of nodes) are:
  1 -> [4] -> [5] -> 3 with 2 inactive

.operations_research.OptionalBoolean use_node_pair_swap_active = 20;

Returns
The enum numeric value on the wire for useNodePairSwapActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseOrOpt()

Operator which moves sub-chains of a path of length 1, 2 and 3 to another
position in the same path.
When the length of the sub-chain is 1, the operator simply moves a node
to another position.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5, for a sub-chain
length of 2 (where (1, 5) are first and last nodes of the path and can
therefore not be moved):
  1 ->  4 -> [2 -> 3] -> 5
  1 -> [3 -> 4] -> 2  -> 5
The OR_OPT operator is a limited version of 3-Opt (breaks 3 arcs on a
path).

.operations_research.OptionalBoolean use_or_opt = 8;

Returns
The useOrOpt.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseOrOptValue()

int getUseOrOptValue ( )
Operator which moves sub-chains of a path of length 1, 2 and 3 to another
position in the same path.
When the length of the sub-chain is 1, the operator simply moves a node
to another position.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5, for a sub-chain
length of 2 (where (1, 5) are first and last nodes of the path and can
therefore not be moved):
  1 ->  4 -> [2 -> 3] -> 5
  1 -> [3 -> 4] -> 2  -> 5
The OR_OPT operator is a limited version of 3-Opt (breaks 3 arcs on a
path).

.operations_research.OptionalBoolean use_or_opt = 8;

Returns
The enum numeric value on the wire for useOrOpt.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUsePathLns()

--- Large neighborhood search operators ---
Operator which relaxes two sub-chains of three consecutive arcs each.
Each sub-chain is defined by a start node and the next three arcs. Those
six arcs are relaxed to build a new neighbor.
PATH_LNS explores all possible pairs of starting nodes and so defines
n^2 neighbors, n being the number of nodes.
Note that the two sub-chains can be part of the same path; they even may
overlap.

.operations_research.OptionalBoolean use_path_lns = 16;

Returns
The usePathLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUsePathLnsValue()

int getUsePathLnsValue ( )
--- Large neighborhood search operators ---
Operator which relaxes two sub-chains of three consecutive arcs each.
Each sub-chain is defined by a start node and the next three arcs. Those
six arcs are relaxed to build a new neighbor.
PATH_LNS explores all possible pairs of starting nodes and so defines
n^2 neighbors, n being the number of nodes.
Note that the two sub-chains can be part of the same path; they even may
overlap.

.operations_research.OptionalBoolean use_path_lns = 16;

Returns
The enum numeric value on the wire for usePathLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocate()

--- Inter-route operators ---
Operator which moves a single node to another position.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
(where (1, 5) are first and last nodes of the path and can therefore not
be moved):
  1 ->  3  -> [2] ->  4  -> 5
  1 ->  3  ->  4  -> [2] -> 5
  1 ->  2  ->  4  -> [3] -> 5
  1 -> [4] ->  2  ->  3  -> 5

.operations_research.OptionalBoolean use_relocate = 1;

Returns
The useRelocate.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateAndMakeActive()

com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive ( )
Operator which relocates a node while making an inactive one active.
As of 3/2017, the operator is limited to two kinds of moves:
  • Relocating a node and replacing it by an inactive node. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 3 -> 5, 2 -> 4 -> 6.
  • Relocating a node and inserting an inactive node next to it. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 4 -> 3 -> 5, 2 -> 6.
.operations_research.OptionalBoolean use_relocate_and_make_active = 21;
Returns
The useRelocateAndMakeActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateAndMakeActiveValue()

int getUseRelocateAndMakeActiveValue ( )
Operator which relocates a node while making an inactive one active.
As of 3/2017, the operator is limited to two kinds of moves:
  • Relocating a node and replacing it by an inactive node. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 3 -> 5, 2 -> 4 -> 6.
  • Relocating a node and inserting an inactive node next to it. Possible neighbor for path 1 -> 5, 2 -> 3 -> 6 and 4 inactive (where 1,2 and 5,6 are first and last nodes of paths) is: 1 -> 4 -> 3 -> 5, 2 -> 6.
.operations_research.OptionalBoolean use_relocate_and_make_active = 21;
Returns
The enum numeric value on the wire for useRelocateAndMakeActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateExpensiveChain()

com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain ( )
Operator which detects the relocate_expensive_chain_num_arcs_to_consider
most expensive arcs on a path, and moves the chain resulting from cutting
pairs of arcs among these to another position.
Possible neighbors for paths 1 -> 2 (empty) and
3 -> A ------> B --> C -----> D -> 4 (where A -> B and C -> D are the 2
most expensive arcs, and the chain resulting from breaking them is
B -> C):
  1 -> [B -> C] -> 2     3 -> A -> D -> 4
  1 -> 2      3 -> [B -> C] -> A -> D -> 4
  1 -> 2      3 -> A -> D -> [B -> C] -> 4

.operations_research.OptionalBoolean use_relocate_expensive_chain = 23;

Returns
The useRelocateExpensiveChain.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateExpensiveChainValue()

int getUseRelocateExpensiveChainValue ( )
Operator which detects the relocate_expensive_chain_num_arcs_to_consider
most expensive arcs on a path, and moves the chain resulting from cutting
pairs of arcs among these to another position.
Possible neighbors for paths 1 -> 2 (empty) and
3 -> A ------> B --> C -----> D -> 4 (where A -> B and C -> D are the 2
most expensive arcs, and the chain resulting from breaking them is
B -> C):
  1 -> [B -> C] -> 2     3 -> A -> D -> 4
  1 -> 2      3 -> [B -> C] -> A -> D -> 4
  1 -> 2      3 -> A -> D -> [B -> C] -> 4

.operations_research.OptionalBoolean use_relocate_expensive_chain = 23;

Returns
The enum numeric value on the wire for useRelocateExpensiveChain.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateNeighbors()

com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors ( )
Relocate neighborhood which moves chains of neighbors.
The operator starts by relocating a node n after a node m, then continues
moving nodes which were after n as long as the "cost" added is less than
the "cost" of the arc (m, n). If the new chain doesn't respect the domain
of next variables, it will try reordering the nodes until it finds a
valid path.
Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2)
are first and last nodes of the path and can therefore not be moved, A
must be performed before B, and A, D and E are located at the same
place):
1 -> A -> C -> [B] -> D -> E -> 2
1 -> A -> C -> D -> [B] -> E -> 2
1 -> A -> C -> D -> E -> [B] -> 2
1 -> A -> B -> D -> [C] -> E -> 2
1 -> A -> B -> D -> E -> [C] -> 2
1 -> A -> [D] -> [E] -> B -> C -> 2
1 -> A -> B -> [D] -> [E] ->  C -> 2
1 -> A -> [E] -> B -> C -> D -> 2
1 -> A -> B -> [E] -> C -> D -> 2
1 -> A -> B -> C -> [E] -> D -> 2
This operator is 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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateNeighborsValue()

int getUseRelocateNeighborsValue ( )
Relocate neighborhood which moves chains of neighbors.
The operator starts by relocating a node n after a node m, then continues
moving nodes which were after n as long as the "cost" added is less than
the "cost" of the arc (m, n). If the new chain doesn't respect the domain
of next variables, it will try reordering the nodes until it finds a
valid path.
Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2)
are first and last nodes of the path and can therefore not be moved, A
must be performed before B, and A, D and E are located at the same
place):
1 -> A -> C -> [B] -> D -> E -> 2
1 -> A -> C -> D -> [B] -> E -> 2
1 -> A -> C -> D -> E -> [B] -> 2
1 -> A -> B -> D -> [C] -> E -> 2
1 -> A -> B -> D -> E -> [C] -> 2
1 -> A -> [D] -> [E] -> B -> C -> 2
1 -> A -> B -> [D] -> [E] ->  C -> 2
1 -> A -> [E] -> B -> C -> D -> 2
1 -> A -> B -> [E] -> C -> D -> 2
1 -> A -> B -> C -> [E] -> D -> 2
This operator is 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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocatePair()

Operator which moves a pair of pickup and delivery nodes to another
position where the first node of the pair must be before the second node
on the same path. Compared to the light_relocate_pair operator, tries all
possible positions of insertion of a pair (not only after another pair).
Possible neighbors for the path 1 -> A -> B -> 2 -> 3 (where (1, 3) are
first and last nodes of the path and can therefore not be moved, and
(A, B) is a pair of nodes):
  1 -> [A] ->  2  -> [B] -> 3
  1 ->  2  -> [A] -> [B] -> 3

.operations_research.OptionalBoolean use_relocate_pair = 2;

Returns
The useRelocatePair.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocatePairValue()

int getUseRelocatePairValue ( )
Operator which moves a pair of pickup and delivery nodes to another
position where the first node of the pair must be before the second node
on the same path. Compared to the light_relocate_pair operator, tries all
possible positions of insertion of a pair (not only after another pair).
Possible neighbors for the path 1 -> A -> B -> 2 -> 3 (where (1, 3) are
first and last nodes of the path and can therefore not be moved, and
(A, B) is a pair of nodes):
  1 -> [A] ->  2  -> [B] -> 3
  1 ->  2  -> [A] -> [B] -> 3

.operations_research.OptionalBoolean use_relocate_pair = 2;

Returns
The enum numeric value on the wire for useRelocatePair.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateSubtrip()

com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip ( )
Relocate neighborhood that moves subpaths all pickup and delivery
pairs have both pickup and delivery inside the subpath or both outside
the subpath. For instance, for given paths:
0 -> A -> B -> A' -> B' -> 5 -> 6 -> 8
7 -> 9
Pairs (A,A') and (B,B') are interleaved, so the expected neighbors are:
0 -> 5 -> A -> B -> A' -> B' -> 6 -> 8
7 -> 9
0 -> 5 -> 6 -> A -> B -> A' -> B' -> 8
7 -> 9
0 -> 5 -> 6 -> 8
7 -> A -> B -> A' -> B' -> 9

.operations_research.OptionalBoolean use_relocate_subtrip = 25;

Returns
The useRelocateSubtrip.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateSubtripValue()

int getUseRelocateSubtripValue ( )
Relocate neighborhood that moves subpaths all pickup and delivery
pairs have both pickup and delivery inside the subpath or both outside
the subpath. For instance, for given paths:
0 -> A -> B -> A' -> B' -> 5 -> 6 -> 8
7 -> 9
Pairs (A,A') and (B,B') are interleaved, so the expected neighbors are:
0 -> 5 -> A -> B -> A' -> B' -> 6 -> 8
7 -> 9
0 -> 5 -> 6 -> A -> B -> A' -> B' -> 8
7 -> 9
0 -> 5 -> 6 -> 8
7 -> A -> B -> A' -> B' -> 9

.operations_research.OptionalBoolean use_relocate_subtrip = 25;

Returns
The enum numeric value on the wire for useRelocateSubtrip.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseRelocateValue()

int getUseRelocateValue ( )
--- Inter-route operators ---
Operator which moves a single node to another position.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
(where (1, 5) are first and last nodes of the path and can therefore not
be moved):
  1 ->  3  -> [2] ->  4  -> 5
  1 ->  3  ->  4  -> [2] -> 5
  1 ->  2  ->  4  -> [3] -> 5
  1 -> [4] ->  2  ->  3  -> 5

.operations_research.OptionalBoolean use_relocate = 1;

Returns
The enum numeric value on the wire for useRelocate.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseSwapActive()

Operator which replaces an active node by an inactive one.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path) are:
  1 -> [5] ->  3  -> 4 with 2 inactive
  1 ->  2  -> [5] -> 4 with 3 inactive

.operations_research.OptionalBoolean use_swap_active = 14;

Returns
The useSwapActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseSwapActiveValue()

int getUseSwapActiveValue ( )
Operator which replaces an active node by an inactive one.
Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
(where 1 and 4 are first and last nodes of the path) are:
  1 -> [5] ->  3  -> 4 with 2 inactive
  1 ->  2  -> [5] -> 4 with 3 inactive

.operations_research.OptionalBoolean use_swap_active = 14;

Returns
The enum numeric value on the wire for useSwapActive.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseTspLns()

TSP-base LNS.
Randomly merges consecutive nodes until n "meta"-nodes remain and solves
the corresponding TSP.
This defines an "unlimited" neighborhood which must be stopped by search
limits. To force diversification, the operator iteratively forces each
node to serve as base of a meta-node.

.operations_research.OptionalBoolean use_tsp_lns = 18;

Returns
The useTspLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseTspLnsValue()

int getUseTspLnsValue ( )
TSP-base LNS.
Randomly merges consecutive nodes until n "meta"-nodes remain and solves
the corresponding TSP.
This defines an "unlimited" neighborhood which must be stopped by search
limits. To force diversification, the operator iteratively forces each
node to serve as base of a meta-node.

.operations_research.OptionalBoolean use_tsp_lns = 18;

Returns
The enum numeric value on the wire for useTspLns.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseTspOpt()

Sliding TSP operator.
Uses an exact dynamic programming algorithm to solve the TSP
corresponding to path sub-chains.
For a subchain 1 -> 2 -> 3 -> 4 -> 5 -> 6, solves the TSP on
nodes A, 2, 3, 4, 5, where A is a merger of nodes 1 and 6 such that
cost(A,i) = cost(1,i) and cost(i,A) = cost(i,6).

.operations_research.OptionalBoolean use_tsp_opt = 10;

Returns
The useTspOpt.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseTspOptValue()

int getUseTspOptValue ( )
Sliding TSP operator.
Uses an exact dynamic programming algorithm to solve the TSP
corresponding to path sub-chains.
For a subchain 1 -> 2 -> 3 -> 4 -> 5 -> 6, solves the TSP on
nodes A, 2, 3, 4, 5, where A is a merger of nodes 1 and 6 such that
cost(A,i) = cost(1,i) and cost(i,A) = cost(i,6).

.operations_research.OptionalBoolean use_tsp_opt = 10;

Returns
The enum numeric value on the wire for useTspOpt.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseTwoOpt()

--- 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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.

◆ getUseTwoOptValue()

int getUseTwoOptValue ( )
--- 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.

Implemented in RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, and RoutingSearchParameters.LocalSearchNeighborhoodOperators.


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