Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
com.google.ortools.bop.BopParameters.Builder Class Reference
Inheritance diagram for com.google.ortools.bop.BopParameters.Builder:
com.google.ortools.bop.BopParametersOrBuilder

Public Member Functions

Builder clear ()
 
com.google.protobuf.Descriptors.Descriptor getDescriptorForType ()
 
com.google.ortools.bop.BopParameters getDefaultInstanceForType ()
 
com.google.ortools.bop.BopParameters build ()
 
com.google.ortools.bop.BopParameters buildPartial ()
 
Builder clone ()
 
Builder setField (com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
 
Builder clearField (com.google.protobuf.Descriptors.FieldDescriptor field)
 
Builder clearOneof (com.google.protobuf.Descriptors.OneofDescriptor oneof)
 
Builder setRepeatedField (com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
 
Builder addRepeatedField (com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
 
Builder mergeFrom (com.google.protobuf.Message other)
 
Builder mergeFrom (com.google.ortools.bop.BopParameters other)
 
final boolean isInitialized ()
 
Builder mergeFrom (com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
 
boolean hasMaxTimeInSeconds ()
 
double getMaxTimeInSeconds ()
 
Builder setMaxTimeInSeconds (double value)
 
Builder clearMaxTimeInSeconds ()
 
boolean hasMaxDeterministicTime ()
 
double getMaxDeterministicTime ()
 
Builder setMaxDeterministicTime (double value)
 
Builder clearMaxDeterministicTime ()
 
boolean hasLpMaxDeterministicTime ()
 
double getLpMaxDeterministicTime ()
 
Builder setLpMaxDeterministicTime (double value)
 
Builder clearLpMaxDeterministicTime ()
 
boolean hasMaxNumberOfConsecutiveFailingOptimizerCalls ()
 
int getMaxNumberOfConsecutiveFailingOptimizerCalls ()
 
Builder setMaxNumberOfConsecutiveFailingOptimizerCalls (int value)
 
Builder clearMaxNumberOfConsecutiveFailingOptimizerCalls ()
 
boolean hasRelativeGapLimit ()
 
double getRelativeGapLimit ()
 
Builder setRelativeGapLimit (double value)
 
Builder clearRelativeGapLimit ()
 
boolean hasMaxNumDecisionsInLs ()
 
int getMaxNumDecisionsInLs ()
 
Builder setMaxNumDecisionsInLs (int value)
 
Builder clearMaxNumDecisionsInLs ()
 
boolean hasMaxNumBrokenConstraintsInLs ()
 
int getMaxNumBrokenConstraintsInLs ()
 
Builder setMaxNumBrokenConstraintsInLs (int value)
 
Builder clearMaxNumBrokenConstraintsInLs ()
 
boolean hasLogSearchProgress ()
 
boolean getLogSearchProgress ()
 
Builder setLogSearchProgress (boolean value)
 
Builder clearLogSearchProgress ()
 
boolean hasComputeEstimatedImpact ()
 
boolean getComputeEstimatedImpact ()
 
Builder setComputeEstimatedImpact (boolean value)
 
Builder clearComputeEstimatedImpact ()
 
boolean hasPruneSearchTree ()
 
boolean getPruneSearchTree ()
 
Builder setPruneSearchTree (boolean value)
 
Builder clearPruneSearchTree ()
 
boolean hasSortConstraintsByNumTerms ()
 
boolean getSortConstraintsByNumTerms ()
 
Builder setSortConstraintsByNumTerms (boolean value)
 
Builder clearSortConstraintsByNumTerms ()
 
boolean hasUseRandomLns ()
 
boolean getUseRandomLns ()
 
Builder setUseRandomLns (boolean value)
 
Builder clearUseRandomLns ()
 
boolean hasRandomSeed ()
 
int getRandomSeed ()
 
Builder setRandomSeed (int value)
 
Builder clearRandomSeed ()
 
boolean hasNumRelaxedVars ()
 
int getNumRelaxedVars ()
 
Builder setNumRelaxedVars (int value)
 
Builder clearNumRelaxedVars ()
 
boolean hasMaxNumberOfConflictsInRandomLns ()
 
int getMaxNumberOfConflictsInRandomLns ()
 
Builder setMaxNumberOfConflictsInRandomLns (int value)
 
Builder clearMaxNumberOfConflictsInRandomLns ()
 
boolean hasNumRandomLnsTries ()
 
int getNumRandomLnsTries ()
 
Builder setNumRandomLnsTries (int value)
 
Builder clearNumRandomLnsTries ()
 
boolean hasMaxNumberOfBacktracksInLs ()
 
long getMaxNumberOfBacktracksInLs ()
 
Builder setMaxNumberOfBacktracksInLs (long value)
 
Builder clearMaxNumberOfBacktracksInLs ()
 
boolean hasUseLpLns ()
 
boolean getUseLpLns ()
 
Builder setUseLpLns (boolean value)
 
Builder clearUseLpLns ()
 
boolean hasUseSatToChooseLnsNeighbourhood ()
 
boolean getUseSatToChooseLnsNeighbourhood ()
 
Builder setUseSatToChooseLnsNeighbourhood (boolean value)
 
Builder clearUseSatToChooseLnsNeighbourhood ()
 
boolean hasMaxNumberOfConflictsForQuickCheck ()
 
int getMaxNumberOfConflictsForQuickCheck ()
 
Builder setMaxNumberOfConflictsForQuickCheck (int value)
 
Builder clearMaxNumberOfConflictsForQuickCheck ()
 
boolean hasUseSymmetry ()
 
boolean getUseSymmetry ()
 
Builder setUseSymmetry (boolean value)
 
Builder clearUseSymmetry ()
 
boolean hasExploitSymmetryInSatFirstSolution ()
 
boolean getExploitSymmetryInSatFirstSolution ()
 
Builder setExploitSymmetryInSatFirstSolution (boolean value)
 
Builder clearExploitSymmetryInSatFirstSolution ()
 
boolean hasMaxNumberOfConflictsInRandomSolutionGeneration ()
 
int getMaxNumberOfConflictsInRandomSolutionGeneration ()
 
Builder setMaxNumberOfConflictsInRandomSolutionGeneration (int value)
 
Builder clearMaxNumberOfConflictsInRandomSolutionGeneration ()
 
boolean hasMaxNumberOfExploredAssignmentsPerTryInLs ()
 
long getMaxNumberOfExploredAssignmentsPerTryInLs ()
 
Builder setMaxNumberOfExploredAssignmentsPerTryInLs (long value)
 
Builder clearMaxNumberOfExploredAssignmentsPerTryInLs ()
 
boolean hasUseTranspositionTableInLs ()
 
boolean getUseTranspositionTableInLs ()
 
Builder setUseTranspositionTableInLs (boolean value)
 
Builder clearUseTranspositionTableInLs ()
 
boolean hasUsePotentialOneFlipRepairsInLs ()
 
boolean getUsePotentialOneFlipRepairsInLs ()
 
Builder setUsePotentialOneFlipRepairsInLs (boolean value)
 
Builder clearUsePotentialOneFlipRepairsInLs ()
 
boolean hasUseLearnedBinaryClausesInLp ()
 
boolean getUseLearnedBinaryClausesInLp ()
 
Builder setUseLearnedBinaryClausesInLp (boolean value)
 
Builder clearUseLearnedBinaryClausesInLp ()
 
boolean hasNumberOfSolvers ()
 
int getNumberOfSolvers ()
 
Builder setNumberOfSolvers (int value)
 
Builder clearNumberOfSolvers ()
 
boolean hasSynchronizationType ()
 
com.google.ortools.bop.BopParameters.ThreadSynchronizationType getSynchronizationType ()
 
Builder setSynchronizationType (com.google.ortools.bop.BopParameters.ThreadSynchronizationType value)
 
Builder clearSynchronizationType ()
 
java.util.List< com.google.ortools.bop.BopSolverOptimizerSetgetSolverOptimizerSetsList ()
 
int getSolverOptimizerSetsCount ()
 
com.google.ortools.bop.BopSolverOptimizerSet getSolverOptimizerSets (int index)
 
Builder setSolverOptimizerSets (int index, com.google.ortools.bop.BopSolverOptimizerSet value)
 
Builder setSolverOptimizerSets (int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue)
 
Builder addSolverOptimizerSets (com.google.ortools.bop.BopSolverOptimizerSet value)
 
Builder addSolverOptimizerSets (int index, com.google.ortools.bop.BopSolverOptimizerSet value)
 
Builder addSolverOptimizerSets (com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue)
 
Builder addSolverOptimizerSets (int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue)
 
Builder addAllSolverOptimizerSets (java.lang.Iterable<? extends com.google.ortools.bop.BopSolverOptimizerSet > values)
 
Builder clearSolverOptimizerSets ()
 
Builder removeSolverOptimizerSets (int index)
 
com.google.ortools.bop.BopSolverOptimizerSet.Builder getSolverOptimizerSetsBuilder (int index)
 
com.google.ortools.bop.BopSolverOptimizerSetOrBuilder getSolverOptimizerSetsOrBuilder (int index)
 
java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuildergetSolverOptimizerSetsOrBuilderList ()
 
com.google.ortools.bop.BopSolverOptimizerSet.Builder addSolverOptimizerSetsBuilder ()
 
com.google.ortools.bop.BopSolverOptimizerSet.Builder addSolverOptimizerSetsBuilder (int index)
 
java.util.List< com.google.ortools.bop.BopSolverOptimizerSet.BuildergetSolverOptimizerSetsBuilderList ()
 
boolean hasDefaultSolverOptimizerSets ()
 
java.lang.String getDefaultSolverOptimizerSets ()
 
com.google.protobuf.ByteString getDefaultSolverOptimizerSetsBytes ()
 
Builder setDefaultSolverOptimizerSets (java.lang.String value)
 
Builder clearDefaultSolverOptimizerSets ()
 
Builder setDefaultSolverOptimizerSetsBytes (com.google.protobuf.ByteString value)
 
boolean hasUseLpStrongBranching ()
 
boolean getUseLpStrongBranching ()
 
Builder setUseLpStrongBranching (boolean value)
 
Builder clearUseLpStrongBranching ()
 
boolean hasDecomposerNumVariablesThreshold ()
 
int getDecomposerNumVariablesThreshold ()
 
Builder setDecomposerNumVariablesThreshold (int value)
 
Builder clearDecomposerNumVariablesThreshold ()
 
boolean hasNumBopSolversUsedByDecomposition ()
 
int getNumBopSolversUsedByDecomposition ()
 
Builder setNumBopSolversUsedByDecomposition (int value)
 
Builder clearNumBopSolversUsedByDecomposition ()
 
boolean hasDecomposedProblemMinTimeInSeconds ()
 
double getDecomposedProblemMinTimeInSeconds ()
 
Builder setDecomposedProblemMinTimeInSeconds (double value)
 
Builder clearDecomposedProblemMinTimeInSeconds ()
 
boolean hasGuidedSatConflictsChunk ()
 
int getGuidedSatConflictsChunk ()
 
Builder setGuidedSatConflictsChunk (int value)
 
Builder clearGuidedSatConflictsChunk ()
 
boolean hasMaxLpSolveForFeasibilityProblems ()
 
int getMaxLpSolveForFeasibilityProblems ()
 
Builder setMaxLpSolveForFeasibilityProblems (int value)
 
Builder clearMaxLpSolveForFeasibilityProblems ()
 
final Builder setUnknownFields (final com.google.protobuf.UnknownFieldSet unknownFields)
 
final Builder mergeUnknownFields (final com.google.protobuf.UnknownFieldSet unknownFields)
 

Static Public Member Functions

static final com.google.protobuf.Descriptors.Descriptor getDescriptor ()
 

Protected Member Functions

com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable ()
 

Detailed Description

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 2218 of file BopParameters.java.

Member Function Documentation

◆ addAllSolverOptimizerSets()

Builder com.google.ortools.bop.BopParameters.Builder.addAllSolverOptimizerSets ( java.lang.Iterable<? extends com.google.ortools.bop.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;

Definition at line 4913 of file BopParameters.java.

◆ addRepeatedField()

Builder com.google.ortools.bop.BopParameters.Builder.addRepeatedField ( com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value )

Definition at line 2523 of file BopParameters.java.

◆ addSolverOptimizerSets() [1/4]

Builder com.google.ortools.bop.BopParameters.Builder.addSolverOptimizerSets ( com.google.ortools.bop.BopSolverOptimizerSet value)
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;

Definition at line 4824 of file BopParameters.java.

◆ addSolverOptimizerSets() [2/4]

Builder com.google.ortools.bop.BopParameters.Builder.addSolverOptimizerSets ( com.google.ortools.bop.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;

Definition at line 4871 of file BopParameters.java.

◆ addSolverOptimizerSets() [3/4]

Builder com.google.ortools.bop.BopParameters.Builder.addSolverOptimizerSets ( int index,
com.google.ortools.bop.BopSolverOptimizerSet value )
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;

Definition at line 4847 of file BopParameters.java.

◆ addSolverOptimizerSets() [4/4]

Builder com.google.ortools.bop.BopParameters.Builder.addSolverOptimizerSets ( int index,
com.google.ortools.bop.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;

Definition at line 4892 of file BopParameters.java.

◆ addSolverOptimizerSetsBuilder() [1/2]

com.google.ortools.bop.BopSolverOptimizerSet.Builder com.google.ortools.bop.BopParameters.Builder.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;

Definition at line 5024 of file BopParameters.java.

◆ addSolverOptimizerSetsBuilder() [2/2]

com.google.ortools.bop.BopSolverOptimizerSet.Builder com.google.ortools.bop.BopParameters.Builder.addSolverOptimizerSetsBuilder ( 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;

Definition at line 5038 of file BopParameters.java.

◆ build()

com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.Builder.build ( )

Definition at line 2308 of file BopParameters.java.

◆ buildPartial()

com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.Builder.buildPartial ( )

Definition at line 2317 of file BopParameters.java.

◆ clear()

Builder com.google.ortools.bop.BopParameters.Builder.clear ( )

Definition at line 2246 of file BopParameters.java.

◆ clearComputeEstimatedImpact()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3489 of file BopParameters.java.

◆ clearDecomposedProblemMinTimeInSeconds()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 5425 of file BopParameters.java.

◆ clearDecomposerNumVariablesThreshold()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 5293 of file BopParameters.java.

◆ clearDefaultSolverOptimizerSets()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 5132 of file BopParameters.java.

◆ clearExploitSymmetryInSatFirstSolution()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4281 of file BopParameters.java.

◆ clearField()

Builder com.google.ortools.bop.BopParameters.Builder.clearField ( com.google.protobuf.Descriptors.FieldDescriptor field)

Definition at line 2507 of file BopParameters.java.

◆ clearGuidedSatConflictsChunk()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 5489 of file BopParameters.java.

◆ clearLogSearchProgress()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3433 of file BopParameters.java.

◆ clearLpMaxDeterministicTime()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3109 of file BopParameters.java.

◆ clearMaxDeterministicTime()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3045 of file BopParameters.java.

◆ clearMaxLpSolveForFeasibilityProblems()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 5557 of file BopParameters.java.

◆ clearMaxNumberOfBacktracksInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3965 of file BopParameters.java.

◆ clearMaxNumberOfConflictsForQuickCheck()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4137 of file BopParameters.java.

◆ clearMaxNumberOfConflictsInRandomLns()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3849 of file BopParameters.java.

◆ clearMaxNumberOfConflictsInRandomSolutionGeneration()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4337 of file BopParameters.java.

◆ clearMaxNumberOfConsecutiveFailingOptimizerCalls()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3181 of file BopParameters.java.

◆ clearMaxNumberOfExploredAssignmentsPerTryInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4405 of file BopParameters.java.

◆ clearMaxNumBrokenConstraintsInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3377 of file BopParameters.java.

◆ clearMaxNumDecisionsInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3313 of file BopParameters.java.

◆ clearMaxTimeInSeconds()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 2973 of file BopParameters.java.

◆ clearNumberOfSolvers()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4657 of file BopParameters.java.

◆ clearNumBopSolversUsedByDecomposition()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 5357 of file BopParameters.java.

◆ clearNumRandomLnsTries()

Builder com.google.ortools.bop.BopParameters.Builder.clearNumRandomLnsTries ( )
Number of tries in the random lns.

optional int32 num_random_lns_tries = 10 [default = 1];

Returns
This builder for chaining.

Definition at line 3905 of file BopParameters.java.

◆ clearNumRelaxedVars()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3789 of file BopParameters.java.

◆ clearOneof()

Builder com.google.ortools.bop.BopParameters.Builder.clearOneof ( com.google.protobuf.Descriptors.OneofDescriptor oneof)

Definition at line 2512 of file BopParameters.java.

◆ clearPruneSearchTree()

Builder com.google.ortools.bop.BopParameters.Builder.clearPruneSearchTree ( )
Avoid exploring both branches (b, a, ...) and (a, b, ...).

optional bool prune_search_tree = 4 [default = false];

Returns
This builder for chaining.

Definition at line 3545 of file BopParameters.java.

◆ clearRandomSeed()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3733 of file BopParameters.java.

◆ clearRelativeGapLimit()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3253 of file BopParameters.java.

◆ clearSolverOptimizerSets()

Builder com.google.ortools.bop.BopParameters.Builder.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;

Definition at line 4935 of file BopParameters.java.

◆ clearSortConstraintsByNumTerms()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3605 of file BopParameters.java.

◆ clearSynchronizationType()

Builder com.google.ortools.bop.BopParameters.Builder.clearSynchronizationType ( )

optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];

Returns
This builder for chaining.

Definition at line 4699 of file BopParameters.java.

◆ clearUseLearnedBinaryClausesInLp()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4593 of file BopParameters.java.

◆ clearUseLpLns()

Builder com.google.ortools.bop.BopParameters.Builder.clearUseLpLns ( )
Use Large Neighborhood Search based on the LP relaxation.

optional bool use_lp_lns = 12 [default = true];

Returns
This builder for chaining.

Definition at line 4021 of file BopParameters.java.

◆ clearUseLpStrongBranching()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 5233 of file BopParameters.java.

◆ clearUsePotentialOneFlipRepairsInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4537 of file BopParameters.java.

◆ clearUseRandomLns()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 3661 of file BopParameters.java.

◆ clearUseSatToChooseLnsNeighbourhood()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4077 of file BopParameters.java.

◆ clearUseSymmetry()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4209 of file BopParameters.java.

◆ clearUseTranspositionTableInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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.

Definition at line 4473 of file BopParameters.java.

◆ clone()

Builder com.google.ortools.bop.BopParameters.Builder.clone ( )

Definition at line 2497 of file BopParameters.java.

◆ getComputeEstimatedImpact()

boolean com.google.ortools.bop.BopParameters.Builder.getComputeEstimatedImpact ( )
Compute estimated impact at each iteration when true; only once when false.

optional bool compute_estimated_impact = 3 [default = true];

Returns
The computeEstimatedImpact.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3462 of file BopParameters.java.

◆ getDecomposedProblemMinTimeInSeconds()

double com.google.ortools.bop.BopParameters.Builder.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];

Returns
The decomposedProblemMinTimeInSeconds.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5392 of file BopParameters.java.

◆ getDecomposerNumVariablesThreshold()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The decomposerNumVariablesThreshold.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5264 of file BopParameters.java.

◆ getDefaultInstanceForType()

com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.Builder.getDefaultInstanceForType ( )

Definition at line 2303 of file BopParameters.java.

◆ getDefaultSolverOptimizerSets()

java.lang.String com.google.ortools.bop.BopParameters.Builder.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 } "];

Returns
The defaultSolverOptimizerSets.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5084 of file BopParameters.java.

◆ getDefaultSolverOptimizerSetsBytes()

com.google.protobuf.ByteString com.google.ortools.bop.BopParameters.Builder.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 } "];

Returns
The bytes for defaultSolverOptimizerSets.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5103 of file BopParameters.java.

◆ getDescriptor()

static final com.google.protobuf.Descriptors.Descriptor com.google.ortools.bop.BopParameters.Builder.getDescriptor ( )
static

Definition at line 2223 of file BopParameters.java.

◆ getDescriptorForType()

com.google.protobuf.Descriptors.Descriptor com.google.ortools.bop.BopParameters.Builder.getDescriptorForType ( )

Definition at line 2298 of file BopParameters.java.

◆ getExploitSymmetryInSatFirstSolution()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
The exploitSymmetryInSatFirstSolution.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4246 of file BopParameters.java.

◆ getGuidedSatConflictsChunk()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The guidedSatConflictsChunk.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5458 of file BopParameters.java.

◆ getLogSearchProgress()

boolean com.google.ortools.bop.BopParameters.Builder.getLogSearchProgress ( )
Whether the solver should log the search progress to LOG(INFO).

optional bool log_search_progress = 14 [default = false];

Returns
The logSearchProgress.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3406 of file BopParameters.java.

◆ getLpMaxDeterministicTime()

double com.google.ortools.bop.BopParameters.Builder.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];

Returns
The lpMaxDeterministicTime.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3078 of file BopParameters.java.

◆ getMaxDeterministicTime()

double com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxDeterministicTime.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3010 of file BopParameters.java.

◆ getMaxLpSolveForFeasibilityProblems()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxLpSolveForFeasibilityProblems.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5524 of file BopParameters.java.

◆ getMaxNumberOfBacktracksInLs()

long com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxNumberOfBacktracksInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3936 of file BopParameters.java.

◆ getMaxNumberOfConflictsForQuickCheck()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxNumberOfConflictsForQuickCheck.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4108 of file BopParameters.java.

◆ getMaxNumberOfConflictsInRandomLns()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxNumberOfConflictsInRandomLns.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3820 of file BopParameters.java.

◆ getMaxNumberOfConflictsInRandomSolutionGeneration()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxNumberOfConflictsInRandomSolutionGeneration.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4310 of file BopParameters.java.

◆ getMaxNumberOfConsecutiveFailingOptimizerCalls()

int com.google.ortools.bop.BopParameters.Builder.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;

Returns
The maxNumberOfConsecutiveFailingOptimizerCalls.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3146 of file BopParameters.java.

◆ getMaxNumberOfExploredAssignmentsPerTryInLs()

long com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxNumberOfExploredAssignmentsPerTryInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4372 of file BopParameters.java.

◆ getMaxNumBrokenConstraintsInLs()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxNumBrokenConstraintsInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3346 of file BopParameters.java.

◆ getMaxNumDecisionsInLs()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxNumDecisionsInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3284 of file BopParameters.java.

◆ getMaxTimeInSeconds()

double com.google.ortools.bop.BopParameters.Builder.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];

Returns
The maxTimeInSeconds.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 2944 of file BopParameters.java.

◆ getNumberOfSolvers()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The numberOfSolvers.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4626 of file BopParameters.java.

◆ getNumBopSolversUsedByDecomposition()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The numBopSolversUsedByDecomposition.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5326 of file BopParameters.java.

◆ getNumRandomLnsTries()

int com.google.ortools.bop.BopParameters.Builder.getNumRandomLnsTries ( )
Number of tries in the random lns.

optional int32 num_random_lns_tries = 10 [default = 1];

Returns
The numRandomLnsTries.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3878 of file BopParameters.java.

◆ getNumRelaxedVars()

int com.google.ortools.bop.BopParameters.Builder.getNumRelaxedVars ( )
Number of variables to relax in the exhaustive Large Neighborhood Search.

optional int32 num_relaxed_vars = 8 [default = 10];

Returns
The numRelaxedVars.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3762 of file BopParameters.java.

◆ getPruneSearchTree()

boolean com.google.ortools.bop.BopParameters.Builder.getPruneSearchTree ( )
Avoid exploring both branches (b, a, ...) and (a, b, ...).

optional bool prune_search_tree = 4 [default = false];

Returns
The pruneSearchTree.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3518 of file BopParameters.java.

◆ getRandomSeed()

int com.google.ortools.bop.BopParameters.Builder.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];

Returns
The randomSeed.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3698 of file BopParameters.java.

◆ getRelativeGapLimit()

double com.google.ortools.bop.BopParameters.Builder.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];

