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

Classes

class  Builder
 
enum  ThreadSynchronizationType
 

Public Member Functions

boolean hasMaxTimeInSeconds ()
 
double getMaxTimeInSeconds ()
 
boolean hasMaxDeterministicTime ()
 
double getMaxDeterministicTime ()
 
boolean hasLpMaxDeterministicTime ()
 
double getLpMaxDeterministicTime ()
 
boolean hasMaxNumberOfConsecutiveFailingOptimizerCalls ()
 
int getMaxNumberOfConsecutiveFailingOptimizerCalls ()
 
boolean hasRelativeGapLimit ()
 
double getRelativeGapLimit ()
 
boolean hasMaxNumDecisionsInLs ()
 
int getMaxNumDecisionsInLs ()
 
boolean hasMaxNumBrokenConstraintsInLs ()
 
int getMaxNumBrokenConstraintsInLs ()
 
boolean hasLogSearchProgress ()
 
boolean getLogSearchProgress ()
 
boolean hasComputeEstimatedImpact ()
 
boolean getComputeEstimatedImpact ()
 
boolean hasPruneSearchTree ()
 
boolean getPruneSearchTree ()
 
boolean hasSortConstraintsByNumTerms ()
 
boolean getSortConstraintsByNumTerms ()
 
boolean hasUseRandomLns ()
 
boolean getUseRandomLns ()
 
boolean hasRandomSeed ()
 
int getRandomSeed ()
 
boolean hasNumRelaxedVars ()
 
int getNumRelaxedVars ()
 
boolean hasMaxNumberOfConflictsInRandomLns ()
 
int getMaxNumberOfConflictsInRandomLns ()
 
boolean hasNumRandomLnsTries ()
 
int getNumRandomLnsTries ()
 
boolean hasMaxNumberOfBacktracksInLs ()
 
long getMaxNumberOfBacktracksInLs ()
 
boolean hasUseLpLns ()
 
boolean getUseLpLns ()
 
boolean hasUseSatToChooseLnsNeighbourhood ()
 
boolean getUseSatToChooseLnsNeighbourhood ()
 
boolean hasMaxNumberOfConflictsForQuickCheck ()
 
int getMaxNumberOfConflictsForQuickCheck ()
 
boolean hasUseSymmetry ()
 
boolean getUseSymmetry ()
 
boolean hasExploitSymmetryInSatFirstSolution ()
 
boolean getExploitSymmetryInSatFirstSolution ()
 
boolean hasMaxNumberOfConflictsInRandomSolutionGeneration ()
 
int getMaxNumberOfConflictsInRandomSolutionGeneration ()
 
boolean hasMaxNumberOfExploredAssignmentsPerTryInLs ()
 
long getMaxNumberOfExploredAssignmentsPerTryInLs ()
 
boolean hasUseTranspositionTableInLs ()
 
boolean getUseTranspositionTableInLs ()
 
boolean hasUsePotentialOneFlipRepairsInLs ()
 
boolean getUsePotentialOneFlipRepairsInLs ()
 
boolean hasUseLearnedBinaryClausesInLp ()
 
boolean getUseLearnedBinaryClausesInLp ()
 
boolean hasNumberOfSolvers ()
 
int getNumberOfSolvers ()
 
boolean hasSynchronizationType ()
 
com.google.ortools.bop.BopParameters.ThreadSynchronizationType getSynchronizationType ()
 
java.util.List< com.google.ortools.bop.BopSolverOptimizerSetgetSolverOptimizerSetsList ()
 
java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuildergetSolverOptimizerSetsOrBuilderList ()
 
int getSolverOptimizerSetsCount ()
 
com.google.ortools.bop.BopSolverOptimizerSet getSolverOptimizerSets (int index)
 
com.google.ortools.bop.BopSolverOptimizerSetOrBuilder getSolverOptimizerSetsOrBuilder (int index)
 
boolean hasDefaultSolverOptimizerSets ()
 
java.lang.String getDefaultSolverOptimizerSets ()
 
com.google.protobuf.ByteString getDefaultSolverOptimizerSetsBytes ()
 
boolean hasUseLpStrongBranching ()
 
boolean getUseLpStrongBranching ()
 
boolean hasDecomposerNumVariablesThreshold ()
 
int getDecomposerNumVariablesThreshold ()
 
boolean hasNumBopSolversUsedByDecomposition ()
 
int getNumBopSolversUsedByDecomposition ()
 
boolean hasDecomposedProblemMinTimeInSeconds ()
 
double getDecomposedProblemMinTimeInSeconds ()
 
boolean hasGuidedSatConflictsChunk ()
 
int getGuidedSatConflictsChunk ()
 
boolean hasMaxLpSolveForFeasibilityProblems ()
 
int getMaxLpSolveForFeasibilityProblems ()
 
final boolean isInitialized ()
 
void writeTo (com.google.protobuf.CodedOutputStream output) throws java.io.IOException
 
int getSerializedSize ()
 
boolean equals (final java.lang.Object obj)
 
int hashCode ()
 
Builder newBuilderForType ()
 
Builder toBuilder ()
 
com.google.protobuf.Parser< BopParametersgetParserForType ()
 
com.google.ortools.bop.BopParameters getDefaultInstanceForType ()
 

Static Public Member Functions

static final com.google.protobuf.Descriptors.Descriptor getDescriptor ()
 
