Class RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder

    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder>
      • getDefaultInstanceForType

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • getUseRelocateValue

        public int getUseRelocateValue()
         --- Inter-route operators ---
         Operator which moves a single node to another position.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 ->  3  -> [2] ->  4  -> 5
           1 ->  3  ->  4  -> [2] -> 5
           1 ->  2  ->  4  -> [3] -> 5
           1 -> [4] ->  2  ->  3  -> 5
         
        .operations_research.OptionalBoolean use_relocate = 1;
        Specified by:
        getUseRelocateValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useRelocate.
      • setUseRelocateValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateValue​(int value)
         --- 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:
        value - The enum numeric value on the wire for useRelocate to set.
        Returns:
        This builder for chaining.
      • getUseRelocate

        public OptionalBoolean getUseRelocate()
         --- Inter-route operators ---
         Operator which moves a single node to another position.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 ->  3  -> [2] ->  4  -> 5
           1 ->  3  ->  4  -> [2] -> 5
           1 ->  2  ->  4  -> [3] -> 5
           1 -> [4] ->  2  ->  3  -> 5
         
        .operations_research.OptionalBoolean use_relocate = 1;
        Specified by:
        getUseRelocate in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useRelocate.
      • setUseRelocate

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocate​(OptionalBoolean value)
         --- 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:
        value - The useRelocate to set.
        Returns:
        This builder for chaining.
      • clearUseRelocate

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseRelocate()
         --- 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.
      • getUseRelocatePairValue

        public int getUseRelocatePairValue()
         Operator which moves a pair of pickup and delivery nodes to another
         position where the first node of the pair must be before the second node
         on the same path. Compared to the light_relocate_pair operator, tries all
         possible positions of insertion of a pair (not only after another pair).
         Possible neighbors for the path 1 -> A -> B -> 2 -> 3 (where (1, 3) are
         first and last nodes of the path and can therefore not be moved, and
         (A, B) is a pair of nodes):
           1 -> [A] ->  2  -> [B] -> 3
           1 ->  2  -> [A] -> [B] -> 3
         
        .operations_research.OptionalBoolean use_relocate_pair = 2;
        Specified by:
        getUseRelocatePairValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useRelocatePair.
      • setUseRelocatePairValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocatePairValue​(int value)
         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:
        value - The enum numeric value on the wire for useRelocatePair to set.
        Returns:
        This builder for chaining.
      • getUseRelocatePair

        public OptionalBoolean getUseRelocatePair()
         Operator which moves a pair of pickup and delivery nodes to another
         position where the first node of the pair must be before the second node
         on the same path. Compared to the light_relocate_pair operator, tries all
         possible positions of insertion of a pair (not only after another pair).
         Possible neighbors for the path 1 -> A -> B -> 2 -> 3 (where (1, 3) are
         first and last nodes of the path and can therefore not be moved, and
         (A, B) is a pair of nodes):
           1 -> [A] ->  2  -> [B] -> 3
           1 ->  2  -> [A] -> [B] -> 3
         
        .operations_research.OptionalBoolean use_relocate_pair = 2;
        Specified by:
        getUseRelocatePair in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useRelocatePair.
      • setUseRelocatePair

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocatePair​(OptionalBoolean value)
         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:
        value - The useRelocatePair to set.
        Returns:
        This builder for chaining.
      • clearUseRelocatePair

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseRelocatePair()
         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.
      • getUseLightRelocatePairValue

        public int getUseLightRelocatePairValue()
         Operator which moves a pair of pickup and delivery nodes after another
         pair.
         Possible neighbors for paths 1 -> A -> B -> 2, 3 -> C -> D -> 4 (where
         (1, 2) and (3, 4) are first and last nodes of paths and can therefore not
         be moved, and (A, B) and (C, D) are pair of nodes):
           1 -> 2, 3 -> C -> [A] -> D -> [B] -> 4
           1 -> A -> [C] -> B -> [D] -> 2, 3 -> 4
         
        .operations_research.OptionalBoolean use_light_relocate_pair = 24;
        Specified by:
        getUseLightRelocatePairValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useLightRelocatePair.
      • setUseLightRelocatePairValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLightRelocatePairValue​(int value)
         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:
        value - The enum numeric value on the wire for useLightRelocatePair to set.
        Returns:
        This builder for chaining.
      • getUseLightRelocatePair

        public OptionalBoolean getUseLightRelocatePair()
         Operator which moves a pair of pickup and delivery nodes after another
         pair.
         Possible neighbors for paths 1 -> A -> B -> 2, 3 -> C -> D -> 4 (where
         (1, 2) and (3, 4) are first and last nodes of paths and can therefore not
         be moved, and (A, B) and (C, D) are pair of nodes):
           1 -> 2, 3 -> C -> [A] -> D -> [B] -> 4
           1 -> A -> [C] -> B -> [D] -> 2, 3 -> 4
         
        .operations_research.OptionalBoolean use_light_relocate_pair = 24;
        Specified by:
        getUseLightRelocatePair in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useLightRelocatePair.
      • setUseLightRelocatePair

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLightRelocatePair​(OptionalBoolean value)
         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:
        value - The useLightRelocatePair to set.
        Returns:
        This builder for chaining.
      • clearUseLightRelocatePair

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseLightRelocatePair()
         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.
      • getUseRelocateNeighborsValue

        public int getUseRelocateNeighborsValue()
         Relocate neighborhood which moves chains of neighbors.
         The operator starts by relocating a node n after a node m, then continues
         moving nodes which were after n as long as the "cost" added is less than
         the "cost" of the arc (m, n). If the new chain doesn't respect the domain
         of next variables, it will try reordering the nodes until it finds a
         valid path.
         Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2)
         are first and last nodes of the path and can therefore not be moved, A
         must be performed before B, and A, D and E are located at the same
         place):
         1 -> A -> C -> [B] -> D -> E -> 2
         1 -> A -> C -> D -> [B] -> E -> 2
         1 -> A -> C -> D -> E -> [B] -> 2
         1 -> A -> B -> D -> [C] -> E -> 2
         1 -> A -> B -> D -> E -> [C] -> 2
         1 -> A -> [D] -> [E] -> B -> C -> 2
         1 -> A -> B -> [D] -> [E] ->  C -> 2
         1 -> A -> [E] -> B -> C -> D -> 2
         1 -> A -> B -> [E] -> C -> D -> 2
         1 -> A -> B -> C -> [E] -> D -> 2
         This operator is extremely useful to move chains of nodes which are
         located at the same place (for instance nodes part of a same stop).
         
        .operations_research.OptionalBoolean use_relocate_neighbors = 3;
        Specified by:
        getUseRelocateNeighborsValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useRelocateNeighbors.
      • setUseRelocateNeighborsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateNeighborsValue​(int value)
         Relocate neighborhood which moves chains of neighbors.
         The operator starts by relocating a node n after a node m, then continues
         moving nodes which were after n as long as the "cost" added is less than
         the "cost" of the arc (m, n). If the new chain doesn't respect the domain
         of next variables, it will try reordering the nodes until it finds a
         valid path.
         Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2)
         are first and last nodes of the path and can therefore not be moved, A
         must be performed before B, and A, D and E are located at the same
         place):
         1 -> A -> C -> [B] -> D -> E -> 2
         1 -> A -> C -> D -> [B] -> E -> 2
         1 -> A -> C -> D -> E -> [B] -> 2
         1 -> A -> B -> D -> [C] -> E -> 2
         1 -> A -> B -> D -> E -> [C] -> 2
         1 -> A -> [D] -> [E] -> B -> C -> 2
         1 -> A -> B -> [D] -> [E] ->  C -> 2
         1 -> A -> [E] -> B -> C -> D -> 2
         1 -> A -> B -> [E] -> C -> D -> 2
         1 -> A -> B -> C -> [E] -> D -> 2
         This operator is extremely useful to move chains of nodes which are
         located at the same place (for instance nodes part of a same stop).
         
        .operations_research.OptionalBoolean use_relocate_neighbors = 3;
        Parameters:
        value - The enum numeric value on the wire for useRelocateNeighbors to set.
        Returns:
        This builder for chaining.
      • getUseRelocateNeighbors

        public OptionalBoolean getUseRelocateNeighbors()
         Relocate neighborhood which moves chains of neighbors.
         The operator starts by relocating a node n after a node m, then continues
         moving nodes which were after n as long as the "cost" added is less than
         the "cost" of the arc (m, n). If the new chain doesn't respect the domain
         of next variables, it will try reordering the nodes until it finds a
         valid path.
         Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2)
         are first and last nodes of the path and can therefore not be moved, A
         must be performed before B, and A, D and E are located at the same
         place):
         1 -> A -> C -> [B] -> D -> E -> 2
         1 -> A -> C -> D -> [B] -> E -> 2
         1 -> A -> C -> D -> E -> [B] -> 2
         1 -> A -> B -> D -> [C] -> E -> 2
         1 -> A -> B -> D -> E -> [C] -> 2
         1 -> A -> [D] -> [E] -> B -> C -> 2
         1 -> A -> B -> [D] -> [E] ->  C -> 2
         1 -> A -> [E] -> B -> C -> D -> 2
         1 -> A -> B -> [E] -> C -> D -> 2
         1 -> A -> B -> C -> [E] -> D -> 2
         This operator is extremely useful to move chains of nodes which are
         located at the same place (for instance nodes part of a same stop).
         
        .operations_research.OptionalBoolean use_relocate_neighbors = 3;
        Specified by:
        getUseRelocateNeighbors in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useRelocateNeighbors.
      • setUseRelocateNeighbors

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateNeighbors​(OptionalBoolean value)
         Relocate neighborhood which moves chains of neighbors.
         The operator starts by relocating a node n after a node m, then continues
         moving nodes which were after n as long as the "cost" added is less than
         the "cost" of the arc (m, n). If the new chain doesn't respect the domain
         of next variables, it will try reordering the nodes until it finds a
         valid path.
         Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2)
         are first and last nodes of the path and can therefore not be moved, A
         must be performed before B, and A, D and E are located at the same
         place):
         1 -> A -> C -> [B] -> D -> E -> 2
         1 -> A -> C -> D -> [B] -> E -> 2
         1 -> A -> C -> D -> E -> [B] -> 2
         1 -> A -> B -> D -> [C] -> E -> 2
         1 -> A -> B -> D -> E -> [C] -> 2
         1 -> A -> [D] -> [E] -> B -> C -> 2
         1 -> A -> B -> [D] -> [E] ->  C -> 2
         1 -> A -> [E] -> B -> C -> D -> 2
         1 -> A -> B -> [E] -> C -> D -> 2
         1 -> A -> B -> C -> [E] -> D -> 2
         This operator is extremely useful to move chains of nodes which are
         located at the same place (for instance nodes part of a same stop).
         
        .operations_research.OptionalBoolean use_relocate_neighbors = 3;
        Parameters:
        value - The useRelocateNeighbors to set.
        Returns:
        This builder for chaining.
      • clearUseRelocateNeighbors

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseRelocateNeighbors()
         Relocate neighborhood which moves chains of neighbors.
         The operator starts by relocating a node n after a node m, then continues
         moving nodes which were after n as long as the "cost" added is less than
         the "cost" of the arc (m, n). If the new chain doesn't respect the domain
         of next variables, it will try reordering the nodes until it finds a
         valid path.
         Possible neighbors for path 1 -> A -> B -> C -> D -> E -> 2 (where (1, 2)
         are first and last nodes of the path and can therefore not be moved, A
         must be performed before B, and A, D and E are located at the same
         place):
         1 -> A -> C -> [B] -> D -> E -> 2
         1 -> A -> C -> D -> [B] -> E -> 2
         1 -> A -> C -> D -> E -> [B] -> 2
         1 -> A -> B -> D -> [C] -> E -> 2
         1 -> A -> B -> D -> E -> [C] -> 2
         1 -> A -> [D] -> [E] -> B -> C -> 2
         1 -> A -> B -> [D] -> [E] ->  C -> 2
         1 -> A -> [E] -> B -> C -> D -> 2
         1 -> A -> B -> [E] -> C -> D -> 2
         1 -> A -> B -> C -> [E] -> D -> 2
         This operator is extremely useful to move chains of nodes which are
         located at the same place (for instance nodes part of a same stop).
         
        .operations_research.OptionalBoolean use_relocate_neighbors = 3;
        Returns:
        This builder for chaining.
      • getUseRelocateSubtripValue

        public int getUseRelocateSubtripValue()
         Relocate neighborhood that moves subpaths all pickup and delivery
         pairs have both pickup and delivery inside the subpath or both outside
         the subpath. For instance, for given paths:
         0 -> A -> B -> A' -> B' -> 5 -> 6 -> 8
         7 -> 9
         Pairs (A,A') and (B,B') are interleaved, so the expected neighbors are:
         0 -> 5 -> A -> B -> A' -> B' -> 6 -> 8
         7 -> 9
        
         0 -> 5 -> 6 -> A -> B -> A' -> B' -> 8
         7 -> 9
        
         0 -> 5 -> 6 -> 8
         7 -> A -> B -> A' -> B' -> 9
         
        .operations_research.OptionalBoolean use_relocate_subtrip = 25;
        Specified by:
        getUseRelocateSubtripValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useRelocateSubtrip.
      • setUseRelocateSubtripValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateSubtripValue​(int value)
         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:
        value - The enum numeric value on the wire for useRelocateSubtrip to set.
        Returns:
        This builder for chaining.
      • getUseRelocateSubtrip

        public OptionalBoolean getUseRelocateSubtrip()
         Relocate neighborhood that moves subpaths all pickup and delivery
         pairs have both pickup and delivery inside the subpath or both outside
         the subpath. For instance, for given paths:
         0 -> A -> B -> A' -> B' -> 5 -> 6 -> 8
         7 -> 9
         Pairs (A,A') and (B,B') are interleaved, so the expected neighbors are:
         0 -> 5 -> A -> B -> A' -> B' -> 6 -> 8
         7 -> 9
        
         0 -> 5 -> 6 -> A -> B -> A' -> B' -> 8
         7 -> 9
        
         0 -> 5 -> 6 -> 8
         7 -> A -> B -> A' -> B' -> 9
         
        .operations_research.OptionalBoolean use_relocate_subtrip = 25;
        Specified by:
        getUseRelocateSubtrip in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useRelocateSubtrip.
      • setUseRelocateSubtrip

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateSubtrip​(OptionalBoolean value)
         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:
        value - The useRelocateSubtrip to set.
        Returns:
        This builder for chaining.
      • clearUseRelocateSubtrip

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseRelocateSubtrip()
         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.
      • getUseExchangeValue

        public int getUseExchangeValue()
         Operator which exchanges the positions of two nodes.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 -> [3] -> [2] ->  4  -> 5
           1 -> [4] ->  3  -> [2] -> 5
           1 ->  2  -> [4] -> [3] -> 5
         
        .operations_research.OptionalBoolean use_exchange = 4;
        Specified by:
        getUseExchangeValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useExchange.
      • setUseExchangeValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExchangeValue​(int value)
         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:
        value - The enum numeric value on the wire for useExchange to set.
        Returns:
        This builder for chaining.
      • getUseExchange

        public OptionalBoolean getUseExchange()
         Operator which exchanges the positions of two nodes.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 -> [3] -> [2] ->  4  -> 5
           1 -> [4] ->  3  -> [2] -> 5
           1 ->  2  -> [4] -> [3] -> 5
         
        .operations_research.OptionalBoolean use_exchange = 4;
        Specified by:
        getUseExchange in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useExchange.
      • setUseExchange

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExchange​(OptionalBoolean value)
         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:
        value - The useExchange to set.
        Returns:
        This builder for chaining.
      • clearUseExchange

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseExchange()
         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.
      • getUseExchangePairValue

        public int getUseExchangePairValue()
         Operator which exchanges the positions of two pair of nodes. Pairs
         correspond to the pickup and delivery pairs defined in the routing model.
         Possible neighbor for the paths
         1 -> A -> B -> 2 -> 3 and 4 -> C -> D -> 5
         (where (1, 3) and (4, 5) are first and last nodes of the paths and can
         therefore not be moved, and (A, B) and (C,D) are pairs of nodes):
           1 -> [C] ->  [D] -> 2 -> 3, 4 -> [A] -> [B] -> 5
         
        .operations_research.OptionalBoolean use_exchange_pair = 22;
        Specified by:
        getUseExchangePairValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useExchangePair.
      • setUseExchangePairValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExchangePairValue​(int value)
         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:
        value - The enum numeric value on the wire for useExchangePair to set.
        Returns:
        This builder for chaining.
      • getUseExchangePair

        public OptionalBoolean getUseExchangePair()
         Operator which exchanges the positions of two pair of nodes. Pairs
         correspond to the pickup and delivery pairs defined in the routing model.
         Possible neighbor for the paths
         1 -> A -> B -> 2 -> 3 and 4 -> C -> D -> 5
         (where (1, 3) and (4, 5) are first and last nodes of the paths and can
         therefore not be moved, and (A, B) and (C,D) are pairs of nodes):
           1 -> [C] ->  [D] -> 2 -> 3, 4 -> [A] -> [B] -> 5
         
        .operations_research.OptionalBoolean use_exchange_pair = 22;
        Specified by:
        getUseExchangePair in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useExchangePair.
      • setUseExchangePair

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExchangePair​(OptionalBoolean value)
         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:
        value - The useExchangePair to set.
        Returns:
        This builder for chaining.
      • clearUseExchangePair

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseExchangePair()
         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.
      • setUseExchangeSubtripValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExchangeSubtripValue​(int value)
         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:
        value - The enum numeric value on the wire for useExchangeSubtrip to set.
        Returns:
        This builder for chaining.
      • setUseExchangeSubtrip

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExchangeSubtrip​(OptionalBoolean value)
         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:
        value - The useExchangeSubtrip to set.
        Returns:
        This builder for chaining.
      • clearUseExchangeSubtrip

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseExchangeSubtrip()
         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.
      • getUseCrossValue

        public int getUseCrossValue()
         Operator which cross exchanges the starting chains of 2 paths, including
         exchanging the whole paths.
         First and last nodes are not moved.
         Possible neighbors for the paths 1 -> 2 -> 3 -> 4 -> 5 and 6 -> 7 -> 8
         (where (1, 5) and (6, 8) are first and last nodes of the paths and can
         therefore not be moved):
           1 -> [7] -> 3 -> 4 -> 5  6 -> [2] -> 8
           1 -> [7] -> 4 -> 5       6 -> [2 -> 3] -> 8
           1 -> [7] -> 5            6 -> [2 -> 3 -> 4] -> 8
         
        .operations_research.OptionalBoolean use_cross = 5;
        Specified by:
        getUseCrossValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useCross.
      • setUseCrossValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseCrossValue​(int value)
         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:
        value - The enum numeric value on the wire for useCross to set.
        Returns:
        This builder for chaining.
      • getUseCross

        public OptionalBoolean getUseCross()
         Operator which cross exchanges the starting chains of 2 paths, including
         exchanging the whole paths.
         First and last nodes are not moved.
         Possible neighbors for the paths 1 -> 2 -> 3 -> 4 -> 5 and 6 -> 7 -> 8
         (where (1, 5) and (6, 8) are first and last nodes of the paths and can
         therefore not be moved):
           1 -> [7] -> 3 -> 4 -> 5  6 -> [2] -> 8
           1 -> [7] -> 4 -> 5       6 -> [2 -> 3] -> 8
           1 -> [7] -> 5            6 -> [2 -> 3 -> 4] -> 8
         
        .operations_research.OptionalBoolean use_cross = 5;
        Specified by:
        getUseCross in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useCross.
      • setUseCross

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseCross​(OptionalBoolean value)
         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:
        value - The useCross to set.
        Returns:
        This builder for chaining.
      • clearUseCross

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseCross()
         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.
      • setUseCrossExchangeValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseCrossExchangeValue​(int value)
         Not implemented yet. TODO(b/68128619): Implement.
         
        .operations_research.OptionalBoolean use_cross_exchange = 6;
        Parameters:
        value - The enum numeric value on the wire for useCrossExchange to set.
        Returns:
        This builder for chaining.
      • getUseRelocateExpensiveChainValue

        public int getUseRelocateExpensiveChainValue()
         Operator which detects the relocate_expensive_chain_num_arcs_to_consider
         most expensive arcs on a path, and moves the chain resulting from cutting
         pairs of arcs among these to another position.
         Possible neighbors for paths 1 -> 2 (empty) and
         3 -> A ------> B --> C -----> D -> 4 (where A -> B and C -> D are the 2
         most expensive arcs, and the chain resulting from breaking them is
         B -> C):
           1 -> [B -> C] -> 2     3 -> A -> D -> 4
           1 -> 2      3 -> [B -> C] -> A -> D -> 4
           1 -> 2      3 -> A -> D -> [B -> C] -> 4
         
        .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
        Specified by:
        getUseRelocateExpensiveChainValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useRelocateExpensiveChain.
      • setUseRelocateExpensiveChainValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateExpensiveChainValue​(int value)
         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:
        value - The enum numeric value on the wire for useRelocateExpensiveChain to set.
        Returns:
        This builder for chaining.
      • getUseRelocateExpensiveChain

        public OptionalBoolean getUseRelocateExpensiveChain()
         Operator which detects the relocate_expensive_chain_num_arcs_to_consider
         most expensive arcs on a path, and moves the chain resulting from cutting
         pairs of arcs among these to another position.
         Possible neighbors for paths 1 -> 2 (empty) and
         3 -> A ------> B --> C -----> D -> 4 (where A -> B and C -> D are the 2
         most expensive arcs, and the chain resulting from breaking them is
         B -> C):
           1 -> [B -> C] -> 2     3 -> A -> D -> 4
           1 -> 2      3 -> [B -> C] -> A -> D -> 4
           1 -> 2      3 -> A -> D -> [B -> C] -> 4
         
        .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
        Specified by:
        getUseRelocateExpensiveChain in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useRelocateExpensiveChain.
      • setUseRelocateExpensiveChain

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateExpensiveChain​(OptionalBoolean value)
         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:
        value - The useRelocateExpensiveChain to set.
        Returns:
        This builder for chaining.
      • clearUseRelocateExpensiveChain

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseRelocateExpensiveChain()
         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.
      • getUseTwoOptValue

        public int getUseTwoOptValue()
         --- Intra-route operators ---
         Operator which reverses a subchain of a path. It is called TwoOpt
         because it breaks two arcs on the path; resulting paths are called
         two-optimal.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 -> [3 -> 2] -> 4  -> 5
           1 -> [4 -> 3  -> 2] -> 5
           1 ->  2 -> [4 -> 3] -> 5
         
        .operations_research.OptionalBoolean use_two_opt = 7;
        Specified by:
        getUseTwoOptValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useTwoOpt.
      • setUseTwoOptValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseTwoOptValue​(int value)
         --- Intra-route operators ---
         Operator which reverses a subchain of a path. It is called TwoOpt
         because it breaks two arcs on the path; resulting paths are called
         two-optimal.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 -> [3 -> 2] -> 4  -> 5
           1 -> [4 -> 3  -> 2] -> 5
           1 ->  2 -> [4 -> 3] -> 5
         
        .operations_research.OptionalBoolean use_two_opt = 7;
        Parameters:
        value - The enum numeric value on the wire for useTwoOpt to set.
        Returns:
        This builder for chaining.
      • getUseTwoOpt

        public OptionalBoolean getUseTwoOpt()
         --- Intra-route operators ---
         Operator which reverses a subchain of a path. It is called TwoOpt
         because it breaks two arcs on the path; resulting paths are called
         two-optimal.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 -> [3 -> 2] -> 4  -> 5
           1 -> [4 -> 3  -> 2] -> 5
           1 ->  2 -> [4 -> 3] -> 5
         
        .operations_research.OptionalBoolean use_two_opt = 7;
        Specified by:
        getUseTwoOpt in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useTwoOpt.
      • setUseTwoOpt

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseTwoOpt​(OptionalBoolean value)
         --- Intra-route operators ---
         Operator which reverses a subchain of a path. It is called TwoOpt
         because it breaks two arcs on the path; resulting paths are called
         two-optimal.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 -> [3 -> 2] -> 4  -> 5
           1 -> [4 -> 3  -> 2] -> 5
           1 ->  2 -> [4 -> 3] -> 5
         
        .operations_research.OptionalBoolean use_two_opt = 7;
        Parameters:
        value - The useTwoOpt to set.
        Returns:
        This builder for chaining.
      • clearUseTwoOpt

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseTwoOpt()
         --- Intra-route operators ---
         Operator which reverses a subchain of a path. It is called TwoOpt
         because it breaks two arcs on the path; resulting paths are called
         two-optimal.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5
         (where (1, 5) are first and last nodes of the path and can therefore not
         be moved):
           1 -> [3 -> 2] -> 4  -> 5
           1 -> [4 -> 3  -> 2] -> 5
           1 ->  2 -> [4 -> 3] -> 5
         
        .operations_research.OptionalBoolean use_two_opt = 7;
        Returns:
        This builder for chaining.
      • getUseOrOptValue

        public int getUseOrOptValue()
         Operator which moves sub-chains of a path of length 1, 2 and 3 to another
         position in the same path.
         When the length of the sub-chain is 1, the operator simply moves a node
         to another position.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5, for a sub-chain
         length of 2 (where (1, 5) are first and last nodes of the path and can
         therefore not be moved):
           1 ->  4 -> [2 -> 3] -> 5
           1 -> [3 -> 4] -> 2  -> 5
         The OR_OPT operator is a limited version of 3-Opt (breaks 3 arcs on a
         path).
         
        .operations_research.OptionalBoolean use_or_opt = 8;
        Specified by:
        getUseOrOptValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useOrOpt.
      • setUseOrOptValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseOrOptValue​(int value)
         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:
        value - The enum numeric value on the wire for useOrOpt to set.
        Returns:
        This builder for chaining.
      • getUseOrOpt

        public OptionalBoolean getUseOrOpt()
         Operator which moves sub-chains of a path of length 1, 2 and 3 to another
         position in the same path.
         When the length of the sub-chain is 1, the operator simply moves a node
         to another position.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 -> 5, for a sub-chain
         length of 2 (where (1, 5) are first and last nodes of the path and can
         therefore not be moved):
           1 ->  4 -> [2 -> 3] -> 5
           1 -> [3 -> 4] -> 2  -> 5
         The OR_OPT operator is a limited version of 3-Opt (breaks 3 arcs on a
         path).
         
        .operations_research.OptionalBoolean use_or_opt = 8;
        Specified by:
        getUseOrOpt in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useOrOpt.
      • setUseOrOpt

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseOrOpt​(OptionalBoolean value)
         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:
        value - The useOrOpt to set.
        Returns:
        This builder for chaining.
      • clearUseOrOpt

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseOrOpt()
         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.
      • getUseLinKernighanValue

        public int getUseLinKernighanValue()
         Lin-Kernighan operator.
         While the accumulated local gain is positive, performs a 2-OPT or a 3-OPT
         move followed by a series of 2-OPT moves. Returns a neighbor for which
         the global gain is positive.
         
        .operations_research.OptionalBoolean use_lin_kernighan = 9;
        Specified by:
        getUseLinKernighanValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useLinKernighan.
      • setUseLinKernighanValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLinKernighanValue​(int value)
         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:
        value - The enum numeric value on the wire for useLinKernighan to set.
        Returns:
        This builder for chaining.
      • setUseLinKernighan

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLinKernighan​(OptionalBoolean value)
         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:
        value - The useLinKernighan to set.
        Returns:
        This builder for chaining.
      • clearUseLinKernighan

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseLinKernighan()
         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.
      • getUseTspOptValue

        public int getUseTspOptValue()
         Sliding TSP operator.
         Uses an exact dynamic programming algorithm to solve the TSP
         corresponding to path sub-chains.
         For a subchain 1 -> 2 -> 3 -> 4 -> 5 -> 6, solves the TSP on
         nodes A, 2, 3, 4, 5, where A is a merger of nodes 1 and 6 such that
         cost(A,i) = cost(1,i) and cost(i,A) = cost(i,6).
         
        .operations_research.OptionalBoolean use_tsp_opt = 10;
        Specified by:
        getUseTspOptValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useTspOpt.
      • setUseTspOptValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseTspOptValue​(int value)
         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:
        value - The enum numeric value on the wire for useTspOpt to set.
        Returns:
        This builder for chaining.
      • getUseTspOpt

        public OptionalBoolean getUseTspOpt()
         Sliding TSP operator.
         Uses an exact dynamic programming algorithm to solve the TSP
         corresponding to path sub-chains.
         For a subchain 1 -> 2 -> 3 -> 4 -> 5 -> 6, solves the TSP on
         nodes A, 2, 3, 4, 5, where A is a merger of nodes 1 and 6 such that
         cost(A,i) = cost(1,i) and cost(i,A) = cost(i,6).
         
        .operations_research.OptionalBoolean use_tsp_opt = 10;
        Specified by:
        getUseTspOpt in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useTspOpt.
      • setUseTspOpt

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseTspOpt​(OptionalBoolean value)
         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:
        value - The useTspOpt to set.
        Returns:
        This builder for chaining.
      • clearUseTspOpt

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseTspOpt()
         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.
      • getUseMakeActiveValue

        public int getUseMakeActiveValue()
         --- Operators on inactive nodes ---
         Operator which inserts an inactive node into a path.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path) are:
           1 -> [5] ->  2  ->  3  -> 4
           1 ->  2  -> [5] ->  3  -> 4
           1 ->  2  ->  3  -> [5] -> 4
         
        .operations_research.OptionalBoolean use_make_active = 11;
        Specified by:
        getUseMakeActiveValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useMakeActive.
      • setUseMakeActiveValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseMakeActiveValue​(int value)
         --- 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:
        value - The enum numeric value on the wire for useMakeActive to set.
        Returns:
        This builder for chaining.
      • getUseMakeActive

        public OptionalBoolean getUseMakeActive()
         --- Operators on inactive nodes ---
         Operator which inserts an inactive node into a path.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path) are:
           1 -> [5] ->  2  ->  3  -> 4
           1 ->  2  -> [5] ->  3  -> 4
           1 ->  2  ->  3  -> [5] -> 4
         
        .operations_research.OptionalBoolean use_make_active = 11;
        Specified by:
        getUseMakeActive in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useMakeActive.
      • setUseMakeActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseMakeActive​(OptionalBoolean value)
         --- 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:
        value - The useMakeActive to set.
        Returns:
        This builder for chaining.
      • clearUseMakeActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseMakeActive()
         --- 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.
      • getUseRelocateAndMakeActiveValue

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

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateAndMakeActiveValue​(int value)
         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:
        value - The enum numeric value on the wire for useRelocateAndMakeActive to set.
        Returns:
        This builder for chaining.
      • getUseRelocateAndMakeActive

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

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocateAndMakeActive​(OptionalBoolean value)
         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:
        value - The useRelocateAndMakeActive to set.
        Returns:
        This builder for chaining.
      • clearUseRelocateAndMakeActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseRelocateAndMakeActive()
         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.
      • getUseMakeInactiveValue

        public int getUseMakeInactiveValue()
         Operator which makes path nodes inactive.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first
         and last nodes of the path) are:
           1 -> 3 -> 4 with 2 inactive
           1 -> 2 -> 4 with 3 inactive
         
        .operations_research.OptionalBoolean use_make_inactive = 12;
        Specified by:
        getUseMakeInactiveValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useMakeInactive.
      • setUseMakeInactiveValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseMakeInactiveValue​(int value)
         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:
        value - The enum numeric value on the wire for useMakeInactive to set.
        Returns:
        This builder for chaining.
      • setUseMakeInactive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseMakeInactive​(OptionalBoolean value)
         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:
        value - The useMakeInactive to set.
        Returns:
        This builder for chaining.
      • clearUseMakeInactive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseMakeInactive()
         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.
      • getUseMakeChainInactiveValue

        public int getUseMakeChainInactiveValue()
         Operator which makes a "chain" of path nodes inactive.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first
         and last nodes of the path) are:
           1 -> 3 -> 4 with 2 inactive
           1 -> 2 -> 4 with 3 inactive
           1 -> 4 with 2 and 3 inactive
         
        .operations_research.OptionalBoolean use_make_chain_inactive = 13;
        Specified by:
        getUseMakeChainInactiveValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useMakeChainInactive.
      • setUseMakeChainInactiveValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseMakeChainInactiveValue​(int value)
         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:
        value - The enum numeric value on the wire for useMakeChainInactive to set.
        Returns:
        This builder for chaining.
      • getUseMakeChainInactive

        public OptionalBoolean getUseMakeChainInactive()
         Operator which makes a "chain" of path nodes inactive.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 (where 1 and 4 are first
         and last nodes of the path) are:
           1 -> 3 -> 4 with 2 inactive
           1 -> 2 -> 4 with 3 inactive
           1 -> 4 with 2 and 3 inactive
         
        .operations_research.OptionalBoolean use_make_chain_inactive = 13;
        Specified by:
        getUseMakeChainInactive in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useMakeChainInactive.
      • setUseMakeChainInactive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseMakeChainInactive​(OptionalBoolean value)
         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:
        value - The useMakeChainInactive to set.
        Returns:
        This builder for chaining.
      • clearUseMakeChainInactive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseMakeChainInactive()
         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.
      • getUseSwapActiveValue

        public int getUseSwapActiveValue()
         Operator which replaces an active node by an inactive one.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path) are:
           1 -> [5] ->  3  -> 4 with 2 inactive
           1 ->  2  -> [5] -> 4 with 3 inactive
         
        .operations_research.OptionalBoolean use_swap_active = 14;
        Specified by:
        getUseSwapActiveValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useSwapActive.
      • setUseSwapActiveValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseSwapActiveValue​(int value)
         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:
        value - The enum numeric value on the wire for useSwapActive to set.
        Returns:
        This builder for chaining.
      • getUseSwapActive

        public OptionalBoolean getUseSwapActive()
         Operator which replaces an active node by an inactive one.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path) are:
           1 -> [5] ->  3  -> 4 with 2 inactive
           1 ->  2  -> [5] -> 4 with 3 inactive
         
        .operations_research.OptionalBoolean use_swap_active = 14;
        Specified by:
        getUseSwapActive in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useSwapActive.
      • setUseSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseSwapActive​(OptionalBoolean value)
         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:
        value - The useSwapActive to set.
        Returns:
        This builder for chaining.
      • clearUseSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseSwapActive()
         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.
      • getUseExtendedSwapActiveValue

        public int getUseExtendedSwapActiveValue()
         Operator which makes an inactive node active and an active one inactive.
         It is similar to SwapActiveOperator excepts that it tries to insert the
         inactive node in all possible positions instead of just the position of
         the node made inactive.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path) are:
           1 -> [5] ->  3  -> 4 with 2 inactive
           1 ->  3  -> [5] -> 4 with 2 inactive
           1 -> [5] ->  2  -> 4 with 3 inactive
           1 ->  2  -> [5] -> 4 with 3 inactive
         
        .operations_research.OptionalBoolean use_extended_swap_active = 15;
        Specified by:
        getUseExtendedSwapActiveValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useExtendedSwapActive.
      • setUseExtendedSwapActiveValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExtendedSwapActiveValue​(int value)
         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:
        value - The enum numeric value on the wire for useExtendedSwapActive to set.
        Returns:
        This builder for chaining.
      • getUseExtendedSwapActive

        public OptionalBoolean getUseExtendedSwapActive()
         Operator which makes an inactive node active and an active one inactive.
         It is similar to SwapActiveOperator excepts that it tries to insert the
         inactive node in all possible positions instead of just the position of
         the node made inactive.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path) are:
           1 -> [5] ->  3  -> 4 with 2 inactive
           1 ->  3  -> [5] -> 4 with 2 inactive
           1 -> [5] ->  2  -> 4 with 3 inactive
           1 ->  2  -> [5] -> 4 with 3 inactive
         
        .operations_research.OptionalBoolean use_extended_swap_active = 15;
        Specified by:
        getUseExtendedSwapActive in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useExtendedSwapActive.
      • setUseExtendedSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseExtendedSwapActive​(OptionalBoolean value)
         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:
        value - The useExtendedSwapActive to set.
        Returns:
        This builder for chaining.
      • clearUseExtendedSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseExtendedSwapActive()
         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.
      • getUseShortestPathSwapActiveValue

        public int getUseShortestPathSwapActiveValue()
         Swaps active nodes from node alternatives in sequence. Considers chains
         of nodes with alternatives, builds a DAG from the chain, each "layer" of
         the DAG being composed of the set of alternatives of the node at a given
         rank in the chain, fully connected to the next layer. A neighbor is built
         from the shortest path starting from the node before the chain (source),
         through the DAG to the node following the chain.
         
        .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
        Specified by:
        getUseShortestPathSwapActiveValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useShortestPathSwapActive.
      • setUseShortestPathSwapActiveValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseShortestPathSwapActiveValue​(int value)
         Swaps active nodes from node alternatives in sequence. Considers chains
         of nodes with alternatives, builds a DAG from the chain, each "layer" of
         the DAG being composed of the set of alternatives of the node at a given
         rank in the chain, fully connected to the next layer. A neighbor is built
         from the shortest path starting from the node before the chain (source),
         through the DAG to the node following the chain.
         
        .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
        Parameters:
        value - The enum numeric value on the wire for useShortestPathSwapActive to set.
        Returns:
        This builder for chaining.
      • getUseShortestPathSwapActive

        public OptionalBoolean getUseShortestPathSwapActive()
         Swaps active nodes from node alternatives in sequence. Considers chains
         of nodes with alternatives, builds a DAG from the chain, each "layer" of
         the DAG being composed of the set of alternatives of the node at a given
         rank in the chain, fully connected to the next layer. A neighbor is built
         from the shortest path starting from the node before the chain (source),
         through the DAG to the node following the chain.
         
        .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
        Specified by:
        getUseShortestPathSwapActive in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useShortestPathSwapActive.
      • setUseShortestPathSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseShortestPathSwapActive​(OptionalBoolean value)
         Swaps active nodes from node alternatives in sequence. Considers chains
         of nodes with alternatives, builds a DAG from the chain, each "layer" of
         the DAG being composed of the set of alternatives of the node at a given
         rank in the chain, fully connected to the next layer. A neighbor is built
         from the shortest path starting from the node before the chain (source),
         through the DAG to the node following the chain.
         
        .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
        Parameters:
        value - The useShortestPathSwapActive to set.
        Returns:
        This builder for chaining.
      • clearUseShortestPathSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseShortestPathSwapActive()
         Swaps active nodes from node alternatives in sequence. Considers chains
         of nodes with alternatives, builds a DAG from the chain, each "layer" of
         the DAG being composed of the set of alternatives of the node at a given
         rank in the chain, fully connected to the next layer. A neighbor is built
         from the shortest path starting from the node before the chain (source),
         through the DAG to the node following the chain.
         
        .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
        Returns:
        This builder for chaining.
      • getUseNodePairSwapActiveValue

        public int getUseNodePairSwapActiveValue()
         Operator which makes an inactive node active and an active pair of nodes
         inactive OR makes an inactive pair of nodes active and an active node
         inactive.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path and (2,3) is a pair
         of nodes) are:
           1 -> [5] -> 4 with (2,3) inactive
         Possible neighbors for the path 1 -> 2 -> 3 with (4,5) inactive
         (where 1 and 3 are first and last nodes of the path and (4,5) is a pair
         of nodes) are:
           1 -> [4] -> [5] -> 3 with 2 inactive
         
        .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
        Specified by:
        getUseNodePairSwapActiveValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useNodePairSwapActive.
      • setUseNodePairSwapActiveValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseNodePairSwapActiveValue​(int value)
         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:
        value - The enum numeric value on the wire for useNodePairSwapActive to set.
        Returns:
        This builder for chaining.
      • getUseNodePairSwapActive

        public OptionalBoolean getUseNodePairSwapActive()
         Operator which makes an inactive node active and an active pair of nodes
         inactive OR makes an inactive pair of nodes active and an active node
         inactive.
         Possible neighbors for the path 1 -> 2 -> 3 -> 4 with 5 inactive
         (where 1 and 4 are first and last nodes of the path and (2,3) is a pair
         of nodes) are:
           1 -> [5] -> 4 with (2,3) inactive
         Possible neighbors for the path 1 -> 2 -> 3 with (4,5) inactive
         (where 1 and 3 are first and last nodes of the path and (4,5) is a pair
         of nodes) are:
           1 -> [4] -> [5] -> 3 with 2 inactive
         
        .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
        Specified by:
        getUseNodePairSwapActive in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useNodePairSwapActive.
      • setUseNodePairSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseNodePairSwapActive​(OptionalBoolean value)
         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:
        value - The useNodePairSwapActive to set.
        Returns:
        This builder for chaining.
      • clearUseNodePairSwapActive

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseNodePairSwapActive()
         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.
      • getUsePathLnsValue

        public int getUsePathLnsValue()
         --- Large neighborhood search operators ---
         Operator which relaxes two sub-chains of three consecutive arcs each.
         Each sub-chain is defined by a start node and the next three arcs. Those
         six arcs are relaxed to build a new neighbor.
         PATH_LNS explores all possible pairs of starting nodes and so defines
         n^2 neighbors, n being the number of nodes.
         Note that the two sub-chains can be part of the same path; they even may
         overlap.
         
        .operations_research.OptionalBoolean use_path_lns = 16;
        Specified by:
        getUsePathLnsValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for usePathLns.
      • setUsePathLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUsePathLnsValue​(int value)
         --- 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:
        value - The enum numeric value on the wire for usePathLns to set.
        Returns:
        This builder for chaining.
      • getUsePathLns

        public OptionalBoolean getUsePathLns()
         --- Large neighborhood search operators ---
         Operator which relaxes two sub-chains of three consecutive arcs each.
         Each sub-chain is defined by a start node and the next three arcs. Those
         six arcs are relaxed to build a new neighbor.
         PATH_LNS explores all possible pairs of starting nodes and so defines
         n^2 neighbors, n being the number of nodes.
         Note that the two sub-chains can be part of the same path; they even may
         overlap.
         
        .operations_research.OptionalBoolean use_path_lns = 16;
        Specified by:
        getUsePathLns in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The usePathLns.
      • setUsePathLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUsePathLns​(OptionalBoolean value)
         --- 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:
        value - The usePathLns to set.
        Returns:
        This builder for chaining.
      • clearUsePathLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUsePathLns()
         --- 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.
      • setUseFullPathLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseFullPathLnsValue​(int value)
         Operator which relaxes one entire path and all inactive nodes.
         
        .operations_research.OptionalBoolean use_full_path_lns = 17;
        Parameters:
        value - The enum numeric value on the wire for useFullPathLns to set.
        Returns:
        This builder for chaining.
      • getUseTspLnsValue

        public int getUseTspLnsValue()
         TSP-base LNS.
         Randomly merges consecutive nodes until n "meta"-nodes remain and solves
         the corresponding TSP.
         This defines an "unlimited" neighborhood which must be stopped by search
         limits. To force diversification, the operator iteratively forces each
         node to serve as base of a meta-node.
         
        .operations_research.OptionalBoolean use_tsp_lns = 18;
        Specified by:
        getUseTspLnsValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useTspLns.
      • setUseTspLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseTspLnsValue​(int value)
         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:
        value - The enum numeric value on the wire for useTspLns to set.
        Returns:
        This builder for chaining.
      • getUseTspLns

        public OptionalBoolean getUseTspLns()
         TSP-base LNS.
         Randomly merges consecutive nodes until n "meta"-nodes remain and solves
         the corresponding TSP.
         This defines an "unlimited" neighborhood which must be stopped by search
         limits. To force diversification, the operator iteratively forces each
         node to serve as base of a meta-node.
         
        .operations_research.OptionalBoolean use_tsp_lns = 18;
        Specified by:
        getUseTspLns in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useTspLns.
      • setUseTspLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseTspLns​(OptionalBoolean value)
         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:
        value - The useTspLns to set.
        Returns:
        This builder for chaining.
      • clearUseTspLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseTspLns()
         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.
      • getUseInactiveLnsValue

        public int getUseInactiveLnsValue()
         Operator which relaxes all inactive nodes and one sub-chain of six
         consecutive arcs. That way the path can be improved by inserting inactive
         nodes or swapping arcs.
         
        .operations_research.OptionalBoolean use_inactive_lns = 19;
        Specified by:
        getUseInactiveLnsValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useInactiveLns.
      • setUseInactiveLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseInactiveLnsValue​(int value)
         Operator which relaxes all inactive nodes and one sub-chain of six
         consecutive arcs. That way the path can be improved by inserting inactive
         nodes or swapping arcs.
         
        .operations_research.OptionalBoolean use_inactive_lns = 19;
        Parameters:
        value - The enum numeric value on the wire for useInactiveLns to set.
        Returns:
        This builder for chaining.
      • setUseInactiveLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseInactiveLns​(OptionalBoolean value)
         Operator which relaxes all inactive nodes and one sub-chain of six
         consecutive arcs. That way the path can be improved by inserting inactive
         nodes or swapping arcs.
         
        .operations_research.OptionalBoolean use_inactive_lns = 19;
        Parameters:
        value - The useInactiveLns to set.
        Returns:
        This builder for chaining.
      • clearUseInactiveLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseInactiveLns()
         Operator which relaxes all inactive nodes and one sub-chain of six
         consecutive arcs. That way the path can be improved by inserting inactive
         nodes or swapping arcs.
         
        .operations_research.OptionalBoolean use_inactive_lns = 19;
        Returns:
        This builder for chaining.
      • getUseGlobalCheapestInsertionPathLnsValue

        public int getUseGlobalCheapestInsertionPathLnsValue()
         --- LNS-like large neighborhood search operators using heuristics ---
         Operator which makes all nodes on a route unperformed, and reinserts them
         using the GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
        Specified by:
        getUseGlobalCheapestInsertionPathLnsValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useGlobalCheapestInsertionPathLns.
      • setUseGlobalCheapestInsertionPathLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseGlobalCheapestInsertionPathLnsValue​(int value)
         --- 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:
        value - The enum numeric value on the wire for useGlobalCheapestInsertionPathLns to set.
        Returns:
        This builder for chaining.
      • setUseGlobalCheapestInsertionPathLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseGlobalCheapestInsertionPathLns​(OptionalBoolean value)
         --- 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:
        value - The useGlobalCheapestInsertionPathLns to set.
        Returns:
        This builder for chaining.
      • clearUseGlobalCheapestInsertionPathLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseGlobalCheapestInsertionPathLns()
         --- 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.
      • setUseLocalCheapestInsertionPathLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLocalCheapestInsertionPathLnsValue​(int value)
         Same as above but using LocalCheapestInsertion as a heuristic.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
        Parameters:
        value - The enum numeric value on the wire for useLocalCheapestInsertionPathLns to set.
        Returns:
        This builder for chaining.
      • setUseLocalCheapestInsertionPathLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLocalCheapestInsertionPathLns​(OptionalBoolean value)
         Same as above but using LocalCheapestInsertion as a heuristic.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
        Parameters:
        value - The useLocalCheapestInsertionPathLns to set.
        Returns:
        This builder for chaining.
      • clearUseLocalCheapestInsertionPathLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseLocalCheapestInsertionPathLns()
         Same as above but using LocalCheapestInsertion as a heuristic.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
        Returns:
        This builder for chaining.
      • getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue

        public int getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue()
         The following operator relocates an entire route to an empty path and
         then tries to insert the unperformed nodes using the global cheapest
         insertion heuristic.
         
        .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
        Specified by:
        getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useRelocatePathGlobalCheapestInsertionInsertUnperformed.
      • setUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue​(int value)
         The following operator relocates an entire route to an empty path and
         then tries to insert the unperformed nodes using the global cheapest
         insertion heuristic.
         
        .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
        Parameters:
        value - The enum numeric value on the wire for useRelocatePathGlobalCheapestInsertionInsertUnperformed to set.
        Returns:
        This builder for chaining.
      • setUseRelocatePathGlobalCheapestInsertionInsertUnperformed

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseRelocatePathGlobalCheapestInsertionInsertUnperformed​(OptionalBoolean value)
         The following operator relocates an entire route to an empty path and
         then tries to insert the unperformed nodes using the global cheapest
         insertion heuristic.
         
        .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
        Parameters:
        value - The useRelocatePathGlobalCheapestInsertionInsertUnperformed to set.
        Returns:
        This builder for chaining.
      • clearUseRelocatePathGlobalCheapestInsertionInsertUnperformed

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
         The following operator relocates an entire route to an empty path and
         then tries to insert the unperformed nodes using the global cheapest
         insertion heuristic.
         
        .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
        Returns:
        This builder for chaining.
      • getUseGlobalCheapestInsertionExpensiveChainLnsValue

        public int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
         This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider
         most expensive arcs on a route, makes the nodes in between pairs of these
         expensive arcs unperformed, and reinserts them using the
         GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
        Specified by:
        getUseGlobalCheapestInsertionExpensiveChainLnsValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useGlobalCheapestInsertionExpensiveChainLns.
      • setUseGlobalCheapestInsertionExpensiveChainLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseGlobalCheapestInsertionExpensiveChainLnsValue​(int value)
         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:
        value - The enum numeric value on the wire for useGlobalCheapestInsertionExpensiveChainLns to set.
        Returns:
        This builder for chaining.
      • getUseGlobalCheapestInsertionExpensiveChainLns

        public OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
         This operator finds heuristic_expensive_chain_lns_num_arcs_to_consider
         most expensive arcs on a route, makes the nodes in between pairs of these
         expensive arcs unperformed, and reinserts them using the
         GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
        Specified by:
        getUseGlobalCheapestInsertionExpensiveChainLns in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useGlobalCheapestInsertionExpensiveChainLns.
      • setUseGlobalCheapestInsertionExpensiveChainLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseGlobalCheapestInsertionExpensiveChainLns​(OptionalBoolean value)
         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:
        value - The useGlobalCheapestInsertionExpensiveChainLns to set.
        Returns:
        This builder for chaining.
      • clearUseGlobalCheapestInsertionExpensiveChainLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseGlobalCheapestInsertionExpensiveChainLns()
         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.
      • setUseLocalCheapestInsertionExpensiveChainLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLocalCheapestInsertionExpensiveChainLnsValue​(int value)
         Same as above but using LocalCheapestInsertion as a heuristic for
         insertion.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
        Parameters:
        value - The enum numeric value on the wire for useLocalCheapestInsertionExpensiveChainLns to set.
        Returns:
        This builder for chaining.
      • setUseLocalCheapestInsertionExpensiveChainLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLocalCheapestInsertionExpensiveChainLns​(OptionalBoolean value)
         Same as above but using LocalCheapestInsertion as a heuristic for
         insertion.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
        Parameters:
        value - The useLocalCheapestInsertionExpensiveChainLns to set.
        Returns:
        This builder for chaining.
      • clearUseLocalCheapestInsertionExpensiveChainLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseLocalCheapestInsertionExpensiveChainLns()
         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.
      • getUseGlobalCheapestInsertionCloseNodesLnsValue

        public int getUseGlobalCheapestInsertionCloseNodesLnsValue()
         The following operator makes a node and its
         heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along
         with each of their corresponding performed pickup/delivery pairs, and
         then reinserts them using the GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
        Specified by:
        getUseGlobalCheapestInsertionCloseNodesLnsValue in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The enum numeric value on the wire for useGlobalCheapestInsertionCloseNodesLns.
      • setUseGlobalCheapestInsertionCloseNodesLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseGlobalCheapestInsertionCloseNodesLnsValue​(int value)
         The following operator makes a node and its
         heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along
         with each of their corresponding performed pickup/delivery pairs, and
         then reinserts them using the GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
        Parameters:
        value - The enum numeric value on the wire for useGlobalCheapestInsertionCloseNodesLns to set.
        Returns:
        This builder for chaining.
      • getUseGlobalCheapestInsertionCloseNodesLns

        public OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
         The following operator makes a node and its
         heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along
         with each of their corresponding performed pickup/delivery pairs, and
         then reinserts them using the GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
        Specified by:
        getUseGlobalCheapestInsertionCloseNodesLns in interface RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder
        Returns:
        The useGlobalCheapestInsertionCloseNodesLns.
      • setUseGlobalCheapestInsertionCloseNodesLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseGlobalCheapestInsertionCloseNodesLns​(OptionalBoolean value)
         The following operator makes a node and its
         heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along
         with each of their corresponding performed pickup/delivery pairs, and
         then reinserts them using the GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
        Parameters:
        value - The useGlobalCheapestInsertionCloseNodesLns to set.
        Returns:
        This builder for chaining.
      • clearUseGlobalCheapestInsertionCloseNodesLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseGlobalCheapestInsertionCloseNodesLns()
         The following operator makes a node and its
         heuristic_close_nodes_lns_num_nodes closest neighbors unperformed along
         with each of their corresponding performed pickup/delivery pairs, and
         then reinserts them using the GlobalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
        Returns:
        This builder for chaining.
      • setUseLocalCheapestInsertionCloseNodesLnsValue

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLocalCheapestInsertionCloseNodesLnsValue​(int value)
         Same as above, but insertion positions for nodes are determined by the
         LocalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
        Parameters:
        value - The enum numeric value on the wire for useLocalCheapestInsertionCloseNodesLns to set.
        Returns:
        This builder for chaining.
      • setUseLocalCheapestInsertionCloseNodesLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder setUseLocalCheapestInsertionCloseNodesLns​(OptionalBoolean value)
         Same as above, but insertion positions for nodes are determined by the
         LocalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
        Parameters:
        value - The useLocalCheapestInsertionCloseNodesLns to set.
        Returns:
        This builder for chaining.
      • clearUseLocalCheapestInsertionCloseNodesLns

        public RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder clearUseLocalCheapestInsertionCloseNodesLns()
         Same as above, but insertion positions for nodes are determined by the
         LocalCheapestInsertion heuristic.
         
        .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
        Returns:
        This builder for chaining.