Class RoutingSearchParameters.Builder

  • All Implemented Interfaces:
    RoutingSearchParametersOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, java.lang.Cloneable
    Enclosing class:
    RoutingSearchParameters

    public static final class RoutingSearchParameters.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
    implements RoutingSearchParametersOrBuilder
     Parameters defining the search used to solve vehicle routing problems.
    
     If a parameter is unset (or, equivalently, set to its default value),
     then the routing library will pick its preferred value for that parameter
     automatically: this should be the case for most parameters.
     To see those "default" parameters, call GetDefaultRoutingSearchParameters().
     Next ID: 58
     
    Protobuf type operations_research.RoutingSearchParameters
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • clear

        public RoutingSearchParameters.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • 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.Builder>
      • getDefaultInstanceForType

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

        public RoutingSearchParameters build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public RoutingSearchParameters buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public RoutingSearchParameters.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • setField

        public RoutingSearchParameters.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                        java.lang.Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • clearField

        public RoutingSearchParameters.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • clearOneof

        public RoutingSearchParameters.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • setRepeatedField

        public RoutingSearchParameters.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                int index,
                                                                java.lang.Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • addRepeatedField

        public RoutingSearchParameters.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                java.lang.Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • mergeFrom

        public RoutingSearchParameters.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws java.io.IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RoutingSearchParameters.Builder>
        Throws:
        java.io.IOException
      • getFirstSolutionStrategyValue

        public int getFirstSolutionStrategyValue()
         First solution strategies, used as starting point of local search.
         
        .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
        Specified by:
        getFirstSolutionStrategyValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for firstSolutionStrategy.
      • setFirstSolutionStrategyValue

        public RoutingSearchParameters.Builder setFirstSolutionStrategyValue​(int value)
         First solution strategies, used as starting point of local search.
         
        .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
        Parameters:
        value - The enum numeric value on the wire for firstSolutionStrategy to set.
        Returns:
        This builder for chaining.
      • setFirstSolutionStrategy

        public RoutingSearchParameters.Builder setFirstSolutionStrategy​(FirstSolutionStrategy.Value value)
         First solution strategies, used as starting point of local search.
         
        .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
        Parameters:
        value - The firstSolutionStrategy to set.
        Returns:
        This builder for chaining.
      • clearFirstSolutionStrategy

        public RoutingSearchParameters.Builder clearFirstSolutionStrategy()
         First solution strategies, used as starting point of local search.
         
        .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
        Returns:
        This builder for chaining.
      • getUseUnfilteredFirstSolutionStrategy

        public boolean getUseUnfilteredFirstSolutionStrategy()
         --- Advanced first solutions strategy settings ---
         Don't touch these unless you know what you are doing.
        
         Use filtered version of first solution strategy if available.
         
        bool use_unfiltered_first_solution_strategy = 2;
        Specified by:
        getUseUnfilteredFirstSolutionStrategy in interface RoutingSearchParametersOrBuilder
        Returns:
        The useUnfilteredFirstSolutionStrategy.
      • setUseUnfilteredFirstSolutionStrategy

        public RoutingSearchParameters.Builder setUseUnfilteredFirstSolutionStrategy​(boolean value)
         --- Advanced first solutions strategy settings ---
         Don't touch these unless you know what you are doing.
        
         Use filtered version of first solution strategy if available.
         
        bool use_unfiltered_first_solution_strategy = 2;
        Parameters:
        value - The useUnfilteredFirstSolutionStrategy to set.
        Returns:
        This builder for chaining.
      • clearUseUnfilteredFirstSolutionStrategy

        public RoutingSearchParameters.Builder clearUseUnfilteredFirstSolutionStrategy()
         --- Advanced first solutions strategy settings ---
         Don't touch these unless you know what you are doing.
        
         Use filtered version of first solution strategy if available.
         
        bool use_unfiltered_first_solution_strategy = 2;
        Returns:
        This builder for chaining.
      • getSavingsNeighborsRatio

        public double getSavingsNeighborsRatio()
         Parameters specific to the Savings first solution heuristic.
         Ratio (in ]0, 1]) of neighbors to consider for each node when constructing
         the savings. If unspecified, its value is considered to be 1.0.
         
        double savings_neighbors_ratio = 14;
        Specified by:
        getSavingsNeighborsRatio in interface RoutingSearchParametersOrBuilder
        Returns:
        The savingsNeighborsRatio.
      • setSavingsNeighborsRatio

        public RoutingSearchParameters.Builder setSavingsNeighborsRatio​(double value)
         Parameters specific to the Savings first solution heuristic.
         Ratio (in ]0, 1]) of neighbors to consider for each node when constructing
         the savings. If unspecified, its value is considered to be 1.0.
         
        double savings_neighbors_ratio = 14;
        Parameters:
        value - The savingsNeighborsRatio to set.
        Returns:
        This builder for chaining.
      • clearSavingsNeighborsRatio

        public RoutingSearchParameters.Builder clearSavingsNeighborsRatio()
         Parameters specific to the Savings first solution heuristic.
         Ratio (in ]0, 1]) of neighbors to consider for each node when constructing
         the savings. If unspecified, its value is considered to be 1.0.
         
        double savings_neighbors_ratio = 14;
        Returns:
        This builder for chaining.
      • getSavingsMaxMemoryUsageBytes

        public double getSavingsMaxMemoryUsageBytes()
         The number of neighbors considered for each node in the Savings heuristic
         is chosen so that the space used to store the savings doesn't exceed
         savings_max_memory_usage_bytes, which must be in ]0, 1e10].
         NOTE: If both savings_neighbors_ratio and savings_max_memory_usage_bytes
         are specified, the number of neighbors considered for each node will be the
         minimum of the two numbers determined by these parameters.
         
        double savings_max_memory_usage_bytes = 23;
        Specified by:
        getSavingsMaxMemoryUsageBytes in interface RoutingSearchParametersOrBuilder
        Returns:
        The savingsMaxMemoryUsageBytes.
      • setSavingsMaxMemoryUsageBytes

        public RoutingSearchParameters.Builder setSavingsMaxMemoryUsageBytes​(double value)
         The number of neighbors considered for each node in the Savings heuristic
         is chosen so that the space used to store the savings doesn't exceed
         savings_max_memory_usage_bytes, which must be in ]0, 1e10].
         NOTE: If both savings_neighbors_ratio and savings_max_memory_usage_bytes
         are specified, the number of neighbors considered for each node will be the
         minimum of the two numbers determined by these parameters.
         
        double savings_max_memory_usage_bytes = 23;
        Parameters:
        value - The savingsMaxMemoryUsageBytes to set.
        Returns:
        This builder for chaining.
      • clearSavingsMaxMemoryUsageBytes

        public RoutingSearchParameters.Builder clearSavingsMaxMemoryUsageBytes()
         The number of neighbors considered for each node in the Savings heuristic
         is chosen so that the space used to store the savings doesn't exceed
         savings_max_memory_usage_bytes, which must be in ]0, 1e10].
         NOTE: If both savings_neighbors_ratio and savings_max_memory_usage_bytes
         are specified, the number of neighbors considered for each node will be the
         minimum of the two numbers determined by these parameters.
         
        double savings_max_memory_usage_bytes = 23;
        Returns:
        This builder for chaining.
      • getSavingsAddReverseArcs

        public boolean getSavingsAddReverseArcs()
         Add savings related to reverse arcs when finding the nearest neighbors
         of the nodes.
         
        bool savings_add_reverse_arcs = 15;
        Specified by:
        getSavingsAddReverseArcs in interface RoutingSearchParametersOrBuilder
        Returns:
        The savingsAddReverseArcs.
      • setSavingsAddReverseArcs

        public RoutingSearchParameters.Builder setSavingsAddReverseArcs​(boolean value)
         Add savings related to reverse arcs when finding the nearest neighbors
         of the nodes.
         
        bool savings_add_reverse_arcs = 15;
        Parameters:
        value - The savingsAddReverseArcs to set.
        Returns:
        This builder for chaining.
      • clearSavingsAddReverseArcs

        public RoutingSearchParameters.Builder clearSavingsAddReverseArcs()
         Add savings related to reverse arcs when finding the nearest neighbors
         of the nodes.
         
        bool savings_add_reverse_arcs = 15;
        Returns:
        This builder for chaining.
      • getSavingsArcCoefficient

        public double getSavingsArcCoefficient()
         Coefficient of the cost of the arc for which the saving value is being
         computed:
         Saving(a-->b) = Cost(a-->end) + Cost(start-->b)
                         - savings_arc_coefficient * Cost(a-->b)
         This parameter must be greater than 0, and its default value is 1.
         
        double savings_arc_coefficient = 18;
        Specified by:
        getSavingsArcCoefficient in interface RoutingSearchParametersOrBuilder
        Returns:
        The savingsArcCoefficient.
      • setSavingsArcCoefficient

        public RoutingSearchParameters.Builder setSavingsArcCoefficient​(double value)
         Coefficient of the cost of the arc for which the saving value is being
         computed:
         Saving(a-->b) = Cost(a-->end) + Cost(start-->b)
                         - savings_arc_coefficient * Cost(a-->b)
         This parameter must be greater than 0, and its default value is 1.
         
        double savings_arc_coefficient = 18;
        Parameters:
        value - The savingsArcCoefficient to set.
        Returns:
        This builder for chaining.
      • clearSavingsArcCoefficient

        public RoutingSearchParameters.Builder clearSavingsArcCoefficient()
         Coefficient of the cost of the arc for which the saving value is being
         computed:
         Saving(a-->b) = Cost(a-->end) + Cost(start-->b)
                         - savings_arc_coefficient * Cost(a-->b)
         This parameter must be greater than 0, and its default value is 1.
         
        double savings_arc_coefficient = 18;
        Returns:
        This builder for chaining.
      • getSavingsParallelRoutes

        public boolean getSavingsParallelRoutes()
         When true, the routes are built in parallel, sequentially otherwise.
         
        bool savings_parallel_routes = 19;
        Specified by:
        getSavingsParallelRoutes in interface RoutingSearchParametersOrBuilder
        Returns:
        The savingsParallelRoutes.
      • setSavingsParallelRoutes

        public RoutingSearchParameters.Builder setSavingsParallelRoutes​(boolean value)
         When true, the routes are built in parallel, sequentially otherwise.
         
        bool savings_parallel_routes = 19;
        Parameters:
        value - The savingsParallelRoutes to set.
        Returns:
        This builder for chaining.
      • clearSavingsParallelRoutes

        public RoutingSearchParameters.Builder clearSavingsParallelRoutes()
         When true, the routes are built in parallel, sequentially otherwise.
         
        bool savings_parallel_routes = 19;
        Returns:
        This builder for chaining.
      • getCheapestInsertionFarthestSeedsRatio

        public double getCheapestInsertionFarthestSeedsRatio()
         Ratio (between 0 and 1) of available vehicles in the model on which
         farthest nodes of the model are inserted as seeds in the
         GlobalCheapestInsertion first solution heuristic.
         
        double cheapest_insertion_farthest_seeds_ratio = 16;
        Specified by:
        getCheapestInsertionFarthestSeedsRatio in interface RoutingSearchParametersOrBuilder
        Returns:
        The cheapestInsertionFarthestSeedsRatio.
      • setCheapestInsertionFarthestSeedsRatio

        public RoutingSearchParameters.Builder setCheapestInsertionFarthestSeedsRatio​(double value)
         Ratio (between 0 and 1) of available vehicles in the model on which
         farthest nodes of the model are inserted as seeds in the
         GlobalCheapestInsertion first solution heuristic.
         
        double cheapest_insertion_farthest_seeds_ratio = 16;
        Parameters:
        value - The cheapestInsertionFarthestSeedsRatio to set.
        Returns:
        This builder for chaining.
      • clearCheapestInsertionFarthestSeedsRatio

        public RoutingSearchParameters.Builder clearCheapestInsertionFarthestSeedsRatio()
         Ratio (between 0 and 1) of available vehicles in the model on which
         farthest nodes of the model are inserted as seeds in the
         GlobalCheapestInsertion first solution heuristic.
         
        double cheapest_insertion_farthest_seeds_ratio = 16;
        Returns:
        This builder for chaining.
      • getCheapestInsertionFirstSolutionNeighborsRatio

        public double getCheapestInsertionFirstSolutionNeighborsRatio()
         Ratio (in ]0, 1]) of closest non start/end nodes to consider as neighbors
         for each node when creating new insertions in the parallel/sequential
         cheapest insertion heuristic.
         If not overridden, its default value is 1, meaning all neighbors will be
         considered.
         The neighborhood ratio is coupled with the corresponding min_neighbors
         integer, indicating the minimum number of neighbors to consider for each
         node:
         num_closest_neighbors =
                max(min_neighbors, neighbors_ratio * NUM_NON_START_END_NODES)
         This minimum number of neighbors must be greater or equal to 1, its
         default value.
        
         Neighbors ratio and minimum number of neighbors for the first solution
         heuristic.
         
        double cheapest_insertion_first_solution_neighbors_ratio = 21;
        Specified by:
        getCheapestInsertionFirstSolutionNeighborsRatio in interface RoutingSearchParametersOrBuilder
        Returns:
        The cheapestInsertionFirstSolutionNeighborsRatio.
      • setCheapestInsertionFirstSolutionNeighborsRatio

        public RoutingSearchParameters.Builder setCheapestInsertionFirstSolutionNeighborsRatio​(double value)
         Ratio (in ]0, 1]) of closest non start/end nodes to consider as neighbors
         for each node when creating new insertions in the parallel/sequential
         cheapest insertion heuristic.
         If not overridden, its default value is 1, meaning all neighbors will be
         considered.
         The neighborhood ratio is coupled with the corresponding min_neighbors
         integer, indicating the minimum number of neighbors to consider for each
         node:
         num_closest_neighbors =
                max(min_neighbors, neighbors_ratio * NUM_NON_START_END_NODES)
         This minimum number of neighbors must be greater or equal to 1, its
         default value.
        
         Neighbors ratio and minimum number of neighbors for the first solution
         heuristic.
         
        double cheapest_insertion_first_solution_neighbors_ratio = 21;
        Parameters:
        value - The cheapestInsertionFirstSolutionNeighborsRatio to set.
        Returns:
        This builder for chaining.
      • clearCheapestInsertionFirstSolutionNeighborsRatio

        public RoutingSearchParameters.Builder clearCheapestInsertionFirstSolutionNeighborsRatio()
         Ratio (in ]0, 1]) of closest non start/end nodes to consider as neighbors
         for each node when creating new insertions in the parallel/sequential
         cheapest insertion heuristic.
         If not overridden, its default value is 1, meaning all neighbors will be
         considered.
         The neighborhood ratio is coupled with the corresponding min_neighbors
         integer, indicating the minimum number of neighbors to consider for each
         node:
         num_closest_neighbors =
                max(min_neighbors, neighbors_ratio * NUM_NON_START_END_NODES)
         This minimum number of neighbors must be greater or equal to 1, its
         default value.
        
         Neighbors ratio and minimum number of neighbors for the first solution
         heuristic.
         
        double cheapest_insertion_first_solution_neighbors_ratio = 21;
        Returns:
        This builder for chaining.
      • setCheapestInsertionFirstSolutionMinNeighbors

        public RoutingSearchParameters.Builder setCheapestInsertionFirstSolutionMinNeighbors​(int value)
        int32 cheapest_insertion_first_solution_min_neighbors = 44;
        Parameters:
        value - The cheapestInsertionFirstSolutionMinNeighbors to set.
        Returns:
        This builder for chaining.
      • clearCheapestInsertionFirstSolutionMinNeighbors

        public RoutingSearchParameters.Builder clearCheapestInsertionFirstSolutionMinNeighbors()
        int32 cheapest_insertion_first_solution_min_neighbors = 44;
        Returns:
        This builder for chaining.
      • getCheapestInsertionLsOperatorNeighborsRatio

        public double getCheapestInsertionLsOperatorNeighborsRatio()
         Neighbors ratio and minimum number of neighbors for the heuristic when used
         in a local search operator (see
         local_search_operators.use_global_cheapest_insertion_path_lns and
         local_search_operators.use_global_cheapest_insertion_chain_lns below).
         
        double cheapest_insertion_ls_operator_neighbors_ratio = 31;
        Specified by:
        getCheapestInsertionLsOperatorNeighborsRatio in interface RoutingSearchParametersOrBuilder
        Returns:
        The cheapestInsertionLsOperatorNeighborsRatio.
      • setCheapestInsertionLsOperatorNeighborsRatio

        public RoutingSearchParameters.Builder setCheapestInsertionLsOperatorNeighborsRatio​(double value)
         Neighbors ratio and minimum number of neighbors for the heuristic when used
         in a local search operator (see
         local_search_operators.use_global_cheapest_insertion_path_lns and
         local_search_operators.use_global_cheapest_insertion_chain_lns below).
         
        double cheapest_insertion_ls_operator_neighbors_ratio = 31;
        Parameters:
        value - The cheapestInsertionLsOperatorNeighborsRatio to set.
        Returns:
        This builder for chaining.
      • clearCheapestInsertionLsOperatorNeighborsRatio

        public RoutingSearchParameters.Builder clearCheapestInsertionLsOperatorNeighborsRatio()
         Neighbors ratio and minimum number of neighbors for the heuristic when used
         in a local search operator (see
         local_search_operators.use_global_cheapest_insertion_path_lns and
         local_search_operators.use_global_cheapest_insertion_chain_lns below).
         
        double cheapest_insertion_ls_operator_neighbors_ratio = 31;
        Returns:
        This builder for chaining.
      • setCheapestInsertionLsOperatorMinNeighbors

        public RoutingSearchParameters.Builder setCheapestInsertionLsOperatorMinNeighbors​(int value)
        int32 cheapest_insertion_ls_operator_min_neighbors = 45;
        Parameters:
        value - The cheapestInsertionLsOperatorMinNeighbors to set.
        Returns:
        This builder for chaining.
      • clearCheapestInsertionLsOperatorMinNeighbors

        public RoutingSearchParameters.Builder clearCheapestInsertionLsOperatorMinNeighbors()
        int32 cheapest_insertion_ls_operator_min_neighbors = 45;
        Returns:
        This builder for chaining.
      • getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization

        public boolean getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization()
         Whether or not to only consider closest neighbors when initializing the
         assignment for the first solution.
         
        bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
        Specified by:
        getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization in interface RoutingSearchParametersOrBuilder
        Returns:
        The cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization.
      • setCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization

        public RoutingSearchParameters.Builder setCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization​(boolean value)
         Whether or not to only consider closest neighbors when initializing the
         assignment for the first solution.
         
        bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
        Parameters:
        value - The cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization to set.
        Returns:
        This builder for chaining.
      • clearCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization

        public RoutingSearchParameters.Builder clearCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization()
         Whether or not to only consider closest neighbors when initializing the
         assignment for the first solution.
         
        bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
        Returns:
        This builder for chaining.
      • getCheapestInsertionAddUnperformedEntries

        public boolean getCheapestInsertionAddUnperformedEntries()
         Whether or not to consider entries making the nodes/pairs unperformed in
         the GlobalCheapestInsertion heuristic.
         
        bool cheapest_insertion_add_unperformed_entries = 40;
        Specified by:
        getCheapestInsertionAddUnperformedEntries in interface RoutingSearchParametersOrBuilder
        Returns:
        The cheapestInsertionAddUnperformedEntries.
      • setCheapestInsertionAddUnperformedEntries

        public RoutingSearchParameters.Builder setCheapestInsertionAddUnperformedEntries​(boolean value)
         Whether or not to consider entries making the nodes/pairs unperformed in
         the GlobalCheapestInsertion heuristic.
         
        bool cheapest_insertion_add_unperformed_entries = 40;
        Parameters:
        value - The cheapestInsertionAddUnperformedEntries to set.
        Returns:
        This builder for chaining.
      • clearCheapestInsertionAddUnperformedEntries

        public RoutingSearchParameters.Builder clearCheapestInsertionAddUnperformedEntries()
         Whether or not to consider entries making the nodes/pairs unperformed in
         the GlobalCheapestInsertion heuristic.
         
        bool cheapest_insertion_add_unperformed_entries = 40;
        Returns:
        This builder for chaining.
      • getLocalCheapestInsertionPickupDeliveryStrategyValue

        public int getLocalCheapestInsertionPickupDeliveryStrategyValue()
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
        Specified by:
        getLocalCheapestInsertionPickupDeliveryStrategyValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for localCheapestInsertionPickupDeliveryStrategy.
      • setLocalCheapestInsertionPickupDeliveryStrategyValue

        public RoutingSearchParameters.Builder setLocalCheapestInsertionPickupDeliveryStrategyValue​(int value)
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
        Parameters:
        value - The enum numeric value on the wire for localCheapestInsertionPickupDeliveryStrategy to set.
        Returns:
        This builder for chaining.
      • setLocalCheapestInsertionPickupDeliveryStrategy

        public RoutingSearchParameters.Builder setLocalCheapestInsertionPickupDeliveryStrategy​(RoutingSearchParameters.PairInsertionStrategy value)
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
        Parameters:
        value - The localCheapestInsertionPickupDeliveryStrategy to set.
        Returns:
        This builder for chaining.
      • clearLocalCheapestInsertionPickupDeliveryStrategy

        public RoutingSearchParameters.Builder clearLocalCheapestInsertionPickupDeliveryStrategy()
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
        Returns:
        This builder for chaining.
      • getLocalCheapestCostInsertionPickupDeliveryStrategyValue

        public int getLocalCheapestCostInsertionPickupDeliveryStrategyValue()
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest cost insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
        Specified by:
        getLocalCheapestCostInsertionPickupDeliveryStrategyValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for localCheapestCostInsertionPickupDeliveryStrategy.
      • setLocalCheapestCostInsertionPickupDeliveryStrategyValue

        public RoutingSearchParameters.Builder setLocalCheapestCostInsertionPickupDeliveryStrategyValue​(int value)
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest cost insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
        Parameters:
        value - The enum numeric value on the wire for localCheapestCostInsertionPickupDeliveryStrategy to set.
        Returns:
        This builder for chaining.
      • setLocalCheapestCostInsertionPickupDeliveryStrategy

        public RoutingSearchParameters.Builder setLocalCheapestCostInsertionPickupDeliveryStrategy​(RoutingSearchParameters.PairInsertionStrategy value)
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest cost insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
        Parameters:
        value - The localCheapestCostInsertionPickupDeliveryStrategy to set.
        Returns:
        This builder for chaining.
      • clearLocalCheapestCostInsertionPickupDeliveryStrategy

        public RoutingSearchParameters.Builder clearLocalCheapestCostInsertionPickupDeliveryStrategy()
         Choice of insertion strategy for pickup/delivery pairs, used in local
         cheapest cost insertion, both first solution heuristic and LNS.
         
        .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
        Returns:
        This builder for chaining.
      • getChristofidesUseMinimumMatching

        public boolean getChristofidesUseMinimumMatching()
         If true use minimum matching instead of minimal matching in the
         Christofides algorithm.
         
        bool christofides_use_minimum_matching = 30;
        Specified by:
        getChristofidesUseMinimumMatching in interface RoutingSearchParametersOrBuilder
        Returns:
        The christofidesUseMinimumMatching.
      • setChristofidesUseMinimumMatching

        public RoutingSearchParameters.Builder setChristofidesUseMinimumMatching​(boolean value)
         If true use minimum matching instead of minimal matching in the
         Christofides algorithm.
         
        bool christofides_use_minimum_matching = 30;
        Parameters:
        value - The christofidesUseMinimumMatching to set.
        Returns:
        This builder for chaining.
      • clearChristofidesUseMinimumMatching

        public RoutingSearchParameters.Builder clearChristofidesUseMinimumMatching()
         If true use minimum matching instead of minimal matching in the
         Christofides algorithm.
         
        bool christofides_use_minimum_matching = 30;
        Returns:
        This builder for chaining.
      • hasLocalSearchOperators

        public boolean hasLocalSearchOperators()
        .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
        Specified by:
        hasLocalSearchOperators in interface RoutingSearchParametersOrBuilder
        Returns:
        Whether the localSearchOperators field is set.
      • clearLocalSearchOperators

        public RoutingSearchParameters.Builder clearLocalSearchOperators()
        .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
      • getLsOperatorNeighborsRatio

        public double getLsOperatorNeighborsRatio()
         Neighbors ratio and minimum number of neighbors considered in local
         search operators (see cheapest_insertion_first_solution_neighbors_ratio
         and cheapest_insertion_first_solution_min_neighbors for more information).
         
        double ls_operator_neighbors_ratio = 53;
        Specified by:
        getLsOperatorNeighborsRatio in interface RoutingSearchParametersOrBuilder
        Returns:
        The lsOperatorNeighborsRatio.
      • setLsOperatorNeighborsRatio

        public RoutingSearchParameters.Builder setLsOperatorNeighborsRatio​(double value)
         Neighbors ratio and minimum number of neighbors considered in local
         search operators (see cheapest_insertion_first_solution_neighbors_ratio
         and cheapest_insertion_first_solution_min_neighbors for more information).
         
        double ls_operator_neighbors_ratio = 53;
        Parameters:
        value - The lsOperatorNeighborsRatio to set.
        Returns:
        This builder for chaining.
      • clearLsOperatorNeighborsRatio

        public RoutingSearchParameters.Builder clearLsOperatorNeighborsRatio()
         Neighbors ratio and minimum number of neighbors considered in local
         search operators (see cheapest_insertion_first_solution_neighbors_ratio
         and cheapest_insertion_first_solution_min_neighbors for more information).
         
        double ls_operator_neighbors_ratio = 53;
        Returns:
        This builder for chaining.
      • setLsOperatorMinNeighbors

        public RoutingSearchParameters.Builder setLsOperatorMinNeighbors​(int value)
        int32 ls_operator_min_neighbors = 54;
        Parameters:
        value - The lsOperatorMinNeighbors to set.
        Returns:
        This builder for chaining.
      • clearLsOperatorMinNeighbors

        public RoutingSearchParameters.Builder clearLsOperatorMinNeighbors()
        int32 ls_operator_min_neighbors = 54;
        Returns:
        This builder for chaining.
      • getUseMultiArmedBanditConcatenateOperators

        public boolean getUseMultiArmedBanditConcatenateOperators()
         If true, the solver will use multi-armed bandit concatenate operators. It
         dynamically chooses the next neighbor operator in order to get the best
         objective improvement.
         
        bool use_multi_armed_bandit_concatenate_operators = 41;
        Specified by:
        getUseMultiArmedBanditConcatenateOperators in interface RoutingSearchParametersOrBuilder
        Returns:
        The useMultiArmedBanditConcatenateOperators.
      • setUseMultiArmedBanditConcatenateOperators

        public RoutingSearchParameters.Builder setUseMultiArmedBanditConcatenateOperators​(boolean value)
         If true, the solver will use multi-armed bandit concatenate operators. It
         dynamically chooses the next neighbor operator in order to get the best
         objective improvement.
         
        bool use_multi_armed_bandit_concatenate_operators = 41;
        Parameters:
        value - The useMultiArmedBanditConcatenateOperators to set.
        Returns:
        This builder for chaining.
      • clearUseMultiArmedBanditConcatenateOperators

        public RoutingSearchParameters.Builder clearUseMultiArmedBanditConcatenateOperators()
         If true, the solver will use multi-armed bandit concatenate operators. It
         dynamically chooses the next neighbor operator in order to get the best
         objective improvement.
         
        bool use_multi_armed_bandit_concatenate_operators = 41;
        Returns:
        This builder for chaining.
      • getMultiArmedBanditCompoundOperatorMemoryCoefficient

        public double getMultiArmedBanditCompoundOperatorMemoryCoefficient()
         Memory coefficient related to the multi-armed bandit compound operator.
         Sets how much the objective improvement of previous accepted neighbors
         influence the current average improvement.
         This parameter should be between 0 and 1.
         
        double multi_armed_bandit_compound_operator_memory_coefficient = 42;
        Specified by:
        getMultiArmedBanditCompoundOperatorMemoryCoefficient in interface RoutingSearchParametersOrBuilder
        Returns:
        The multiArmedBanditCompoundOperatorMemoryCoefficient.
      • setMultiArmedBanditCompoundOperatorMemoryCoefficient

        public RoutingSearchParameters.Builder setMultiArmedBanditCompoundOperatorMemoryCoefficient​(double value)
         Memory coefficient related to the multi-armed bandit compound operator.
         Sets how much the objective improvement of previous accepted neighbors
         influence the current average improvement.
         This parameter should be between 0 and 1.
         
        double multi_armed_bandit_compound_operator_memory_coefficient = 42;
        Parameters:
        value - The multiArmedBanditCompoundOperatorMemoryCoefficient to set.
        Returns:
        This builder for chaining.
      • clearMultiArmedBanditCompoundOperatorMemoryCoefficient

        public RoutingSearchParameters.Builder clearMultiArmedBanditCompoundOperatorMemoryCoefficient()
         Memory coefficient related to the multi-armed bandit compound operator.
         Sets how much the objective improvement of previous accepted neighbors
         influence the current average improvement.
         This parameter should be between 0 and 1.
         
        double multi_armed_bandit_compound_operator_memory_coefficient = 42;
        Returns:
        This builder for chaining.
      • getMultiArmedBanditCompoundOperatorExplorationCoefficient

        public double getMultiArmedBanditCompoundOperatorExplorationCoefficient()
         Positive parameter defining the exploration coefficient of the multi-armed
         bandit compound operator. Sets how often we explore rarely used and
         unsuccessful in the past operators
         
        double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
        Specified by:
        getMultiArmedBanditCompoundOperatorExplorationCoefficient in interface RoutingSearchParametersOrBuilder
        Returns:
        The multiArmedBanditCompoundOperatorExplorationCoefficient.
      • setMultiArmedBanditCompoundOperatorExplorationCoefficient

        public RoutingSearchParameters.Builder setMultiArmedBanditCompoundOperatorExplorationCoefficient​(double value)
         Positive parameter defining the exploration coefficient of the multi-armed
         bandit compound operator. Sets how often we explore rarely used and
         unsuccessful in the past operators
         
        double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
        Parameters:
        value - The multiArmedBanditCompoundOperatorExplorationCoefficient to set.
        Returns:
        This builder for chaining.
      • clearMultiArmedBanditCompoundOperatorExplorationCoefficient

        public RoutingSearchParameters.Builder clearMultiArmedBanditCompoundOperatorExplorationCoefficient()
         Positive parameter defining the exploration coefficient of the multi-armed
         bandit compound operator. Sets how often we explore rarely used and
         unsuccessful in the past operators
         
        double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
        Returns:
        This builder for chaining.
      • getRelocateExpensiveChainNumArcsToConsider

        public int getRelocateExpensiveChainNumArcsToConsider()
         Number of expensive arcs to consider cutting in the RelocateExpensiveChain
         neighborhood operator (see
         LocalSearchNeighborhoodOperators.use_relocate_expensive_chain()).
         This parameter must be greater than 2.
         NOTE(user): The number of neighbors generated by the operator for
         relocate_expensive_chain_num_arcs_to_consider = K is around
         K*(K-1)/2 * number_of_routes * number_of_nodes.
         
        int32 relocate_expensive_chain_num_arcs_to_consider = 20;
        Specified by:
        getRelocateExpensiveChainNumArcsToConsider in interface RoutingSearchParametersOrBuilder
        Returns:
        The relocateExpensiveChainNumArcsToConsider.
      • setRelocateExpensiveChainNumArcsToConsider

        public RoutingSearchParameters.Builder setRelocateExpensiveChainNumArcsToConsider​(int value)
         Number of expensive arcs to consider cutting in the RelocateExpensiveChain
         neighborhood operator (see
         LocalSearchNeighborhoodOperators.use_relocate_expensive_chain()).
         This parameter must be greater than 2.
         NOTE(user): The number of neighbors generated by the operator for
         relocate_expensive_chain_num_arcs_to_consider = K is around
         K*(K-1)/2 * number_of_routes * number_of_nodes.
         
        int32 relocate_expensive_chain_num_arcs_to_consider = 20;
        Parameters:
        value - The relocateExpensiveChainNumArcsToConsider to set.
        Returns:
        This builder for chaining.
      • clearRelocateExpensiveChainNumArcsToConsider

        public RoutingSearchParameters.Builder clearRelocateExpensiveChainNumArcsToConsider()
         Number of expensive arcs to consider cutting in the RelocateExpensiveChain
         neighborhood operator (see
         LocalSearchNeighborhoodOperators.use_relocate_expensive_chain()).
         This parameter must be greater than 2.
         NOTE(user): The number of neighbors generated by the operator for
         relocate_expensive_chain_num_arcs_to_consider = K is around
         K*(K-1)/2 * number_of_routes * number_of_nodes.
         
        int32 relocate_expensive_chain_num_arcs_to_consider = 20;
        Returns:
        This builder for chaining.
      • getHeuristicExpensiveChainLnsNumArcsToConsider

        public int getHeuristicExpensiveChainLnsNumArcsToConsider()
         Number of expensive arcs to consider cutting in the
         FilteredHeuristicExpensiveChainLNSOperator operator.
         
        int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
        Specified by:
        getHeuristicExpensiveChainLnsNumArcsToConsider in interface RoutingSearchParametersOrBuilder
        Returns:
        The heuristicExpensiveChainLnsNumArcsToConsider.
      • setHeuristicExpensiveChainLnsNumArcsToConsider

        public RoutingSearchParameters.Builder setHeuristicExpensiveChainLnsNumArcsToConsider​(int value)
         Number of expensive arcs to consider cutting in the
         FilteredHeuristicExpensiveChainLNSOperator operator.
         
        int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
        Parameters:
        value - The heuristicExpensiveChainLnsNumArcsToConsider to set.
        Returns:
        This builder for chaining.
      • clearHeuristicExpensiveChainLnsNumArcsToConsider

        public RoutingSearchParameters.Builder clearHeuristicExpensiveChainLnsNumArcsToConsider()
         Number of expensive arcs to consider cutting in the
         FilteredHeuristicExpensiveChainLNSOperator operator.
         
        int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
        Returns:
        This builder for chaining.
      • getHeuristicCloseNodesLnsNumNodes

        public int getHeuristicCloseNodesLnsNumNodes()
         Number of closest nodes to consider for each node during the destruction
         phase of the FilteredHeuristicCloseNodesLNSOperator.
         
        int32 heuristic_close_nodes_lns_num_nodes = 35;
        Specified by:
        getHeuristicCloseNodesLnsNumNodes in interface RoutingSearchParametersOrBuilder
        Returns:
        The heuristicCloseNodesLnsNumNodes.
      • setHeuristicCloseNodesLnsNumNodes

        public RoutingSearchParameters.Builder setHeuristicCloseNodesLnsNumNodes​(int value)
         Number of closest nodes to consider for each node during the destruction
         phase of the FilteredHeuristicCloseNodesLNSOperator.
         
        int32 heuristic_close_nodes_lns_num_nodes = 35;
        Parameters:
        value - The heuristicCloseNodesLnsNumNodes to set.
        Returns:
        This builder for chaining.
      • clearHeuristicCloseNodesLnsNumNodes

        public RoutingSearchParameters.Builder clearHeuristicCloseNodesLnsNumNodes()
         Number of closest nodes to consider for each node during the destruction
         phase of the FilteredHeuristicCloseNodesLNSOperator.
         
        int32 heuristic_close_nodes_lns_num_nodes = 35;
        Returns:
        This builder for chaining.
      • getLocalSearchMetaheuristicValue

        public int getLocalSearchMetaheuristicValue()
         Local search metaheuristics used to guide the search.
         
        .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
        Specified by:
        getLocalSearchMetaheuristicValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for localSearchMetaheuristic.
      • setLocalSearchMetaheuristicValue

        public RoutingSearchParameters.Builder setLocalSearchMetaheuristicValue​(int value)
         Local search metaheuristics used to guide the search.
         
        .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
        Parameters:
        value - The enum numeric value on the wire for localSearchMetaheuristic to set.
        Returns:
        This builder for chaining.
      • setLocalSearchMetaheuristic

        public RoutingSearchParameters.Builder setLocalSearchMetaheuristic​(LocalSearchMetaheuristic.Value value)
         Local search metaheuristics used to guide the search.
         
        .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
        Parameters:
        value - The localSearchMetaheuristic to set.
        Returns:
        This builder for chaining.
      • clearLocalSearchMetaheuristic

        public RoutingSearchParameters.Builder clearLocalSearchMetaheuristic()
         Local search metaheuristics used to guide the search.
         
        .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
        Returns:
        This builder for chaining.
      • getGuidedLocalSearchLambdaCoefficient

        public double getGuidedLocalSearchLambdaCoefficient()
         These are advanced settings which should not be modified unless you know
         what you are doing.
         Lambda coefficient used to penalize arc costs when GUIDED_LOCAL_SEARCH is
         used. Must be positive.
         
        double guided_local_search_lambda_coefficient = 5;
        Specified by:
        getGuidedLocalSearchLambdaCoefficient in interface RoutingSearchParametersOrBuilder
        Returns:
        The guidedLocalSearchLambdaCoefficient.
      • setGuidedLocalSearchLambdaCoefficient

        public RoutingSearchParameters.Builder setGuidedLocalSearchLambdaCoefficient​(double value)
         These are advanced settings which should not be modified unless you know
         what you are doing.
         Lambda coefficient used to penalize arc costs when GUIDED_LOCAL_SEARCH is
         used. Must be positive.
         
        double guided_local_search_lambda_coefficient = 5;
        Parameters:
        value - The guidedLocalSearchLambdaCoefficient to set.
        Returns:
        This builder for chaining.
      • clearGuidedLocalSearchLambdaCoefficient

        public RoutingSearchParameters.Builder clearGuidedLocalSearchLambdaCoefficient()
         These are advanced settings which should not be modified unless you know
         what you are doing.
         Lambda coefficient used to penalize arc costs when GUIDED_LOCAL_SEARCH is
         used. Must be positive.
         
        double guided_local_search_lambda_coefficient = 5;
        Returns:
        This builder for chaining.
      • getGuidedLocalSearchResetPenaltiesOnNewBestSolution

        public boolean getGuidedLocalSearchResetPenaltiesOnNewBestSolution()
         Whether to reset penalties when a new best solution is found. The effect is
         that a greedy descent is started before the next penalization phase.
         
        bool guided_local_search_reset_penalties_on_new_best_solution = 51;
        Specified by:
        getGuidedLocalSearchResetPenaltiesOnNewBestSolution in interface RoutingSearchParametersOrBuilder
        Returns:
        The guidedLocalSearchResetPenaltiesOnNewBestSolution.
      • setGuidedLocalSearchResetPenaltiesOnNewBestSolution

        public RoutingSearchParameters.Builder setGuidedLocalSearchResetPenaltiesOnNewBestSolution​(boolean value)
         Whether to reset penalties when a new best solution is found. The effect is
         that a greedy descent is started before the next penalization phase.
         
        bool guided_local_search_reset_penalties_on_new_best_solution = 51;
        Parameters:
        value - The guidedLocalSearchResetPenaltiesOnNewBestSolution to set.
        Returns:
        This builder for chaining.
      • clearGuidedLocalSearchResetPenaltiesOnNewBestSolution

        public RoutingSearchParameters.Builder clearGuidedLocalSearchResetPenaltiesOnNewBestSolution()
         Whether to reset penalties when a new best solution is found. The effect is
         that a greedy descent is started before the next penalization phase.
         
        bool guided_local_search_reset_penalties_on_new_best_solution = 51;
        Returns:
        This builder for chaining.
      • getUseDepthFirstSearch

        public boolean getUseDepthFirstSearch()
         --- Search control ---
        
         If true, the solver should use depth-first search rather than local search
         to solve the problem.
         
        bool use_depth_first_search = 6;
        Specified by:
        getUseDepthFirstSearch in interface RoutingSearchParametersOrBuilder
        Returns:
        The useDepthFirstSearch.
      • setUseDepthFirstSearch

        public RoutingSearchParameters.Builder setUseDepthFirstSearch​(boolean value)
         --- Search control ---
        
         If true, the solver should use depth-first search rather than local search
         to solve the problem.
         
        bool use_depth_first_search = 6;
        Parameters:
        value - The useDepthFirstSearch to set.
        Returns:
        This builder for chaining.
      • clearUseDepthFirstSearch

        public RoutingSearchParameters.Builder clearUseDepthFirstSearch()
         --- Search control ---
        
         If true, the solver should use depth-first search rather than local search
         to solve the problem.
         
        bool use_depth_first_search = 6;
        Returns:
        This builder for chaining.
      • getUseCpValue

        public int getUseCpValue()
         If true, use the CP solver to find a solution. Either local or depth-first
         search will be used depending on the value of use_depth_first_search. Will
         be run before the CP-SAT solver (cf. use_cp_sat).
         
        .operations_research.OptionalBoolean use_cp = 28;
        Specified by:
        getUseCpValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for useCp.
      • setUseCpValue

        public RoutingSearchParameters.Builder setUseCpValue​(int value)
         If true, use the CP solver to find a solution. Either local or depth-first
         search will be used depending on the value of use_depth_first_search. Will
         be run before the CP-SAT solver (cf. use_cp_sat).
         
        .operations_research.OptionalBoolean use_cp = 28;
        Parameters:
        value - The enum numeric value on the wire for useCp to set.
        Returns:
        This builder for chaining.
      • getUseCp

        public OptionalBoolean getUseCp()
         If true, use the CP solver to find a solution. Either local or depth-first
         search will be used depending on the value of use_depth_first_search. Will
         be run before the CP-SAT solver (cf. use_cp_sat).
         
        .operations_research.OptionalBoolean use_cp = 28;
        Specified by:
        getUseCp in interface RoutingSearchParametersOrBuilder
        Returns:
        The useCp.
      • setUseCp

        public RoutingSearchParameters.Builder setUseCp​(OptionalBoolean value)
         If true, use the CP solver to find a solution. Either local or depth-first
         search will be used depending on the value of use_depth_first_search. Will
         be run before the CP-SAT solver (cf. use_cp_sat).
         
        .operations_research.OptionalBoolean use_cp = 28;
        Parameters:
        value - The useCp to set.
        Returns:
        This builder for chaining.
      • clearUseCp

        public RoutingSearchParameters.Builder clearUseCp()
         If true, use the CP solver to find a solution. Either local or depth-first
         search will be used depending on the value of use_depth_first_search. Will
         be run before the CP-SAT solver (cf. use_cp_sat).
         
        .operations_research.OptionalBoolean use_cp = 28;
        Returns:
        This builder for chaining.
      • getUseCpSatValue

        public int getUseCpSatValue()
         If true, use the CP-SAT solver to find a solution. If use_cp is also true,
         the CP-SAT solver will be run after the CP solver if there is time
         remaining and will use the CP solution as a hint for the CP-SAT search.
         As of 5/2019, only TSP models can be solved.
         
        .operations_research.OptionalBoolean use_cp_sat = 27;
        Specified by:
        getUseCpSatValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for useCpSat.
      • setUseCpSatValue

        public RoutingSearchParameters.Builder setUseCpSatValue​(int value)
         If true, use the CP-SAT solver to find a solution. If use_cp is also true,
         the CP-SAT solver will be run after the CP solver if there is time
         remaining and will use the CP solution as a hint for the CP-SAT search.
         As of 5/2019, only TSP models can be solved.
         
        .operations_research.OptionalBoolean use_cp_sat = 27;
        Parameters:
        value - The enum numeric value on the wire for useCpSat to set.
        Returns:
        This builder for chaining.
      • getUseCpSat

        public OptionalBoolean getUseCpSat()
         If true, use the CP-SAT solver to find a solution. If use_cp is also true,
         the CP-SAT solver will be run after the CP solver if there is time
         remaining and will use the CP solution as a hint for the CP-SAT search.
         As of 5/2019, only TSP models can be solved.
         
        .operations_research.OptionalBoolean use_cp_sat = 27;
        Specified by:
        getUseCpSat in interface RoutingSearchParametersOrBuilder
        Returns:
        The useCpSat.
      • setUseCpSat

        public RoutingSearchParameters.Builder setUseCpSat​(OptionalBoolean value)
         If true, use the CP-SAT solver to find a solution. If use_cp is also true,
         the CP-SAT solver will be run after the CP solver if there is time
         remaining and will use the CP solution as a hint for the CP-SAT search.
         As of 5/2019, only TSP models can be solved.
         
        .operations_research.OptionalBoolean use_cp_sat = 27;
        Parameters:
        value - The useCpSat to set.
        Returns:
        This builder for chaining.
      • clearUseCpSat

        public RoutingSearchParameters.Builder clearUseCpSat()
         If true, use the CP-SAT solver to find a solution. If use_cp is also true,
         the CP-SAT solver will be run after the CP solver if there is time
         remaining and will use the CP solution as a hint for the CP-SAT search.
         As of 5/2019, only TSP models can be solved.
         
        .operations_research.OptionalBoolean use_cp_sat = 27;
        Returns:
        This builder for chaining.
      • getUseGeneralizedCpSatValue

        public int getUseGeneralizedCpSatValue()
         If true, use the CP-SAT solver to find a solution on generalized routing
         model. If use_cp is also true, the CP-SAT solver will be run after the CP
         solver if there is time remaining and will use the CP solution as a hint
         for the CP-SAT search.
         
        .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
        Specified by:
        getUseGeneralizedCpSatValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for useGeneralizedCpSat.
      • setUseGeneralizedCpSatValue

        public RoutingSearchParameters.Builder setUseGeneralizedCpSatValue​(int value)
         If true, use the CP-SAT solver to find a solution on generalized routing
         model. If use_cp is also true, the CP-SAT solver will be run after the CP
         solver if there is time remaining and will use the CP solution as a hint
         for the CP-SAT search.
         
        .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
        Parameters:
        value - The enum numeric value on the wire for useGeneralizedCpSat to set.
        Returns:
        This builder for chaining.
      • getUseGeneralizedCpSat

        public OptionalBoolean getUseGeneralizedCpSat()
         If true, use the CP-SAT solver to find a solution on generalized routing
         model. If use_cp is also true, the CP-SAT solver will be run after the CP
         solver if there is time remaining and will use the CP solution as a hint
         for the CP-SAT search.
         
        .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
        Specified by:
        getUseGeneralizedCpSat in interface RoutingSearchParametersOrBuilder
        Returns:
        The useGeneralizedCpSat.
      • setUseGeneralizedCpSat

        public RoutingSearchParameters.Builder setUseGeneralizedCpSat​(OptionalBoolean value)
         If true, use the CP-SAT solver to find a solution on generalized routing
         model. If use_cp is also true, the CP-SAT solver will be run after the CP
         solver if there is time remaining and will use the CP solution as a hint
         for the CP-SAT search.
         
        .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
        Parameters:
        value - The useGeneralizedCpSat to set.
        Returns:
        This builder for chaining.
      • clearUseGeneralizedCpSat

        public RoutingSearchParameters.Builder clearUseGeneralizedCpSat()
         If true, use the CP-SAT solver to find a solution on generalized routing
         model. If use_cp is also true, the CP-SAT solver will be run after the CP
         solver if there is time remaining and will use the CP solution as a hint
         for the CP-SAT search.
         
        .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
        Returns:
        This builder for chaining.
      • hasSatParameters

        public boolean hasSatParameters()
         If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
         parameters which will be used.
         
        .operations_research.sat.SatParameters sat_parameters = 48;
        Specified by:
        hasSatParameters in interface RoutingSearchParametersOrBuilder
        Returns:
        Whether the satParameters field is set.
      • getSatParameters

        public SatParameters getSatParameters()
         If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
         parameters which will be used.
         
        .operations_research.sat.SatParameters sat_parameters = 48;
        Specified by:
        getSatParameters in interface RoutingSearchParametersOrBuilder
        Returns:
        The satParameters.
      • setSatParameters

        public RoutingSearchParameters.Builder setSatParameters​(SatParameters value)
         If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
         parameters which will be used.
         
        .operations_research.sat.SatParameters sat_parameters = 48;
      • setSatParameters

        public RoutingSearchParameters.Builder setSatParameters​(SatParameters.Builder builderForValue)
         If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
         parameters which will be used.
         
        .operations_research.sat.SatParameters sat_parameters = 48;
      • mergeSatParameters

        public RoutingSearchParameters.Builder mergeSatParameters​(SatParameters value)
         If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
         parameters which will be used.
         
        .operations_research.sat.SatParameters sat_parameters = 48;
      • clearSatParameters

        public RoutingSearchParameters.Builder clearSatParameters()
         If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
         parameters which will be used.
         
        .operations_research.sat.SatParameters sat_parameters = 48;
      • getSatParametersBuilder

        public SatParameters.Builder getSatParametersBuilder()
         If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
         parameters which will be used.
         
        .operations_research.sat.SatParameters sat_parameters = 48;
      • getReportIntermediateCpSatSolutions

        public boolean getReportIntermediateCpSatSolutions()
         If use_cp_sat or use_generalized_cp_sat is true, will report intermediate
         solutions found by CP-SAT to solution listeners.
         
        bool report_intermediate_cp_sat_solutions = 56;
        Specified by:
        getReportIntermediateCpSatSolutions in interface RoutingSearchParametersOrBuilder
        Returns:
        The reportIntermediateCpSatSolutions.
      • setReportIntermediateCpSatSolutions

        public RoutingSearchParameters.Builder setReportIntermediateCpSatSolutions​(boolean value)
         If use_cp_sat or use_generalized_cp_sat is true, will report intermediate
         solutions found by CP-SAT to solution listeners.
         
        bool report_intermediate_cp_sat_solutions = 56;
        Parameters:
        value - The reportIntermediateCpSatSolutions to set.
        Returns:
        This builder for chaining.
      • clearReportIntermediateCpSatSolutions

        public RoutingSearchParameters.Builder clearReportIntermediateCpSatSolutions()
         If use_cp_sat or use_generalized_cp_sat is true, will report intermediate
         solutions found by CP-SAT to solution listeners.
         
        bool report_intermediate_cp_sat_solutions = 56;
        Returns:
        This builder for chaining.
      • getFallbackToCpSatSizeThreshold

        public int getFallbackToCpSatSizeThreshold()
         If model.Size() is less than the threshold and that no solution has been
         found, attempt a pass with CP-SAT.
         
        int32 fallback_to_cp_sat_size_threshold = 52;
        Specified by:
        getFallbackToCpSatSizeThreshold in interface RoutingSearchParametersOrBuilder
        Returns:
        The fallbackToCpSatSizeThreshold.
      • setFallbackToCpSatSizeThreshold

        public RoutingSearchParameters.Builder setFallbackToCpSatSizeThreshold​(int value)
         If model.Size() is less than the threshold and that no solution has been
         found, attempt a pass with CP-SAT.
         
        int32 fallback_to_cp_sat_size_threshold = 52;
        Parameters:
        value - The fallbackToCpSatSizeThreshold to set.
        Returns:
        This builder for chaining.
      • clearFallbackToCpSatSizeThreshold

        public RoutingSearchParameters.Builder clearFallbackToCpSatSizeThreshold()
         If model.Size() is less than the threshold and that no solution has been
         found, attempt a pass with CP-SAT.
         
        int32 fallback_to_cp_sat_size_threshold = 52;
        Returns:
        This builder for chaining.
      • getContinuousSchedulingSolverValue

        public int getContinuousSchedulingSolverValue()
        .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
        Specified by:
        getContinuousSchedulingSolverValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for continuousSchedulingSolver.
      • setContinuousSchedulingSolverValue

        public RoutingSearchParameters.Builder setContinuousSchedulingSolverValue​(int value)
        .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
        Parameters:
        value - The enum numeric value on the wire for continuousSchedulingSolver to set.
        Returns:
        This builder for chaining.
      • clearContinuousSchedulingSolver

        public RoutingSearchParameters.Builder clearContinuousSchedulingSolver()
        .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
        Returns:
        This builder for chaining.
      • getMixedIntegerSchedulingSolverValue

        public int getMixedIntegerSchedulingSolverValue()
        .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
        Specified by:
        getMixedIntegerSchedulingSolverValue in interface RoutingSearchParametersOrBuilder
        Returns:
        The enum numeric value on the wire for mixedIntegerSchedulingSolver.
      • setMixedIntegerSchedulingSolverValue

        public RoutingSearchParameters.Builder setMixedIntegerSchedulingSolverValue​(int value)
        .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
        Parameters:
        value - The enum numeric value on the wire for mixedIntegerSchedulingSolver to set.
        Returns:
        This builder for chaining.
      • setMixedIntegerSchedulingSolver

        public RoutingSearchParameters.Builder setMixedIntegerSchedulingSolver​(RoutingSearchParameters.SchedulingSolver value)
        .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
        Parameters:
        value - The mixedIntegerSchedulingSolver to set.
        Returns:
        This builder for chaining.
      • clearMixedIntegerSchedulingSolver

        public RoutingSearchParameters.Builder clearMixedIntegerSchedulingSolver()
        .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
        Returns:
        This builder for chaining.
      • hasDisableSchedulingBewareThisMayDegradePerformance

        public boolean hasDisableSchedulingBewareThisMayDegradePerformance()
         Setting this to true completely disables the LP and MIP scheduling in the
         solver. This overrides the 2 SchedulingSolver options above.
         
        optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
        Specified by:
        hasDisableSchedulingBewareThisMayDegradePerformance in interface RoutingSearchParametersOrBuilder
        Returns:
        Whether the disableSchedulingBewareThisMayDegradePerformance field is set.
      • getDisableSchedulingBewareThisMayDegradePerformance

        public boolean getDisableSchedulingBewareThisMayDegradePerformance()
         Setting this to true completely disables the LP and MIP scheduling in the
         solver. This overrides the 2 SchedulingSolver options above.
         
        optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
        Specified by:
        getDisableSchedulingBewareThisMayDegradePerformance in interface RoutingSearchParametersOrBuilder
        Returns:
        The disableSchedulingBewareThisMayDegradePerformance.
      • setDisableSchedulingBewareThisMayDegradePerformance

        public RoutingSearchParameters.Builder setDisableSchedulingBewareThisMayDegradePerformance​(boolean value)
         Setting this to true completely disables the LP and MIP scheduling in the
         solver. This overrides the 2 SchedulingSolver options above.
         
        optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
        Parameters:
        value - The disableSchedulingBewareThisMayDegradePerformance to set.
        Returns:
        This builder for chaining.
      • clearDisableSchedulingBewareThisMayDegradePerformance

        public RoutingSearchParameters.Builder clearDisableSchedulingBewareThisMayDegradePerformance()
         Setting this to true completely disables the LP and MIP scheduling in the
         solver. This overrides the 2 SchedulingSolver options above.
         
        optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
        Returns:
        This builder for chaining.
      • getOptimizationStep

        public double getOptimizationStep()
         Minimum step by which the solution must be improved in local search. 0
         means "unspecified". If this value is fractional, it will get rounded to
         the nearest integer.
         
        double optimization_step = 7;
        Specified by:
        getOptimizationStep in interface RoutingSearchParametersOrBuilder
        Returns:
        The optimizationStep.
      • setOptimizationStep

        public RoutingSearchParameters.Builder setOptimizationStep​(double value)
         Minimum step by which the solution must be improved in local search. 0
         means "unspecified". If this value is fractional, it will get rounded to
         the nearest integer.
         
        double optimization_step = 7;
        Parameters:
        value - The optimizationStep to set.
        Returns:
        This builder for chaining.
      • clearOptimizationStep

        public RoutingSearchParameters.Builder clearOptimizationStep()
         Minimum step by which the solution must be improved in local search. 0
         means "unspecified". If this value is fractional, it will get rounded to
         the nearest integer.
         
        double optimization_step = 7;
        Returns:
        This builder for chaining.
      • getNumberOfSolutionsToCollect

        public int getNumberOfSolutionsToCollect()
         Number of solutions to collect during the search. Corresponds to the best
         solutions found during the search. 0 means "unspecified".
         
        int32 number_of_solutions_to_collect = 17;
        Specified by:
        getNumberOfSolutionsToCollect in interface RoutingSearchParametersOrBuilder
        Returns:
        The numberOfSolutionsToCollect.
      • setNumberOfSolutionsToCollect

        public RoutingSearchParameters.Builder setNumberOfSolutionsToCollect​(int value)
         Number of solutions to collect during the search. Corresponds to the best
         solutions found during the search. 0 means "unspecified".
         
        int32 number_of_solutions_to_collect = 17;
        Parameters:
        value - The numberOfSolutionsToCollect to set.
        Returns:
        This builder for chaining.
      • clearNumberOfSolutionsToCollect

        public RoutingSearchParameters.Builder clearNumberOfSolutionsToCollect()
         Number of solutions to collect during the search. Corresponds to the best
         solutions found during the search. 0 means "unspecified".
         
        int32 number_of_solutions_to_collect = 17;
        Returns:
        This builder for chaining.
      • getSolutionLimit

        public long getSolutionLimit()
         -- Search limits --
         Limit to the number of solutions generated during the search. 0 means
         "unspecified".
         
        int64 solution_limit = 8;
        Specified by:
        getSolutionLimit in interface RoutingSearchParametersOrBuilder
        Returns:
        The solutionLimit.
      • setSolutionLimit

        public RoutingSearchParameters.Builder setSolutionLimit​(long value)
         -- Search limits --
         Limit to the number of solutions generated during the search. 0 means
         "unspecified".
         
        int64 solution_limit = 8;
        Parameters:
        value - The solutionLimit to set.
        Returns:
        This builder for chaining.
      • clearSolutionLimit

        public RoutingSearchParameters.Builder clearSolutionLimit()
         -- Search limits --
         Limit to the number of solutions generated during the search. 0 means
         "unspecified".
         
        int64 solution_limit = 8;
        Returns:
        This builder for chaining.
      • hasTimeLimit

        public boolean hasTimeLimit()
         Limit to the time spent in the search.
         
        .google.protobuf.Duration time_limit = 9;
        Specified by:
        hasTimeLimit in interface RoutingSearchParametersOrBuilder
        Returns:
        Whether the timeLimit field is set.
      • getTimeLimit

        public com.google.protobuf.Duration getTimeLimit()
         Limit to the time spent in the search.
         
        .google.protobuf.Duration time_limit = 9;
        Specified by:
        getTimeLimit in interface RoutingSearchParametersOrBuilder
        Returns:
        The timeLimit.
      • setTimeLimit

        public RoutingSearchParameters.Builder setTimeLimit​(com.google.protobuf.Duration value)
         Limit to the time spent in the search.
         
        .google.protobuf.Duration time_limit = 9;
      • setTimeLimit

        public RoutingSearchParameters.Builder setTimeLimit​(com.google.protobuf.Duration.Builder builderForValue)
         Limit to the time spent in the search.
         
        .google.protobuf.Duration time_limit = 9;
      • mergeTimeLimit

        public RoutingSearchParameters.Builder mergeTimeLimit​(com.google.protobuf.Duration value)
         Limit to the time spent in the search.
         
        .google.protobuf.Duration time_limit = 9;
      • clearTimeLimit

        public RoutingSearchParameters.Builder clearTimeLimit()
         Limit to the time spent in the search.
         
        .google.protobuf.Duration time_limit = 9;
      • getTimeLimitBuilder

        public com.google.protobuf.Duration.Builder getTimeLimitBuilder()
         Limit to the time spent in the search.
         
        .google.protobuf.Duration time_limit = 9;
      • hasLnsTimeLimit

        public boolean hasLnsTimeLimit()
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
        Specified by:
        hasLnsTimeLimit in interface RoutingSearchParametersOrBuilder
        Returns:
        Whether the lnsTimeLimit field is set.
      • getLnsTimeLimit

        public com.google.protobuf.Duration getLnsTimeLimit()
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
        Specified by:
        getLnsTimeLimit in interface RoutingSearchParametersOrBuilder
        Returns:
        The lnsTimeLimit.
      • setLnsTimeLimit

        public RoutingSearchParameters.Builder setLnsTimeLimit​(com.google.protobuf.Duration value)
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
      • setLnsTimeLimit

        public RoutingSearchParameters.Builder setLnsTimeLimit​(com.google.protobuf.Duration.Builder builderForValue)
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
      • mergeLnsTimeLimit

        public RoutingSearchParameters.Builder mergeLnsTimeLimit​(com.google.protobuf.Duration value)
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
      • clearLnsTimeLimit

        public RoutingSearchParameters.Builder clearLnsTimeLimit()
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
      • getLnsTimeLimitBuilder

        public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder()
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
      • getLnsTimeLimitOrBuilder

        public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()
         Limit to the time spent in the completion search for each local search
         neighbor.
         
        .google.protobuf.Duration lns_time_limit = 10;
        Specified by:
        getLnsTimeLimitOrBuilder in interface RoutingSearchParametersOrBuilder
      • getSecondaryLsTimeLimitRatio

        public double getSecondaryLsTimeLimitRatio()
         Ratio of the overall time limit spent in a secondary LS phase with only
         intra-route and insertion operators, meant to "cleanup" the current
         solution before stopping the search.
         TODO(user): Since these operators are very fast, add a parameter to cap
         the max time allocated for this second phase (e.g.
         Duration max_secondary_ls_time_limit).
         
        double secondary_ls_time_limit_ratio = 57;
        Specified by:
        getSecondaryLsTimeLimitRatio in interface RoutingSearchParametersOrBuilder
        Returns:
        The secondaryLsTimeLimitRatio.
      • setSecondaryLsTimeLimitRatio

        public RoutingSearchParameters.Builder setSecondaryLsTimeLimitRatio​(double value)
         Ratio of the overall time limit spent in a secondary LS phase with only
         intra-route and insertion operators, meant to "cleanup" the current
         solution before stopping the search.
         TODO(user): Since these operators are very fast, add a parameter to cap
         the max time allocated for this second phase (e.g.
         Duration max_secondary_ls_time_limit).
         
        double secondary_ls_time_limit_ratio = 57;
        Parameters:
        value - The secondaryLsTimeLimitRatio to set.
        Returns:
        This builder for chaining.
      • clearSecondaryLsTimeLimitRatio

        public RoutingSearchParameters.Builder clearSecondaryLsTimeLimitRatio()
         Ratio of the overall time limit spent in a secondary LS phase with only
         intra-route and insertion operators, meant to "cleanup" the current
         solution before stopping the search.
         TODO(user): Since these operators are very fast, add a parameter to cap
         the max time allocated for this second phase (e.g.
         Duration max_secondary_ls_time_limit).
         
        double secondary_ls_time_limit_ratio = 57;
        Returns:
        This builder for chaining.
      • hasImprovementLimitParameters

        public boolean hasImprovementLimitParameters()
         The improvement search limit is added to the solver if the following
         parameters are set.
         
        .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
        Specified by:
        hasImprovementLimitParameters in interface RoutingSearchParametersOrBuilder
        Returns:
        Whether the improvementLimitParameters field is set.
      • clearImprovementLimitParameters

        public RoutingSearchParameters.Builder clearImprovementLimitParameters()
         The improvement search limit is added to the solver if the following
         parameters are set.
         
        .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
      • getImprovementLimitParametersBuilder

        public RoutingSearchParameters.ImprovementSearchLimitParameters.Builder getImprovementLimitParametersBuilder()
         The improvement search limit is added to the solver if the following
         parameters are set.
         
        .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
      • getUseFullPropagation

        public boolean getUseFullPropagation()
         --- Propagation control ---
         These are advanced settings which should not be modified unless you know
         what you are doing.
        
         Use constraints with full propagation in routing model (instead of 'light'
         propagation only). Full propagation is only necessary when using
         depth-first search or for models which require strong propagation to
         finalize the value of secondary variables.
         Changing this setting to true will slow down the search in most cases and
         increase memory consumption in all cases.
         
        bool use_full_propagation = 11;
        Specified by:
        getUseFullPropagation in interface RoutingSearchParametersOrBuilder
        Returns:
        The useFullPropagation.
      • setUseFullPropagation

        public RoutingSearchParameters.Builder setUseFullPropagation​(boolean value)
         --- Propagation control ---
         These are advanced settings which should not be modified unless you know
         what you are doing.
        
         Use constraints with full propagation in routing model (instead of 'light'
         propagation only). Full propagation is only necessary when using
         depth-first search or for models which require strong propagation to
         finalize the value of secondary variables.
         Changing this setting to true will slow down the search in most cases and
         increase memory consumption in all cases.
         
        bool use_full_propagation = 11;
        Parameters:
        value - The useFullPropagation to set.
        Returns:
        This builder for chaining.
      • clearUseFullPropagation

        public RoutingSearchParameters.Builder clearUseFullPropagation()
         --- Propagation control ---
         These are advanced settings which should not be modified unless you know
         what you are doing.
        
         Use constraints with full propagation in routing model (instead of 'light'
         propagation only). Full propagation is only necessary when using
         depth-first search or for models which require strong propagation to
         finalize the value of secondary variables.
         Changing this setting to true will slow down the search in most cases and
         increase memory consumption in all cases.
         
        bool use_full_propagation = 11;
        Returns:
        This builder for chaining.
      • getLogSearch

        public boolean getLogSearch()
         --- Miscellaneous ---
         Some of these are advanced settings which should not be modified unless you
         know what you are doing.
        
         Activates search logging. For each solution found during the search, the
         following will be displayed: its objective value, the maximum objective
         value since the beginning of the search, the elapsed time since the
         beginning of the search, the number of branches explored in the search
         tree, the number of failures in the search tree, the depth of the search
         tree, the number of local search neighbors explored, the number of local
         search neighbors filtered by local search filters, the number of local
         search neighbors accepted, the total memory used and the percentage of the
         search done.
         
        bool log_search = 13;
        Specified by:
        getLogSearch in interface RoutingSearchParametersOrBuilder
        Returns:
        The logSearch.
      • setLogSearch

        public RoutingSearchParameters.Builder setLogSearch​(boolean value)
         --- Miscellaneous ---
         Some of these are advanced settings which should not be modified unless you
         know what you are doing.
        
         Activates search logging. For each solution found during the search, the
         following will be displayed: its objective value, the maximum objective
         value since the beginning of the search, the elapsed time since the
         beginning of the search, the number of branches explored in the search
         tree, the number of failures in the search tree, the depth of the search
         tree, the number of local search neighbors explored, the number of local
         search neighbors filtered by local search filters, the number of local
         search neighbors accepted, the total memory used and the percentage of the
         search done.
         
        bool log_search = 13;
        Parameters:
        value - The logSearch to set.
        Returns:
        This builder for chaining.
      • clearLogSearch

        public RoutingSearchParameters.Builder clearLogSearch()
         --- Miscellaneous ---
         Some of these are advanced settings which should not be modified unless you
         know what you are doing.
        
         Activates search logging. For each solution found during the search, the
         following will be displayed: its objective value, the maximum objective
         value since the beginning of the search, the elapsed time since the
         beginning of the search, the number of branches explored in the search
         tree, the number of failures in the search tree, the depth of the search
         tree, the number of local search neighbors explored, the number of local
         search neighbors filtered by local search filters, the number of local
         search neighbors accepted, the total memory used and the percentage of the
         search done.
         
        bool log_search = 13;
        Returns:
        This builder for chaining.
      • getLogCostScalingFactor

        public double getLogCostScalingFactor()
         In logs, cost values will be scaled and offset by the given values in the
         following way: log_cost_scaling_factor * (cost + log_cost_offset)
         
        double log_cost_scaling_factor = 22;
        Specified by:
        getLogCostScalingFactor in interface RoutingSearchParametersOrBuilder
        Returns:
        The logCostScalingFactor.
      • setLogCostScalingFactor

        public RoutingSearchParameters.Builder setLogCostScalingFactor​(double value)
         In logs, cost values will be scaled and offset by the given values in the
         following way: log_cost_scaling_factor * (cost + log_cost_offset)
         
        double log_cost_scaling_factor = 22;
        Parameters:
        value - The logCostScalingFactor to set.
        Returns:
        This builder for chaining.
      • clearLogCostScalingFactor

        public RoutingSearchParameters.Builder clearLogCostScalingFactor()
         In logs, cost values will be scaled and offset by the given values in the
         following way: log_cost_scaling_factor * (cost + log_cost_offset)
         
        double log_cost_scaling_factor = 22;
        Returns:
        This builder for chaining.
      • setLogCostOffset

        public RoutingSearchParameters.Builder setLogCostOffset​(double value)
        double log_cost_offset = 29;
        Parameters:
        value - The logCostOffset to set.
        Returns:
        This builder for chaining.
      • getLogTag

        public java.lang.String getLogTag()
         In logs, this tag will be appended to each line corresponding to a new
         solution. Useful to sort out logs when several solves are run in parallel.
         
        string log_tag = 36;
        Specified by:
        getLogTag in interface RoutingSearchParametersOrBuilder
        Returns:
        The logTag.
      • getLogTagBytes

        public com.google.protobuf.ByteString getLogTagBytes()
         In logs, this tag will be appended to each line corresponding to a new
         solution. Useful to sort out logs when several solves are run in parallel.
         
        string log_tag = 36;
        Specified by:
        getLogTagBytes in interface RoutingSearchParametersOrBuilder
        Returns:
        The bytes for logTag.
      • setLogTag

        public RoutingSearchParameters.Builder setLogTag​(java.lang.String value)
         In logs, this tag will be appended to each line corresponding to a new
         solution. Useful to sort out logs when several solves are run in parallel.
         
        string log_tag = 36;
        Parameters:
        value - The logTag to set.
        Returns:
        This builder for chaining.
      • clearLogTag

        public RoutingSearchParameters.Builder clearLogTag()
         In logs, this tag will be appended to each line corresponding to a new
         solution. Useful to sort out logs when several solves are run in parallel.
         
        string log_tag = 36;
        Returns:
        This builder for chaining.
      • setLogTagBytes

        public RoutingSearchParameters.Builder setLogTagBytes​(com.google.protobuf.ByteString value)
         In logs, this tag will be appended to each line corresponding to a new
         solution. Useful to sort out logs when several solves are run in parallel.
         
        string log_tag = 36;
        Parameters:
        value - The bytes for logTag to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final RoutingSearchParameters.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>
      • mergeUnknownFields

        public final RoutingSearchParameters.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RoutingSearchParameters.Builder>