![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
Contains the definitions for all the bop algorithm parameters and their default values. NEXT TAG: 42
Protobuf type operations_research.bop.BopParameters
Definition at line 19 of file BopParameters.java.
Classes | |
class | Builder |
enum | ThreadSynchronizationType |
Static Public Member Functions | |
static final com.google.protobuf.Descriptors.Descriptor | getDescriptor () |
static com.google.ortools.bop.BopParameters | parseFrom (java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException |
static com.google.ortools.bop.BopParameters | parseFrom (java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException |
static com.google.ortools.bop.BopParameters | parseFrom (com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException |
static com.google.ortools.bop.BopParameters | parseFrom (com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException |
static com.google.ortools.bop.BopParameters | parseFrom (byte[] data) throws com.google.protobuf.InvalidProtocolBufferException |
static com.google.ortools.bop.BopParameters | parseFrom (byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException |
static com.google.ortools.bop.BopParameters | parseFrom (java.io.InputStream input) throws java.io.IOException |
static com.google.ortools.bop.BopParameters | parseFrom (java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException |
static com.google.ortools.bop.BopParameters | parseDelimitedFrom (java.io.InputStream input) throws java.io.IOException |
static com.google.ortools.bop.BopParameters | parseDelimitedFrom (java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException |
static com.google.ortools.bop.BopParameters | parseFrom (com.google.protobuf.CodedInputStream input) throws java.io.IOException |
static com.google.ortools.bop.BopParameters | parseFrom (com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException |
static Builder | newBuilder () |
static Builder | newBuilder (com.google.ortools.bop.BopParameters prototype) |
static com.google.ortools.bop.BopParameters | getDefaultInstance () |
static com.google.protobuf.Parser< BopParameters > | parser () |
Protected Member Functions | |
com.google.protobuf.GeneratedMessage.FieldAccessorTable | internalGetFieldAccessorTable () |
Builder | newBuilderForType (com.google.protobuf.GeneratedMessage.BuilderParent parent) |
boolean com.google.ortools.bop.BopParameters.equals | ( | final java.lang.Object | obj | ) |
Definition at line 1750 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getComputeEstimatedImpact | ( | ) |
Compute estimated impact at each iteration when true; only once when false.
optional bool compute_estimated_impact = 3 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 551 of file BopParameters.java.
double com.google.ortools.bop.BopParameters.getDecomposedProblemMinTimeInSeconds | ( | ) |
HACK. To avoid spending too little time on small problems, spend at least this time solving each of the decomposed sub-problem. This only make sense if num_bop_solvers_used_by_decomposition is greater than 1 so that the overhead can be "absorbed" by the other threads.
optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1395 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getDecomposerNumVariablesThreshold | ( | ) |
Only try to decompose the problem when the number of variables is greater than the threshold.
optional int32 decomposer_num_variables_threshold = 30 [default = 50];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1331 of file BopParameters.java.
|
static |
Definition at line 5552 of file BopParameters.java.
com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.getDefaultInstanceForType | ( | ) |
Definition at line 5588 of file BopParameters.java.
java.lang.String com.google.ortools.bop.BopParameters.getDefaultSolverOptimizerSets | ( | ) |
optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1230 of file BopParameters.java.
com.google.protobuf.ByteString com.google.ortools.bop.BopParameters.getDefaultSolverOptimizerSetsBytes | ( | ) |
optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1250 of file BopParameters.java.
|
static |
Definition at line 68 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getExploitSymmetryInSatFirstSolution | ( | ) |
If true, find and exploit symmetries in proving satisfiability in the first problem. This feature is experimental. On some problems, computing symmetries may run forever. You may also run into unforseen problems as this feature was not extensively tested.
optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 934 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getGuidedSatConflictsChunk | ( | ) |
The first solutions based on guided SAT will work in chunk of that many conflicts at the time. This allows to simulate parallelism between the different guiding strategy on a single core.
optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1426 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getLogSearchProgress | ( | ) |
Whether the solver should log the search progress to LOG(INFO).
optional bool log_search_progress = 14 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 524 of file BopParameters.java.
double com.google.ortools.bop.BopParameters.getLpMaxDeterministicTime | ( | ) |
The max deterministic time given to the LP solver each time it is called. If this is not enough to solve the LP at hand, it will simply be called again later (and the solve will resume from where it stopped).
optional double lp_max_deterministic_time = 37 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 367 of file BopParameters.java.
double com.google.ortools.bop.BopParameters.getMaxDeterministicTime | ( | ) |
Maximum time allowed in deterministic time to solve a problem. The deterministic time should be correlated with the real time used by the solver, the time unit being roughly the order of magnitude of a second. The counter will starts as soon as SetParameters() or SolveWithTimeLimit() is called.
optional double max_deterministic_time = 27 [default = inf];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 336 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getMaxLpSolveForFeasibilityProblems | ( | ) |
The maximum number of time the LP solver will run to feasibility for pure feasibility problems (with a constant-valued objective function). Set this to a small value, e.g., 1, if fractional solutions offer useful guidance to other solvers in the portfolio. A negative value means no limit.
optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1459 of file BopParameters.java.
long com.google.ortools.bop.BopParameters.getMaxNumberOfBacktracksInLs | ( | ) |
Maximum number of backtracks times the number of variables in Local Search, ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.
optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 781 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getMaxNumberOfConflictsForQuickCheck | ( | ) |
The number of conflicts the SAT solver has to solve a random LNS subproblem for the quick check of infeasibility.
optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 864 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getMaxNumberOfConflictsInRandomLns | ( | ) |
The number of conflicts the SAT solver has to solve a random LNS subproblem.
optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 725 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getMaxNumberOfConflictsInRandomSolutionGeneration | ( | ) |
The number of conflicts the SAT solver has to generate a random solution.
optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 961 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getMaxNumberOfConsecutiveFailingOptimizerCalls | ( | ) |
Maximum number of consecutive optimizer calls without improving the current solution. If this number is reached, the search will be aborted. Note that this parameter only applies when an initial solution has been found or is provided. Also note that there is no limit to the number of calls, when the parameter is not set.
optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 402 of file BopParameters.java.
long com.google.ortools.bop.BopParameters.getMaxNumberOfExploredAssignmentsPerTryInLs | ( | ) |
The maximum number of assignments the Local Search iterates on during one try. Note that if the Local Search is called again on the same solution it will not restart from scratch but will iterate on the next max_number_of_explored_assignments_per_try_in_ls assignments.
optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 994 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getMaxNumBrokenConstraintsInLs | ( | ) |
Abort the LS search tree as soon as strictly more than this number of constraints are broken. The default is a large value which basically disable this heuristic.
optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 497 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getMaxNumDecisionsInLs | ( | ) |
Maximum number of cascading decisions the solver might use to repair the current solution in the LS.
optional int32 max_num_decisions_in_ls = 2 [default = 4];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 466 of file BopParameters.java.
double com.google.ortools.bop.BopParameters.getMaxTimeInSeconds | ( | ) |
Maximum time allowed in seconds to solve a problem. The counter will starts as soon as Solve() is called.
optional double max_time_in_seconds = 1 [default = inf];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 301 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getNumberOfSolvers | ( | ) |
The number of solvers used to run Bop. Note that one thread will be created per solver. The type of communication between solvers is specified by the synchronization_type parameter.
optional int32 number_of_solvers = 24 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1116 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getNumBopSolversUsedByDecomposition | ( | ) |
The number of BopSolver created (thread pool workers) used by the integral solver to solve a decomposed problem. TODO(user): Merge this with the number_of_solvers parameter.
optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1362 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getNumRandomLnsTries | ( | ) |
Number of tries in the random lns.
optional int32 num_random_lns_tries = 10 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 752 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getNumRelaxedVars | ( | ) |
Number of variables to relax in the exhaustive Large Neighborhood Search.
optional int32 num_relaxed_vars = 8 [default = 10];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 696 of file BopParameters.java.
com.google.protobuf.Parser< BopParameters > com.google.ortools.bop.BopParameters.getParserForType | ( | ) |
Definition at line 5583 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getPruneSearchTree | ( | ) |
Avoid exploring both branches (b, a, ...) and (a, b, ...).
optional bool prune_search_tree = 4 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 578 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getRandomSeed | ( | ) |
The seed used to initialize the random generator. TODO(user): Some of our client test fail depending on this value! we need to fix them and ideally randomize our behavior from on test to the next so that this doesn't happen in the future.
optional int32 random_seed = 7 [default = 8];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 669 of file BopParameters.java.
double com.google.ortools.bop.BopParameters.getRelativeGapLimit | ( | ) |
Limit used to stop the optimization as soon as the relative gap is smaller than the given value. The relative gap is defined as: abs(solution_cost - best_bound) / max(abs(solution_cost), abs(best_bound)).
optional double relative_gap_limit = 28 [default = 0.0001];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 437 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getSerializedSize | ( | ) |
Definition at line 1592 of file BopParameters.java.
com.google.ortools.bop.BopSolverOptimizerSet com.google.ortools.bop.BopParameters.getSolverOptimizerSets | ( | int | index | ) |
List of set of optimizers to be run by the solvers. Note that the i_th solver will run the min(i, solver_optimizer_sets_size())_th optimizer set. The default is defined by default_solver_optimizer_sets (only one set).
repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1195 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.getSolverOptimizerSetsCount | ( | ) |
List of set of optimizers to be run by the solvers. Note that the i_th solver will run the min(i, solver_optimizer_sets_size())_th optimizer set. The default is defined by default_solver_optimizer_sets (only one set).
repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1181 of file BopParameters.java.
java.util.List< com.google.ortools.bop.BopSolverOptimizerSet > com.google.ortools.bop.BopParameters.getSolverOptimizerSetsList | ( | ) |
List of set of optimizers to be run by the solvers. Note that the i_th solver will run the min(i, solver_optimizer_sets_size())_th optimizer set. The default is defined by default_solver_optimizer_sets (only one set).
repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1152 of file BopParameters.java.
com.google.ortools.bop.BopSolverOptimizerSetOrBuilder com.google.ortools.bop.BopParameters.getSolverOptimizerSetsOrBuilder | ( | int | index | ) |
List of set of optimizers to be run by the solvers. Note that the i_th solver will run the min(i, solver_optimizer_sets_size())_th optimizer set. The default is defined by default_solver_optimizer_sets (only one set).
repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1209 of file BopParameters.java.
java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder > com.google.ortools.bop.BopParameters.getSolverOptimizerSetsOrBuilderList | ( | ) |
List of set of optimizers to be run by the solvers. Note that the i_th solver will run the min(i, solver_optimizer_sets_size())_th optimizer set. The default is defined by default_solver_optimizer_sets (only one set).
repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1167 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getSortConstraintsByNumTerms | ( | ) |
Sort constraints by increasing total number of terms instead of number of contributing terms.
optional bool sort_constraints_by_num_terms = 5 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 607 of file BopParameters.java.
com.google.ortools.bop.BopParameters.ThreadSynchronizationType com.google.ortools.bop.BopParameters.getSynchronizationType | ( | ) |
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1133 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUseLearnedBinaryClausesInLp | ( | ) |
Whether we use the learned binary clauses in the Linear Relaxation.
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1085 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUseLpLns | ( | ) |
Use Large Neighborhood Search based on the LP relaxation.
optional bool use_lp_lns = 12 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 808 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUseLpStrongBranching | ( | ) |
Use strong branching in the linear relaxation optimizer. The strong branching is a what-if analysis on each variable v, i.e. compute the best bound when v is assigned to true, compute the best bound when v is assigned to false, and then use those best bounds to improve the overall best bound. This is useful to improve the best_bound, but also to fix some variables during search. Note that using probing might be time consuming as it runs the LP solver 2 * num_variables times.
optional bool use_lp_strong_branching = 29 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1302 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUsePotentialOneFlipRepairsInLs | ( | ) |
Whether we keep a list of variable that can potentially repair in one flip all the current infeasible constraints (such variable must at least appear in all the infeasible constraints for this to happen).
optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1058 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUseRandomLns | ( | ) |
Use the random Large Neighborhood Search instead of the exhaustive one.
optional bool use_random_lns = 6 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 634 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUseSatToChooseLnsNeighbourhood | ( | ) |
Whether we use sat propagation to choose the lns neighbourhood.
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 835 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUseSymmetry | ( | ) |
If true, find and exploit the eventual symmetries of the problem. TODO(user): turn this on by default once the symmetry finder becomes fast enough to be negligeable for most problem. Or at least support a time limit.
optional bool use_symmetry = 17 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 899 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.getUseTranspositionTableInLs | ( | ) |
Whether we use an hash set during the LS to avoid exploring more than once the "same" state. Note that because the underlying SAT solver may learn information in the middle of the LS, this may make the LS slightly less "complete", but it should be faster.
optional bool use_transposition_table_in_ls = 22 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1027 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasComputeEstimatedImpact | ( | ) |
Compute estimated impact at each iteration when true; only once when false.
optional bool compute_estimated_impact = 3 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 539 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasDecomposedProblemMinTimeInSeconds | ( | ) |
HACK. To avoid spending too little time on small problems, spend at least this time solving each of the decomposed sub-problem. This only make sense if num_bop_solvers_used_by_decomposition is greater than 1 so that the overhead can be "absorbed" by the other threads.
optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1380 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasDecomposerNumVariablesThreshold | ( | ) |
Only try to decompose the problem when the number of variables is greater than the threshold.
optional int32 decomposer_num_variables_threshold = 30 [default = 50];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1318 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasDefaultSolverOptimizerSets | ( | ) |
optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1222 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasExploitSymmetryInSatFirstSolution | ( | ) |
If true, find and exploit symmetries in proving satisfiability in the first problem. This feature is experimental. On some problems, computing symmetries may run forever. You may also run into unforseen problems as this feature was not extensively tested.
optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 918 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasGuidedSatConflictsChunk | ( | ) |
The first solutions based on guided SAT will work in chunk of that many conflicts at the time. This allows to simulate parallelism between the different guiding strategy on a single core.
optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1412 of file BopParameters.java.
int com.google.ortools.bop.BopParameters.hashCode | ( | ) |
Definition at line 1950 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasLogSearchProgress | ( | ) |
Whether the solver should log the search progress to LOG(INFO).
optional bool log_search_progress = 14 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 512 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasLpMaxDeterministicTime | ( | ) |
The max deterministic time given to the LP solver each time it is called. If this is not enough to solve the LP at hand, it will simply be called again later (and the solve will resume from where it stopped).
optional double lp_max_deterministic_time = 37 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 353 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxDeterministicTime | ( | ) |
Maximum time allowed in deterministic time to solve a problem. The deterministic time should be correlated with the real time used by the solver, the time unit being roughly the order of magnitude of a second. The counter will starts as soon as SetParameters() or SolveWithTimeLimit() is called.
optional double max_deterministic_time = 27 [default = inf];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 320 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxLpSolveForFeasibilityProblems | ( | ) |
The maximum number of time the LP solver will run to feasibility for pure feasibility problems (with a constant-valued objective function). Set this to a small value, e.g., 1, if fractional solutions offer useful guidance to other solvers in the portfolio. A negative value means no limit.
optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1444 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfBacktracksInLs | ( | ) |
Maximum number of backtracks times the number of variables in Local Search, ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.
optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 768 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConflictsForQuickCheck | ( | ) |
The number of conflicts the SAT solver has to solve a random LNS subproblem for the quick check of infeasibility.
optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 851 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConflictsInRandomLns | ( | ) |
The number of conflicts the SAT solver has to solve a random LNS subproblem.
optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 712 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConflictsInRandomSolutionGeneration | ( | ) |
The number of conflicts the SAT solver has to generate a random solution.
optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 949 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConsecutiveFailingOptimizerCalls | ( | ) |
Maximum number of consecutive optimizer calls without improving the current solution. If this number is reached, the search will be aborted. Note that this parameter only applies when an initial solution has been found or is provided. Also note that there is no limit to the number of calls, when the parameter is not set.
optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 386 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfExploredAssignmentsPerTryInLs | ( | ) |
The maximum number of assignments the Local Search iterates on during one try. Note that if the Local Search is called again on the same solution it will not restart from scratch but will iterate on the next max_number_of_explored_assignments_per_try_in_ls assignments.
optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 979 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumBrokenConstraintsInLs | ( | ) |
Abort the LS search tree as soon as strictly more than this number of constraints are broken. The default is a large value which basically disable this heuristic.
optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 483 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxNumDecisionsInLs | ( | ) |
Maximum number of cascading decisions the solver might use to repair the current solution in the LS.
optional int32 max_num_decisions_in_ls = 2 [default = 4];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 453 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasMaxTimeInSeconds | ( | ) |
Maximum time allowed in seconds to solve a problem. The counter will starts as soon as Solve() is called.
optional double max_time_in_seconds = 1 [default = inf];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 288 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasNumberOfSolvers | ( | ) |
The number of solvers used to run Bop. Note that one thread will be created per solver. The type of communication between solvers is specified by the synchronization_type parameter.
optional int32 number_of_solvers = 24 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1102 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasNumBopSolversUsedByDecomposition | ( | ) |
The number of BopSolver created (thread pool workers) used by the integral solver to solve a decomposed problem. TODO(user): Merge this with the number_of_solvers parameter.
optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1348 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasNumRandomLnsTries | ( | ) |
Number of tries in the random lns.
optional int32 num_random_lns_tries = 10 [default = 1];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 740 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasNumRelaxedVars | ( | ) |
Number of variables to relax in the exhaustive Large Neighborhood Search.
optional int32 num_relaxed_vars = 8 [default = 10];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 684 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasPruneSearchTree | ( | ) |
Avoid exploring both branches (b, a, ...) and (a, b, ...).
optional bool prune_search_tree = 4 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 566 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasRandomSeed | ( | ) |
The seed used to initialize the random generator. TODO(user): Some of our client test fail depending on this value! we need to fix them and ideally randomize our behavior from on test to the next so that this doesn't happen in the future.
optional int32 random_seed = 7 [default = 8];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 653 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasRelativeGapLimit | ( | ) |
Limit used to stop the optimization as soon as the relative gap is smaller than the given value. The relative gap is defined as: abs(solution_cost - best_bound) / max(abs(solution_cost), abs(best_bound)).
optional double relative_gap_limit = 28 [default = 0.0001];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 421 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasSortConstraintsByNumTerms | ( | ) |
Sort constraints by increasing total number of terms instead of number of contributing terms.
optional bool sort_constraints_by_num_terms = 5 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 594 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasSynchronizationType | ( | ) |
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1126 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUseLearnedBinaryClausesInLp | ( | ) |
Whether we use the learned binary clauses in the Linear Relaxation.
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1073 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUseLpLns | ( | ) |
Use Large Neighborhood Search based on the LP relaxation.
optional bool use_lp_lns = 12 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 796 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUseLpStrongBranching | ( | ) |
Use strong branching in the linear relaxation optimizer. The strong branching is a what-if analysis on each variable v, i.e. compute the best bound when v is assigned to true, compute the best bound when v is assigned to false, and then use those best bounds to improve the overall best bound. This is useful to improve the best_bound, but also to fix some variables during search. Note that using probing might be time consuming as it runs the LP solver 2 * num_variables times.
optional bool use_lp_strong_branching = 29 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1282 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUsePotentialOneFlipRepairsInLs | ( | ) |
Whether we keep a list of variable that can potentially repair in one flip all the current infeasible constraints (such variable must at least appear in all the infeasible constraints for this to happen).
optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1044 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUseRandomLns | ( | ) |
Use the random Large Neighborhood Search instead of the exhaustive one.
optional bool use_random_lns = 6 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 622 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUseSatToChooseLnsNeighbourhood | ( | ) |
Whether we use sat propagation to choose the lns neighbourhood.
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 823 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUseSymmetry | ( | ) |
If true, find and exploit the eventual symmetries of the problem. TODO(user): turn this on by default once the symmetry finder becomes fast enough to be negligeable for most problem. Or at least support a time limit.
optional bool use_symmetry = 17 [default = false];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 883 of file BopParameters.java.
boolean com.google.ortools.bop.BopParameters.hasUseTranspositionTableInLs | ( | ) |
Whether we use an hash set during the LS to avoid exploring more than once the "same" state. Note that because the underlying SAT solver may learn information in the middle of the LS, this may make the LS slightly less "complete", but it should be faster.
optional bool use_transposition_table_in_ls = 22 [default = true];
Implements com.google.ortools.bop.BopParametersOrBuilder.
Definition at line 1012 of file BopParameters.java.
|
protected |
Definition at line 74 of file BopParameters.java.
final boolean com.google.ortools.bop.BopParameters.isInitialized | ( | ) |
Definition at line 1465 of file BopParameters.java.
|
static |
Definition at line 2203 of file BopParameters.java.
|
static |
Definition at line 2206 of file BopParameters.java.
Builder com.google.ortools.bop.BopParameters.newBuilderForType | ( | ) |
Definition at line 2202 of file BopParameters.java.
|
protected |
Definition at line 2216 of file BopParameters.java.
|
static |
Definition at line 2174 of file BopParameters.java.
|
static |
Definition at line 2180 of file BopParameters.java.
|
static |
Definition at line 2151 of file BopParameters.java.
|
static |
Definition at line 2155 of file BopParameters.java.
|
static |
Definition at line 2140 of file BopParameters.java.
|
static |
Definition at line 2145 of file BopParameters.java.
|
static |
Definition at line 2187 of file BopParameters.java.
|
static |
Definition at line 2193 of file BopParameters.java.
|
static |
Definition at line 2161 of file BopParameters.java.
|
static |
Definition at line 2166 of file BopParameters.java.
|
static |
Definition at line 2129 of file BopParameters.java.
|
static |
Definition at line 2134 of file BopParameters.java.
|
static |
Definition at line 5578 of file BopParameters.java.
Builder com.google.ortools.bop.BopParameters.toBuilder | ( | ) |
Definition at line 2210 of file BopParameters.java.
void com.google.ortools.bop.BopParameters.writeTo | ( | com.google.protobuf.CodedOutputStream | output | ) | throws java.io.IOException |
Definition at line 1475 of file BopParameters.java.
|
static |
Definition at line 528 of file BopParameters.java.
|
static |
Definition at line 1366 of file BopParameters.java.
|
static |
Definition at line 1306 of file BopParameters.java.
|
static |
Definition at line 1214 of file BopParameters.java.
|
static |
Definition at line 903 of file BopParameters.java.
|
static |
Definition at line 1399 of file BopParameters.java.
|
static |
Definition at line 501 of file BopParameters.java.
|
static |
Definition at line 340 of file BopParameters.java.
|
static |
Definition at line 305 of file BopParameters.java.
|
static |
Definition at line 1430 of file BopParameters.java.
|
static |
Definition at line 470 of file BopParameters.java.
|
static |
Definition at line 441 of file BopParameters.java.
|
static |
Definition at line 756 of file BopParameters.java.
|
static |
Definition at line 839 of file BopParameters.java.
|
static |
Definition at line 700 of file BopParameters.java.
|
static |
Definition at line 938 of file BopParameters.java.
|
static |
Definition at line 371 of file BopParameters.java.
|
static |
Definition at line 965 of file BopParameters.java.
|
static |
Definition at line 276 of file BopParameters.java.
|
static |
Definition at line 1335 of file BopParameters.java.
|
static |
Definition at line 729 of file BopParameters.java.
|
static |
Definition at line 673 of file BopParameters.java.
|
static |
Definition at line 1089 of file BopParameters.java.
|
static |
Definition at line 555 of file BopParameters.java.
|
static |
Definition at line 638 of file BopParameters.java.
|
static |
Definition at line 406 of file BopParameters.java.
|
static |
Definition at line 1138 of file BopParameters.java.
|
static |
Definition at line 582 of file BopParameters.java.
|
static |
Definition at line 1120 of file BopParameters.java.
|
static |
Definition at line 1062 of file BopParameters.java.
|
static |
Definition at line 785 of file BopParameters.java.
|
static |
Definition at line 1263 of file BopParameters.java.
|
static |
Definition at line 1031 of file BopParameters.java.
|
static |
Definition at line 611 of file BopParameters.java.
|
static |
Definition at line 812 of file BopParameters.java.
|
static |
Definition at line 868 of file BopParameters.java.
|
static |
Definition at line 998 of file BopParameters.java.