Returns
The relativeGapLimit.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3218 of file BopParameters.java.

◆ getSolverOptimizerSets()

com.google.ortools.bop.BopSolverOptimizerSet com.google.ortools.bop.BopParameters.Builder.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 4762 of file BopParameters.java.

◆ getSolverOptimizerSetsBuilder()

com.google.ortools.bop.BopSolverOptimizerSet.Builder com.google.ortools.bop.BopParameters.Builder.getSolverOptimizerSetsBuilder ( 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;

Definition at line 4975 of file BopParameters.java.

◆ getSolverOptimizerSetsBuilderList()

java.util.List< com.google.ortools.bop.BopSolverOptimizerSet.Builder > com.google.ortools.bop.BopParameters.Builder.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;

Definition at line 5054 of file BopParameters.java.

◆ getSolverOptimizerSetsCount()

int com.google.ortools.bop.BopParameters.Builder.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 4745 of file BopParameters.java.

◆ getSolverOptimizerSetsList()

java.util.List< com.google.ortools.bop.BopSolverOptimizerSet > com.google.ortools.bop.BopParameters.Builder.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 4728 of file BopParameters.java.

◆ getSolverOptimizerSetsOrBuilder()

com.google.ortools.bop.BopSolverOptimizerSetOrBuilder com.google.ortools.bop.BopParameters.Builder.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 4989 of file BopParameters.java.

◆ getSolverOptimizerSetsOrBuilderList()

java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder > com.google.ortools.bop.BopParameters.Builder.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 5007 of file BopParameters.java.

◆ getSortConstraintsByNumTerms()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
The sortConstraintsByNumTerms.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3576 of file BopParameters.java.

◆ getSynchronizationType()

com.google.ortools.bop.BopParameters.ThreadSynchronizationType com.google.ortools.bop.BopParameters.Builder.getSynchronizationType ( )

optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];

Returns
The synchronizationType.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4677 of file BopParameters.java.

◆ getUseLearnedBinaryClausesInLp()

boolean com.google.ortools.bop.BopParameters.Builder.getUseLearnedBinaryClausesInLp ( )
Whether we use the learned binary clauses in the Linear Relaxation.

optional bool use_learned_binary_clauses_in_lp = 23 [default = true];

Returns
The useLearnedBinaryClausesInLp.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4566 of file BopParameters.java.

◆ getUseLpLns()

boolean com.google.ortools.bop.BopParameters.Builder.getUseLpLns ( )
Use Large Neighborhood Search based on the LP relaxation.

optional bool use_lp_lns = 12 [default = true];

Returns
The useLpLns.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3994 of file BopParameters.java.

◆ getUseLpStrongBranching()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
The useLpStrongBranching.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5190 of file BopParameters.java.

◆ getUsePotentialOneFlipRepairsInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
The usePotentialOneFlipRepairsInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4506 of file BopParameters.java.

◆ getUseRandomLns()

boolean com.google.ortools.bop.BopParameters.Builder.getUseRandomLns ( )
Use the random Large Neighborhood Search instead of the exhaustive one.

optional bool use_random_lns = 6 [default = true];

Returns
The useRandomLns.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3634 of file BopParameters.java.

◆ getUseSatToChooseLnsNeighbourhood()

boolean com.google.ortools.bop.BopParameters.Builder.getUseSatToChooseLnsNeighbourhood ( )
Whether we use sat propagation to choose the lns neighbourhood.

optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];

Returns
The useSatToChooseLnsNeighbourhood.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4050 of file BopParameters.java.

◆ getUseSymmetry()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
The useSymmetry.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4174 of file BopParameters.java.

◆ getUseTranspositionTableInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
The useTranspositionTableInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4440 of file BopParameters.java.

◆ hasComputeEstimatedImpact()

boolean com.google.ortools.bop.BopParameters.Builder.hasComputeEstimatedImpact ( )
Compute estimated impact at each iteration when true; only once when false.

optional bool compute_estimated_impact = 3 [default = true];

Returns
Whether the computeEstimatedImpact field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3450 of file BopParameters.java.

◆ hasDecomposedProblemMinTimeInSeconds()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the decomposedProblemMinTimeInSeconds field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5377 of file BopParameters.java.

◆ hasDecomposerNumVariablesThreshold()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the decomposerNumVariablesThreshold field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5251 of file BopParameters.java.

◆ hasDefaultSolverOptimizerSets()

boolean com.google.ortools.bop.BopParameters.Builder.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 } "];

Returns
Whether the defaultSolverOptimizerSets field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5077 of file BopParameters.java.

◆ hasExploitSymmetryInSatFirstSolution()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the exploitSymmetryInSatFirstSolution field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4230 of file BopParameters.java.

◆ hasGuidedSatConflictsChunk()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the guidedSatConflictsChunk field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5444 of file BopParameters.java.

◆ hasLogSearchProgress()

boolean com.google.ortools.bop.BopParameters.Builder.hasLogSearchProgress ( )
Whether the solver should log the search progress to LOG(INFO).

optional bool log_search_progress = 14 [default = false];

Returns
Whether the logSearchProgress field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3394 of file BopParameters.java.

◆ hasLpMaxDeterministicTime()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the lpMaxDeterministicTime field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3064 of file BopParameters.java.

◆ hasMaxDeterministicTime()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxDeterministicTime field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 2994 of file BopParameters.java.

◆ hasMaxLpSolveForFeasibilityProblems()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxLpSolveForFeasibilityProblems field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5509 of file BopParameters.java.

◆ hasMaxNumberOfBacktracksInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxNumberOfBacktracksInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3923 of file BopParameters.java.

◆ hasMaxNumberOfConflictsForQuickCheck()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxNumberOfConflictsForQuickCheck field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4095 of file BopParameters.java.

◆ hasMaxNumberOfConflictsInRandomLns()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxNumberOfConflictsInRandomLns field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3807 of file BopParameters.java.

◆ hasMaxNumberOfConflictsInRandomSolutionGeneration()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxNumberOfConflictsInRandomSolutionGeneration field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4298 of file BopParameters.java.

◆ hasMaxNumberOfConsecutiveFailingOptimizerCalls()

boolean com.google.ortools.bop.BopParameters.Builder.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;

Returns
Whether the maxNumberOfConsecutiveFailingOptimizerCalls field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3130 of file BopParameters.java.

◆ hasMaxNumberOfExploredAssignmentsPerTryInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxNumberOfExploredAssignmentsPerTryInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4357 of file BopParameters.java.

◆ hasMaxNumBrokenConstraintsInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxNumBrokenConstraintsInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3332 of file BopParameters.java.

◆ hasMaxNumDecisionsInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxNumDecisionsInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3271 of file BopParameters.java.

◆ hasMaxTimeInSeconds()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the maxTimeInSeconds field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 2931 of file BopParameters.java.

◆ hasNumberOfSolvers()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the numberOfSolvers field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4612 of file BopParameters.java.

◆ hasNumBopSolversUsedByDecomposition()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the numBopSolversUsedByDecomposition field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5312 of file BopParameters.java.

◆ hasNumRandomLnsTries()

boolean com.google.ortools.bop.BopParameters.Builder.hasNumRandomLnsTries ( )
Number of tries in the random lns.

optional int32 num_random_lns_tries = 10 [default = 1];

Returns
Whether the numRandomLnsTries field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3866 of file BopParameters.java.

◆ hasNumRelaxedVars()

boolean com.google.ortools.bop.BopParameters.Builder.hasNumRelaxedVars ( )
Number of variables to relax in the exhaustive Large Neighborhood Search.

optional int32 num_relaxed_vars = 8 [default = 10];

Returns
Whether the numRelaxedVars field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3750 of file BopParameters.java.

◆ hasPruneSearchTree()

boolean com.google.ortools.bop.BopParameters.Builder.hasPruneSearchTree ( )
Avoid exploring both branches (b, a, ...) and (a, b, ...).

optional bool prune_search_tree = 4 [default = false];

Returns
Whether the pruneSearchTree field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3506 of file BopParameters.java.

◆ hasRandomSeed()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the randomSeed field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3682 of file BopParameters.java.

◆ hasRelativeGapLimit()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the relativeGapLimit field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3202 of file BopParameters.java.

◆ hasSortConstraintsByNumTerms()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the sortConstraintsByNumTerms field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3563 of file BopParameters.java.

◆ hasSynchronizationType()

boolean com.google.ortools.bop.BopParameters.Builder.hasSynchronizationType ( )

optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];

Returns
Whether the synchronizationType field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4669 of file BopParameters.java.

◆ hasUseLearnedBinaryClausesInLp()

boolean com.google.ortools.bop.BopParameters.Builder.hasUseLearnedBinaryClausesInLp ( )
Whether we use the learned binary clauses in the Linear Relaxation.

optional bool use_learned_binary_clauses_in_lp = 23 [default = true];

Returns
Whether the useLearnedBinaryClausesInLp field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4554 of file BopParameters.java.

◆ hasUseLpLns()

boolean com.google.ortools.bop.BopParameters.Builder.hasUseLpLns ( )
Use Large Neighborhood Search based on the LP relaxation.

optional bool use_lp_lns = 12 [default = true];

Returns
Whether the useLpLns field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3982 of file BopParameters.java.

◆ hasUseLpStrongBranching()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the useLpStrongBranching field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 5170 of file BopParameters.java.

◆ hasUsePotentialOneFlipRepairsInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the usePotentialOneFlipRepairsInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4492 of file BopParameters.java.

◆ hasUseRandomLns()

boolean com.google.ortools.bop.BopParameters.Builder.hasUseRandomLns ( )
Use the random Large Neighborhood Search instead of the exhaustive one.

optional bool use_random_lns = 6 [default = true];

Returns
Whether the useRandomLns field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 3622 of file BopParameters.java.

◆ hasUseSatToChooseLnsNeighbourhood()

boolean com.google.ortools.bop.BopParameters.Builder.hasUseSatToChooseLnsNeighbourhood ( )
Whether we use sat propagation to choose the lns neighbourhood.

optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];

Returns
Whether the useSatToChooseLnsNeighbourhood field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4038 of file BopParameters.java.

◆ hasUseSymmetry()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the useSymmetry field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4158 of file BopParameters.java.

◆ hasUseTranspositionTableInLs()

boolean com.google.ortools.bop.BopParameters.Builder.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];

Returns
Whether the useTranspositionTableInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 4425 of file BopParameters.java.

◆ internalGetFieldAccessorTable()

com.google.protobuf.GeneratedMessageV3.FieldAccessorTable com.google.ortools.bop.BopParameters.Builder.internalGetFieldAccessorTable ( )
protected

Definition at line 2229 of file BopParameters.java.

◆ isInitialized()

final boolean com.google.ortools.bop.BopParameters.Builder.isInitialized ( )

Definition at line 2682 of file BopParameters.java.

◆ mergeFrom() [1/3]

Builder com.google.ortools.bop.BopParameters.Builder.mergeFrom ( com.google.ortools.bop.BopParameters other)

Definition at line 2538 of file BopParameters.java.

◆ mergeFrom() [2/3]

Builder com.google.ortools.bop.BopParameters.Builder.mergeFrom ( com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry ) throws java.io.IOException

Definition at line 2687 of file BopParameters.java.

◆ mergeFrom() [3/3]

Builder com.google.ortools.bop.BopParameters.Builder.mergeFrom ( com.google.protobuf.Message other)

Definition at line 2529 of file BopParameters.java.

◆ mergeUnknownFields()

final Builder com.google.ortools.bop.BopParameters.Builder.mergeUnknownFields ( final com.google.protobuf.UnknownFieldSet unknownFields)

Definition at line 5570 of file BopParameters.java.

◆ removeSolverOptimizerSets()

Builder com.google.ortools.bop.BopParameters.Builder.removeSolverOptimizerSets ( 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;

Definition at line 4955 of file BopParameters.java.

◆ setComputeEstimatedImpact()

Builder com.google.ortools.bop.BopParameters.Builder.setComputeEstimatedImpact ( boolean value)
Compute estimated impact at each iteration when true; only once when false.

optional bool compute_estimated_impact = 3 [default = true];

Parameters
valueThe computeEstimatedImpact to set.
Returns
This builder for chaining.

Definition at line 3474 of file BopParameters.java.

◆ setDecomposedProblemMinTimeInSeconds()

Builder com.google.ortools.bop.BopParameters.Builder.setDecomposedProblemMinTimeInSeconds ( double value)
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
valueThe decomposedProblemMinTimeInSeconds to set.
Returns
This builder for chaining.

Definition at line 5407 of file BopParameters.java.

◆ setDecomposerNumVariablesThreshold()

Builder com.google.ortools.bop.BopParameters.Builder.setDecomposerNumVariablesThreshold ( int value)
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
valueThe decomposerNumVariablesThreshold to set.
Returns
This builder for chaining.

Definition at line 5277 of file BopParameters.java.

◆ setDefaultSolverOptimizerSets()

Builder com.google.ortools.bop.BopParameters.Builder.setDefaultSolverOptimizerSets ( java.lang.String 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
valueThe defaultSolverOptimizerSets to set.
Returns
This builder for chaining.

Definition at line 5120 of file BopParameters.java.

◆ setDefaultSolverOptimizerSetsBytes()

Builder com.google.ortools.bop.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
valueThe bytes for defaultSolverOptimizerSets to set.
Returns
This builder for chaining.

Definition at line 5143 of file BopParameters.java.

◆ setExploitSymmetryInSatFirstSolution()

Builder com.google.ortools.bop.BopParameters.Builder.setExploitSymmetryInSatFirstSolution ( boolean value)
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
valueThe exploitSymmetryInSatFirstSolution to set.
Returns
This builder for chaining.

Definition at line 4262 of file BopParameters.java.

◆ setField()

Builder com.google.ortools.bop.BopParameters.Builder.setField ( com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value )

Definition at line 2501 of file BopParameters.java.

◆ setGuidedSatConflictsChunk()

Builder com.google.ortools.bop.BopParameters.Builder.setGuidedSatConflictsChunk ( int value)
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
valueThe guidedSatConflictsChunk to set.
Returns
This builder for chaining.

Definition at line 5472 of file BopParameters.java.

◆ setLogSearchProgress()

Builder com.google.ortools.bop.BopParameters.Builder.setLogSearchProgress ( boolean value)
Whether the solver should log the search progress to LOG(INFO).

optional bool log_search_progress = 14 [default = false];

Parameters
valueThe logSearchProgress to set.
Returns
This builder for chaining.

Definition at line 3418 of file BopParameters.java.

◆ setLpMaxDeterministicTime()

Builder com.google.ortools.bop.BopParameters.Builder.setLpMaxDeterministicTime ( double value)
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
valueThe lpMaxDeterministicTime to set.
Returns
This builder for chaining.

Definition at line 3092 of file BopParameters.java.

◆ setMaxDeterministicTime()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxDeterministicTime ( double value)
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
valueThe maxDeterministicTime to set.
Returns
This builder for chaining.

Definition at line 3026 of file BopParameters.java.

◆ setMaxLpSolveForFeasibilityProblems()

Builder com.google.ortools.bop.BopParameters.Builder.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). 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
valueThe maxLpSolveForFeasibilityProblems to set.
Returns
This builder for chaining.

Definition at line 5539 of file BopParameters.java.

◆ setMaxNumberOfBacktracksInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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.

optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];

Parameters
valueThe maxNumberOfBacktracksInLs to set.
Returns
This builder for chaining.

Definition at line 3949 of file BopParameters.java.

◆ setMaxNumberOfConflictsForQuickCheck()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxNumberOfConflictsForQuickCheck ( int value)
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
valueThe maxNumberOfConflictsForQuickCheck to set.
Returns
This builder for chaining.

Definition at line 4121 of file BopParameters.java.

◆ setMaxNumberOfConflictsInRandomLns()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxNumberOfConflictsInRandomLns ( int value)
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
valueThe maxNumberOfConflictsInRandomLns to set.
Returns
This builder for chaining.

Definition at line 3833 of file BopParameters.java.

◆ setMaxNumberOfConflictsInRandomSolutionGeneration()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxNumberOfConflictsInRandomSolutionGeneration ( int value)
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
valueThe maxNumberOfConflictsInRandomSolutionGeneration to set.
Returns
This builder for chaining.

Definition at line 4322 of file BopParameters.java.

◆ setMaxNumberOfConsecutiveFailingOptimizerCalls()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxNumberOfConsecutiveFailingOptimizerCalls ( int value)
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
valueThe maxNumberOfConsecutiveFailingOptimizerCalls to set.
Returns
This builder for chaining.

Definition at line 3162 of file BopParameters.java.

◆ setMaxNumberOfExploredAssignmentsPerTryInLs()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxNumberOfExploredAssignmentsPerTryInLs ( long value)
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
valueThe maxNumberOfExploredAssignmentsPerTryInLs to set.
Returns
This builder for chaining.

Definition at line 4387 of file BopParameters.java.

◆ setMaxNumBrokenConstraintsInLs()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxNumBrokenConstraintsInLs ( int value)
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
valueThe maxNumBrokenConstraintsInLs to set.
Returns
This builder for chaining.

Definition at line 3360 of file BopParameters.java.

◆ setMaxNumDecisionsInLs()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxNumDecisionsInLs ( int value)
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
valueThe maxNumDecisionsInLs to set.
Returns
This builder for chaining.

Definition at line 3297 of file BopParameters.java.

◆ setMaxTimeInSeconds()

Builder com.google.ortools.bop.BopParameters.Builder.setMaxTimeInSeconds ( double value)
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
valueThe maxTimeInSeconds to set.
Returns
This builder for chaining.

Definition at line 2957 of file BopParameters.java.

◆ setNumberOfSolvers()

Builder com.google.ortools.bop.BopParameters.Builder.setNumberOfSolvers ( int value)
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
valueThe numberOfSolvers to set.
Returns
This builder for chaining.

Definition at line 4640 of file BopParameters.java.

◆ setNumBopSolversUsedByDecomposition()

Builder com.google.ortools.bop.BopParameters.Builder.setNumBopSolversUsedByDecomposition ( int value)
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
valueThe numBopSolversUsedByDecomposition to set.
Returns
This builder for chaining.