static com.google.ortools.bop.BopParameters parseFrom (java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
 
static com.google.ortools.bop.BopParameters parseFrom (java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
 
static com.google.ortools.bop.BopParameters parseFrom (com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
 
static com.google.ortools.bop.BopParameters parseFrom (com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
 
static com.google.ortools.bop.BopParameters parseFrom (byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
 
static com.google.ortools.bop.BopParameters parseFrom (byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
 
static com.google.ortools.bop.BopParameters parseFrom (java.io.InputStream input) throws java.io.IOException
 
static com.google.ortools.bop.BopParameters parseFrom (java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
 
static com.google.ortools.bop.BopParameters parseDelimitedFrom (java.io.InputStream input) throws java.io.IOException
 
static com.google.ortools.bop.BopParameters parseDelimitedFrom (java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
 
static com.google.ortools.bop.BopParameters parseFrom (com.google.protobuf.CodedInputStream input) throws java.io.IOException
 
static com.google.ortools.bop.BopParameters parseFrom (com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
 
static Builder newBuilder ()
 
static Builder newBuilder (com.google.ortools.bop.BopParameters prototype)
 
static com.google.ortools.bop.BopParameters getDefaultInstance ()
 
static com.google.protobuf.Parser< BopParametersparser ()
 

Static Public Attributes

static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 1
 
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 27
 
static final int LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 37
 
static final int MAX_NUMBER_OF_CONSECUTIVE_FAILING_OPTIMIZER_CALLS_FIELD_NUMBER = 35
 
static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 28
 
static final int MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER = 2
 
static final int MAX_NUM_BROKEN_CONSTRAINTS_IN_LS_FIELD_NUMBER = 38
 
static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 14
 
static final int COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER = 3
 
static final int PRUNE_SEARCH_TREE_FIELD_NUMBER = 4
 
static final int SORT_CONSTRAINTS_BY_NUM_TERMS_FIELD_NUMBER = 5
 
static final int USE_RANDOM_LNS_FIELD_NUMBER = 6
 
static final int RANDOM_SEED_FIELD_NUMBER = 7
 
static final int NUM_RELAXED_VARS_FIELD_NUMBER = 8
 
static final int MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_LNS_FIELD_NUMBER = 9
 
static final int NUM_RANDOM_LNS_TRIES_FIELD_NUMBER = 10
 
static final int MAX_NUMBER_OF_BACKTRACKS_IN_LS_FIELD_NUMBER = 11
 
static final int USE_LP_LNS_FIELD_NUMBER = 12
 
static final int USE_SAT_TO_CHOOSE_LNS_NEIGHBOURHOOD_FIELD_NUMBER = 15
 
static final int MAX_NUMBER_OF_CONFLICTS_FOR_QUICK_CHECK_FIELD_NUMBER = 16
 
static final int USE_SYMMETRY_FIELD_NUMBER = 17
 
static final int EXPLOIT_SYMMETRY_IN_SAT_FIRST_SOLUTION_FIELD_NUMBER = 40
 
static final int MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_SOLUTION_GENERATION_FIELD_NUMBER = 20
 
static final int MAX_NUMBER_OF_EXPLORED_ASSIGNMENTS_PER_TRY_IN_LS_FIELD_NUMBER = 21
 
static final int USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER = 22
 
static final int USE_POTENTIAL_ONE_FLIP_REPAIRS_IN_LS_FIELD_NUMBER = 39
 
static final int USE_LEARNED_BINARY_CLAUSES_IN_LP_FIELD_NUMBER = 23
 
static final int NUMBER_OF_SOLVERS_FIELD_NUMBER = 24
 
static final int SYNCHRONIZATION_TYPE_FIELD_NUMBER = 25
 
static final int SOLVER_OPTIMIZER_SETS_FIELD_NUMBER = 26
 
static final int DEFAULT_SOLVER_OPTIMIZER_SETS_FIELD_NUMBER = 33
 
static final int USE_LP_STRONG_BRANCHING_FIELD_NUMBER = 29
 
static final int DECOMPOSER_NUM_VARIABLES_THRESHOLD_FIELD_NUMBER = 30
 
static final int NUM_BOP_SOLVERS_USED_BY_DECOMPOSITION_FIELD_NUMBER = 31
 
static final int DECOMPOSED_PROBLEM_MIN_TIME_IN_SECONDS_FIELD_NUMBER = 36
 
static final int GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER = 34
 
static final int MAX_LP_SOLVE_FOR_FEASIBILITY_PROBLEMS_FIELD_NUMBER = 41
 
static final com.google.protobuf.Parser< BopParametersPARSER
 

Protected Member Functions

java.lang.Object newInstance (UnusedPrivateParameter unused)
 
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable ()
 
Builder newBuilderForType (com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
 

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

Member Function Documentation

◆ equals()

boolean com.google.ortools.bop.BopParameters.equals ( final java.lang.Object obj)

Definition at line 1737 of file BopParameters.java.

◆ getComputeEstimatedImpact()

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

optional bool compute_estimated_impact = 3 [default = true];

Returns
The computeEstimatedImpact.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 538 of file BopParameters.java.

◆ getDecomposedProblemMinTimeInSeconds()

double com.google.ortools.bop.BopParameters.getDecomposedProblemMinTimeInSeconds ( )
HACK. To avoid spending too little time on small problems, spend at least
this time solving each of the decomposed sub-problem. This only make sense
if num_bop_solvers_used_by_decomposition is greater than 1 so that the
overhead can be "absorbed" by the other threads.

optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];

Returns
The decomposedProblemMinTimeInSeconds.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1382 of file BopParameters.java.

◆ getDecomposerNumVariablesThreshold()

int com.google.ortools.bop.BopParameters.getDecomposerNumVariablesThreshold ( )
Only try to decompose the problem when the number of variables is greater
than the threshold.

optional int32 decomposer_num_variables_threshold = 30 [default = 50];

Returns
The decomposerNumVariablesThreshold.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1318 of file BopParameters.java.

◆ getDefaultInstance()

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.getDefaultInstance ( )
static

Definition at line 5585 of file BopParameters.java.

◆ getDefaultInstanceForType()

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

Definition at line 5621 of file BopParameters.java.

◆ getDefaultSolverOptimizerSets()

java.lang.String com.google.ortools.bop.BopParameters.getDefaultSolverOptimizerSets ( )

optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];

Returns
The defaultSolverOptimizerSets.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1217 of file BopParameters.java.

◆ getDefaultSolverOptimizerSetsBytes()

com.google.protobuf.ByteString com.google.ortools.bop.BopParameters.getDefaultSolverOptimizerSetsBytes ( )

optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];

Returns
The bytes for defaultSolverOptimizerSets.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1237 of file BopParameters.java.

◆ getDescriptor()

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

Definition at line 64 of file BopParameters.java.

◆ getExploitSymmetryInSatFirstSolution()

boolean com.google.ortools.bop.BopParameters.getExploitSymmetryInSatFirstSolution ( )
If true, find and exploit symmetries in proving satisfiability in the first
problem.
This feature is experimental. On some problems, computing symmetries may
run forever. You may also run into unforseen problems as this feature was
not extensively tested.

optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];

Returns
The exploitSymmetryInSatFirstSolution.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 921 of file BopParameters.java.

◆ getGuidedSatConflictsChunk()

int com.google.ortools.bop.BopParameters.getGuidedSatConflictsChunk ( )
The first solutions based on guided SAT will work in chunk of that many
conflicts at the time. This allows to simulate parallelism between the
different guiding strategy on a single core.

optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];

Returns
The guidedSatConflictsChunk.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1413 of file BopParameters.java.

◆ getLogSearchProgress()

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

optional bool log_search_progress = 14 [default = false];

Returns
The logSearchProgress.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 511 of file BopParameters.java.

◆ getLpMaxDeterministicTime()

double com.google.ortools.bop.BopParameters.getLpMaxDeterministicTime ( )
The max deterministic time given to the LP solver each time it is called.
If this is not enough to solve the LP at hand, it will simply be called
again later (and the solve will resume from where it stopped).

optional double lp_max_deterministic_time = 37 [default = 1];

Returns
The lpMaxDeterministicTime.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 354 of file BopParameters.java.

◆ getMaxDeterministicTime()

double com.google.ortools.bop.BopParameters.getMaxDeterministicTime ( )
Maximum time allowed in deterministic time to solve a problem.
The deterministic time should be correlated with the real time used by the
solver, the time unit being roughly the order of magnitude of a second.
The counter will starts as soon as SetParameters() or SolveWithTimeLimit()
is called.

optional double max_deterministic_time = 27 [default = inf];

Returns
The maxDeterministicTime.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 323 of file BopParameters.java.

◆ getMaxLpSolveForFeasibilityProblems()

int com.google.ortools.bop.BopParameters.getMaxLpSolveForFeasibilityProblems ( )
The maximum number of time the LP solver will run to feasibility for pure
feasibility problems (with a constant-valued objective function). Set this
to a small value, e.g., 1, if fractional solutions offer useful guidance to
other solvers in the portfolio. A negative value means no limit.

optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];

Returns
The maxLpSolveForFeasibilityProblems.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1446 of file BopParameters.java.

◆ getMaxNumberOfBacktracksInLs()

long com.google.ortools.bop.BopParameters.getMaxNumberOfBacktracksInLs ( )
Maximum number of backtracks times the number of variables in Local Search,
ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.

optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];

Returns
The maxNumberOfBacktracksInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 768 of file BopParameters.java.

◆ getMaxNumberOfConflictsForQuickCheck()

int com.google.ortools.bop.BopParameters.getMaxNumberOfConflictsForQuickCheck ( )
The number of conflicts the SAT solver has to solve a random LNS
subproblem for the quick check of infeasibility.

optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];

Returns
The maxNumberOfConflictsForQuickCheck.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 851 of file BopParameters.java.

◆ getMaxNumberOfConflictsInRandomLns()

int com.google.ortools.bop.BopParameters.getMaxNumberOfConflictsInRandomLns ( )
The number of conflicts the SAT solver has to solve a random LNS
subproblem.

optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];

Returns
The maxNumberOfConflictsInRandomLns.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 712 of file BopParameters.java.

◆ getMaxNumberOfConflictsInRandomSolutionGeneration()

int com.google.ortools.bop.BopParameters.getMaxNumberOfConflictsInRandomSolutionGeneration ( )
The number of conflicts the SAT solver has to generate a random solution.

optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];

Returns
The maxNumberOfConflictsInRandomSolutionGeneration.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 948 of file BopParameters.java.

◆ getMaxNumberOfConsecutiveFailingOptimizerCalls()

int com.google.ortools.bop.BopParameters.getMaxNumberOfConsecutiveFailingOptimizerCalls ( )
Maximum number of consecutive optimizer calls without improving the
current solution. If this number is reached, the search will be aborted.
Note that this parameter only applies when an initial solution has been
found or is provided. Also note that there is no limit to the number of
calls, when the parameter is not set.

optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;

Returns
The maxNumberOfConsecutiveFailingOptimizerCalls.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 389 of file BopParameters.java.

◆ getMaxNumberOfExploredAssignmentsPerTryInLs()

long com.google.ortools.bop.BopParameters.getMaxNumberOfExploredAssignmentsPerTryInLs ( )
The maximum number of assignments the Local Search iterates on during one
try. Note that if the Local Search is called again on the same solution
it will not restart from scratch but will iterate on the next
max_number_of_explored_assignments_per_try_in_ls assignments.

optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];

Returns
The maxNumberOfExploredAssignmentsPerTryInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 981 of file BopParameters.java.

◆ getMaxNumBrokenConstraintsInLs()

int com.google.ortools.bop.BopParameters.getMaxNumBrokenConstraintsInLs ( )
Abort the LS search tree as soon as strictly more than this number of
constraints are broken. The default is a large value which basically
disable this heuristic.

optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];

Returns
The maxNumBrokenConstraintsInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 484 of file BopParameters.java.

◆ getMaxNumDecisionsInLs()

int com.google.ortools.bop.BopParameters.getMaxNumDecisionsInLs ( )
Maximum number of cascading decisions the solver might use to repair the
current solution in the LS.

optional int32 max_num_decisions_in_ls = 2 [default = 4];

Returns
The maxNumDecisionsInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 453 of file BopParameters.java.

◆ getMaxTimeInSeconds()

double com.google.ortools.bop.BopParameters.getMaxTimeInSeconds ( )
Maximum time allowed in seconds to solve a problem.
The counter will starts as soon as Solve() is called.

optional double max_time_in_seconds = 1 [default = inf];

Returns
The maxTimeInSeconds.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 288 of file BopParameters.java.

◆ getNumberOfSolvers()

int com.google.ortools.bop.BopParameters.getNumberOfSolvers ( )
The number of solvers used to run Bop. Note that one thread will be created
per solver. The type of communication between solvers is specified by the
synchronization_type parameter.

optional int32 number_of_solvers = 24 [default = 1];

Returns
The numberOfSolvers.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1103 of file BopParameters.java.

◆ getNumBopSolversUsedByDecomposition()

int com.google.ortools.bop.BopParameters.getNumBopSolversUsedByDecomposition ( )
The number of BopSolver created (thread pool workers) used by the integral
solver to solve a decomposed problem.
TODO(user): Merge this with the number_of_solvers parameter.

optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];

Returns
The numBopSolversUsedByDecomposition.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1349 of file BopParameters.java.

◆ getNumRandomLnsTries()

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

◆ getNumRelaxedVars()

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

optional int32 num_relaxed_vars = 8 [default = 10];

Returns
The numRelaxedVars.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 683 of file BopParameters.java.

◆ getParserForType()

com.google.protobuf.Parser< BopParameters > com.google.ortools.bop.BopParameters.getParserForType ( )

Definition at line 5616 of file BopParameters.java.

◆ getPruneSearchTree()

boolean com.google.ortools.bop.BopParameters.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 565 of file BopParameters.java.

◆ getRandomSeed()

int com.google.ortools.bop.BopParameters.getRandomSeed ( )
The seed used to initialize the random generator.

TODO(user): Some of our client test fail depending on this value! we need
to fix them and ideally randomize our behavior from on test to the next so
that this doesn't happen in the future.

optional int32 random_seed = 7 [default = 8];

Returns
The randomSeed.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 656 of file BopParameters.java.

◆ getRelativeGapLimit()

double com.google.ortools.bop.BopParameters.getRelativeGapLimit ( )
Limit used to stop the optimization as soon as the relative gap is smaller
than the given value.
The relative gap is defined as:
  abs(solution_cost - best_bound)
       / max(abs(solution_cost), abs(best_bound)).

optional double relative_gap_limit = 28 [default = 0.0001];

Returns
The relativeGapLimit.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 424 of file BopParameters.java.

◆ getSerializedSize()

int com.google.ortools.bop.BopParameters.getSerializedSize ( )

Definition at line 1579 of file BopParameters.java.

◆ getSolverOptimizerSets()

com.google.ortools.bop.BopSolverOptimizerSet com.google.ortools.bop.BopParameters.getSolverOptimizerSets ( int index)
List of set of optimizers to be run by the solvers.
Note that the i_th solver will run the
min(i, solver_optimizer_sets_size())_th optimizer set.
The default is defined by default_solver_optimizer_sets (only one set).

repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1182 of file BopParameters.java.

◆ getSolverOptimizerSetsCount()

int com.google.ortools.bop.BopParameters.getSolverOptimizerSetsCount ( )
List of set of optimizers to be run by the solvers.
Note that the i_th solver will run the
min(i, solver_optimizer_sets_size())_th optimizer set.
The default is defined by default_solver_optimizer_sets (only one set).

repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1168 of file BopParameters.java.

◆ getSolverOptimizerSetsList()

java.util.List< com.google.ortools.bop.BopSolverOptimizerSet > com.google.ortools.bop.BopParameters.getSolverOptimizerSetsList ( )
List of set of optimizers to be run by the solvers.
Note that the i_th solver will run the
min(i, solver_optimizer_sets_size())_th optimizer set.
The default is defined by default_solver_optimizer_sets (only one set).

repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1139 of file BopParameters.java.

◆ getSolverOptimizerSetsOrBuilder()

com.google.ortools.bop.BopSolverOptimizerSetOrBuilder com.google.ortools.bop.BopParameters.getSolverOptimizerSetsOrBuilder ( int index)
List of set of optimizers to be run by the solvers.
Note that the i_th solver will run the
min(i, solver_optimizer_sets_size())_th optimizer set.
The default is defined by default_solver_optimizer_sets (only one set).

repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1196 of file BopParameters.java.

◆ getSolverOptimizerSetsOrBuilderList()

java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder > com.google.ortools.bop.BopParameters.getSolverOptimizerSetsOrBuilderList ( )
List of set of optimizers to be run by the solvers.
Note that the i_th solver will run the
min(i, solver_optimizer_sets_size())_th optimizer set.
The default is defined by default_solver_optimizer_sets (only one set).

repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1154 of file BopParameters.java.

◆ getSortConstraintsByNumTerms()

boolean com.google.ortools.bop.BopParameters.getSortConstraintsByNumTerms ( )
Sort constraints by increasing total number of terms instead of number of
contributing terms.

optional bool sort_constraints_by_num_terms = 5 [default = false];

Returns
The sortConstraintsByNumTerms.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 594 of file BopParameters.java.

◆ getSynchronizationType()

com.google.ortools.bop.BopParameters.ThreadSynchronizationType com.google.ortools.bop.BopParameters.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 1120 of file BopParameters.java.

◆ getUseLearnedBinaryClausesInLp()

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

optional bool use_learned_binary_clauses_in_lp = 23 [default = true];

Returns
The useLearnedBinaryClausesInLp.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1072 of file BopParameters.java.

◆ getUseLpLns()

boolean com.google.ortools.bop.BopParameters.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 795 of file BopParameters.java.

◆ getUseLpStrongBranching()

boolean com.google.ortools.bop.BopParameters.getUseLpStrongBranching ( )
Use strong branching in the linear relaxation optimizer.
The strong branching is a what-if analysis on each variable v, i.e.
compute the best bound when v is assigned to true, compute the best bound
when v is assigned to false, and then use those best bounds to improve the
overall best bound.
This is useful to improve the best_bound, but also to fix some variables
during search.
Note that using probing might be time consuming as it runs the LP solver
2 * num_variables times.

optional bool use_lp_strong_branching = 29 [default = false];

Returns
The useLpStrongBranching.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1289 of file BopParameters.java.

◆ getUsePotentialOneFlipRepairsInLs()

boolean com.google.ortools.bop.BopParameters.getUsePotentialOneFlipRepairsInLs ( )
Whether we keep a list of variable that can potentially repair in one flip
all the current infeasible constraints (such variable must at least appear
in all the infeasible constraints for this to happen).

optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];

Returns
The usePotentialOneFlipRepairsInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1045 of file BopParameters.java.

◆ getUseRandomLns()

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

optional bool use_random_lns = 6 [default = true];

Returns
The useRandomLns.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 621 of file BopParameters.java.

◆ getUseSatToChooseLnsNeighbourhood()

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

optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];

Returns
The useSatToChooseLnsNeighbourhood.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 822 of file BopParameters.java.

◆ getUseSymmetry()

boolean com.google.ortools.bop.BopParameters.getUseSymmetry ( )
If true, find and exploit the eventual symmetries of the problem.

TODO(user): turn this on by default once the symmetry finder becomes fast
enough to be negligeable for most problem. Or at least support a time
limit.

optional bool use_symmetry = 17 [default = false];

Returns
The useSymmetry.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 886 of file BopParameters.java.

◆ getUseTranspositionTableInLs()

boolean com.google.ortools.bop.BopParameters.getUseTranspositionTableInLs ( )
Whether we use an hash set during the LS to avoid exploring more than once
the "same" state. Note that because the underlying SAT solver may learn
information in the middle of the LS, this may make the LS slightly less
"complete", but it should be faster.

optional bool use_transposition_table_in_ls = 22 [default = true];

Returns
The useTranspositionTableInLs.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1014 of file BopParameters.java.

◆ hasComputeEstimatedImpact()

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

optional bool compute_estimated_impact = 3 [default = true];

Returns
Whether the computeEstimatedImpact field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 526 of file BopParameters.java.

◆ hasDecomposedProblemMinTimeInSeconds()

boolean com.google.ortools.bop.BopParameters.hasDecomposedProblemMinTimeInSeconds ( )
HACK. To avoid spending too little time on small problems, spend at least
this time solving each of the decomposed sub-problem. This only make sense
if num_bop_solvers_used_by_decomposition is greater than 1 so that the
overhead can be "absorbed" by the other threads.

optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];

Returns
Whether the decomposedProblemMinTimeInSeconds field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1367 of file BopParameters.java.

◆ hasDecomposerNumVariablesThreshold()

boolean com.google.ortools.bop.BopParameters.hasDecomposerNumVariablesThreshold ( )
Only try to decompose the problem when the number of variables is greater
than the threshold.

optional int32 decomposer_num_variables_threshold = 30 [default = 50];

Returns
Whether the decomposerNumVariablesThreshold field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1305 of file BopParameters.java.

◆ hasDefaultSolverOptimizerSets()

boolean com.google.ortools.bop.BopParameters.hasDefaultSolverOptimizerSets ( )

optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];

Returns
Whether the defaultSolverOptimizerSets field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1209 of file BopParameters.java.

◆ hasExploitSymmetryInSatFirstSolution()

boolean com.google.ortools.bop.BopParameters.hasExploitSymmetryInSatFirstSolution ( )
If true, find and exploit symmetries in proving satisfiability in the first
problem.
This feature is experimental. On some problems, computing symmetries may
run forever. You may also run into unforseen problems as this feature was
not extensively tested.

optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];

Returns
Whether the exploitSymmetryInSatFirstSolution field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 905 of file BopParameters.java.

◆ hasGuidedSatConflictsChunk()

boolean com.google.ortools.bop.BopParameters.hasGuidedSatConflictsChunk ( )
The first solutions based on guided SAT will work in chunk of that many
conflicts at the time. This allows to simulate parallelism between the
different guiding strategy on a single core.

optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];

Returns
Whether the guidedSatConflictsChunk field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1399 of file BopParameters.java.

◆ hashCode()

int com.google.ortools.bop.BopParameters.hashCode ( )

Definition at line 1937 of file BopParameters.java.

◆ hasLogSearchProgress()

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

optional bool log_search_progress = 14 [default = false];

Returns
Whether the logSearchProgress field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 499 of file BopParameters.java.

◆ hasLpMaxDeterministicTime()

boolean com.google.ortools.bop.BopParameters.hasLpMaxDeterministicTime ( )
The max deterministic time given to the LP solver each time it is called.
If this is not enough to solve the LP at hand, it will simply be called
again later (and the solve will resume from where it stopped).

optional double lp_max_deterministic_time = 37 [default = 1];

Returns
Whether the lpMaxDeterministicTime field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 340 of file BopParameters.java.

◆ hasMaxDeterministicTime()

boolean com.google.ortools.bop.BopParameters.hasMaxDeterministicTime ( )
Maximum time allowed in deterministic time to solve a problem.
The deterministic time should be correlated with the real time used by the
solver, the time unit being roughly the order of magnitude of a second.
The counter will starts as soon as SetParameters() or SolveWithTimeLimit()
is called.

optional double max_deterministic_time = 27 [default = inf];

Returns
Whether the maxDeterministicTime field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 307 of file BopParameters.java.

◆ hasMaxLpSolveForFeasibilityProblems()

boolean com.google.ortools.bop.BopParameters.hasMaxLpSolveForFeasibilityProblems ( )
The maximum number of time the LP solver will run to feasibility for pure
feasibility problems (with a constant-valued objective function). Set this
to a small value, e.g., 1, if fractional solutions offer useful guidance to
other solvers in the portfolio. A negative value means no limit.

optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];

Returns
Whether the maxLpSolveForFeasibilityProblems field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1431 of file BopParameters.java.

◆ hasMaxNumberOfBacktracksInLs()

boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfBacktracksInLs ( )
Maximum number of backtracks times the number of variables in Local Search,
ie. max num backtracks == max_number_of_backtracks_in_ls / num variables.

optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];

Returns
Whether the maxNumberOfBacktracksInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 755 of file BopParameters.java.

◆ hasMaxNumberOfConflictsForQuickCheck()

boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConflictsForQuickCheck ( )
The number of conflicts the SAT solver has to solve a random LNS
subproblem for the quick check of infeasibility.

optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];

Returns
Whether the maxNumberOfConflictsForQuickCheck field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 838 of file BopParameters.java.

◆ hasMaxNumberOfConflictsInRandomLns()

boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConflictsInRandomLns ( )
The number of conflicts the SAT solver has to solve a random LNS
subproblem.

optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];

Returns
Whether the maxNumberOfConflictsInRandomLns field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 699 of file BopParameters.java.

◆ hasMaxNumberOfConflictsInRandomSolutionGeneration()

boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConflictsInRandomSolutionGeneration ( )
The number of conflicts the SAT solver has to generate a random solution.

optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];

