All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: ortools/constraint_solver/routing_parameters.proto

package com.google.ortools.constraintsolver;

public interface RoutingSearchParametersOrBuilder extends
    // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters)
    com.google.protobuf.MessageOrBuilder {

  /**
   * 
   * First solution strategies, used as starting point of local search.
   * 
* * .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1; * @return The enum numeric value on the wire for firstSolutionStrategy. */ int getFirstSolutionStrategyValue(); /** *
   * First solution strategies, used as starting point of local search.
   * 
* * .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1; * @return The firstSolutionStrategy. */ com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy(); /** *
   * --- 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; * @return The useUnfilteredFirstSolutionStrategy. */ boolean getUseUnfilteredFirstSolutionStrategy(); /** *
   * 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; * @return The savingsNeighborsRatio. */ double getSavingsNeighborsRatio(); /** *
   * 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; * @return The savingsMaxMemoryUsageBytes. */ double getSavingsMaxMemoryUsageBytes(); /** *
   * Add savings related to reverse arcs when finding the nearest neighbors
   * of the nodes.
   * 
* * bool savings_add_reverse_arcs = 15; * @return The savingsAddReverseArcs. */ boolean getSavingsAddReverseArcs(); /** *
   * 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; * @return The savingsArcCoefficient. */ double getSavingsArcCoefficient(); /** *
   * When true, the routes are built in parallel, sequentially otherwise.
   * 
* * bool savings_parallel_routes = 19; * @return The savingsParallelRoutes. */ boolean getSavingsParallelRoutes(); /** *
   * 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; * @return The cheapestInsertionFarthestSeedsRatio. */ double getCheapestInsertionFarthestSeedsRatio(); /** *
   * Ratio (in ]0, 1]) of neighbors to consider 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.
   * Neighbors ratio for the first solution heuristic.
   * 
* * double cheapest_insertion_first_solution_neighbors_ratio = 21; * @return The cheapestInsertionFirstSolutionNeighborsRatio. */ double getCheapestInsertionFirstSolutionNeighborsRatio(); /** *
   * Neighbors ratio 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; * @return The cheapestInsertionLsOperatorNeighborsRatio. */ double getCheapestInsertionLsOperatorNeighborsRatio(); /** *
   * If true use minimum matching instead of minimal matching in the
   * Christofides algorithm.
   * 
* * bool christofides_use_minimum_matching = 30; * @return The christofidesUseMinimumMatching. */ boolean getChristofidesUseMinimumMatching(); /** * .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3; * @return Whether the localSearchOperators field is set. */ boolean hasLocalSearchOperators(); /** * .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3; * @return The localSearchOperators. */ com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators(); /** * .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3; */ com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder(); /** *
   * 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; * @return The relocateExpensiveChainNumArcsToConsider. */ int getRelocateExpensiveChainNumArcsToConsider(); /** *
   * Number of expensive arcs to consider cutting in the
   * FilteredHeuristicExpensiveChainLNSOperator operator.
   * 
* * int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32; * @return The heuristicExpensiveChainLnsNumArcsToConsider. */ int getHeuristicExpensiveChainLnsNumArcsToConsider(); /** *
   * Local search metaheuristics used to guide the search.
   * 
* * .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4; * @return The enum numeric value on the wire for localSearchMetaheuristic. */ int getLocalSearchMetaheuristicValue(); /** *
   * Local search metaheuristics used to guide the search.
   * 
* * .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4; * @return The localSearchMetaheuristic. */ com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic(); /** *
   * 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; * @return The guidedLocalSearchLambdaCoefficient. */ double getGuidedLocalSearchLambdaCoefficient(); /** *
   * --- 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; * @return The useDepthFirstSearch. */ boolean getUseDepthFirstSearch(); /** *
   * 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; * @return The enum numeric value on the wire for useCp. */ 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; * @return The useCp. */ com.google.ortools.util.OptionalBoolean getUseCp(); /** *
   * 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; * @return The enum numeric value on the wire for useCpSat. */ 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; * @return The useCpSat. */ com.google.ortools.util.OptionalBoolean getUseCpSat(); /** * .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33; * @return The enum numeric value on the wire for continuousSchedulingSolver. */ int getContinuousSchedulingSolverValue(); /** * .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33; * @return The continuousSchedulingSolver. */ com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver(); /** * .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34; * @return The enum numeric value on the wire for mixedIntegerSchedulingSolver. */ int getMixedIntegerSchedulingSolverValue(); /** * .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34; * @return The mixedIntegerSchedulingSolver. */ com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver(); /** *
   * 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; * @return The optimizationStep. */ double getOptimizationStep(); /** *
   * 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; * @return The numberOfSolutionsToCollect. */ int getNumberOfSolutionsToCollect(); /** *
   * -- Search limits --
   * Limit to the number of solutions generated during the search. 0 means
   * "unspecified".
   * 
* * int64 solution_limit = 8; * @return The solutionLimit. */ long getSolutionLimit(); /** *
   * Limit to the time spent in the search.
   * 
* * .google.protobuf.Duration time_limit = 9; * @return Whether the timeLimit field is set. */ boolean hasTimeLimit(); /** *
   * Limit to the time spent in the search.
   * 
* * .google.protobuf.Duration time_limit = 9; * @return The timeLimit. */ com.google.protobuf.Duration getTimeLimit(); /** *
   * Limit to the time spent in the search.
   * 
* * .google.protobuf.Duration time_limit = 9; */ com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder(); /** *
   * Limit to the time spent in the completion search for each local search
   * neighbor.
   * 
* * .google.protobuf.Duration lns_time_limit = 10; * @return Whether the lnsTimeLimit field is set. */ boolean hasLnsTimeLimit(); /** *
   * Limit to the time spent in the completion search for each local search
   * neighbor.
   * 
* * .google.protobuf.Duration lns_time_limit = 10; * @return The lnsTimeLimit. */ 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; */ com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder(); /** *
   * --- 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; * @return The useFullPropagation. */ boolean getUseFullPropagation(); /** *
   * --- 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; * @return The logSearch. */ boolean getLogSearch(); /** *
   * 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; * @return The logCostScalingFactor. */ double getLogCostScalingFactor(); /** * double log_cost_offset = 29; * @return The logCostOffset. */ double getLogCostOffset(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy