Class RoutingSearchParameters

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.ortools.constraintsolver.RoutingSearchParameters
All Implemented Interfaces:
RoutingSearchParametersOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class RoutingSearchParameters extends com.google.protobuf.GeneratedMessage 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: 68
 
Protobuf type operations_research.RoutingSearchParameters
See Also:
  • Field Details

    • FIRST_SOLUTION_STRATEGY_FIELD_NUMBER

      public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
      See Also:
    • USE_UNFILTERED_FIRST_SOLUTION_STRATEGY_FIELD_NUMBER

      public static final int USE_UNFILTERED_FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
      See Also:
    • SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER

      public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER
      See Also:
    • SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER

      public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER
      See Also:
    • SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER

      public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER
      See Also:
    • SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER

      public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER
      See Also:
    • CHEAPEST_INSERTION_FARTHEST_SEEDS_RATIO_FIELD_NUMBER

      public static final int CHEAPEST_INSERTION_FARTHEST_SEEDS_RATIO_FIELD_NUMBER
      See Also:
    • CHEAPEST_INSERTION_FIRST_SOLUTION_NEIGHBORS_RATIO_FIELD_NUMBER

      public static final int CHEAPEST_INSERTION_FIRST_SOLUTION_NEIGHBORS_RATIO_FIELD_NUMBER
      See Also:
    • CHEAPEST_INSERTION_FIRST_SOLUTION_MIN_NEIGHBORS_FIELD_NUMBER

      public static final int CHEAPEST_INSERTION_FIRST_SOLUTION_MIN_NEIGHBORS_FIELD_NUMBER
      See Also:
    • CHEAPEST_INSERTION_LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER

      public static final int CHEAPEST_INSERTION_LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER
      See Also:
    • CHEAPEST_INSERTION_LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER

      public static final int CHEAPEST_INSERTION_LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER
      See Also:
    • CHEAPEST_INSERTION_FIRST_SOLUTION_USE_NEIGHBORS_RATIO_FOR_INITIALIZATION_FIELD_NUMBER

      public static final int CHEAPEST_INSERTION_FIRST_SOLUTION_USE_NEIGHBORS_RATIO_FOR_INITIALIZATION_FIELD_NUMBER
      See Also:
    • CHEAPEST_INSERTION_ADD_UNPERFORMED_ENTRIES_FIELD_NUMBER

      public static final int CHEAPEST_INSERTION_ADD_UNPERFORMED_ENTRIES_FIELD_NUMBER
      See Also:
    • LOCAL_CHEAPEST_INSERTION_PICKUP_DELIVERY_STRATEGY_FIELD_NUMBER

      public static final int LOCAL_CHEAPEST_INSERTION_PICKUP_DELIVERY_STRATEGY_FIELD_NUMBER
      See Also:
    • LOCAL_CHEAPEST_COST_INSERTION_PICKUP_DELIVERY_STRATEGY_FIELD_NUMBER

      public static final int LOCAL_CHEAPEST_COST_INSERTION_PICKUP_DELIVERY_STRATEGY_FIELD_NUMBER
      See Also:
    • LOCAL_CHEAPEST_INSERTION_SORTING_PROPERTIES_FIELD_NUMBER

      public static final int LOCAL_CHEAPEST_INSERTION_SORTING_PROPERTIES_FIELD_NUMBER
      See Also:
    • CHRISTOFIDES_USE_MINIMUM_MATCHING_FIELD_NUMBER

      public static final int CHRISTOFIDES_USE_MINIMUM_MATCHING_FIELD_NUMBER
      See Also:
    • FIRST_SOLUTION_OPTIMIZATION_PERIOD_FIELD_NUMBER

      public static final int FIRST_SOLUTION_OPTIMIZATION_PERIOD_FIELD_NUMBER
      See Also:
    • LOCAL_SEARCH_OPERATORS_FIELD_NUMBER

      public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER
      See Also:
    • LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER

      public static final int LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER
      See Also:
    • LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER

      public static final int LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER
      See Also:
    • USE_MULTI_ARMED_BANDIT_CONCATENATE_OPERATORS_FIELD_NUMBER

      public static final int USE_MULTI_ARMED_BANDIT_CONCATENATE_OPERATORS_FIELD_NUMBER
      See Also:
    • MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_MEMORY_COEFFICIENT_FIELD_NUMBER

      public static final int MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_MEMORY_COEFFICIENT_FIELD_NUMBER
      See Also:
    • MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_EXPLORATION_COEFFICIENT_FIELD_NUMBER

      public static final int MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_EXPLORATION_COEFFICIENT_FIELD_NUMBER
      See Also:
    • MAX_SWAP_ACTIVE_CHAIN_SIZE_FIELD_NUMBER

      public static final int MAX_SWAP_ACTIVE_CHAIN_SIZE_FIELD_NUMBER
      See Also:
    • RELOCATE_EXPENSIVE_CHAIN_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER

      public static final int RELOCATE_EXPENSIVE_CHAIN_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
      See Also:
    • HEURISTIC_EXPENSIVE_CHAIN_LNS_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER

      public static final int HEURISTIC_EXPENSIVE_CHAIN_LNS_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
      See Also:
    • HEURISTIC_CLOSE_NODES_LNS_NUM_NODES_FIELD_NUMBER

      public static final int HEURISTIC_CLOSE_NODES_LNS_NUM_NODES_FIELD_NUMBER
      See Also:
    • LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER

      public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER
      See Also:
    • LOCAL_SEARCH_METAHEURISTICS_FIELD_NUMBER

      public static final int LOCAL_SEARCH_METAHEURISTICS_FIELD_NUMBER
      See Also:
    • NUM_MAX_LOCAL_OPTIMA_BEFORE_METAHEURISTIC_SWITCH_FIELD_NUMBER

      public static final int NUM_MAX_LOCAL_OPTIMA_BEFORE_METAHEURISTIC_SWITCH_FIELD_NUMBER
      See Also:
    • GUIDED_LOCAL_SEARCH_LAMBDA_COEFFICIENT_FIELD_NUMBER

      public static final int GUIDED_LOCAL_SEARCH_LAMBDA_COEFFICIENT_FIELD_NUMBER
      See Also:
    • GUIDED_LOCAL_SEARCH_RESET_PENALTIES_ON_NEW_BEST_SOLUTION_FIELD_NUMBER

      public static final int GUIDED_LOCAL_SEARCH_RESET_PENALTIES_ON_NEW_BEST_SOLUTION_FIELD_NUMBER
      See Also:
    • GUIDED_LOCAL_SEARCH_PENALIZE_WITH_VEHICLE_CLASSES_FIELD_NUMBER

      public static final int GUIDED_LOCAL_SEARCH_PENALIZE_WITH_VEHICLE_CLASSES_FIELD_NUMBER
      See Also:
    • USE_GUIDED_LOCAL_SEARCH_PENALTIES_IN_LOCAL_SEARCH_OPERATORS_FIELD_NUMBER

      public static final int USE_GUIDED_LOCAL_SEARCH_PENALTIES_IN_LOCAL_SEARCH_OPERATORS_FIELD_NUMBER
      See Also:
    • USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER

      public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER
      See Also:
    • USE_CP_FIELD_NUMBER

      public static final int USE_CP_FIELD_NUMBER
      See Also:
    • USE_CP_SAT_FIELD_NUMBER

      public static final int USE_CP_SAT_FIELD_NUMBER
      See Also:
    • USE_GENERALIZED_CP_SAT_FIELD_NUMBER

      public static final int USE_GENERALIZED_CP_SAT_FIELD_NUMBER
      See Also:
    • SAT_PARAMETERS_FIELD_NUMBER

      public static final int SAT_PARAMETERS_FIELD_NUMBER
      See Also:
    • REPORT_INTERMEDIATE_CP_SAT_SOLUTIONS_FIELD_NUMBER

      public static final int REPORT_INTERMEDIATE_CP_SAT_SOLUTIONS_FIELD_NUMBER
      See Also:
    • FALLBACK_TO_CP_SAT_SIZE_THRESHOLD_FIELD_NUMBER

      public static final int FALLBACK_TO_CP_SAT_SIZE_THRESHOLD_FIELD_NUMBER
      See Also:
    • CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER

      public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER
      See Also:
    • MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER

      public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER
      See Also:
    • DISABLE_SCHEDULING_BEWARE_THIS_MAY_DEGRADE_PERFORMANCE_FIELD_NUMBER

      public static final int DISABLE_SCHEDULING_BEWARE_THIS_MAY_DEGRADE_PERFORMANCE_FIELD_NUMBER
      See Also:
    • OPTIMIZATION_STEP_FIELD_NUMBER

      public static final int OPTIMIZATION_STEP_FIELD_NUMBER
      See Also:
    • NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER

      public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER
      See Also:
    • SOLUTION_LIMIT_FIELD_NUMBER

      public static final int SOLUTION_LIMIT_FIELD_NUMBER
      See Also:
    • TIME_LIMIT_FIELD_NUMBER

      public static final int TIME_LIMIT_FIELD_NUMBER
      See Also:
    • LNS_TIME_LIMIT_FIELD_NUMBER

      public static final int LNS_TIME_LIMIT_FIELD_NUMBER
      See Also:
    • SECONDARY_LS_TIME_LIMIT_RATIO_FIELD_NUMBER

      public static final int SECONDARY_LS_TIME_LIMIT_RATIO_FIELD_NUMBER
      See Also:
    • IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER

      public static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER
      See Also:
    • USE_FULL_PROPAGATION_FIELD_NUMBER

      public static final int USE_FULL_PROPAGATION_FIELD_NUMBER
      See Also:
    • LOG_SEARCH_FIELD_NUMBER

      public static final int LOG_SEARCH_FIELD_NUMBER
      See Also:
    • LOG_COST_SCALING_FACTOR_FIELD_NUMBER

      public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER
      See Also:
    • LOG_COST_OFFSET_FIELD_NUMBER

      public static final int LOG_COST_OFFSET_FIELD_NUMBER
      See Also:
    • LOG_TAG_FIELD_NUMBER

      public static final int LOG_TAG_FIELD_NUMBER
      See Also:
    • USE_ITERATED_LOCAL_SEARCH_FIELD_NUMBER

      public static final int USE_ITERATED_LOCAL_SEARCH_FIELD_NUMBER
      See Also:
    • ITERATED_LOCAL_SEARCH_PARAMETERS_FIELD_NUMBER

      public static final int ITERATED_LOCAL_SEARCH_PARAMETERS_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • 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.
    • getFirstSolutionStrategy

      public FirstSolutionStrategy.Value getFirstSolutionStrategy()
       First solution strategies, used as starting point of local search.
       
      .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
      Specified by:
      getFirstSolutionStrategy in interface RoutingSearchParametersOrBuilder
      Returns:
      The firstSolutionStrategy.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • getCheapestInsertionFirstSolutionMinNeighbors

      public int getCheapestInsertionFirstSolutionMinNeighbors()
      int32 cheapest_insertion_first_solution_min_neighbors = 44;
      Specified by:
      getCheapestInsertionFirstSolutionMinNeighbors in interface RoutingSearchParametersOrBuilder
      Returns:
      The cheapestInsertionFirstSolutionMinNeighbors.
    • 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.
    • getCheapestInsertionLsOperatorMinNeighbors

      public int getCheapestInsertionLsOperatorMinNeighbors()
      int32 cheapest_insertion_ls_operator_min_neighbors = 45;
      Specified by:
      getCheapestInsertionLsOperatorMinNeighbors in interface RoutingSearchParametersOrBuilder
      Returns:
      The cheapestInsertionLsOperatorMinNeighbors.
    • 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.
    • 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.
    • 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.
    • getLocalCheapestInsertionPickupDeliveryStrategy

      public RoutingSearchParameters.PairInsertionStrategy getLocalCheapestInsertionPickupDeliveryStrategy()
       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:
      getLocalCheapestInsertionPickupDeliveryStrategy in interface RoutingSearchParametersOrBuilder
      Returns:
      The localCheapestInsertionPickupDeliveryStrategy.
    • 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.
    • getLocalCheapestCostInsertionPickupDeliveryStrategy

      public RoutingSearchParameters.PairInsertionStrategy getLocalCheapestCostInsertionPickupDeliveryStrategy()
       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:
      getLocalCheapestCostInsertionPickupDeliveryStrategy in interface RoutingSearchParametersOrBuilder
      Returns:
      The localCheapestCostInsertionPickupDeliveryStrategy.
    • getLocalCheapestInsertionSortingPropertiesList

      public List<RoutingSearchParameters.InsertionSortingProperty> getLocalCheapestInsertionSortingPropertiesList()
       The properties used to sort insertion entries in the local cheapest
       insertion heuristic, in *decreasing* order of priority. The properties
       listed here are applied hierarchically, from highest to lowest priority.
       When no properties are provided
       (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY)
       is used by default.
       
      repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
      Specified by:
      getLocalCheapestInsertionSortingPropertiesList in interface RoutingSearchParametersOrBuilder
      Returns:
      A list containing the localCheapestInsertionSortingProperties.
    • getLocalCheapestInsertionSortingPropertiesCount

      public int getLocalCheapestInsertionSortingPropertiesCount()
       The properties used to sort insertion entries in the local cheapest
       insertion heuristic, in *decreasing* order of priority. The properties
       listed here are applied hierarchically, from highest to lowest priority.
       When no properties are provided
       (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY)
       is used by default.
       
      repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
      Specified by:
      getLocalCheapestInsertionSortingPropertiesCount in interface RoutingSearchParametersOrBuilder
      Returns:
      The count of localCheapestInsertionSortingProperties.
    • getLocalCheapestInsertionSortingProperties

      public RoutingSearchParameters.InsertionSortingProperty getLocalCheapestInsertionSortingProperties(int index)
       The properties used to sort insertion entries in the local cheapest
       insertion heuristic, in *decreasing* order of priority. The properties
       listed here are applied hierarchically, from highest to lowest priority.
       When no properties are provided
       (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY)
       is used by default.
       
      repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
      Specified by:
      getLocalCheapestInsertionSortingProperties in interface RoutingSearchParametersOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The localCheapestInsertionSortingProperties at the given index.
    • getLocalCheapestInsertionSortingPropertiesValueList

      public List<Integer> getLocalCheapestInsertionSortingPropertiesValueList()
       The properties used to sort insertion entries in the local cheapest
       insertion heuristic, in *decreasing* order of priority. The properties
       listed here are applied hierarchically, from highest to lowest priority.
       When no properties are provided
       (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY)
       is used by default.
       
      repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
      Specified by:
      getLocalCheapestInsertionSortingPropertiesValueList in interface RoutingSearchParametersOrBuilder
      Returns:
      A list containing the enum numeric values on the wire for localCheapestInsertionSortingProperties.
    • getLocalCheapestInsertionSortingPropertiesValue

      public int getLocalCheapestInsertionSortingPropertiesValue(int index)
       The properties used to sort insertion entries in the local cheapest
       insertion heuristic, in *decreasing* order of priority. The properties
       listed here are applied hierarchically, from highest to lowest priority.
       When no properties are provided
       (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY)
       is used by default.
       
      repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
      Specified by:
      getLocalCheapestInsertionSortingPropertiesValue in interface RoutingSearchParametersOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The enum numeric value on the wire of localCheapestInsertionSortingProperties at the given index.
    • 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.
    • getFirstSolutionOptimizationPeriod

      public int getFirstSolutionOptimizationPeriod()
       If non zero, a period p indicates that every p node insertions or additions
       to a path, an optimization of the current partial solution will be
       performed. As of 12/2023:
       - this requires that a secondary routing model has been passed to the main
       one,
       - this is only supported by LOCAL_CHEAPEST_INSERTION and
       LOCAL_CHEAPEST_COST_INSERTION.
       
      int32 first_solution_optimization_period = 59;
      Specified by:
      getFirstSolutionOptimizationPeriod in interface RoutingSearchParametersOrBuilder
      Returns:
      The firstSolutionOptimizationPeriod.
    • 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.
    • getLocalSearchOperators

      .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
      Specified by:
      getLocalSearchOperators in interface RoutingSearchParametersOrBuilder
      Returns:
      The localSearchOperators.
    • getLocalSearchOperatorsOrBuilder

      public RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
      .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
      Specified by:
      getLocalSearchOperatorsOrBuilder in interface RoutingSearchParametersOrBuilder
    • 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.
    • getLsOperatorMinNeighbors

      public int getLsOperatorMinNeighbors()
      int32 ls_operator_min_neighbors = 54;
      Specified by:
      getLsOperatorMinNeighbors in interface RoutingSearchParametersOrBuilder
      Returns:
      The lsOperatorMinNeighbors.
    • 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.
    • 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.
    • 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.
    • getMaxSwapActiveChainSize

      public int getMaxSwapActiveChainSize()
       Maximum size of the chain to make inactive in SwapActiveChainOperator.
       
      int32 max_swap_active_chain_size = 66;
      Specified by:
      getMaxSwapActiveChainSize in interface RoutingSearchParametersOrBuilder
      Returns:
      The maxSwapActiveChainSize.
    • 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.
    • 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.
    • 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.
    • 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.
    • getLocalSearchMetaheuristic

      public LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
       Local search metaheuristics used to guide the search.
       
      .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
      Specified by:
      getLocalSearchMetaheuristic in interface RoutingSearchParametersOrBuilder
      Returns:
      The localSearchMetaheuristic.
    • getLocalSearchMetaheuristicsList

      public List<LocalSearchMetaheuristic.Value> getLocalSearchMetaheuristicsList()
       Local search metaheuristics alternatively used to guide the search. Every
       num_max_local_optima_before_metaheuristic_switch local minima found by a
       metaheurisitic, the solver will switch to the next metaheuristic. Cannot be
       defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
       
      repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
      Specified by:
      getLocalSearchMetaheuristicsList in interface RoutingSearchParametersOrBuilder
      Returns:
      A list containing the localSearchMetaheuristics.
    • getLocalSearchMetaheuristicsCount

      public int getLocalSearchMetaheuristicsCount()
       Local search metaheuristics alternatively used to guide the search. Every
       num_max_local_optima_before_metaheuristic_switch local minima found by a
       metaheurisitic, the solver will switch to the next metaheuristic. Cannot be
       defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
       
      repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
      Specified by:
      getLocalSearchMetaheuristicsCount in interface RoutingSearchParametersOrBuilder
      Returns:
      The count of localSearchMetaheuristics.
    • getLocalSearchMetaheuristics

      public LocalSearchMetaheuristic.Value getLocalSearchMetaheuristics(int index)
       Local search metaheuristics alternatively used to guide the search. Every
       num_max_local_optima_before_metaheuristic_switch local minima found by a
       metaheurisitic, the solver will switch to the next metaheuristic. Cannot be
       defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
       
      repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
      Specified by:
      getLocalSearchMetaheuristics in interface RoutingSearchParametersOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The localSearchMetaheuristics at the given index.
    • getLocalSearchMetaheuristicsValueList

      public List<Integer> getLocalSearchMetaheuristicsValueList()
       Local search metaheuristics alternatively used to guide the search. Every
       num_max_local_optima_before_metaheuristic_switch local minima found by a
       metaheurisitic, the solver will switch to the next metaheuristic. Cannot be
       defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
       
      repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
      Specified by:
      getLocalSearchMetaheuristicsValueList in interface RoutingSearchParametersOrBuilder
      Returns:
      A list containing the enum numeric values on the wire for localSearchMetaheuristics.
    • getLocalSearchMetaheuristicsValue

      public int getLocalSearchMetaheuristicsValue(int index)
       Local search metaheuristics alternatively used to guide the search. Every
       num_max_local_optima_before_metaheuristic_switch local minima found by a
       metaheurisitic, the solver will switch to the next metaheuristic. Cannot be
       defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
       
      repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
      Specified by:
      getLocalSearchMetaheuristicsValue in interface RoutingSearchParametersOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The enum numeric value on the wire of localSearchMetaheuristics at the given index.
    • getNumMaxLocalOptimaBeforeMetaheuristicSwitch

      public int getNumMaxLocalOptimaBeforeMetaheuristicSwitch()
      int32 num_max_local_optima_before_metaheuristic_switch = 64;
      Specified by:
      getNumMaxLocalOptimaBeforeMetaheuristicSwitch in interface RoutingSearchParametersOrBuilder
      Returns:
      The numMaxLocalOptimaBeforeMetaheuristicSwitch.
    • 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.
    • 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.
    • getGuidedLocalSearchPenalizeWithVehicleClasses

      public boolean getGuidedLocalSearchPenalizeWithVehicleClasses()
       When an arc leaving a vehicle start or arriving at a vehicle end is
       penalized, this field controls whether to penalize all other equivalent
       arcs with starts or ends in the same vehicle class.
       
      bool guided_local_search_penalize_with_vehicle_classes = 61;
      Specified by:
      getGuidedLocalSearchPenalizeWithVehicleClasses in interface RoutingSearchParametersOrBuilder
      Returns:
      The guidedLocalSearchPenalizeWithVehicleClasses.
    • getUseGuidedLocalSearchPenaltiesInLocalSearchOperators

      public boolean getUseGuidedLocalSearchPenaltiesInLocalSearchOperators()
       Whether to consider arc penalties in cost functions used in local search
       operators using arc costs.
       
      bool use_guided_local_search_penalties_in_local_search_operators = 62;
      Specified by:
      getUseGuidedLocalSearchPenaltiesInLocalSearchOperators in interface RoutingSearchParametersOrBuilder
      Returns:
      The useGuidedLocalSearchPenaltiesInLocalSearchOperators.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • getSatParametersOrBuilder

      public SatParametersOrBuilder getSatParametersOrBuilder()
       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:
      getSatParametersOrBuilder in interface RoutingSearchParametersOrBuilder
    • 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.
    • 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.
    • 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.
    • getContinuousSchedulingSolver

      public RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
      .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
      Specified by:
      getContinuousSchedulingSolver in interface RoutingSearchParametersOrBuilder
      Returns:
      The continuousSchedulingSolver.
    • 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.
    • getMixedIntegerSchedulingSolver

      public RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
      .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
      Specified by:
      getMixedIntegerSchedulingSolver in interface RoutingSearchParametersOrBuilder
      Returns:
      The mixedIntegerSchedulingSolver.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • getTimeLimitOrBuilder

      public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
       Limit to the time spent in the search.
       
      .google.protobuf.Duration time_limit = 9;
      Specified by:
      getTimeLimitOrBuilder in interface RoutingSearchParametersOrBuilder
    • 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.
    • 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.
    • 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.
    • getImprovementLimitParameters

      public RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
       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:
      getImprovementLimitParameters in interface RoutingSearchParametersOrBuilder
      Returns:
      The improvementLimitParameters.
    • getImprovementLimitParametersOrBuilder

      public RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
       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:
      getImprovementLimitParametersOrBuilder in interface RoutingSearchParametersOrBuilder
    • 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.
    • 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.
    • 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.
    • getLogCostOffset

      public double getLogCostOffset()
      double log_cost_offset = 29;
      Specified by:
      getLogCostOffset in interface RoutingSearchParametersOrBuilder
      Returns:
      The logCostOffset.
    • getLogTag

      public 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.
    • getUseIteratedLocalSearch

      public boolean getUseIteratedLocalSearch()
       Whether the solver should use an Iterated Local Search approach to solve
       the problem.
       
      bool use_iterated_local_search = 58;
      Specified by:
      getUseIteratedLocalSearch in interface RoutingSearchParametersOrBuilder
      Returns:
      The useIteratedLocalSearch.
    • hasIteratedLocalSearchParameters

      public boolean hasIteratedLocalSearchParameters()
       Iterated Local Search parameters.
       
      .operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
      Specified by:
      hasIteratedLocalSearchParameters in interface RoutingSearchParametersOrBuilder
      Returns:
      Whether the iteratedLocalSearchParameters field is set.
    • getIteratedLocalSearchParameters

      public IteratedLocalSearchParameters getIteratedLocalSearchParameters()
       Iterated Local Search parameters.
       
      .operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
      Specified by:
      getIteratedLocalSearchParameters in interface RoutingSearchParametersOrBuilder
      Returns:
      The iteratedLocalSearchParameters.
    • getIteratedLocalSearchParametersOrBuilder

      public IteratedLocalSearchParametersOrBuilder getIteratedLocalSearchParametersOrBuilder()
       Iterated Local Search parameters.
       
      .operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
      Specified by:
      getIteratedLocalSearchParametersOrBuilder in interface RoutingSearchParametersOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static RoutingSearchParameters parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RoutingSearchParameters parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RoutingSearchParameters parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RoutingSearchParameters parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RoutingSearchParameters parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RoutingSearchParameters parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RoutingSearchParameters parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

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

      public static RoutingSearchParameters.Builder newBuilder()
    • newBuilder

      public static RoutingSearchParameters.Builder newBuilder(RoutingSearchParameters prototype)
    • toBuilder

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

      protected RoutingSearchParameters.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static RoutingSearchParameters getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<RoutingSearchParameters> parser()
    • getParserForType

      public com.google.protobuf.Parser<RoutingSearchParameters> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

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