Returns
Whether the maxNumberOfConflictsInRandomSolutionGeneration field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 936 of file BopParameters.java.

◆ hasMaxNumberOfConsecutiveFailingOptimizerCalls()

boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfConsecutiveFailingOptimizerCalls ( )
Maximum number of consecutive optimizer calls without improving the
current solution. If this number is reached, the search will be aborted.
Note that this parameter only applies when an initial solution has been
found or is provided. Also note that there is no limit to the number of
calls, when the parameter is not set.

optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;

Returns
Whether the maxNumberOfConsecutiveFailingOptimizerCalls field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 373 of file BopParameters.java.

◆ hasMaxNumberOfExploredAssignmentsPerTryInLs()

boolean com.google.ortools.bop.BopParameters.hasMaxNumberOfExploredAssignmentsPerTryInLs ( )
The maximum number of assignments the Local Search iterates on during one
try. Note that if the Local Search is called again on the same solution
it will not restart from scratch but will iterate on the next
max_number_of_explored_assignments_per_try_in_ls assignments.

optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];

Returns
Whether the maxNumberOfExploredAssignmentsPerTryInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 966 of file BopParameters.java.

◆ hasMaxNumBrokenConstraintsInLs()

boolean com.google.ortools.bop.BopParameters.hasMaxNumBrokenConstraintsInLs ( )
Abort the LS search tree as soon as strictly more than this number of
constraints are broken. The default is a large value which basically
disable this heuristic.

optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];

Returns
Whether the maxNumBrokenConstraintsInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 470 of file BopParameters.java.

◆ hasMaxNumDecisionsInLs()

boolean com.google.ortools.bop.BopParameters.hasMaxNumDecisionsInLs ( )
Maximum number of cascading decisions the solver might use to repair the
current solution in the LS.

optional int32 max_num_decisions_in_ls = 2 [default = 4];

Returns
Whether the maxNumDecisionsInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 440 of file BopParameters.java.

◆ hasMaxTimeInSeconds()

boolean com.google.ortools.bop.BopParameters.hasMaxTimeInSeconds ( )
Maximum time allowed in seconds to solve a problem.
The counter will starts as soon as Solve() is called.

optional double max_time_in_seconds = 1 [default = inf];

Returns
Whether the maxTimeInSeconds field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 275 of file BopParameters.java.

◆ hasNumberOfSolvers()

boolean com.google.ortools.bop.BopParameters.hasNumberOfSolvers ( )
The number of solvers used to run Bop. Note that one thread will be created
per solver. The type of communication between solvers is specified by the
synchronization_type parameter.

optional int32 number_of_solvers = 24 [default = 1];

Returns
Whether the numberOfSolvers field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1089 of file BopParameters.java.

◆ hasNumBopSolversUsedByDecomposition()

boolean com.google.ortools.bop.BopParameters.hasNumBopSolversUsedByDecomposition ( )
The number of BopSolver created (thread pool workers) used by the integral
solver to solve a decomposed problem.
TODO(user): Merge this with the number_of_solvers parameter.

optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];

Returns
Whether the numBopSolversUsedByDecomposition field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1335 of file BopParameters.java.

◆ hasNumRandomLnsTries()

boolean com.google.ortools.bop.BopParameters.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 727 of file BopParameters.java.

◆ hasNumRelaxedVars()

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

optional int32 num_relaxed_vars = 8 [default = 10];

Returns
Whether the numRelaxedVars field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 671 of file BopParameters.java.

◆ hasPruneSearchTree()

boolean com.google.ortools.bop.BopParameters.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 553 of file BopParameters.java.

◆ hasRandomSeed()

boolean com.google.ortools.bop.BopParameters.hasRandomSeed ( )
The seed used to initialize the random generator.

TODO(user): Some of our client test fail depending on this value! we need
to fix them and ideally randomize our behavior from on test to the next so
that this doesn't happen in the future.

optional int32 random_seed = 7 [default = 8];

Returns
Whether the randomSeed field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 640 of file BopParameters.java.

◆ hasRelativeGapLimit()

boolean com.google.ortools.bop.BopParameters.hasRelativeGapLimit ( )
Limit used to stop the optimization as soon as the relative gap is smaller
than the given value.
The relative gap is defined as:
  abs(solution_cost - best_bound)
       / max(abs(solution_cost), abs(best_bound)).

optional double relative_gap_limit = 28 [default = 0.0001];

Returns
Whether the relativeGapLimit field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 408 of file BopParameters.java.

◆ hasSortConstraintsByNumTerms()

boolean com.google.ortools.bop.BopParameters.hasSortConstraintsByNumTerms ( )
Sort constraints by increasing total number of terms instead of number of
contributing terms.

optional bool sort_constraints_by_num_terms = 5 [default = false];

Returns
Whether the sortConstraintsByNumTerms field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 581 of file BopParameters.java.

◆ hasSynchronizationType()

boolean com.google.ortools.bop.BopParameters.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 1113 of file BopParameters.java.

◆ hasUseLearnedBinaryClausesInLp()

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

optional bool use_learned_binary_clauses_in_lp = 23 [default = true];

Returns
Whether the useLearnedBinaryClausesInLp field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1060 of file BopParameters.java.

◆ hasUseLpLns()

boolean com.google.ortools.bop.BopParameters.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 783 of file BopParameters.java.

◆ hasUseLpStrongBranching()

boolean com.google.ortools.bop.BopParameters.hasUseLpStrongBranching ( )
Use strong branching in the linear relaxation optimizer.
The strong branching is a what-if analysis on each variable v, i.e.
compute the best bound when v is assigned to true, compute the best bound
when v is assigned to false, and then use those best bounds to improve the
overall best bound.
This is useful to improve the best_bound, but also to fix some variables
during search.
Note that using probing might be time consuming as it runs the LP solver
2 * num_variables times.

optional bool use_lp_strong_branching = 29 [default = false];

Returns
Whether the useLpStrongBranching field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1269 of file BopParameters.java.

◆ hasUsePotentialOneFlipRepairsInLs()

boolean com.google.ortools.bop.BopParameters.hasUsePotentialOneFlipRepairsInLs ( )
Whether we keep a list of variable that can potentially repair in one flip
all the current infeasible constraints (such variable must at least appear
in all the infeasible constraints for this to happen).

optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];

Returns
Whether the usePotentialOneFlipRepairsInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 1031 of file BopParameters.java.

◆ hasUseRandomLns()

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

optional bool use_random_lns = 6 [default = true];

Returns
Whether the useRandomLns field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 609 of file BopParameters.java.

◆ hasUseSatToChooseLnsNeighbourhood()

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

optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];

Returns
Whether the useSatToChooseLnsNeighbourhood field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 810 of file BopParameters.java.

◆ hasUseSymmetry()

boolean com.google.ortools.bop.BopParameters.hasUseSymmetry ( )
If true, find and exploit the eventual symmetries of the problem.

TODO(user): turn this on by default once the symmetry finder becomes fast
enough to be negligeable for most problem. Or at least support a time
limit.

optional bool use_symmetry = 17 [default = false];

Returns
Whether the useSymmetry field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 870 of file BopParameters.java.

◆ hasUseTranspositionTableInLs()

boolean com.google.ortools.bop.BopParameters.hasUseTranspositionTableInLs ( )
Whether we use an hash set during the LS to avoid exploring more than once
the "same" state. Note that because the underlying SAT solver may learn
information in the middle of the LS, this may make the LS slightly less
"complete", but it should be faster.

optional bool use_transposition_table_in_ls = 22 [default = true];

Returns
Whether the useTranspositionTableInLs field is set.

Implements com.google.ortools.bop.BopParametersOrBuilder.

Definition at line 999 of file BopParameters.java.

◆ internalGetFieldAccessorTable()

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

Definition at line 70 of file BopParameters.java.

◆ isInitialized()

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

Definition at line 1452 of file BopParameters.java.

◆ newBuilder() [1/2]

static Builder com.google.ortools.bop.BopParameters.newBuilder ( )
static

Definition at line 2190 of file BopParameters.java.

◆ newBuilder() [2/2]

static Builder com.google.ortools.bop.BopParameters.newBuilder ( com.google.ortools.bop.BopParameters prototype)
static

Definition at line 2193 of file BopParameters.java.

◆ newBuilderForType() [1/2]

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

Definition at line 2189 of file BopParameters.java.

◆ newBuilderForType() [2/2]

Builder com.google.ortools.bop.BopParameters.newBuilderForType ( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
protected

Definition at line 2203 of file BopParameters.java.

◆ newInstance()

java.lang.Object com.google.ortools.bop.BopParameters.newInstance ( UnusedPrivateParameter unused)
protected

Definition at line 58 of file BopParameters.java.

◆ parseDelimitedFrom() [1/2]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseDelimitedFrom ( java.io.InputStream input) throws java.io.IOException
static

Definition at line 2161 of file BopParameters.java.

◆ parseDelimitedFrom() [2/2]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseDelimitedFrom ( java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry ) throws java.io.IOException
static

Definition at line 2167 of file BopParameters.java.

◆ parseFrom() [1/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
static

Definition at line 2138 of file BopParameters.java.

◆ parseFrom() [2/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry ) throws com.google.protobuf.InvalidProtocolBufferException
static

Definition at line 2142 of file BopParameters.java.

◆ parseFrom() [3/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
static

Definition at line 2127 of file BopParameters.java.

◆ parseFrom() [4/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry ) throws com.google.protobuf.InvalidProtocolBufferException
static

Definition at line 2132 of file BopParameters.java.

◆ parseFrom() [5/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( com.google.protobuf.CodedInputStream input) throws java.io.IOException
static

Definition at line 2174 of file BopParameters.java.

◆ parseFrom() [6/10]

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

Definition at line 2180 of file BopParameters.java.

◆ parseFrom() [7/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( java.io.InputStream input) throws java.io.IOException
static

Definition at line 2148 of file BopParameters.java.

◆ parseFrom() [8/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry ) throws java.io.IOException
static

Definition at line 2153 of file BopParameters.java.

◆ parseFrom() [9/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
static

Definition at line 2116 of file BopParameters.java.

◆ parseFrom() [10/10]

static com.google.ortools.bop.BopParameters com.google.ortools.bop.BopParameters.parseFrom ( java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry ) throws com.google.protobuf.InvalidProtocolBufferException
static

Definition at line 2121 of file BopParameters.java.

◆ parser()

static com.google.protobuf.Parser< BopParameters > com.google.ortools.bop.BopParameters.parser ( )
static

Definition at line 5611 of file BopParameters.java.

◆ toBuilder()

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

Definition at line 2197 of file BopParameters.java.

◆ writeTo()

void com.google.ortools.bop.BopParameters.writeTo ( com.google.protobuf.CodedOutputStream output) throws java.io.IOException

Definition at line 1462 of file BopParameters.java.

Member Data Documentation

◆ COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER = 3
static

Definition at line 515 of file BopParameters.java.

◆ DECOMPOSED_PROBLEM_MIN_TIME_IN_SECONDS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.DECOMPOSED_PROBLEM_MIN_TIME_IN_SECONDS_FIELD_NUMBER = 36
static

Definition at line 1353 of file BopParameters.java.

◆ DECOMPOSER_NUM_VARIABLES_THRESHOLD_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.DECOMPOSER_NUM_VARIABLES_THRESHOLD_FIELD_NUMBER = 30
static

Definition at line 1293 of file BopParameters.java.

◆ DEFAULT_SOLVER_OPTIMIZER_SETS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.DEFAULT_SOLVER_OPTIMIZER_SETS_FIELD_NUMBER = 33
static

Definition at line 1201 of file BopParameters.java.

◆ EXPLOIT_SYMMETRY_IN_SAT_FIRST_SOLUTION_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.EXPLOIT_SYMMETRY_IN_SAT_FIRST_SOLUTION_FIELD_NUMBER = 40
static

Definition at line 890 of file BopParameters.java.

◆ GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER = 34
static

Definition at line 1386 of file BopParameters.java.

◆ LOG_SEARCH_PROGRESS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.LOG_SEARCH_PROGRESS_FIELD_NUMBER = 14
static

Definition at line 488 of file BopParameters.java.

◆ LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 37
static

Definition at line 327 of file BopParameters.java.

◆ MAX_DETERMINISTIC_TIME_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 27
static

Definition at line 292 of file BopParameters.java.

◆ MAX_LP_SOLVE_FOR_FEASIBILITY_PROBLEMS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_LP_SOLVE_FOR_FEASIBILITY_PROBLEMS_FIELD_NUMBER = 41
static

Definition at line 1417 of file BopParameters.java.

◆ MAX_NUM_BROKEN_CONSTRAINTS_IN_LS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUM_BROKEN_CONSTRAINTS_IN_LS_FIELD_NUMBER = 38
static

Definition at line 457 of file BopParameters.java.

◆ MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER = 2
static

Definition at line 428 of file BopParameters.java.

◆ MAX_NUMBER_OF_BACKTRACKS_IN_LS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUMBER_OF_BACKTRACKS_IN_LS_FIELD_NUMBER = 11
static

Definition at line 743 of file BopParameters.java.

◆ MAX_NUMBER_OF_CONFLICTS_FOR_QUICK_CHECK_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUMBER_OF_CONFLICTS_FOR_QUICK_CHECK_FIELD_NUMBER = 16
static

Definition at line 826 of file BopParameters.java.

◆ MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_LNS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_LNS_FIELD_NUMBER = 9
static

Definition at line 687 of file BopParameters.java.

◆ MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_SOLUTION_GENERATION_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_SOLUTION_GENERATION_FIELD_NUMBER = 20
static

Definition at line 925 of file BopParameters.java.

◆ MAX_NUMBER_OF_CONSECUTIVE_FAILING_OPTIMIZER_CALLS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUMBER_OF_CONSECUTIVE_FAILING_OPTIMIZER_CALLS_FIELD_NUMBER = 35
static

Definition at line 358 of file BopParameters.java.

◆ MAX_NUMBER_OF_EXPLORED_ASSIGNMENTS_PER_TRY_IN_LS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_NUMBER_OF_EXPLORED_ASSIGNMENTS_PER_TRY_IN_LS_FIELD_NUMBER = 21
static

Definition at line 952 of file BopParameters.java.

◆ MAX_TIME_IN_SECONDS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.MAX_TIME_IN_SECONDS_FIELD_NUMBER = 1
static

Definition at line 263 of file BopParameters.java.

◆ NUM_BOP_SOLVERS_USED_BY_DECOMPOSITION_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.NUM_BOP_SOLVERS_USED_BY_DECOMPOSITION_FIELD_NUMBER = 31
static

Definition at line 1322 of file BopParameters.java.

◆ NUM_RANDOM_LNS_TRIES_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.NUM_RANDOM_LNS_TRIES_FIELD_NUMBER = 10
static

Definition at line 716 of file BopParameters.java.

◆ NUM_RELAXED_VARS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.NUM_RELAXED_VARS_FIELD_NUMBER = 8
static

Definition at line 660 of file BopParameters.java.

◆ NUMBER_OF_SOLVERS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.NUMBER_OF_SOLVERS_FIELD_NUMBER = 24
static

Definition at line 1076 of file BopParameters.java.

◆ PARSER

final com.google.protobuf.Parser<BopParameters> com.google.ortools.bop.BopParameters.PARSER
static
Initial value:
= new com.google.protobuf.AbstractParser<BopParameters>() {
@java.lang.Override
public BopParameters parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
Builder builder = newBuilder();
try {
builder.mergeFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(builder.buildPartial());
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(e)
.setUnfinishedMessage(builder.buildPartial());
}
return builder.buildPartial();
}
}

Definition at line 5590 of file BopParameters.java.

◆ PRUNE_SEARCH_TREE_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.PRUNE_SEARCH_TREE_FIELD_NUMBER = 4
static

Definition at line 542 of file BopParameters.java.

◆ RANDOM_SEED_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.RANDOM_SEED_FIELD_NUMBER = 7
static

Definition at line 625 of file BopParameters.java.

◆ RELATIVE_GAP_LIMIT_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.RELATIVE_GAP_LIMIT_FIELD_NUMBER = 28
static

Definition at line 393 of file BopParameters.java.

◆ SOLVER_OPTIMIZER_SETS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.SOLVER_OPTIMIZER_SETS_FIELD_NUMBER = 26
static

Definition at line 1125 of file BopParameters.java.

◆ SORT_CONSTRAINTS_BY_NUM_TERMS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.SORT_CONSTRAINTS_BY_NUM_TERMS_FIELD_NUMBER = 5
static

Definition at line 569 of file BopParameters.java.

◆ SYNCHRONIZATION_TYPE_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.SYNCHRONIZATION_TYPE_FIELD_NUMBER = 25
static

Definition at line 1107 of file BopParameters.java.

◆ USE_LEARNED_BINARY_CLAUSES_IN_LP_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_LEARNED_BINARY_CLAUSES_IN_LP_FIELD_NUMBER = 23
static

Definition at line 1049 of file BopParameters.java.

◆ USE_LP_LNS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_LP_LNS_FIELD_NUMBER = 12
static

Definition at line 772 of file BopParameters.java.

◆ USE_LP_STRONG_BRANCHING_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_LP_STRONG_BRANCHING_FIELD_NUMBER = 29
static

Definition at line 1250 of file BopParameters.java.

◆ USE_POTENTIAL_ONE_FLIP_REPAIRS_IN_LS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_POTENTIAL_ONE_FLIP_REPAIRS_IN_LS_FIELD_NUMBER = 39
static

Definition at line 1018 of file BopParameters.java.

◆ USE_RANDOM_LNS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_RANDOM_LNS_FIELD_NUMBER = 6
static

Definition at line 598 of file BopParameters.java.

◆ USE_SAT_TO_CHOOSE_LNS_NEIGHBOURHOOD_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_SAT_TO_CHOOSE_LNS_NEIGHBOURHOOD_FIELD_NUMBER = 15
static

Definition at line 799 of file BopParameters.java.

◆ USE_SYMMETRY_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_SYMMETRY_FIELD_NUMBER = 17
static

Definition at line 855 of file BopParameters.java.

◆ USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER

final int com.google.ortools.bop.BopParameters.USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER = 22
static

Definition at line 985 of file BopParameters.java.


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