Class BopParameters.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BopParameters.Builder>
com.google.protobuf.GeneratedMessage.Builder<BopParameters.Builder>
com.google.ortools.bop.BopParameters.Builder
- All Implemented Interfaces:
BopParametersOrBuilder
,com.google.protobuf.Message.Builder
,com.google.protobuf.MessageLite.Builder
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,Cloneable
- Enclosing class:
BopParameters
public static final class BopParameters.Builder
extends com.google.protobuf.GeneratedMessage.Builder<BopParameters.Builder>
implements BopParametersOrBuilder
Contains the definitions for all the bop algorithm parameters and their default values. NEXT TAG: 42Protobuf type
operations_research.bop.BopParameters
-
Method Summary
Modifier and TypeMethodDescriptionaddAllSolverOptimizerSets
(Iterable<? extends BopSolverOptimizerSet> values) List of set of optimizers to be run by the solvers.addSolverOptimizerSets
(int index, BopSolverOptimizerSet value) List of set of optimizers to be run by the solvers.addSolverOptimizerSets
(int index, BopSolverOptimizerSet.Builder builderForValue) List of set of optimizers to be run by the solvers.List of set of optimizers to be run by the solvers.addSolverOptimizerSets
(BopSolverOptimizerSet.Builder builderForValue) List of set of optimizers to be run by the solvers.List of set of optimizers to be run by the solvers.addSolverOptimizerSetsBuilder
(int index) List of set of optimizers to be run by the solvers.build()
clear()
Compute estimated impact at each iteration when true; only once when false.HACK.Only try to decompose the problem when the number of variables is greater than the threshold.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 } "];
If true, find and exploit symmetries in proving satisfiability in the first problem.The first solutions based on guided SAT will work in chunk of that many conflicts at the time.Whether the solver should log the search progress to LOG(INFO).The max deterministic time given to the LP solver each time it is called.Maximum time allowed in deterministic time to solve a problem.The maximum number of time the LP solver will run to feasibility for pure feasibility problems (with a constant-valued objective function).Maximum number of backtracks times the number of variables in Local Search, ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.The number of conflicts the SAT solver has to solve a random LNS subproblem for the quick check of infeasibility.The number of conflicts the SAT solver has to solve a random LNS subproblem.The number of conflicts the SAT solver has to generate a random solution.Maximum number of consecutive optimizer calls without improving the current solution.The maximum number of assignments the Local Search iterates on during one try.Abort the LS search tree as soon as strictly more than this number of constraints are broken.Maximum number of cascading decisions the solver might use to repair the current solution in the LS.Maximum time allowed in seconds to solve a problem.The number of solvers used to run Bop.The number of BopSolver created (thread pool workers) used by the integral solver to solve a decomposed problem.Number of tries in the random lns.Number of variables to relax in the exhaustive Large Neighborhood Search.Avoid exploring both branches (b, a, ...) and (a, b, ...).The seed used to initialize the random generator.Limit used to stop the optimization as soon as the relative gap is smaller than the given value.List of set of optimizers to be run by the solvers.Sort constraints by increasing total number of terms instead of number of contributing terms.optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
Whether we use the learned binary clauses in the Linear Relaxation.Use Large Neighborhood Search based on the LP relaxation.Use strong branching in the linear relaxation optimizer.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).Use the random Large Neighborhood Search instead of the exhaustive one.Whether we use sat propagation to choose the lns neighbourhood.If true, find and exploit the eventual symmetries of the problem.Whether we use an hash set during the LS to avoid exploring more than once the "same" state.boolean
Compute estimated impact at each iteration when true; only once when false.double
HACK.int
Only try to decompose the problem when the number of variables is greater than the threshold.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 } "];
com.google.protobuf.ByteString
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 } "];
static final com.google.protobuf.Descriptors.Descriptor
com.google.protobuf.Descriptors.Descriptor
boolean
If true, find and exploit symmetries in proving satisfiability in the first problem.int
The first solutions based on guided SAT will work in chunk of that many conflicts at the time.boolean
Whether the solver should log the search progress to LOG(INFO).double
The max deterministic time given to the LP solver each time it is called.double
Maximum time allowed in deterministic time to solve a problem.int
The maximum number of time the LP solver will run to feasibility for pure feasibility problems (with a constant-valued objective function).long
Maximum number of backtracks times the number of variables in Local Search, ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.int
The number of conflicts the SAT solver has to solve a random LNS subproblem for the quick check of infeasibility.int
The number of conflicts the SAT solver has to solve a random LNS subproblem.int
The number of conflicts the SAT solver has to generate a random solution.int
Maximum number of consecutive optimizer calls without improving the current solution.long
The maximum number of assignments the Local Search iterates on during one try.int
Abort the LS search tree as soon as strictly more than this number of constraints are broken.int
Maximum number of cascading decisions the solver might use to repair the current solution in the LS.double
Maximum time allowed in seconds to solve a problem.int
The number of solvers used to run Bop.int
The number of BopSolver created (thread pool workers) used by the integral solver to solve a decomposed problem.int
Number of tries in the random lns.int
Number of variables to relax in the exhaustive Large Neighborhood Search.boolean
Avoid exploring both branches (b, a, ...) and (a, b, ...).int
The seed used to initialize the random generator.double
Limit used to stop the optimization as soon as the relative gap is smaller than the given value.getSolverOptimizerSets
(int index) List of set of optimizers to be run by the solvers.getSolverOptimizerSetsBuilder
(int index) List of set of optimizers to be run by the solvers.List of set of optimizers to be run by the solvers.int
List of set of optimizers to be run by the solvers.List of set of optimizers to be run by the solvers.getSolverOptimizerSetsOrBuilder
(int index) List of set of optimizers to be run by the solvers.List
<? extends BopSolverOptimizerSetOrBuilder> List of set of optimizers to be run by the solvers.boolean
Sort constraints by increasing total number of terms instead of number of contributing terms.optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
boolean
Whether we use the learned binary clauses in the Linear Relaxation.boolean
Use Large Neighborhood Search based on the LP relaxation.boolean
Use strong branching in the linear relaxation optimizer.boolean
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).boolean
Use the random Large Neighborhood Search instead of the exhaustive one.boolean
Whether we use sat propagation to choose the lns neighbourhood.boolean
If true, find and exploit the eventual symmetries of the problem.boolean
Whether we use an hash set during the LS to avoid exploring more than once the "same" state.boolean
Compute estimated impact at each iteration when true; only once when false.boolean
HACK.boolean
Only try to decompose the problem when the number of variables is greater than the threshold.boolean
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 } "];
boolean
If true, find and exploit symmetries in proving satisfiability in the first problem.boolean
The first solutions based on guided SAT will work in chunk of that many conflicts at the time.boolean
Whether the solver should log the search progress to LOG(INFO).boolean
The max deterministic time given to the LP solver each time it is called.boolean
Maximum time allowed in deterministic time to solve a problem.boolean
The maximum number of time the LP solver will run to feasibility for pure feasibility problems (with a constant-valued objective function).boolean
Maximum number of backtracks times the number of variables in Local Search, ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.boolean
The number of conflicts the SAT solver has to solve a random LNS subproblem for the quick check of infeasibility.boolean
The number of conflicts the SAT solver has to solve a random LNS subproblem.boolean
The number of conflicts the SAT solver has to generate a random solution.boolean
Maximum number of consecutive optimizer calls without improving the current solution.boolean
The maximum number of assignments the Local Search iterates on during one try.boolean
Abort the LS search tree as soon as strictly more than this number of constraints are broken.boolean
Maximum number of cascading decisions the solver might use to repair the current solution in the LS.boolean
Maximum time allowed in seconds to solve a problem.boolean
The number of solvers used to run Bop.boolean
The number of BopSolver created (thread pool workers) used by the integral solver to solve a decomposed problem.boolean
Number of tries in the random lns.boolean
Number of variables to relax in the exhaustive Large Neighborhood Search.boolean
Avoid exploring both branches (b, a, ...) and (a, b, ...).boolean
The seed used to initialize the random generator.boolean
Limit used to stop the optimization as soon as the relative gap is smaller than the given value.boolean
Sort constraints by increasing total number of terms instead of number of contributing terms.boolean
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
boolean
Whether we use the learned binary clauses in the Linear Relaxation.boolean
Use Large Neighborhood Search based on the LP relaxation.boolean
Use strong branching in the linear relaxation optimizer.boolean
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).boolean
Use the random Large Neighborhood Search instead of the exhaustive one.boolean
Whether we use sat propagation to choose the lns neighbourhood.boolean
If true, find and exploit the eventual symmetries of the problem.boolean
Whether we use an hash set during the LS to avoid exploring more than once the "same" state.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
final boolean
mergeFrom
(BopParameters other) mergeFrom
(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom
(com.google.protobuf.Message other) removeSolverOptimizerSets
(int index) List of set of optimizers to be run by the solvers.setComputeEstimatedImpact
(boolean value) Compute estimated impact at each iteration when true; only once when false.setDecomposedProblemMinTimeInSeconds
(double value) HACK.setDecomposerNumVariablesThreshold
(int value) Only try to decompose the problem when the number of variables is greater than the threshold.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 } "];
setDefaultSolverOptimizerSetsBytes
(com.google.protobuf.ByteString value) 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 } "];
setExploitSymmetryInSatFirstSolution
(boolean value) If true, find and exploit symmetries in proving satisfiability in the first problem.setGuidedSatConflictsChunk
(int value) The first solutions based on guided SAT will work in chunk of that many conflicts at the time.setLogSearchProgress
(boolean value) Whether the solver should log the search progress to LOG(INFO).setLpMaxDeterministicTime
(double value) The max deterministic time given to the LP solver each time it is called.setMaxDeterministicTime
(double value) Maximum time allowed in deterministic time to solve a problem.setMaxLpSolveForFeasibilityProblems
(int value) The maximum number of time the LP solver will run to feasibility for pure feasibility problems (with a constant-valued objective function).setMaxNumberOfBacktracksInLs
(long value) Maximum number of backtracks times the number of variables in Local Search, ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.setMaxNumberOfConflictsForQuickCheck
(int value) The number of conflicts the SAT solver has to solve a random LNS subproblem for the quick check of infeasibility.setMaxNumberOfConflictsInRandomLns
(int value) The number of conflicts the SAT solver has to solve a random LNS subproblem.The number of conflicts the SAT solver has to generate a random solution.Maximum number of consecutive optimizer calls without improving the current solution.setMaxNumberOfExploredAssignmentsPerTryInLs
(long value) The maximum number of assignments the Local Search iterates on during one try.setMaxNumBrokenConstraintsInLs
(int value) Abort the LS search tree as soon as strictly more than this number of constraints are broken.setMaxNumDecisionsInLs
(int value) Maximum number of cascading decisions the solver might use to repair the current solution in the LS.setMaxTimeInSeconds
(double value) Maximum time allowed in seconds to solve a problem.setNumberOfSolvers
(int value) The number of solvers used to run Bop.setNumBopSolversUsedByDecomposition
(int value) The number of BopSolver created (thread pool workers) used by the integral solver to solve a decomposed problem.setNumRandomLnsTries
(int value) Number of tries in the random lns.setNumRelaxedVars
(int value) Number of variables to relax in the exhaustive Large Neighborhood Search.setPruneSearchTree
(boolean value) Avoid exploring both branches (b, a, ...) and (a, b, ...).setRandomSeed
(int value) The seed used to initialize the random generator.setRelativeGapLimit
(double value) Limit used to stop the optimization as soon as the relative gap is smaller than the given value.setSolverOptimizerSets
(int index, BopSolverOptimizerSet value) List of set of optimizers to be run by the solvers.setSolverOptimizerSets
(int index, BopSolverOptimizerSet.Builder builderForValue) List of set of optimizers to be run by the solvers.setSortConstraintsByNumTerms
(boolean value) Sort constraints by increasing total number of terms instead of number of contributing terms.optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
setUseLearnedBinaryClausesInLp
(boolean value) Whether we use the learned binary clauses in the Linear Relaxation.setUseLpLns
(boolean value) Use Large Neighborhood Search based on the LP relaxation.setUseLpStrongBranching
(boolean value) Use strong branching in the linear relaxation optimizer.setUsePotentialOneFlipRepairsInLs
(boolean value) 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).setUseRandomLns
(boolean value) Use the random Large Neighborhood Search instead of the exhaustive one.setUseSatToChooseLnsNeighbourhood
(boolean value) Whether we use sat propagation to choose the lns neighbourhood.setUseSymmetry
(boolean value) If true, find and exploit the eventual symmetries of the problem.setUseTranspositionTableInLs
(boolean value) Whether we use an hash set during the LS to avoid exploring more than once the "same" state.Methods inherited from class com.google.protobuf.GeneratedMessage.Builder
addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFrom
Methods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFrom
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage.Builder<BopParameters.Builder>
-
clear
- Specified by:
clear
in interfacecom.google.protobuf.Message.Builder
- Specified by:
clear
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
clear
in classcom.google.protobuf.GeneratedMessage.Builder<BopParameters.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.Message.Builder
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.MessageOrBuilder
- Overrides:
getDescriptorForType
in classcom.google.protobuf.GeneratedMessage.Builder<BopParameters.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
build
in interfacecom.google.protobuf.Message.Builder
- Specified by:
build
in interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartial
in interfacecom.google.protobuf.Message.Builder
- Specified by:
buildPartial
in interfacecom.google.protobuf.MessageLite.Builder
-
mergeFrom
- Specified by:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<BopParameters.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage.Builder<BopParameters.Builder>
-
mergeFrom
public BopParameters.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Specified by:
mergeFrom
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<BopParameters.Builder>
- Throws:
IOException
-
hasMaxTimeInSeconds
public boolean 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];
- Specified by:
hasMaxTimeInSeconds
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxTimeInSeconds field is set.
-
getMaxTimeInSeconds
public double 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];
- Specified by:
getMaxTimeInSeconds
in interfaceBopParametersOrBuilder
- Returns:
- The maxTimeInSeconds.
-
setMaxTimeInSeconds
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];
- Parameters:
value
- The maxTimeInSeconds to set.- Returns:
- This builder for chaining.
-
clearMaxTimeInSeconds
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];
- Returns:
- This builder for chaining.
-
hasMaxDeterministicTime
public boolean 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];
- Specified by:
hasMaxDeterministicTime
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxDeterministicTime field is set.
-
getMaxDeterministicTime
public double 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];
- Specified by:
getMaxDeterministicTime
in interfaceBopParametersOrBuilder
- Returns:
- The maxDeterministicTime.
-
setMaxDeterministicTime
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];
- Parameters:
value
- The maxDeterministicTime to set.- Returns:
- This builder for chaining.
-
clearMaxDeterministicTime
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];
- Returns:
- This builder for chaining.
-
hasLpMaxDeterministicTime
public boolean 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];
- Specified by:
hasLpMaxDeterministicTime
in interfaceBopParametersOrBuilder
- Returns:
- Whether the lpMaxDeterministicTime field is set.
-
getLpMaxDeterministicTime
public double 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];
- Specified by:
getLpMaxDeterministicTime
in interfaceBopParametersOrBuilder
- Returns:
- The lpMaxDeterministicTime.
-
setLpMaxDeterministicTime
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];
- Parameters:
value
- The lpMaxDeterministicTime to set.- Returns:
- This builder for chaining.
-
clearLpMaxDeterministicTime
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];
- Returns:
- This builder for chaining.
-
hasMaxNumberOfConsecutiveFailingOptimizerCalls
public boolean 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;
- Specified by:
hasMaxNumberOfConsecutiveFailingOptimizerCalls
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumberOfConsecutiveFailingOptimizerCalls field is set.
-
getMaxNumberOfConsecutiveFailingOptimizerCalls
public int 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;
- Specified by:
getMaxNumberOfConsecutiveFailingOptimizerCalls
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumberOfConsecutiveFailingOptimizerCalls.
-
setMaxNumberOfConsecutiveFailingOptimizerCalls
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;
- Parameters:
value
- The maxNumberOfConsecutiveFailingOptimizerCalls to set.- Returns:
- This builder for chaining.
-
clearMaxNumberOfConsecutiveFailingOptimizerCalls
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;
- Returns:
- This builder for chaining.
-
hasRelativeGapLimit
public boolean 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];
- Specified by:
hasRelativeGapLimit
in interfaceBopParametersOrBuilder
- Returns:
- Whether the relativeGapLimit field is set.
-
getRelativeGapLimit
public double 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];
- Specified by:
getRelativeGapLimit
in interfaceBopParametersOrBuilder
- Returns:
- The relativeGapLimit.
-
setRelativeGapLimit
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];
- Parameters:
value
- The relativeGapLimit to set.- Returns:
- This builder for chaining.
-
clearRelativeGapLimit
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];
- Returns:
- This builder for chaining.
-
hasMaxNumDecisionsInLs
public boolean 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];
- Specified by:
hasMaxNumDecisionsInLs
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumDecisionsInLs field is set.
-
getMaxNumDecisionsInLs
public int 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];
- Specified by:
getMaxNumDecisionsInLs
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumDecisionsInLs.
-
setMaxNumDecisionsInLs
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];
- Parameters:
value
- The maxNumDecisionsInLs to set.- Returns:
- This builder for chaining.
-
clearMaxNumDecisionsInLs
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];
- Returns:
- This builder for chaining.
-
hasMaxNumBrokenConstraintsInLs
public boolean 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];
- Specified by:
hasMaxNumBrokenConstraintsInLs
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumBrokenConstraintsInLs field is set.
-
getMaxNumBrokenConstraintsInLs
public int 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];
- Specified by:
getMaxNumBrokenConstraintsInLs
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumBrokenConstraintsInLs.
-
setMaxNumBrokenConstraintsInLs
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];
- Parameters:
value
- The maxNumBrokenConstraintsInLs to set.- Returns:
- This builder for chaining.
-
clearMaxNumBrokenConstraintsInLs
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];
- Returns:
- This builder for chaining.
-
hasLogSearchProgress
public boolean hasLogSearchProgress()Whether the solver should log the search progress to LOG(INFO).
optional bool log_search_progress = 14 [default = false];
- Specified by:
hasLogSearchProgress
in interfaceBopParametersOrBuilder
- Returns:
- Whether the logSearchProgress field is set.
-
getLogSearchProgress
public boolean getLogSearchProgress()Whether the solver should log the search progress to LOG(INFO).
optional bool log_search_progress = 14 [default = false];
- Specified by:
getLogSearchProgress
in interfaceBopParametersOrBuilder
- Returns:
- The logSearchProgress.
-
setLogSearchProgress
Whether the solver should log the search progress to LOG(INFO).
optional bool log_search_progress = 14 [default = false];
- Parameters:
value
- The logSearchProgress to set.- Returns:
- This builder for chaining.
-
clearLogSearchProgress
Whether the solver should log the search progress to LOG(INFO).
optional bool log_search_progress = 14 [default = false];
- Returns:
- This builder for chaining.
-
hasComputeEstimatedImpact
public boolean hasComputeEstimatedImpact()Compute estimated impact at each iteration when true; only once when false.
optional bool compute_estimated_impact = 3 [default = true];
- Specified by:
hasComputeEstimatedImpact
in interfaceBopParametersOrBuilder
- Returns:
- Whether the computeEstimatedImpact field is set.
-
getComputeEstimatedImpact
public boolean getComputeEstimatedImpact()Compute estimated impact at each iteration when true; only once when false.
optional bool compute_estimated_impact = 3 [default = true];
- Specified by:
getComputeEstimatedImpact
in interfaceBopParametersOrBuilder
- Returns:
- The computeEstimatedImpact.
-
setComputeEstimatedImpact
Compute estimated impact at each iteration when true; only once when false.
optional bool compute_estimated_impact = 3 [default = true];
- Parameters:
value
- The computeEstimatedImpact to set.- Returns:
- This builder for chaining.
-
clearComputeEstimatedImpact
Compute estimated impact at each iteration when true; only once when false.
optional bool compute_estimated_impact = 3 [default = true];
- Returns:
- This builder for chaining.
-
hasPruneSearchTree
public boolean hasPruneSearchTree()Avoid exploring both branches (b, a, ...) and (a, b, ...).
optional bool prune_search_tree = 4 [default = false];
- Specified by:
hasPruneSearchTree
in interfaceBopParametersOrBuilder
- Returns:
- Whether the pruneSearchTree field is set.
-
getPruneSearchTree
public boolean getPruneSearchTree()Avoid exploring both branches (b, a, ...) and (a, b, ...).
optional bool prune_search_tree = 4 [default = false];
- Specified by:
getPruneSearchTree
in interfaceBopParametersOrBuilder
- Returns:
- The pruneSearchTree.
-
setPruneSearchTree
Avoid exploring both branches (b, a, ...) and (a, b, ...).
optional bool prune_search_tree = 4 [default = false];
- Parameters:
value
- The pruneSearchTree to set.- Returns:
- This builder for chaining.
-
clearPruneSearchTree
Avoid exploring both branches (b, a, ...) and (a, b, ...).
optional bool prune_search_tree = 4 [default = false];
- Returns:
- This builder for chaining.
-
hasSortConstraintsByNumTerms
public boolean 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];
- Specified by:
hasSortConstraintsByNumTerms
in interfaceBopParametersOrBuilder
- Returns:
- Whether the sortConstraintsByNumTerms field is set.
-
getSortConstraintsByNumTerms
public boolean 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];
- Specified by:
getSortConstraintsByNumTerms
in interfaceBopParametersOrBuilder
- Returns:
- The sortConstraintsByNumTerms.
-
setSortConstraintsByNumTerms
Sort constraints by increasing total number of terms instead of number of contributing terms.
optional bool sort_constraints_by_num_terms = 5 [default = false];
- Parameters:
value
- The sortConstraintsByNumTerms to set.- Returns:
- This builder for chaining.
-
clearSortConstraintsByNumTerms
Sort constraints by increasing total number of terms instead of number of contributing terms.
optional bool sort_constraints_by_num_terms = 5 [default = false];
- Returns:
- This builder for chaining.
-
hasUseRandomLns
public boolean hasUseRandomLns()Use the random Large Neighborhood Search instead of the exhaustive one.
optional bool use_random_lns = 6 [default = true];
- Specified by:
hasUseRandomLns
in interfaceBopParametersOrBuilder
- Returns:
- Whether the useRandomLns field is set.
-
getUseRandomLns
public boolean getUseRandomLns()Use the random Large Neighborhood Search instead of the exhaustive one.
optional bool use_random_lns = 6 [default = true];
- Specified by:
getUseRandomLns
in interfaceBopParametersOrBuilder
- Returns:
- The useRandomLns.
-
setUseRandomLns
Use the random Large Neighborhood Search instead of the exhaustive one.
optional bool use_random_lns = 6 [default = true];
- Parameters:
value
- The useRandomLns to set.- Returns:
- This builder for chaining.
-
clearUseRandomLns
Use the random Large Neighborhood Search instead of the exhaustive one.
optional bool use_random_lns = 6 [default = true];
- Returns:
- This builder for chaining.
-
hasRandomSeed
public boolean 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];
- Specified by:
hasRandomSeed
in interfaceBopParametersOrBuilder
- Returns:
- Whether the randomSeed field is set.
-
getRandomSeed
public int 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];
- Specified by:
getRandomSeed
in interfaceBopParametersOrBuilder
- Returns:
- The randomSeed.
-
setRandomSeed
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];
- Parameters:
value
- The randomSeed to set.- Returns:
- This builder for chaining.
-
clearRandomSeed
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];
- Returns:
- This builder for chaining.
-
hasNumRelaxedVars
public boolean hasNumRelaxedVars()Number of variables to relax in the exhaustive Large Neighborhood Search.
optional int32 num_relaxed_vars = 8 [default = 10];
- Specified by:
hasNumRelaxedVars
in interfaceBopParametersOrBuilder
- Returns:
- Whether the numRelaxedVars field is set.
-
getNumRelaxedVars
public int getNumRelaxedVars()Number of variables to relax in the exhaustive Large Neighborhood Search.
optional int32 num_relaxed_vars = 8 [default = 10];
- Specified by:
getNumRelaxedVars
in interfaceBopParametersOrBuilder
- Returns:
- The numRelaxedVars.
-
setNumRelaxedVars
Number of variables to relax in the exhaustive Large Neighborhood Search.
optional int32 num_relaxed_vars = 8 [default = 10];
- Parameters:
value
- The numRelaxedVars to set.- Returns:
- This builder for chaining.
-
clearNumRelaxedVars
Number of variables to relax in the exhaustive Large Neighborhood Search.
optional int32 num_relaxed_vars = 8 [default = 10];
- Returns:
- This builder for chaining.
-
hasMaxNumberOfConflictsInRandomLns
public boolean 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];
- Specified by:
hasMaxNumberOfConflictsInRandomLns
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumberOfConflictsInRandomLns field is set.
-
getMaxNumberOfConflictsInRandomLns
public int 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];
- Specified by:
getMaxNumberOfConflictsInRandomLns
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumberOfConflictsInRandomLns.
-
setMaxNumberOfConflictsInRandomLns
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];
- Parameters:
value
- The maxNumberOfConflictsInRandomLns to set.- Returns:
- This builder for chaining.
-
clearMaxNumberOfConflictsInRandomLns
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];
- Returns:
- This builder for chaining.
-
hasNumRandomLnsTries
public boolean hasNumRandomLnsTries()Number of tries in the random lns.
optional int32 num_random_lns_tries = 10 [default = 1];
- Specified by:
hasNumRandomLnsTries
in interfaceBopParametersOrBuilder
- Returns:
- Whether the numRandomLnsTries field is set.
-
getNumRandomLnsTries
public int getNumRandomLnsTries()Number of tries in the random lns.
optional int32 num_random_lns_tries = 10 [default = 1];
- Specified by:
getNumRandomLnsTries
in interfaceBopParametersOrBuilder
- Returns:
- The numRandomLnsTries.
-
setNumRandomLnsTries
Number of tries in the random lns.
optional int32 num_random_lns_tries = 10 [default = 1];
- Parameters:
value
- The numRandomLnsTries to set.- Returns:
- This builder for chaining.
-
clearNumRandomLnsTries
Number of tries in the random lns.
optional int32 num_random_lns_tries = 10 [default = 1];
- Returns:
- This builder for chaining.
-
hasMaxNumberOfBacktracksInLs
public boolean 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];
- Specified by:
hasMaxNumberOfBacktracksInLs
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumberOfBacktracksInLs field is set.
-
getMaxNumberOfBacktracksInLs
public long 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];
- Specified by:
getMaxNumberOfBacktracksInLs
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumberOfBacktracksInLs.
-
setMaxNumberOfBacktracksInLs
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];
- Parameters:
value
- The maxNumberOfBacktracksInLs to set.- Returns:
- This builder for chaining.
-
clearMaxNumberOfBacktracksInLs
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];
- Returns:
- This builder for chaining.
-
hasUseLpLns
public boolean hasUseLpLns()Use Large Neighborhood Search based on the LP relaxation.
optional bool use_lp_lns = 12 [default = true];
- Specified by:
hasUseLpLns
in interfaceBopParametersOrBuilder
- Returns:
- Whether the useLpLns field is set.
-
getUseLpLns
public boolean getUseLpLns()Use Large Neighborhood Search based on the LP relaxation.
optional bool use_lp_lns = 12 [default = true];
- Specified by:
getUseLpLns
in interfaceBopParametersOrBuilder
- Returns:
- The useLpLns.
-
setUseLpLns
Use Large Neighborhood Search based on the LP relaxation.
optional bool use_lp_lns = 12 [default = true];
- Parameters:
value
- The useLpLns to set.- Returns:
- This builder for chaining.
-
clearUseLpLns
Use Large Neighborhood Search based on the LP relaxation.
optional bool use_lp_lns = 12 [default = true];
- Returns:
- This builder for chaining.
-
hasUseSatToChooseLnsNeighbourhood
public boolean hasUseSatToChooseLnsNeighbourhood()Whether we use sat propagation to choose the lns neighbourhood.
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
- Specified by:
hasUseSatToChooseLnsNeighbourhood
in interfaceBopParametersOrBuilder
- Returns:
- Whether the useSatToChooseLnsNeighbourhood field is set.
-
getUseSatToChooseLnsNeighbourhood
public boolean getUseSatToChooseLnsNeighbourhood()Whether we use sat propagation to choose the lns neighbourhood.
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
- Specified by:
getUseSatToChooseLnsNeighbourhood
in interfaceBopParametersOrBuilder
- Returns:
- The useSatToChooseLnsNeighbourhood.
-
setUseSatToChooseLnsNeighbourhood
Whether we use sat propagation to choose the lns neighbourhood.
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
- Parameters:
value
- The useSatToChooseLnsNeighbourhood to set.- Returns:
- This builder for chaining.
-
clearUseSatToChooseLnsNeighbourhood
Whether we use sat propagation to choose the lns neighbourhood.
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
- Returns:
- This builder for chaining.
-
hasMaxNumberOfConflictsForQuickCheck
public boolean 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];
- Specified by:
hasMaxNumberOfConflictsForQuickCheck
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumberOfConflictsForQuickCheck field is set.
-
getMaxNumberOfConflictsForQuickCheck
public int 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];
- Specified by:
getMaxNumberOfConflictsForQuickCheck
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumberOfConflictsForQuickCheck.
-
setMaxNumberOfConflictsForQuickCheck
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];
- Parameters:
value
- The maxNumberOfConflictsForQuickCheck to set.- Returns:
- This builder for chaining.
-
clearMaxNumberOfConflictsForQuickCheck
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];
- Returns:
- This builder for chaining.
-
hasUseSymmetry
public boolean 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];
- Specified by:
hasUseSymmetry
in interfaceBopParametersOrBuilder
- Returns:
- Whether the useSymmetry field is set.
-
getUseSymmetry
public boolean 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];
- Specified by:
getUseSymmetry
in interfaceBopParametersOrBuilder
- Returns:
- The useSymmetry.
-
setUseSymmetry
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];
- Parameters:
value
- The useSymmetry to set.- Returns:
- This builder for chaining.
-
clearUseSymmetry
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];
- Returns:
- This builder for chaining.
-
hasExploitSymmetryInSatFirstSolution
public boolean 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];
- Specified by:
hasExploitSymmetryInSatFirstSolution
in interfaceBopParametersOrBuilder
- Returns:
- Whether the exploitSymmetryInSatFirstSolution field is set.
-
getExploitSymmetryInSatFirstSolution
public boolean 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];
- Specified by:
getExploitSymmetryInSatFirstSolution
in interfaceBopParametersOrBuilder
- Returns:
- The exploitSymmetryInSatFirstSolution.
-
setExploitSymmetryInSatFirstSolution
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];
- Parameters:
value
- The exploitSymmetryInSatFirstSolution to set.- Returns:
- This builder for chaining.
-
clearExploitSymmetryInSatFirstSolution
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];
- Returns:
- This builder for chaining.
-
hasMaxNumberOfConflictsInRandomSolutionGeneration
public boolean 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];
- Specified by:
hasMaxNumberOfConflictsInRandomSolutionGeneration
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumberOfConflictsInRandomSolutionGeneration field is set.
-
getMaxNumberOfConflictsInRandomSolutionGeneration
public int 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];
- Specified by:
getMaxNumberOfConflictsInRandomSolutionGeneration
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumberOfConflictsInRandomSolutionGeneration.
-
setMaxNumberOfConflictsInRandomSolutionGeneration
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];
- Parameters:
value
- The maxNumberOfConflictsInRandomSolutionGeneration to set.- Returns:
- This builder for chaining.
-
clearMaxNumberOfConflictsInRandomSolutionGeneration
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];
- Returns:
- This builder for chaining.
-
hasMaxNumberOfExploredAssignmentsPerTryInLs
public boolean 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];
- Specified by:
hasMaxNumberOfExploredAssignmentsPerTryInLs
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxNumberOfExploredAssignmentsPerTryInLs field is set.
-
getMaxNumberOfExploredAssignmentsPerTryInLs
public long 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];
- Specified by:
getMaxNumberOfExploredAssignmentsPerTryInLs
in interfaceBopParametersOrBuilder
- Returns:
- The maxNumberOfExploredAssignmentsPerTryInLs.
-
setMaxNumberOfExploredAssignmentsPerTryInLs
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];
- Parameters:
value
- The maxNumberOfExploredAssignmentsPerTryInLs to set.- Returns:
- This builder for chaining.
-
clearMaxNumberOfExploredAssignmentsPerTryInLs
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];
- Returns:
- This builder for chaining.
-
hasUseTranspositionTableInLs
public boolean 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];
- Specified by:
hasUseTranspositionTableInLs
in interfaceBopParametersOrBuilder
- Returns:
- Whether the useTranspositionTableInLs field is set.
-
getUseTranspositionTableInLs
public boolean 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];
- Specified by:
getUseTranspositionTableInLs
in interfaceBopParametersOrBuilder
- Returns:
- The useTranspositionTableInLs.
-
setUseTranspositionTableInLs
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];
- Parameters:
value
- The useTranspositionTableInLs to set.- Returns:
- This builder for chaining.
-
clearUseTranspositionTableInLs
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];
- Returns:
- This builder for chaining.
-
hasUsePotentialOneFlipRepairsInLs
public boolean 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];
- Specified by:
hasUsePotentialOneFlipRepairsInLs
in interfaceBopParametersOrBuilder
- Returns:
- Whether the usePotentialOneFlipRepairsInLs field is set.
-
getUsePotentialOneFlipRepairsInLs
public boolean 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];
- Specified by:
getUsePotentialOneFlipRepairsInLs
in interfaceBopParametersOrBuilder
- Returns:
- The usePotentialOneFlipRepairsInLs.
-
setUsePotentialOneFlipRepairsInLs
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];
- Parameters:
value
- The usePotentialOneFlipRepairsInLs to set.- Returns:
- This builder for chaining.
-
clearUsePotentialOneFlipRepairsInLs
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];
- Returns:
- This builder for chaining.
-
hasUseLearnedBinaryClausesInLp
public boolean hasUseLearnedBinaryClausesInLp()Whether we use the learned binary clauses in the Linear Relaxation.
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
- Specified by:
hasUseLearnedBinaryClausesInLp
in interfaceBopParametersOrBuilder
- Returns:
- Whether the useLearnedBinaryClausesInLp field is set.
-
getUseLearnedBinaryClausesInLp
public boolean getUseLearnedBinaryClausesInLp()Whether we use the learned binary clauses in the Linear Relaxation.
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
- Specified by:
getUseLearnedBinaryClausesInLp
in interfaceBopParametersOrBuilder
- Returns:
- The useLearnedBinaryClausesInLp.
-
setUseLearnedBinaryClausesInLp
Whether we use the learned binary clauses in the Linear Relaxation.
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
- Parameters:
value
- The useLearnedBinaryClausesInLp to set.- Returns:
- This builder for chaining.
-
clearUseLearnedBinaryClausesInLp
Whether we use the learned binary clauses in the Linear Relaxation.
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
- Returns:
- This builder for chaining.
-
hasNumberOfSolvers
public boolean 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];
- Specified by:
hasNumberOfSolvers
in interfaceBopParametersOrBuilder
- Returns:
- Whether the numberOfSolvers field is set.
-
getNumberOfSolvers
public int 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];
- Specified by:
getNumberOfSolvers
in interfaceBopParametersOrBuilder
- Returns:
- The numberOfSolvers.
-
setNumberOfSolvers
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];
- Parameters:
value
- The numberOfSolvers to set.- Returns:
- This builder for chaining.
-
clearNumberOfSolvers
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];
- Returns:
- This builder for chaining.
-
hasSynchronizationType
public boolean hasSynchronizationType()optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
- Specified by:
hasSynchronizationType
in interfaceBopParametersOrBuilder
- Returns:
- Whether the synchronizationType field is set.
-
getSynchronizationType
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
- Specified by:
getSynchronizationType
in interfaceBopParametersOrBuilder
- Returns:
- The synchronizationType.
-
setSynchronizationType
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
- Parameters:
value
- The synchronizationType to set.- Returns:
- This builder for chaining.
-
clearSynchronizationType
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
- Returns:
- This builder for chaining.
-
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;
- Specified by:
getSolverOptimizerSetsList
in interfaceBopParametersOrBuilder
-
getSolverOptimizerSetsCount
public int 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;
- Specified by:
getSolverOptimizerSetsCount
in interfaceBopParametersOrBuilder
-
getSolverOptimizerSets
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;
- Specified by:
getSolverOptimizerSets
in interfaceBopParametersOrBuilder
-
setSolverOptimizerSets
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;
-
setSolverOptimizerSets
public BopParameters.Builder setSolverOptimizerSets(int index, BopSolverOptimizerSet.Builder builderForValue) 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;
-
addSolverOptimizerSets
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;
-
addSolverOptimizerSets
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;
-
addSolverOptimizerSets
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;
-
addSolverOptimizerSets
public BopParameters.Builder addSolverOptimizerSets(int index, BopSolverOptimizerSet.Builder builderForValue) 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;
-
addAllSolverOptimizerSets
public BopParameters.Builder addAllSolverOptimizerSets(Iterable<? extends BopSolverOptimizerSet> values) 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;
-
clearSolverOptimizerSets
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;
-
removeSolverOptimizerSets
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;
-
getSolverOptimizerSetsBuilder
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;
-
getSolverOptimizerSetsOrBuilder
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;
- Specified by:
getSolverOptimizerSetsOrBuilder
in interfaceBopParametersOrBuilder
-
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;
- Specified by:
getSolverOptimizerSetsOrBuilderList
in interfaceBopParametersOrBuilder
-
addSolverOptimizerSetsBuilder
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;
-
addSolverOptimizerSetsBuilder
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;
-
getSolverOptimizerSetsBuilderList
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;
-
hasDefaultSolverOptimizerSets
public boolean 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 } "];
- Specified by:
hasDefaultSolverOptimizerSets
in interfaceBopParametersOrBuilder
- Returns:
- Whether the defaultSolverOptimizerSets field is set.
-
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 } "];
- Specified by:
getDefaultSolverOptimizerSets
in interfaceBopParametersOrBuilder
- Returns:
- The defaultSolverOptimizerSets.
-
getDefaultSolverOptimizerSetsBytes
public com.google.protobuf.ByteString 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 } "];
- Specified by:
getDefaultSolverOptimizerSetsBytes
in interfaceBopParametersOrBuilder
- Returns:
- The bytes for defaultSolverOptimizerSets.
-
setDefaultSolverOptimizerSets
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 } "];
- Parameters:
value
- The defaultSolverOptimizerSets to set.- Returns:
- This builder for chaining.
-
clearDefaultSolverOptimizerSets
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 } "];
- Returns:
- This builder for chaining.
-
setDefaultSolverOptimizerSetsBytes
public BopParameters.Builder setDefaultSolverOptimizerSetsBytes(com.google.protobuf.ByteString value) 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 } "];
- Parameters:
value
- The bytes for defaultSolverOptimizerSets to set.- Returns:
- This builder for chaining.
-
hasUseLpStrongBranching
public boolean 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];
- Specified by:
hasUseLpStrongBranching
in interfaceBopParametersOrBuilder
- Returns:
- Whether the useLpStrongBranching field is set.
-
getUseLpStrongBranching
public boolean 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];
- Specified by:
getUseLpStrongBranching
in interfaceBopParametersOrBuilder
- Returns:
- The useLpStrongBranching.
-
setUseLpStrongBranching
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];
- Parameters:
value
- The useLpStrongBranching to set.- Returns:
- This builder for chaining.
-
clearUseLpStrongBranching
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];
- Returns:
- This builder for chaining.
-
hasDecomposerNumVariablesThreshold
public boolean 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];
- Specified by:
hasDecomposerNumVariablesThreshold
in interfaceBopParametersOrBuilder
- Returns:
- Whether the decomposerNumVariablesThreshold field is set.
-
getDecomposerNumVariablesThreshold
public int 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];
- Specified by:
getDecomposerNumVariablesThreshold
in interfaceBopParametersOrBuilder
- Returns:
- The decomposerNumVariablesThreshold.
-
setDecomposerNumVariablesThreshold
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];
- Parameters:
value
- The decomposerNumVariablesThreshold to set.- Returns:
- This builder for chaining.
-
clearDecomposerNumVariablesThreshold
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];
- Returns:
- This builder for chaining.
-
hasNumBopSolversUsedByDecomposition
public boolean 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];
- Specified by:
hasNumBopSolversUsedByDecomposition
in interfaceBopParametersOrBuilder
- Returns:
- Whether the numBopSolversUsedByDecomposition field is set.
-
getNumBopSolversUsedByDecomposition
public int 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];
- Specified by:
getNumBopSolversUsedByDecomposition
in interfaceBopParametersOrBuilder
- Returns:
- The numBopSolversUsedByDecomposition.
-
setNumBopSolversUsedByDecomposition
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];
- Parameters:
value
- The numBopSolversUsedByDecomposition to set.- Returns:
- This builder for chaining.
-
clearNumBopSolversUsedByDecomposition
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];
- Returns:
- This builder for chaining.
-
hasDecomposedProblemMinTimeInSeconds
public boolean 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];
- Specified by:
hasDecomposedProblemMinTimeInSeconds
in interfaceBopParametersOrBuilder
- Returns:
- Whether the decomposedProblemMinTimeInSeconds field is set.
-
getDecomposedProblemMinTimeInSeconds
public double 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];
- Specified by:
getDecomposedProblemMinTimeInSeconds
in interfaceBopParametersOrBuilder
- Returns:
- The decomposedProblemMinTimeInSeconds.
-
setDecomposedProblemMinTimeInSeconds
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];
- Parameters:
value
- The decomposedProblemMinTimeInSeconds to set.- Returns:
- This builder for chaining.
-
clearDecomposedProblemMinTimeInSeconds
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];
- Returns:
- This builder for chaining.
-
hasGuidedSatConflictsChunk
public boolean 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];
- Specified by:
hasGuidedSatConflictsChunk
in interfaceBopParametersOrBuilder
- Returns:
- Whether the guidedSatConflictsChunk field is set.
-
getGuidedSatConflictsChunk
public int 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];
- Specified by:
getGuidedSatConflictsChunk
in interfaceBopParametersOrBuilder
- Returns:
- The guidedSatConflictsChunk.
-
setGuidedSatConflictsChunk
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];
- Parameters:
value
- The guidedSatConflictsChunk to set.- Returns:
- This builder for chaining.
-
clearGuidedSatConflictsChunk
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];
- Returns:
- This builder for chaining.
-
hasMaxLpSolveForFeasibilityProblems
public boolean 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];
- Specified by:
hasMaxLpSolveForFeasibilityProblems
in interfaceBopParametersOrBuilder
- Returns:
- Whether the maxLpSolveForFeasibilityProblems field is set.
-
getMaxLpSolveForFeasibilityProblems
public int 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];
- Specified by:
getMaxLpSolveForFeasibilityProblems
in interfaceBopParametersOrBuilder
- Returns:
- The maxLpSolveForFeasibilityProblems.
-
setMaxLpSolveForFeasibilityProblems
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];
- Parameters:
value
- The maxLpSolveForFeasibilityProblems to set.- Returns:
- This builder for chaining.
-
clearMaxLpSolveForFeasibilityProblems
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];
- Returns:
- This builder for chaining.
-