Definition at line 5340 of file BopParameters.java.

◆ setNumRandomLnsTries()

Builder com.google.ortools.bop.BopParameters.Builder.setNumRandomLnsTries ( int value)
Number of tries in the random lns.

optional int32 num_random_lns_tries = 10 [default = 1];

Parameters
valueThe numRandomLnsTries to set.
Returns
This builder for chaining.

Definition at line 3890 of file BopParameters.java.

◆ setNumRelaxedVars()

Builder com.google.ortools.bop.BopParameters.Builder.setNumRelaxedVars ( int value)
Number of variables to relax in the exhaustive Large Neighborhood Search.

optional int32 num_relaxed_vars = 8 [default = 10];

Parameters
valueThe numRelaxedVars to set.
Returns
This builder for chaining.

Definition at line 3774 of file BopParameters.java.

◆ setPruneSearchTree()

Builder com.google.ortools.bop.BopParameters.Builder.setPruneSearchTree ( boolean value)
Avoid exploring both branches (b, a, ...) and (a, b, ...).

optional bool prune_search_tree = 4 [default = false];

Parameters
valueThe pruneSearchTree to set.
Returns
This builder for chaining.

Definition at line 3530 of file BopParameters.java.

◆ setRandomSeed()

Builder com.google.ortools.bop.BopParameters.Builder.setRandomSeed ( int value)
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
valueThe randomSeed to set.
Returns
This builder for chaining.

Definition at line 3714 of file BopParameters.java.

◆ setRelativeGapLimit()

Builder com.google.ortools.bop.BopParameters.Builder.setRelativeGapLimit ( double value)
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
valueThe relativeGapLimit to set.
Returns
This builder for chaining.

Definition at line 3234 of file BopParameters.java.

◆ setRepeatedField()

Builder com.google.ortools.bop.BopParameters.Builder.setRepeatedField ( com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
java.lang.Object value )

Definition at line 2517 of file BopParameters.java.

◆ setSolverOptimizerSets() [1/2]

Builder com.google.ortools.bop.BopParameters.Builder.setSolverOptimizerSets ( int index,
com.google.ortools.bop.BopSolverOptimizerSet value )
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;

Definition at line 4779 of file BopParameters.java.

◆ setSolverOptimizerSets() [2/2]

Builder com.google.ortools.bop.BopParameters.Builder.setSolverOptimizerSets ( int index,
com.google.ortools.bop.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;

Definition at line 4803 of file BopParameters.java.

◆ setSortConstraintsByNumTerms()

Builder com.google.ortools.bop.BopParameters.Builder.setSortConstraintsByNumTerms ( boolean value)
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
valueThe sortConstraintsByNumTerms to set.
Returns
This builder for chaining.

Definition at line 3589 of file BopParameters.java.

◆ setSynchronizationType()

Builder com.google.ortools.bop.BopParameters.Builder.setSynchronizationType ( com.google.ortools.bop.BopParameters.ThreadSynchronizationType value)

optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];

Parameters
valueThe synchronizationType to set.
Returns
This builder for chaining.

Definition at line 4686 of file BopParameters.java.

◆ setUnknownFields()

final Builder com.google.ortools.bop.BopParameters.Builder.setUnknownFields ( final com.google.protobuf.UnknownFieldSet unknownFields)

Definition at line 5564 of file BopParameters.java.

◆ setUseLearnedBinaryClausesInLp()

Builder com.google.ortools.bop.BopParameters.Builder.setUseLearnedBinaryClausesInLp ( boolean value)
Whether we use the learned binary clauses in the Linear Relaxation.

optional bool use_learned_binary_clauses_in_lp = 23 [default = true];

Parameters
valueThe useLearnedBinaryClausesInLp to set.
Returns
This builder for chaining.

Definition at line 4578 of file BopParameters.java.

◆ setUseLpLns()

Builder com.google.ortools.bop.BopParameters.Builder.setUseLpLns ( boolean value)
Use Large Neighborhood Search based on the LP relaxation.

optional bool use_lp_lns = 12 [default = true];

Parameters
valueThe useLpLns to set.
Returns
This builder for chaining.

Definition at line 4006 of file BopParameters.java.

◆ setUseLpStrongBranching()

Builder com.google.ortools.bop.BopParameters.Builder.setUseLpStrongBranching ( boolean value)
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
valueThe useLpStrongBranching to set.
Returns
This builder for chaining.

Definition at line 5210 of file BopParameters.java.

◆ setUsePotentialOneFlipRepairsInLs()

Builder com.google.ortools.bop.BopParameters.Builder.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).

optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];

Parameters
valueThe usePotentialOneFlipRepairsInLs to set.
Returns
This builder for chaining.

Definition at line 4520 of file BopParameters.java.

◆ setUseRandomLns()

Builder com.google.ortools.bop.BopParameters.Builder.setUseRandomLns ( boolean value)
Use the random Large Neighborhood Search instead of the exhaustive one.

optional bool use_random_lns = 6 [default = true];

Parameters
valueThe useRandomLns to set.
Returns
This builder for chaining.

Definition at line 3646 of file BopParameters.java.

◆ setUseSatToChooseLnsNeighbourhood()

Builder com.google.ortools.bop.BopParameters.Builder.setUseSatToChooseLnsNeighbourhood ( boolean value)
Whether we use sat propagation to choose the lns neighbourhood.

optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];

Parameters
valueThe useSatToChooseLnsNeighbourhood to set.
Returns
This builder for chaining.

Definition at line 4062 of file BopParameters.java.

◆ setUseSymmetry()

Builder com.google.ortools.bop.BopParameters.Builder.setUseSymmetry ( boolean value)
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
valueThe useSymmetry to set.
Returns
This builder for chaining.

Definition at line 4190 of file BopParameters.java.

◆ setUseTranspositionTableInLs()

Builder com.google.ortools.bop.BopParameters.Builder.setUseTranspositionTableInLs ( boolean value)
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
valueThe useTranspositionTableInLs to set.
Returns
This builder for chaining.

Definition at line 4455 of file BopParameters.java.


The documentation for this class was generated from the following file: