Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
Contains the definitions for all the sat algorithm parameters and their default values. More...
Classes | |
class | Types |
Container for nested types declared in the SatParameters message type. More... | |
Public Member Functions | |
SatParameters () | |
SatParameters (SatParameters other) | |
SatParameters | Clone () |
void | ClearName () |
Clears the value of the "name" field. | |
void | ClearPreferredVariableOrder () |
Clears the value of the "preferred_variable_order" field. | |
void | ClearInitialPolarity () |
Clears the value of the "initial_polarity" field. | |
void | ClearUsePhaseSaving () |
Clears the value of the "use_phase_saving" field. | |
void | ClearPolarityRephaseIncrement () |
Clears the value of the "polarity_rephase_increment" field. | |
void | ClearRandomPolarityRatio () |
Clears the value of the "random_polarity_ratio" field. | |
void | ClearRandomBranchesRatio () |
Clears the value of the "random_branches_ratio" field. | |
void | ClearUseErwaHeuristic () |
Clears the value of the "use_erwa_heuristic" field. | |
void | ClearInitialVariablesActivity () |
Clears the value of the "initial_variables_activity" field. | |
void | ClearAlsoBumpVariablesInConflictReasons () |
Clears the value of the "also_bump_variables_in_conflict_reasons" field. | |
void | ClearMinimizationAlgorithm () |
Clears the value of the "minimization_algorithm" field. | |
void | ClearBinaryMinimizationAlgorithm () |
Clears the value of the "binary_minimization_algorithm" field. | |
void | ClearSubsumptionDuringConflictAnalysis () |
Clears the value of the "subsumption_during_conflict_analysis" field. | |
void | ClearClauseCleanupPeriod () |
Clears the value of the "clause_cleanup_period" field. | |
void | ClearClauseCleanupTarget () |
Clears the value of the "clause_cleanup_target" field. | |
void | ClearClauseCleanupRatio () |
Clears the value of the "clause_cleanup_ratio" field. | |
void | ClearClauseCleanupProtection () |
Clears the value of the "clause_cleanup_protection" field. | |
void | ClearClauseCleanupLbdBound () |
Clears the value of the "clause_cleanup_lbd_bound" field. | |
void | ClearClauseCleanupOrdering () |
Clears the value of the "clause_cleanup_ordering" field. | |
void | ClearPbCleanupIncrement () |
Clears the value of the "pb_cleanup_increment" field. | |
void | ClearPbCleanupRatio () |
Clears the value of the "pb_cleanup_ratio" field. | |
void | ClearVariableActivityDecay () |
Clears the value of the "variable_activity_decay" field. | |
void | ClearMaxVariableActivityValue () |
Clears the value of the "max_variable_activity_value" field. | |
void | ClearGlucoseMaxDecay () |
Clears the value of the "glucose_max_decay" field. | |
void | ClearGlucoseDecayIncrement () |
Clears the value of the "glucose_decay_increment" field. | |
void | ClearGlucoseDecayIncrementPeriod () |
Clears the value of the "glucose_decay_increment_period" field. | |
void | ClearClauseActivityDecay () |
Clears the value of the "clause_activity_decay" field. | |
void | ClearMaxClauseActivityValue () |
Clears the value of the "max_clause_activity_value" field. | |
void | ClearDefaultRestartAlgorithms () |
Clears the value of the "default_restart_algorithms" field. | |
void | ClearRestartPeriod () |
Clears the value of the "restart_period" field. | |
void | ClearRestartRunningWindowSize () |
Clears the value of the "restart_running_window_size" field. | |
void | ClearRestartDlAverageRatio () |
Clears the value of the "restart_dl_average_ratio" field. | |
void | ClearRestartLbdAverageRatio () |
Clears the value of the "restart_lbd_average_ratio" field. | |
void | ClearUseBlockingRestart () |
Clears the value of the "use_blocking_restart" field. | |
void | ClearBlockingRestartWindowSize () |
Clears the value of the "blocking_restart_window_size" field. | |
void | ClearBlockingRestartMultiplier () |
Clears the value of the "blocking_restart_multiplier" field. | |
void | ClearNumConflictsBeforeStrategyChanges () |
Clears the value of the "num_conflicts_before_strategy_changes" field. | |
void | ClearStrategyChangeIncreaseRatio () |
Clears the value of the "strategy_change_increase_ratio" field. | |
void | ClearMaxTimeInSeconds () |
Clears the value of the "max_time_in_seconds" field. | |
void | ClearMaxDeterministicTime () |
Clears the value of the "max_deterministic_time" field. | |
void | ClearMaxNumDeterministicBatches () |
Clears the value of the "max_num_deterministic_batches" field. | |
void | ClearMaxNumberOfConflicts () |
Clears the value of the "max_number_of_conflicts" field. | |
void | ClearMaxMemoryInMb () |
Clears the value of the "max_memory_in_mb" field. | |
void | ClearAbsoluteGapLimit () |
Clears the value of the "absolute_gap_limit" field. | |
void | ClearRelativeGapLimit () |
Clears the value of the "relative_gap_limit" field. | |
void | ClearRandomSeed () |
Clears the value of the "random_seed" field. | |
void | ClearPermuteVariableRandomly () |
Clears the value of the "permute_variable_randomly" field. | |
void | ClearPermutePresolveConstraintOrder () |
Clears the value of the "permute_presolve_constraint_order" field. | |
void | ClearUseAbslRandom () |
Clears the value of the "use_absl_random" field. | |
void | ClearLogSearchProgress () |
Clears the value of the "log_search_progress" field. | |
void | ClearLogSubsolverStatistics () |
Clears the value of the "log_subsolver_statistics" field. | |
void | ClearLogPrefix () |
Clears the value of the "log_prefix" field. | |
void | ClearLogToStdout () |
Clears the value of the "log_to_stdout" field. | |
void | ClearLogToResponse () |
Clears the value of the "log_to_response" field. | |
void | ClearUsePbResolution () |
Clears the value of the "use_pb_resolution" field. | |
void | ClearMinimizeReductionDuringPbResolution () |
Clears the value of the "minimize_reduction_during_pb_resolution" field. | |
void | ClearCountAssumptionLevelsInLbd () |
Clears the value of the "count_assumption_levels_in_lbd" field. | |
void | ClearPresolveBveThreshold () |
Clears the value of the "presolve_bve_threshold" field. | |
void | ClearPresolveBveClauseWeight () |
Clears the value of the "presolve_bve_clause_weight" field. | |
void | ClearProbingDeterministicTimeLimit () |
Clears the value of the "probing_deterministic_time_limit" field. | |
void | ClearPresolveProbingDeterministicTimeLimit () |
Clears the value of the "presolve_probing_deterministic_time_limit" field. | |
void | ClearPresolveBlockedClause () |
Clears the value of the "presolve_blocked_clause" field. | |
void | ClearPresolveUseBva () |
Clears the value of the "presolve_use_bva" field. | |
void | ClearPresolveBvaThreshold () |
Clears the value of the "presolve_bva_threshold" field. | |
void | ClearMaxPresolveIterations () |
Clears the value of the "max_presolve_iterations" field. | |
void | ClearCpModelPresolve () |
Clears the value of the "cp_model_presolve" field. | |
void | ClearCpModelProbingLevel () |
Clears the value of the "cp_model_probing_level" field. | |
void | ClearCpModelUseSatPresolve () |
Clears the value of the "cp_model_use_sat_presolve" field. | |
void | ClearDetectTableWithCost () |
Clears the value of the "detect_table_with_cost" field. | |
void | ClearTableCompressionLevel () |
Clears the value of the "table_compression_level" field. | |
void | ClearExpandAlldiffConstraints () |
Clears the value of the "expand_alldiff_constraints" field. | |
void | ClearExpandReservoirConstraints () |
Clears the value of the "expand_reservoir_constraints" field. | |
void | ClearExpandReservoirUsingCircuit () |
Clears the value of the "expand_reservoir_using_circuit" field. | |
void | ClearEncodeCumulativeAsReservoir () |
Clears the value of the "encode_cumulative_as_reservoir" field. | |
void | ClearMaxLinMaxSizeForExpansion () |
Clears the value of the "max_lin_max_size_for_expansion" field. | |
void | ClearDisableConstraintExpansion () |
Clears the value of the "disable_constraint_expansion" field. | |
void | ClearEncodeComplexLinearConstraintWithInteger () |
Clears the value of the "encode_complex_linear_constraint_with_integer" field. | |
void | ClearMergeNoOverlapWorkLimit () |
Clears the value of the "merge_no_overlap_work_limit" field. | |
void | ClearMergeAtMostOneWorkLimit () |
Clears the value of the "merge_at_most_one_work_limit" field. | |
void | ClearPresolveSubstitutionLevel () |
Clears the value of the "presolve_substitution_level" field. | |
void | ClearPresolveExtractIntegerEnforcement () |
Clears the value of the "presolve_extract_integer_enforcement" field. | |
void | ClearPresolveInclusionWorkLimit () |
Clears the value of the "presolve_inclusion_work_limit" field. | |
void | ClearIgnoreNames () |
Clears the value of the "ignore_names" field. | |
void | ClearInferAllDiffs () |
Clears the value of the "infer_all_diffs" field. | |
void | ClearFindBigLinearOverlap () |
Clears the value of the "find_big_linear_overlap" field. | |
void | ClearUseSatInprocessing () |
Clears the value of the "use_sat_inprocessing" field. | |
void | ClearInprocessingDtimeRatio () |
Clears the value of the "inprocessing_dtime_ratio" field. | |
void | ClearInprocessingProbingDtime () |
Clears the value of the "inprocessing_probing_dtime" field. | |
void | ClearInprocessingMinimizationDtime () |
Clears the value of the "inprocessing_minimization_dtime" field. | |
void | ClearNumWorkers () |
Clears the value of the "num_workers" field. | |
void | ClearNumSearchWorkers () |
Clears the value of the "num_search_workers" field. | |
void | ClearNumFullSubsolvers () |
Clears the value of the "num_full_subsolvers" field. | |
void | ClearInterleaveSearch () |
Clears the value of the "interleave_search" field. | |
void | ClearInterleaveBatchSize () |
Clears the value of the "interleave_batch_size" field. | |
void | ClearShareObjectiveBounds () |
Clears the value of the "share_objective_bounds" field. | |
void | ClearShareLevelZeroBounds () |
Clears the value of the "share_level_zero_bounds" field. | |
void | ClearShareBinaryClauses () |
Clears the value of the "share_binary_clauses" field. | |
void | ClearShareGlueClauses () |
Clears the value of the "share_glue_clauses" field. | |
void | ClearDebugPostsolveWithFullSolver () |
Clears the value of the "debug_postsolve_with_full_solver" field. | |
void | ClearDebugMaxNumPresolveOperations () |
Clears the value of the "debug_max_num_presolve_operations" field. | |
void | ClearDebugCrashOnBadHint () |
Clears the value of the "debug_crash_on_bad_hint" field. | |
void | ClearUseOptimizationHints () |
Clears the value of the "use_optimization_hints" field. | |
void | ClearCoreMinimizationLevel () |
Clears the value of the "core_minimization_level" field. | |
void | ClearFindMultipleCores () |
Clears the value of the "find_multiple_cores" field. | |
void | ClearCoverOptimization () |
Clears the value of the "cover_optimization" field. | |
void | ClearMaxSatAssumptionOrder () |
Clears the value of the "max_sat_assumption_order" field. | |
void | ClearMaxSatReverseAssumptionOrder () |
Clears the value of the "max_sat_reverse_assumption_order" field. | |
void | ClearMaxSatStratification () |
Clears the value of the "max_sat_stratification" field. | |
void | ClearPropagationLoopDetectionFactor () |
Clears the value of the "propagation_loop_detection_factor" field. | |
void | ClearUsePrecedencesInDisjunctiveConstraint () |
Clears the value of the "use_precedences_in_disjunctive_constraint" field. | |
void | ClearMaxSizeToCreatePrecedenceLiteralsInDisjunctive () |
Clears the value of the "max_size_to_create_precedence_literals_in_disjunctive" field. | |
void | ClearUseStrongPropagationInDisjunctive () |
Clears the value of the "use_strong_propagation_in_disjunctive" field. | |
void | ClearUseDynamicPrecedenceInDisjunctive () |
Clears the value of the "use_dynamic_precedence_in_disjunctive" field. | |
void | ClearUseDynamicPrecedenceInCumulative () |
Clears the value of the "use_dynamic_precedence_in_cumulative" field. | |
void | ClearUseOverloadCheckerInCumulative () |
Clears the value of the "use_overload_checker_in_cumulative" field. | |
void | ClearUseConservativeScaleOverloadChecker () |
Clears the value of the "use_conservative_scale_overload_checker" field. | |
void | ClearUseTimetableEdgeFindingInCumulative () |
Clears the value of the "use_timetable_edge_finding_in_cumulative" field. | |
void | ClearMaxNumIntervalsForTimetableEdgeFinding () |
Clears the value of the "max_num_intervals_for_timetable_edge_finding" field. | |
void | ClearUseHardPrecedencesInCumulative () |
Clears the value of the "use_hard_precedences_in_cumulative" field. | |
void | ClearExploitAllPrecedences () |
Clears the value of the "exploit_all_precedences" field. | |
void | ClearUseDisjunctiveConstraintInCumulative () |
Clears the value of the "use_disjunctive_constraint_in_cumulative" field. | |
void | ClearUseTimetablingInNoOverlap2D () |
Clears the value of the "use_timetabling_in_no_overlap_2d" field. | |
void | ClearUseEnergeticReasoningInNoOverlap2D () |
Clears the value of the "use_energetic_reasoning_in_no_overlap_2d" field. | |
void | ClearUseAreaEnergeticReasoningInNoOverlap2D () |
Clears the value of the "use_area_energetic_reasoning_in_no_overlap_2d" field. | |
void | ClearMaxPairsPairwiseReasoningInNoOverlap2D () |
Clears the value of the "max_pairs_pairwise_reasoning_in_no_overlap_2d" field. | |
void | ClearUseDualSchedulingHeuristics () |
Clears the value of the "use_dual_scheduling_heuristics" field. | |
void | ClearSearchBranching () |
Clears the value of the "search_branching" field. | |
void | ClearHintConflictLimit () |
Clears the value of the "hint_conflict_limit" field. | |
void | ClearRepairHint () |
Clears the value of the "repair_hint" field. | |
void | ClearFixVariablesToTheirHintedValue () |
Clears the value of the "fix_variables_to_their_hinted_value" field. | |
void | ClearUseProbingSearch () |
Clears the value of the "use_probing_search" field. | |
void | ClearUseExtendedProbing () |
Clears the value of the "use_extended_probing" field. | |
void | ClearProbingNumCombinationsLimit () |
Clears the value of the "probing_num_combinations_limit" field. | |
void | ClearUseShavingInProbingSearch () |
Clears the value of the "use_shaving_in_probing_search" field. | |
void | ClearShavingSearchDeterministicTime () |
Clears the value of the "shaving_search_deterministic_time" field. | |
void | ClearShavingSearchThreshold () |
Clears the value of the "shaving_search_threshold" field. | |
void | ClearUseObjectiveLbSearch () |
Clears the value of the "use_objective_lb_search" field. | |
void | ClearUseObjectiveShavingSearch () |
Clears the value of the "use_objective_shaving_search" field. | |
void | ClearUseVariablesShavingSearch () |
Clears the value of the "use_variables_shaving_search" field. | |
void | ClearPseudoCostReliabilityThreshold () |
Clears the value of the "pseudo_cost_reliability_threshold" field. | |
void | ClearOptimizeWithCore () |
Clears the value of the "optimize_with_core" field. | |
void | ClearOptimizeWithLbTreeSearch () |
Clears the value of the "optimize_with_lb_tree_search" field. | |
void | ClearSaveLpBasisInLbTreeSearch () |
Clears the value of the "save_lp_basis_in_lb_tree_search" field. | |
void | ClearBinarySearchNumConflicts () |
Clears the value of the "binary_search_num_conflicts" field. | |
void | ClearOptimizeWithMaxHs () |
Clears the value of the "optimize_with_max_hs" field. | |
void | ClearUseFeasibilityJump () |
Clears the value of the "use_feasibility_jump" field. | |
void | ClearUseLsOnly () |
Clears the value of the "use_ls_only" field. | |
void | ClearFeasibilityJumpDecay () |
Clears the value of the "feasibility_jump_decay" field. | |
void | ClearFeasibilityJumpLinearizationLevel () |
Clears the value of the "feasibility_jump_linearization_level" field. | |
void | ClearFeasibilityJumpRestartFactor () |
Clears the value of the "feasibility_jump_restart_factor" field. | |
void | ClearFeasibilityJumpBatchDtime () |
Clears the value of the "feasibility_jump_batch_dtime" field. | |
void | ClearFeasibilityJumpVarRandomizationProbability () |
Clears the value of the "feasibility_jump_var_randomization_probability" field. | |
void | ClearFeasibilityJumpVarPerburbationRangeRatio () |
Clears the value of the "feasibility_jump_var_perburbation_range_ratio" field. | |
void | ClearFeasibilityJumpEnableRestarts () |
Clears the value of the "feasibility_jump_enable_restarts" field. | |
void | ClearFeasibilityJumpMaxExpandedConstraintSize () |
Clears the value of the "feasibility_jump_max_expanded_constraint_size" field. | |
void | ClearNumViolationLs () |
Clears the value of the "num_violation_ls" field. | |
void | ClearViolationLsPerturbationPeriod () |
Clears the value of the "violation_ls_perturbation_period" field. | |
void | ClearViolationLsCompoundMoveProbability () |
Clears the value of the "violation_ls_compound_move_probability" field. | |
void | ClearSharedTreeNumWorkers () |
Clears the value of the "shared_tree_num_workers" field. | |
void | ClearUseSharedTreeSearch () |
Clears the value of the "use_shared_tree_search" field. | |
void | ClearSharedTreeWorkerObjectiveSplitProbability () |
Clears the value of the "shared_tree_worker_objective_split_probability" field. | |
void | ClearSharedTreeWorkerMinRestartsPerSubtree () |
Clears the value of the "shared_tree_worker_min_restarts_per_subtree" field. | |
void | ClearSharedTreeWorkerEnableTrailSharing () |
Clears the value of the "shared_tree_worker_enable_trail_sharing" field. | |
void | ClearSharedTreeOpenLeavesPerWorker () |
Clears the value of the "shared_tree_open_leaves_per_worker" field. | |
void | ClearSharedTreeMaxNodesPerWorker () |
Clears the value of the "shared_tree_max_nodes_per_worker" field. | |
void | ClearSharedTreeSplitStrategy () |
Clears the value of the "shared_tree_split_strategy" field. | |
void | ClearEnumerateAllSolutions () |
Clears the value of the "enumerate_all_solutions" field. | |
void | ClearKeepAllFeasibleSolutionsInPresolve () |
Clears the value of the "keep_all_feasible_solutions_in_presolve" field. | |
void | ClearFillTightenedDomainsInResponse () |
Clears the value of the "fill_tightened_domains_in_response" field. | |
void | ClearFillAdditionalSolutionsInResponse () |
Clears the value of the "fill_additional_solutions_in_response" field. | |
void | ClearInstantiateAllVariables () |
Clears the value of the "instantiate_all_variables" field. | |
void | ClearAutoDetectGreaterThanAtLeastOneOf () |
Clears the value of the "auto_detect_greater_than_at_least_one_of" field. | |
void | ClearStopAfterFirstSolution () |
Clears the value of the "stop_after_first_solution" field. | |
void | ClearStopAfterPresolve () |
Clears the value of the "stop_after_presolve" field. | |
void | ClearStopAfterRootPropagation () |
Clears the value of the "stop_after_root_propagation" field. | |
void | ClearUseLns () |
Clears the value of the "use_lns" field. | |
void | ClearUseLnsOnly () |
Clears the value of the "use_lns_only" field. | |
void | ClearSolutionPoolSize () |
Clears the value of the "solution_pool_size" field. | |
void | ClearUseRinsLns () |
Clears the value of the "use_rins_lns" field. | |
void | ClearUseFeasibilityPump () |
Clears the value of the "use_feasibility_pump" field. | |
void | ClearUseLbRelaxLns () |
Clears the value of the "use_lb_relax_lns" field. | |
void | ClearFpRounding () |
Clears the value of the "fp_rounding" field. | |
void | ClearDiversifyLnsParams () |
Clears the value of the "diversify_lns_params" field. | |
void | ClearRandomizeSearch () |
Clears the value of the "randomize_search" field. | |
void | ClearSearchRandomVariablePoolSize () |
Clears the value of the "search_random_variable_pool_size" field. | |
void | ClearPushAllTasksTowardStart () |
Clears the value of the "push_all_tasks_toward_start" field. | |
void | ClearUseOptionalVariables () |
Clears the value of the "use_optional_variables" field. | |
void | ClearUseExactLpReason () |
Clears the value of the "use_exact_lp_reason" field. | |
void | ClearUseCombinedNoOverlap () |
Clears the value of the "use_combined_no_overlap" field. | |
void | ClearAtMostOneMaxExpansionSize () |
Clears the value of the "at_most_one_max_expansion_size" field. | |
void | ClearCatchSigintSignal () |
Clears the value of the "catch_sigint_signal" field. | |
void | ClearUseImpliedBounds () |
Clears the value of the "use_implied_bounds" field. | |
void | ClearPolishLpSolution () |
Clears the value of the "polish_lp_solution" field. | |
void | ClearLpPrimalTolerance () |
Clears the value of the "lp_primal_tolerance" field. | |
void | ClearLpDualTolerance () |
Clears the value of the "lp_dual_tolerance" field. | |
void | ClearConvertIntervals () |
Clears the value of the "convert_intervals" field. | |
void | ClearSymmetryLevel () |
Clears the value of the "symmetry_level" field. | |
void | ClearNewLinearPropagation () |
Clears the value of the "new_linear_propagation" field. | |
void | ClearLinearSplitSize () |
Clears the value of the "linear_split_size" field. | |
void | ClearLinearizationLevel () |
Clears the value of the "linearization_level" field. | |
void | ClearBooleanEncodingLevel () |
Clears the value of the "boolean_encoding_level" field. | |
void | ClearMaxDomainSizeWhenEncodingEqNeqConstraints () |
Clears the value of the "max_domain_size_when_encoding_eq_neq_constraints" field. | |
void | ClearMaxNumCuts () |
Clears the value of the "max_num_cuts" field. | |
void | ClearCutLevel () |
Clears the value of the "cut_level" field. | |
void | ClearOnlyAddCutsAtLevelZero () |
Clears the value of the "only_add_cuts_at_level_zero" field. | |
void | ClearAddObjectiveCut () |
Clears the value of the "add_objective_cut" field. | |
void | ClearAddCgCuts () |
Clears the value of the "add_cg_cuts" field. | |
void | ClearAddMirCuts () |
Clears the value of the "add_mir_cuts" field. | |
void | ClearAddZeroHalfCuts () |
Clears the value of the "add_zero_half_cuts" field. | |
void | ClearAddCliqueCuts () |
Clears the value of the "add_clique_cuts" field. | |
void | ClearAddRltCuts () |
Clears the value of the "add_rlt_cuts" field. | |
void | ClearMaxAllDiffCutSize () |
Clears the value of the "max_all_diff_cut_size" field. | |
void | ClearAddLinMaxCuts () |
Clears the value of the "add_lin_max_cuts" field. | |
void | ClearMaxIntegerRoundingScaling () |
Clears the value of the "max_integer_rounding_scaling" field. | |
void | ClearAddLpConstraintsLazily () |
Clears the value of the "add_lp_constraints_lazily" field. | |
void | ClearRootLpIterations () |
Clears the value of the "root_lp_iterations" field. | |
void | ClearMinOrthogonalityForLpConstraints () |
Clears the value of the "min_orthogonality_for_lp_constraints" field. | |
void | ClearMaxCutRoundsAtLevelZero () |
Clears the value of the "max_cut_rounds_at_level_zero" field. | |
void | ClearMaxConsecutiveInactiveCount () |
Clears the value of the "max_consecutive_inactive_count" field. | |
void | ClearCutMaxActiveCountValue () |
Clears the value of the "cut_max_active_count_value" field. | |
void | ClearCutActiveCountDecay () |
Clears the value of the "cut_active_count_decay" field. | |
void | ClearCutCleanupTarget () |
Clears the value of the "cut_cleanup_target" field. | |
void | ClearNewConstraintsBatchSize () |
Clears the value of the "new_constraints_batch_size" field. | |
void | ClearExploitIntegerLpSolution () |
Clears the value of the "exploit_integer_lp_solution" field. | |
void | ClearExploitAllLpSolution () |
Clears the value of the "exploit_all_lp_solution" field. | |
void | ClearExploitBestSolution () |
Clears the value of the "exploit_best_solution" field. | |
void | ClearExploitRelaxationSolution () |
Clears the value of the "exploit_relaxation_solution" field. | |
void | ClearExploitObjective () |
Clears the value of the "exploit_objective" field. | |
void | ClearDetectLinearizedProduct () |
Clears the value of the "detect_linearized_product" field. | |
void | ClearMipMaxBound () |
Clears the value of the "mip_max_bound" field. | |
void | ClearMipVarScaling () |
Clears the value of the "mip_var_scaling" field. | |
void | ClearMipScaleLargeDomain () |
Clears the value of the "mip_scale_large_domain" field. | |
void | ClearMipAutomaticallyScaleVariables () |
Clears the value of the "mip_automatically_scale_variables" field. | |
void | ClearOnlySolveIp () |
Clears the value of the "only_solve_ip" field. | |
void | ClearMipWantedPrecision () |
Clears the value of the "mip_wanted_precision" field. | |
void | ClearMipMaxActivityExponent () |
Clears the value of the "mip_max_activity_exponent" field. | |
void | ClearMipCheckPrecision () |
Clears the value of the "mip_check_precision" field. | |
void | ClearMipComputeTrueObjectiveBound () |
Clears the value of the "mip_compute_true_objective_bound" field. | |
void | ClearMipMaxValidMagnitude () |
Clears the value of the "mip_max_valid_magnitude" field. | |
void | ClearMipTreatHighMagnitudeBoundsAsInfinity () |
Clears the value of the "mip_treat_high_magnitude_bounds_as_infinity" field. | |
void | ClearMipDropTolerance () |
Clears the value of the "mip_drop_tolerance" field. | |
void | ClearMipPresolveLevel () |
Clears the value of the "mip_presolve_level" field. | |
override bool | Equals (object other) |
bool | Equals (SatParameters other) |
override int | GetHashCode () |
override string | ToString () |
void | WriteTo (pb::CodedOutputStream output) |
int | CalculateSize () |
void | MergeFrom (SatParameters other) |
void | MergeFrom (pb::CodedInputStream input) |
Static Public Attributes | |
const int | NameFieldNumber = 171 |
Field number for the "name" field. | |
const int | PreferredVariableOrderFieldNumber = 1 |
Field number for the "preferred_variable_order" field. | |
const int | InitialPolarityFieldNumber = 2 |
Field number for the "initial_polarity" field. | |
const int | UsePhaseSavingFieldNumber = 44 |
Field number for the "use_phase_saving" field. | |
const int | PolarityRephaseIncrementFieldNumber = 168 |
Field number for the "polarity_rephase_increment" field. | |
const int | RandomPolarityRatioFieldNumber = 45 |
Field number for the "random_polarity_ratio" field. | |
const int | RandomBranchesRatioFieldNumber = 32 |
Field number for the "random_branches_ratio" field. | |
const int | UseErwaHeuristicFieldNumber = 75 |
Field number for the "use_erwa_heuristic" field. | |
const int | InitialVariablesActivityFieldNumber = 76 |
Field number for the "initial_variables_activity" field. | |
const int | AlsoBumpVariablesInConflictReasonsFieldNumber = 77 |
Field number for the "also_bump_variables_in_conflict_reasons" field. | |
const int | MinimizationAlgorithmFieldNumber = 4 |
Field number for the "minimization_algorithm" field. | |
const int | BinaryMinimizationAlgorithmFieldNumber = 34 |
Field number for the "binary_minimization_algorithm" field. | |
const int | SubsumptionDuringConflictAnalysisFieldNumber = 56 |
Field number for the "subsumption_during_conflict_analysis" field. | |
const int | ClauseCleanupPeriodFieldNumber = 11 |
Field number for the "clause_cleanup_period" field. | |
const int | ClauseCleanupTargetFieldNumber = 13 |
Field number for the "clause_cleanup_target" field. | |
const int | ClauseCleanupRatioFieldNumber = 190 |
Field number for the "clause_cleanup_ratio" field. | |
const int | ClauseCleanupProtectionFieldNumber = 58 |
Field number for the "clause_cleanup_protection" field. | |
const int | ClauseCleanupLbdBoundFieldNumber = 59 |
Field number for the "clause_cleanup_lbd_bound" field. | |
const int | ClauseCleanupOrderingFieldNumber = 60 |
Field number for the "clause_cleanup_ordering" field. | |
const int | PbCleanupIncrementFieldNumber = 46 |
Field number for the "pb_cleanup_increment" field. | |
const int | PbCleanupRatioFieldNumber = 47 |
Field number for the "pb_cleanup_ratio" field. | |
const int | VariableActivityDecayFieldNumber = 15 |
Field number for the "variable_activity_decay" field. | |
const int | MaxVariableActivityValueFieldNumber = 16 |
Field number for the "max_variable_activity_value" field. | |
const int | GlucoseMaxDecayFieldNumber = 22 |
Field number for the "glucose_max_decay" field. | |
const int | GlucoseDecayIncrementFieldNumber = 23 |
Field number for the "glucose_decay_increment" field. | |
const int | GlucoseDecayIncrementPeriodFieldNumber = 24 |
Field number for the "glucose_decay_increment_period" field. | |
const int | ClauseActivityDecayFieldNumber = 17 |
Field number for the "clause_activity_decay" field. | |
const int | MaxClauseActivityValueFieldNumber = 18 |
Field number for the "max_clause_activity_value" field. | |
const int | RestartAlgorithmsFieldNumber = 61 |
Field number for the "restart_algorithms" field. | |
const int | DefaultRestartAlgorithmsFieldNumber = 70 |
Field number for the "default_restart_algorithms" field. | |
const int | RestartPeriodFieldNumber = 30 |
Field number for the "restart_period" field. | |
const int | RestartRunningWindowSizeFieldNumber = 62 |
Field number for the "restart_running_window_size" field. | |
const int | RestartDlAverageRatioFieldNumber = 63 |
Field number for the "restart_dl_average_ratio" field. | |
const int | RestartLbdAverageRatioFieldNumber = 71 |
Field number for the "restart_lbd_average_ratio" field. | |
const int | UseBlockingRestartFieldNumber = 64 |
Field number for the "use_blocking_restart" field. | |
const int | BlockingRestartWindowSizeFieldNumber = 65 |
Field number for the "blocking_restart_window_size" field. | |
const int | BlockingRestartMultiplierFieldNumber = 66 |
Field number for the "blocking_restart_multiplier" field. | |
const int | NumConflictsBeforeStrategyChangesFieldNumber = 68 |
Field number for the "num_conflicts_before_strategy_changes" field. | |
const int | StrategyChangeIncreaseRatioFieldNumber = 69 |
Field number for the "strategy_change_increase_ratio" field. | |
const int | MaxTimeInSecondsFieldNumber = 36 |
Field number for the "max_time_in_seconds" field. | |
const int | MaxDeterministicTimeFieldNumber = 67 |
Field number for the "max_deterministic_time" field. | |
const int | MaxNumDeterministicBatchesFieldNumber = 291 |
Field number for the "max_num_deterministic_batches" field. | |
const int | MaxNumberOfConflictsFieldNumber = 37 |
Field number for the "max_number_of_conflicts" field. | |
const int | MaxMemoryInMbFieldNumber = 40 |
Field number for the "max_memory_in_mb" field. | |
const int | AbsoluteGapLimitFieldNumber = 159 |
Field number for the "absolute_gap_limit" field. | |
const int | RelativeGapLimitFieldNumber = 160 |
Field number for the "relative_gap_limit" field. | |
const int | RandomSeedFieldNumber = 31 |
Field number for the "random_seed" field. | |
const int | PermuteVariableRandomlyFieldNumber = 178 |
Field number for the "permute_variable_randomly" field. | |
const int | PermutePresolveConstraintOrderFieldNumber = 179 |
Field number for the "permute_presolve_constraint_order" field. | |
const int | UseAbslRandomFieldNumber = 180 |
Field number for the "use_absl_random" field. | |
const int | LogSearchProgressFieldNumber = 41 |
Field number for the "log_search_progress" field. | |
const int | LogSubsolverStatisticsFieldNumber = 189 |
Field number for the "log_subsolver_statistics" field. | |
const int | LogPrefixFieldNumber = 185 |
Field number for the "log_prefix" field. | |
const int | LogToStdoutFieldNumber = 186 |
Field number for the "log_to_stdout" field. | |
const int | LogToResponseFieldNumber = 187 |
Field number for the "log_to_response" field. | |
const int | UsePbResolutionFieldNumber = 43 |
Field number for the "use_pb_resolution" field. | |
const int | MinimizeReductionDuringPbResolutionFieldNumber = 48 |
Field number for the "minimize_reduction_during_pb_resolution" field. | |
const int | CountAssumptionLevelsInLbdFieldNumber = 49 |
Field number for the "count_assumption_levels_in_lbd" field. | |
const int | PresolveBveThresholdFieldNumber = 54 |
Field number for the "presolve_bve_threshold" field. | |
const int | PresolveBveClauseWeightFieldNumber = 55 |
Field number for the "presolve_bve_clause_weight" field. | |
const int | ProbingDeterministicTimeLimitFieldNumber = 226 |
Field number for the "probing_deterministic_time_limit" field. | |
const int | PresolveProbingDeterministicTimeLimitFieldNumber = 57 |
Field number for the "presolve_probing_deterministic_time_limit" field. | |
const int | PresolveBlockedClauseFieldNumber = 88 |
Field number for the "presolve_blocked_clause" field. | |
const int | PresolveUseBvaFieldNumber = 72 |
Field number for the "presolve_use_bva" field. | |
const int | PresolveBvaThresholdFieldNumber = 73 |
Field number for the "presolve_bva_threshold" field. | |
const int | MaxPresolveIterationsFieldNumber = 138 |
Field number for the "max_presolve_iterations" field. | |
const int | CpModelPresolveFieldNumber = 86 |
Field number for the "cp_model_presolve" field. | |
const int | CpModelProbingLevelFieldNumber = 110 |
Field number for the "cp_model_probing_level" field. | |
const int | CpModelUseSatPresolveFieldNumber = 93 |
Field number for the "cp_model_use_sat_presolve" field. | |
const int | DetectTableWithCostFieldNumber = 216 |
Field number for the "detect_table_with_cost" field. | |
const int | TableCompressionLevelFieldNumber = 217 |
Field number for the "table_compression_level" field. | |
const int | ExpandAlldiffConstraintsFieldNumber = 170 |
Field number for the "expand_alldiff_constraints" field. | |
const int | ExpandReservoirConstraintsFieldNumber = 182 |
Field number for the "expand_reservoir_constraints" field. | |
const int | ExpandReservoirUsingCircuitFieldNumber = 288 |
Field number for the "expand_reservoir_using_circuit" field. | |
const int | EncodeCumulativeAsReservoirFieldNumber = 287 |
Field number for the "encode_cumulative_as_reservoir" field. | |
const int | MaxLinMaxSizeForExpansionFieldNumber = 280 |
Field number for the "max_lin_max_size_for_expansion" field. | |
const int | DisableConstraintExpansionFieldNumber = 181 |
Field number for the "disable_constraint_expansion" field. | |
const int | EncodeComplexLinearConstraintWithIntegerFieldNumber = 223 |
Field number for the "encode_complex_linear_constraint_with_integer" field. | |
const int | MergeNoOverlapWorkLimitFieldNumber = 145 |
Field number for the "merge_no_overlap_work_limit" field. | |
const int | MergeAtMostOneWorkLimitFieldNumber = 146 |
Field number for the "merge_at_most_one_work_limit" field. | |
const int | PresolveSubstitutionLevelFieldNumber = 147 |
Field number for the "presolve_substitution_level" field. | |
const int | PresolveExtractIntegerEnforcementFieldNumber = 174 |
Field number for the "presolve_extract_integer_enforcement" field. | |
const int | PresolveInclusionWorkLimitFieldNumber = 201 |
Field number for the "presolve_inclusion_work_limit" field. | |
const int | IgnoreNamesFieldNumber = 202 |
Field number for the "ignore_names" field. | |
const int | InferAllDiffsFieldNumber = 233 |
Field number for the "infer_all_diffs" field. | |
const int | FindBigLinearOverlapFieldNumber = 234 |
Field number for the "find_big_linear_overlap" field. | |
const int | UseSatInprocessingFieldNumber = 163 |
Field number for the "use_sat_inprocessing" field. | |
const int | InprocessingDtimeRatioFieldNumber = 273 |
Field number for the "inprocessing_dtime_ratio" field. | |
const int | InprocessingProbingDtimeFieldNumber = 274 |
Field number for the "inprocessing_probing_dtime" field. | |
const int | InprocessingMinimizationDtimeFieldNumber = 275 |
Field number for the "inprocessing_minimization_dtime" field. | |
const int | NumWorkersFieldNumber = 206 |
Field number for the "num_workers" field. | |
const int | NumSearchWorkersFieldNumber = 100 |
Field number for the "num_search_workers" field. | |
const int | NumFullSubsolversFieldNumber = 294 |
Field number for the "num_full_subsolvers" field. | |
const int | SubsolversFieldNumber = 207 |
Field number for the "subsolvers" field. | |
const int | ExtraSubsolversFieldNumber = 219 |
Field number for the "extra_subsolvers" field. | |
const int | IgnoreSubsolversFieldNumber = 209 |
Field number for the "ignore_subsolvers" field. | |
const int | FilterSubsolversFieldNumber = 293 |
Field number for the "filter_subsolvers" field. | |
const int | SubsolverParamsFieldNumber = 210 |
Field number for the "subsolver_params" field. | |
const int | InterleaveSearchFieldNumber = 136 |
Field number for the "interleave_search" field. | |
const int | InterleaveBatchSizeFieldNumber = 134 |
Field number for the "interleave_batch_size" field. | |
const int | ShareObjectiveBoundsFieldNumber = 113 |
Field number for the "share_objective_bounds" field. | |
const int | ShareLevelZeroBoundsFieldNumber = 114 |
Field number for the "share_level_zero_bounds" field. | |
const int | ShareBinaryClausesFieldNumber = 203 |
Field number for the "share_binary_clauses" field. | |
const int | ShareGlueClausesFieldNumber = 285 |
Field number for the "share_glue_clauses" field. | |
const int | DebugPostsolveWithFullSolverFieldNumber = 162 |
Field number for the "debug_postsolve_with_full_solver" field. | |
const int | DebugMaxNumPresolveOperationsFieldNumber = 151 |
Field number for the "debug_max_num_presolve_operations" field. | |
const int | DebugCrashOnBadHintFieldNumber = 195 |
Field number for the "debug_crash_on_bad_hint" field. | |
const int | UseOptimizationHintsFieldNumber = 35 |
Field number for the "use_optimization_hints" field. | |
const int | CoreMinimizationLevelFieldNumber = 50 |
Field number for the "core_minimization_level" field. | |
const int | FindMultipleCoresFieldNumber = 84 |
Field number for the "find_multiple_cores" field. | |
const int | CoverOptimizationFieldNumber = 89 |
Field number for the "cover_optimization" field. | |
const int | MaxSatAssumptionOrderFieldNumber = 51 |
Field number for the "max_sat_assumption_order" field. | |
const int | MaxSatReverseAssumptionOrderFieldNumber = 52 |
Field number for the "max_sat_reverse_assumption_order" field. | |
const int | MaxSatStratificationFieldNumber = 53 |
Field number for the "max_sat_stratification" field. | |
const int | PropagationLoopDetectionFactorFieldNumber = 221 |
Field number for the "propagation_loop_detection_factor" field. | |
const int | UsePrecedencesInDisjunctiveConstraintFieldNumber = 74 |
Field number for the "use_precedences_in_disjunctive_constraint" field. | |
const int | MaxSizeToCreatePrecedenceLiteralsInDisjunctiveFieldNumber = 229 |
Field number for the "max_size_to_create_precedence_literals_in_disjunctive" field. | |
const int | UseStrongPropagationInDisjunctiveFieldNumber = 230 |
Field number for the "use_strong_propagation_in_disjunctive" field. | |
const int | UseDynamicPrecedenceInDisjunctiveFieldNumber = 263 |
Field number for the "use_dynamic_precedence_in_disjunctive" field. | |
const int | UseDynamicPrecedenceInCumulativeFieldNumber = 268 |
Field number for the "use_dynamic_precedence_in_cumulative" field. | |
const int | UseOverloadCheckerInCumulativeFieldNumber = 78 |
Field number for the "use_overload_checker_in_cumulative" field. | |
const int | UseConservativeScaleOverloadCheckerFieldNumber = 286 |
Field number for the "use_conservative_scale_overload_checker" field. | |
const int | UseTimetableEdgeFindingInCumulativeFieldNumber = 79 |
Field number for the "use_timetable_edge_finding_in_cumulative" field. | |
const int | MaxNumIntervalsForTimetableEdgeFindingFieldNumber = 260 |
Field number for the "max_num_intervals_for_timetable_edge_finding" field. | |
const int | UseHardPrecedencesInCumulativeFieldNumber = 215 |
Field number for the "use_hard_precedences_in_cumulative" field. | |
const int | ExploitAllPrecedencesFieldNumber = 220 |
Field number for the "exploit_all_precedences" field. | |
const int | UseDisjunctiveConstraintInCumulativeFieldNumber = 80 |
Field number for the "use_disjunctive_constraint_in_cumulative" field. | |
const int | UseTimetablingInNoOverlap2DFieldNumber = 200 |
Field number for the "use_timetabling_in_no_overlap_2d" field. | |
const int | UseEnergeticReasoningInNoOverlap2DFieldNumber = 213 |
Field number for the "use_energetic_reasoning_in_no_overlap_2d" field. | |
const int | UseAreaEnergeticReasoningInNoOverlap2DFieldNumber = 271 |
Field number for the "use_area_energetic_reasoning_in_no_overlap_2d" field. | |
const int | MaxPairsPairwiseReasoningInNoOverlap2DFieldNumber = 276 |
Field number for the "max_pairs_pairwise_reasoning_in_no_overlap_2d" field. | |
const int | UseDualSchedulingHeuristicsFieldNumber = 214 |
Field number for the "use_dual_scheduling_heuristics" field. | |
const int | SearchBranchingFieldNumber = 82 |
Field number for the "search_branching" field. | |
const int | HintConflictLimitFieldNumber = 153 |
Field number for the "hint_conflict_limit" field. | |
const int | RepairHintFieldNumber = 167 |
Field number for the "repair_hint" field. | |
const int | FixVariablesToTheirHintedValueFieldNumber = 192 |
Field number for the "fix_variables_to_their_hinted_value" field. | |
const int | UseProbingSearchFieldNumber = 176 |
Field number for the "use_probing_search" field. | |
const int | UseExtendedProbingFieldNumber = 269 |
Field number for the "use_extended_probing" field. | |
const int | ProbingNumCombinationsLimitFieldNumber = 272 |
Field number for the "probing_num_combinations_limit" field. | |
const int | UseShavingInProbingSearchFieldNumber = 204 |
Field number for the "use_shaving_in_probing_search" field. | |
const int | ShavingSearchDeterministicTimeFieldNumber = 205 |
Field number for the "shaving_search_deterministic_time" field. | |
const int | ShavingSearchThresholdFieldNumber = 290 |
Field number for the "shaving_search_threshold" field. | |
const int | UseObjectiveLbSearchFieldNumber = 228 |
Field number for the "use_objective_lb_search" field. | |
const int | UseObjectiveShavingSearchFieldNumber = 253 |
Field number for the "use_objective_shaving_search" field. | |
const int | UseVariablesShavingSearchFieldNumber = 289 |
Field number for the "use_variables_shaving_search" field. | |
const int | PseudoCostReliabilityThresholdFieldNumber = 123 |
Field number for the "pseudo_cost_reliability_threshold" field. | |
const int | OptimizeWithCoreFieldNumber = 83 |
Field number for the "optimize_with_core" field. | |
const int | OptimizeWithLbTreeSearchFieldNumber = 188 |
Field number for the "optimize_with_lb_tree_search" field. | |
const int | SaveLpBasisInLbTreeSearchFieldNumber = 284 |
Field number for the "save_lp_basis_in_lb_tree_search" field. | |
const int | BinarySearchNumConflictsFieldNumber = 99 |
Field number for the "binary_search_num_conflicts" field. | |
const int | OptimizeWithMaxHsFieldNumber = 85 |
Field number for the "optimize_with_max_hs" field. | |
const int | UseFeasibilityJumpFieldNumber = 265 |
Field number for the "use_feasibility_jump" field. | |
const int | UseLsOnlyFieldNumber = 240 |
Field number for the "use_ls_only" field. | |
const int | FeasibilityJumpDecayFieldNumber = 242 |
Field number for the "feasibility_jump_decay" field. | |
const int | FeasibilityJumpLinearizationLevelFieldNumber = 257 |
Field number for the "feasibility_jump_linearization_level" field. | |
const int | FeasibilityJumpRestartFactorFieldNumber = 258 |
Field number for the "feasibility_jump_restart_factor" field. | |
const int | FeasibilityJumpBatchDtimeFieldNumber = 292 |
Field number for the "feasibility_jump_batch_dtime" field. | |
const int | FeasibilityJumpVarRandomizationProbabilityFieldNumber = 247 |
Field number for the "feasibility_jump_var_randomization_probability" field. | |
const int | FeasibilityJumpVarPerburbationRangeRatioFieldNumber = 248 |
Field number for the "feasibility_jump_var_perburbation_range_ratio" field. | |
const int | FeasibilityJumpEnableRestartsFieldNumber = 250 |
Field number for the "feasibility_jump_enable_restarts" field. | |
const int | FeasibilityJumpMaxExpandedConstraintSizeFieldNumber = 264 |
Field number for the "feasibility_jump_max_expanded_constraint_size" field. | |
const int | NumViolationLsFieldNumber = 244 |
Field number for the "num_violation_ls" field. | |
const int | ViolationLsPerturbationPeriodFieldNumber = 249 |
Field number for the "violation_ls_perturbation_period" field. | |
const int | ViolationLsCompoundMoveProbabilityFieldNumber = 259 |
Field number for the "violation_ls_compound_move_probability" field. | |
const int | SharedTreeNumWorkersFieldNumber = 235 |
Field number for the "shared_tree_num_workers" field. | |
const int | UseSharedTreeSearchFieldNumber = 236 |
Field number for the "use_shared_tree_search" field. | |
const int | SharedTreeWorkerObjectiveSplitProbabilityFieldNumber = 237 |
Field number for the "shared_tree_worker_objective_split_probability" field. | |
const int | SharedTreeWorkerMinRestartsPerSubtreeFieldNumber = 282 |
Field number for the "shared_tree_worker_min_restarts_per_subtree" field. | |
const int | SharedTreeWorkerEnableTrailSharingFieldNumber = 295 |
Field number for the "shared_tree_worker_enable_trail_sharing" field. | |
const int | SharedTreeOpenLeavesPerWorkerFieldNumber = 281 |
Field number for the "shared_tree_open_leaves_per_worker" field. | |
const int | SharedTreeMaxNodesPerWorkerFieldNumber = 238 |
Field number for the "shared_tree_max_nodes_per_worker" field. | |
const int | SharedTreeSplitStrategyFieldNumber = 239 |
Field number for the "shared_tree_split_strategy" field. | |
const int | EnumerateAllSolutionsFieldNumber = 87 |
Field number for the "enumerate_all_solutions" field. | |
const int | KeepAllFeasibleSolutionsInPresolveFieldNumber = 173 |
Field number for the "keep_all_feasible_solutions_in_presolve" field. | |
const int | FillTightenedDomainsInResponseFieldNumber = 132 |
Field number for the "fill_tightened_domains_in_response" field. | |
const int | FillAdditionalSolutionsInResponseFieldNumber = 194 |
Field number for the "fill_additional_solutions_in_response" field. | |
const int | InstantiateAllVariablesFieldNumber = 106 |
Field number for the "instantiate_all_variables" field. | |
const int | AutoDetectGreaterThanAtLeastOneOfFieldNumber = 95 |
Field number for the "auto_detect_greater_than_at_least_one_of" field. | |
const int | StopAfterFirstSolutionFieldNumber = 98 |
Field number for the "stop_after_first_solution" field. | |
const int | StopAfterPresolveFieldNumber = 149 |
Field number for the "stop_after_presolve" field. | |
const int | StopAfterRootPropagationFieldNumber = 252 |
Field number for the "stop_after_root_propagation" field. | |
const int | UseLnsFieldNumber = 283 |
Field number for the "use_lns" field. | |
const int | UseLnsOnlyFieldNumber = 101 |
Field number for the "use_lns_only" field. | |
const int | SolutionPoolSizeFieldNumber = 193 |
Field number for the "solution_pool_size" field. | |
const int | UseRinsLnsFieldNumber = 129 |
Field number for the "use_rins_lns" field. | |
const int | UseFeasibilityPumpFieldNumber = 164 |
Field number for the "use_feasibility_pump" field. | |
const int | UseLbRelaxLnsFieldNumber = 255 |
Field number for the "use_lb_relax_lns" field. | |
const int | FpRoundingFieldNumber = 165 |
Field number for the "fp_rounding" field. | |
const int | DiversifyLnsParamsFieldNumber = 137 |
Field number for the "diversify_lns_params" field. | |
const int | RandomizeSearchFieldNumber = 103 |
Field number for the "randomize_search" field. | |
const int | SearchRandomVariablePoolSizeFieldNumber = 104 |
Field number for the "search_random_variable_pool_size" field. | |
const int | PushAllTasksTowardStartFieldNumber = 262 |
Field number for the "push_all_tasks_toward_start" field. | |
const int | UseOptionalVariablesFieldNumber = 108 |
Field number for the "use_optional_variables" field. | |
const int | UseExactLpReasonFieldNumber = 109 |
Field number for the "use_exact_lp_reason" field. | |
const int | UseCombinedNoOverlapFieldNumber = 133 |
Field number for the "use_combined_no_overlap" field. | |
const int | AtMostOneMaxExpansionSizeFieldNumber = 270 |
Field number for the "at_most_one_max_expansion_size" field. | |
const int | CatchSigintSignalFieldNumber = 135 |
Field number for the "catch_sigint_signal" field. | |
const int | UseImpliedBoundsFieldNumber = 144 |
Field number for the "use_implied_bounds" field. | |
const int | PolishLpSolutionFieldNumber = 175 |
Field number for the "polish_lp_solution" field. | |
const int | LpPrimalToleranceFieldNumber = 266 |
Field number for the "lp_primal_tolerance" field. | |
const int | LpDualToleranceFieldNumber = 267 |
Field number for the "lp_dual_tolerance" field. | |
const int | ConvertIntervalsFieldNumber = 177 |
Field number for the "convert_intervals" field. | |
const int | SymmetryLevelFieldNumber = 183 |
Field number for the "symmetry_level" field. | |
const int | NewLinearPropagationFieldNumber = 224 |
Field number for the "new_linear_propagation" field. | |
const int | LinearSplitSizeFieldNumber = 256 |
Field number for the "linear_split_size" field. | |
const int | LinearizationLevelFieldNumber = 90 |
Field number for the "linearization_level" field. | |
const int | BooleanEncodingLevelFieldNumber = 107 |
Field number for the "boolean_encoding_level" field. | |
const int | MaxDomainSizeWhenEncodingEqNeqConstraintsFieldNumber = 191 |
Field number for the "max_domain_size_when_encoding_eq_neq_constraints" field. | |
const int | MaxNumCutsFieldNumber = 91 |
Field number for the "max_num_cuts" field. | |
const int | CutLevelFieldNumber = 196 |
Field number for the "cut_level" field. | |
const int | OnlyAddCutsAtLevelZeroFieldNumber = 92 |
Field number for the "only_add_cuts_at_level_zero" field. | |
const int | AddObjectiveCutFieldNumber = 197 |
Field number for the "add_objective_cut" field. | |
const int | AddCgCutsFieldNumber = 117 |
Field number for the "add_cg_cuts" field. | |
const int | AddMirCutsFieldNumber = 120 |
Field number for the "add_mir_cuts" field. | |
const int | AddZeroHalfCutsFieldNumber = 169 |
Field number for the "add_zero_half_cuts" field. | |
const int | AddCliqueCutsFieldNumber = 172 |
Field number for the "add_clique_cuts" field. | |
const int | AddRltCutsFieldNumber = 279 |
Field number for the "add_rlt_cuts" field. | |
const int | MaxAllDiffCutSizeFieldNumber = 148 |
Field number for the "max_all_diff_cut_size" field. | |
const int | AddLinMaxCutsFieldNumber = 152 |
Field number for the "add_lin_max_cuts" field. | |
const int | MaxIntegerRoundingScalingFieldNumber = 119 |
Field number for the "max_integer_rounding_scaling" field. | |
const int | AddLpConstraintsLazilyFieldNumber = 112 |
Field number for the "add_lp_constraints_lazily" field. | |
const int | RootLpIterationsFieldNumber = 227 |
Field number for the "root_lp_iterations" field. | |
const int | MinOrthogonalityForLpConstraintsFieldNumber = 115 |
Field number for the "min_orthogonality_for_lp_constraints" field. | |
const int | MaxCutRoundsAtLevelZeroFieldNumber = 154 |
Field number for the "max_cut_rounds_at_level_zero" field. | |
const int | MaxConsecutiveInactiveCountFieldNumber = 121 |
Field number for the "max_consecutive_inactive_count" field. | |
const int | CutMaxActiveCountValueFieldNumber = 155 |
Field number for the "cut_max_active_count_value" field. | |
const int | CutActiveCountDecayFieldNumber = 156 |
Field number for the "cut_active_count_decay" field. | |
const int | CutCleanupTargetFieldNumber = 157 |
Field number for the "cut_cleanup_target" field. | |
const int | NewConstraintsBatchSizeFieldNumber = 122 |
Field number for the "new_constraints_batch_size" field. | |
const int | ExploitIntegerLpSolutionFieldNumber = 94 |
Field number for the "exploit_integer_lp_solution" field. | |
const int | ExploitAllLpSolutionFieldNumber = 116 |
Field number for the "exploit_all_lp_solution" field. | |
const int | ExploitBestSolutionFieldNumber = 130 |
Field number for the "exploit_best_solution" field. | |
const int | ExploitRelaxationSolutionFieldNumber = 161 |
Field number for the "exploit_relaxation_solution" field. | |
const int | ExploitObjectiveFieldNumber = 131 |
Field number for the "exploit_objective" field. | |
const int | DetectLinearizedProductFieldNumber = 277 |
Field number for the "detect_linearized_product" field. | |
const int | MipMaxBoundFieldNumber = 124 |
Field number for the "mip_max_bound" field. | |
const int | MipVarScalingFieldNumber = 125 |
Field number for the "mip_var_scaling" field. | |
const int | MipScaleLargeDomainFieldNumber = 225 |
Field number for the "mip_scale_large_domain" field. | |
const int | MipAutomaticallyScaleVariablesFieldNumber = 166 |
Field number for the "mip_automatically_scale_variables" field. | |
const int | OnlySolveIpFieldNumber = 222 |
Field number for the "only_solve_ip" field. | |
const int | MipWantedPrecisionFieldNumber = 126 |
Field number for the "mip_wanted_precision" field. | |
const int | MipMaxActivityExponentFieldNumber = 127 |
Field number for the "mip_max_activity_exponent" field. | |
const int | MipCheckPrecisionFieldNumber = 128 |
Field number for the "mip_check_precision" field. | |
const int | MipComputeTrueObjectiveBoundFieldNumber = 198 |
Field number for the "mip_compute_true_objective_bound" field. | |
const int | MipMaxValidMagnitudeFieldNumber = 199 |
Field number for the "mip_max_valid_magnitude" field. | |
const int | MipTreatHighMagnitudeBoundsAsInfinityFieldNumber = 278 |
Field number for the "mip_treat_high_magnitude_bounds_as_infinity" field. | |
const int | MipDropToleranceFieldNumber = 232 |
Field number for the "mip_drop_tolerance" field. | |
const int | MipPresolveLevelFieldNumber = 261 |
Field number for the "mip_presolve_level" field. | |
Properties | |
static pb::MessageParser< SatParameters > | Parser [get] |
static pbr::MessageDescriptor | Descriptor [get] |
string | Name [get, set] |
In some context, like in a portfolio of search, it makes sense to name a given parameters set for logging purpose. | |
bool | HasName [get] |
Gets whether the "name" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.VariableOrder | PreferredVariableOrder [get, set] |
bool | HasPreferredVariableOrder [get] |
Gets whether the "preferred_variable_order" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.Polarity | InitialPolarity [get, set] |
bool | HasInitialPolarity [get] |
Gets whether the "initial_polarity" field is set. | |
bool | UsePhaseSaving [get, set] |
If this is true, then the polarity of a variable will be the last value it was assigned to, or its default polarity if it was never assigned since the call to ResetDecisionHeuristic(). | |
bool | HasUsePhaseSaving [get] |
Gets whether the "use_phase_saving" field is set. | |
int | PolarityRephaseIncrement [get, set] |
If non-zero, then we change the polarity heuristic after that many number of conflicts in an arithmetically increasing fashion. So x the first time, 2 * x the second time, etc... | |
bool | HasPolarityRephaseIncrement [get] |
Gets whether the "polarity_rephase_increment" field is set. | |
double | RandomPolarityRatio [get, set] |
The proportion of polarity chosen at random. Note that this take precedence over the phase saving heuristic. This is different from initial_polarity:POLARITY_RANDOM because it will select a new random polarity each time the variable is branched upon instead of selecting one initially and then always taking this choice. | |
bool | HasRandomPolarityRatio [get] |
Gets whether the "random_polarity_ratio" field is set. | |
double | RandomBranchesRatio [get, set] |
A number between 0 and 1 that indicates the proportion of branching variables that are selected randomly instead of choosing the first variable from the given variable_ordering strategy. | |
bool | HasRandomBranchesRatio [get] |
Gets whether the "random_branches_ratio" field is set. | |
bool | UseErwaHeuristic [get, set] |
Whether we use the ERWA (Exponential Recency Weighted Average) heuristic as described in "Learning Rate Based Branching Heuristic for SAT solvers", J.H.Liang, V. Ganesh, P. Poupart, K.Czarnecki, SAT 2016. | |
bool | HasUseErwaHeuristic [get] |
Gets whether the "use_erwa_heuristic" field is set. | |
double | InitialVariablesActivity [get, set] |
The initial value of the variables activity. A non-zero value only make sense when use_erwa_heuristic is true. Experiments with a value of 1e-2 together with the ERWA heuristic showed slighthly better result than simply using zero. The idea is that when the "learning rate" of a variable becomes lower than this value, then we prefer to branch on never explored before variables. This is not in the ERWA paper. | |
bool | HasInitialVariablesActivity [get] |
Gets whether the "initial_variables_activity" field is set. | |
bool | AlsoBumpVariablesInConflictReasons [get, set] |
When this is true, then the variables that appear in any of the reason of the variables in a conflict have their activity bumped. This is addition to the variables in the conflict, and the one that were used during conflict resolution. | |
bool | HasAlsoBumpVariablesInConflictReasons [get] |
Gets whether the "also_bump_variables_in_conflict_reasons" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.ConflictMinimizationAlgorithm | MinimizationAlgorithm [get, set] |
bool | HasMinimizationAlgorithm [get] |
Gets whether the "minimization_algorithm" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.BinaryMinizationAlgorithm | BinaryMinimizationAlgorithm [get, set] |
bool | HasBinaryMinimizationAlgorithm [get] |
Gets whether the "binary_minimization_algorithm" field is set. | |
bool | SubsumptionDuringConflictAnalysis [get, set] |
At a really low cost, during the 1-UIP conflict computation, it is easy to detect if some of the involved reasons are subsumed by the current conflict. When this is true, such clauses are detached and later removed from the problem. | |
bool | HasSubsumptionDuringConflictAnalysis [get] |
Gets whether the "subsumption_during_conflict_analysis" field is set. | |
int | ClauseCleanupPeriod [get, set] |
Trigger a cleanup when this number of "deletable" clauses is learned. | |
bool | HasClauseCleanupPeriod [get] |
Gets whether the "clause_cleanup_period" field is set. | |
int | ClauseCleanupTarget [get, set] |
During a cleanup, we will always keep that number of "deletable" clauses. | |
bool | HasClauseCleanupTarget [get] |
Gets whether the "clause_cleanup_target" field is set. | |
double | ClauseCleanupRatio [get, set] |
During a cleanup, if clause_cleanup_target is 0, we will delete the clause_cleanup_ratio of "deletable" clauses instead of aiming for a fixed target of clauses to keep. | |
bool | HasClauseCleanupRatio [get] |
Gets whether the "clause_cleanup_ratio" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.ClauseProtection | ClauseCleanupProtection [get, set] |
bool | HasClauseCleanupProtection [get] |
Gets whether the "clause_cleanup_protection" field is set. | |
int | ClauseCleanupLbdBound [get, set] |
All the clauses with a LBD (literal blocks distance) lower or equal to this parameters will always be kept. | |
bool | HasClauseCleanupLbdBound [get] |
Gets whether the "clause_cleanup_lbd_bound" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.ClauseOrdering | ClauseCleanupOrdering [get, set] |
bool | HasClauseCleanupOrdering [get] |
Gets whether the "clause_cleanup_ordering" field is set. | |
int | PbCleanupIncrement [get, set] |
Same as for the clauses, but for the learned pseudo-Boolean constraints. | |
bool | HasPbCleanupIncrement [get] |
Gets whether the "pb_cleanup_increment" field is set. | |
double | PbCleanupRatio [get, set] |
bool | HasPbCleanupRatio [get] |
Gets whether the "pb_cleanup_ratio" field is set. | |
double | VariableActivityDecay [get, set] |
Each time a conflict is found, the activities of some variables are increased by one. Then, the activity of all variables are multiplied by variable_activity_decay. | |
bool | HasVariableActivityDecay [get] |
Gets whether the "variable_activity_decay" field is set. | |
double | MaxVariableActivityValue [get, set] |
bool | HasMaxVariableActivityValue [get] |
Gets whether the "max_variable_activity_value" field is set. | |
double | GlucoseMaxDecay [get, set] |
The activity starts at 0.8 and increment by 0.01 every 5000 conflicts until 0.95. This "hack" seems to work well and comes from: | |
bool | HasGlucoseMaxDecay [get] |
Gets whether the "glucose_max_decay" field is set. | |
double | GlucoseDecayIncrement [get, set] |
bool | HasGlucoseDecayIncrement [get] |
Gets whether the "glucose_decay_increment" field is set. | |
int | GlucoseDecayIncrementPeriod [get, set] |
bool | HasGlucoseDecayIncrementPeriod [get] |
Gets whether the "glucose_decay_increment_period" field is set. | |
double | ClauseActivityDecay [get, set] |
Clause activity parameters (same effect as the one on the variables). | |
bool | HasClauseActivityDecay [get] |
Gets whether the "clause_activity_decay" field is set. | |
double | MaxClauseActivityValue [get, set] |
bool | HasMaxClauseActivityValue [get] |
Gets whether the "max_clause_activity_value" field is set. | |
pbc::RepeatedField< global::Google.OrTools.Sat.SatParameters.Types.RestartAlgorithm > | RestartAlgorithms [get] |
The restart strategies will change each time the strategy_counter is increased. The current strategy will simply be the one at index strategy_counter modulo the number of strategy. Note that if this list includes a NO_RESTART, nothing will change when it is reached because the strategy_counter will only increment after a restart. | |
string | DefaultRestartAlgorithms [get, set] |
bool | HasDefaultRestartAlgorithms [get] |
Gets whether the "default_restart_algorithms" field is set. | |
int | RestartPeriod [get, set] |
Restart period for the FIXED_RESTART strategy. This is also the multiplier used by the LUBY_RESTART strategy. | |
bool | HasRestartPeriod [get] |
Gets whether the "restart_period" field is set. | |
int | RestartRunningWindowSize [get, set] |
Size of the window for the moving average restarts. | |
bool | HasRestartRunningWindowSize [get] |
Gets whether the "restart_running_window_size" field is set. | |
double | RestartDlAverageRatio [get, set] |
In the moving average restart algorithms, a restart is triggered if the window average times this ratio is greater that the global average. | |
bool | HasRestartDlAverageRatio [get] |
Gets whether the "restart_dl_average_ratio" field is set. | |
double | RestartLbdAverageRatio [get, set] |
bool | HasRestartLbdAverageRatio [get] |
Gets whether the "restart_lbd_average_ratio" field is set. | |
bool | UseBlockingRestart [get, set] |
Block a moving restart algorithm if the trail size of the current conflict is greater than the multiplier times the moving average of the trail size at the previous conflicts. | |
bool | HasUseBlockingRestart [get] |
Gets whether the "use_blocking_restart" field is set. | |
int | BlockingRestartWindowSize [get, set] |
bool | HasBlockingRestartWindowSize [get] |
Gets whether the "blocking_restart_window_size" field is set. | |
double | BlockingRestartMultiplier [get, set] |
bool | HasBlockingRestartMultiplier [get] |
Gets whether the "blocking_restart_multiplier" field is set. | |
int | NumConflictsBeforeStrategyChanges [get, set] |
After each restart, if the number of conflict since the last strategy change is greater that this, then we increment a "strategy_counter" that can be use to change the search strategy used by the following restarts. | |
bool | HasNumConflictsBeforeStrategyChanges [get] |
Gets whether the "num_conflicts_before_strategy_changes" field is set. | |
double | StrategyChangeIncreaseRatio [get, set] |
The parameter num_conflicts_before_strategy_changes is increased by that much after each strategy change. | |
bool | HasStrategyChangeIncreaseRatio [get] |
Gets whether the "strategy_change_increase_ratio" field is set. | |
double | MaxTimeInSeconds [get, set] |
Maximum time allowed in seconds to solve a problem. The counter will starts at the beginning of the Solve() call. | |
bool | HasMaxTimeInSeconds [get] |
Gets whether the "max_time_in_seconds" field is set. | |
double | MaxDeterministicTime [get, set] |
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 as close as possible to a second. | |
bool | HasMaxDeterministicTime [get] |
Gets whether the "max_deterministic_time" field is set. | |
int | MaxNumDeterministicBatches [get, set] |
Stops after that number of batches has been scheduled. This only make sense when interleave_search is true. | |
bool | HasMaxNumDeterministicBatches [get] |
Gets whether the "max_num_deterministic_batches" field is set. | |
long | MaxNumberOfConflicts [get, set] |
Maximum number of conflicts allowed to solve a problem. | |
bool | HasMaxNumberOfConflicts [get] |
Gets whether the "max_number_of_conflicts" field is set. | |
long | MaxMemoryInMb [get, set] |
Maximum memory allowed for the whole thread containing the solver. The solver will abort as soon as it detects that this limit is crossed. As a result, this limit is approximative, but usually the solver will not go too much over. | |
bool | HasMaxMemoryInMb [get] |
Gets whether the "max_memory_in_mb" field is set. | |
double | AbsoluteGapLimit [get, set] |
Stop the search when the gap between the best feasible objective (O) and our best objective bound (B) is smaller than a limit. The exact definition is: | |
bool | HasAbsoluteGapLimit [get] |
Gets whether the "absolute_gap_limit" field is set. | |
double | RelativeGapLimit [get, set] |
bool | HasRelativeGapLimit [get] |
Gets whether the "relative_gap_limit" field is set. | |
int | RandomSeed [get, set] |
At the beginning of each solve, the random number generator used in some part of the solver is reinitialized to this seed. If you change the random seed, the solver may make different choices during the solving process. | |
bool | HasRandomSeed [get] |
Gets whether the "random_seed" field is set. | |
bool | PermuteVariableRandomly [get, set] |
This is mainly here to test the solver variability. Note that in tests, if not explicitly set to false, all 3 options will be set to true so that clients do not rely on the solver returning a specific solution if they are many equivalent optimal solutions. | |
bool | HasPermuteVariableRandomly [get] |
Gets whether the "permute_variable_randomly" field is set. | |
bool | PermutePresolveConstraintOrder [get, set] |
bool | HasPermutePresolveConstraintOrder [get] |
Gets whether the "permute_presolve_constraint_order" field is set. | |
bool | UseAbslRandom [get, set] |
bool | HasUseAbslRandom [get] |
Gets whether the "use_absl_random" field is set. | |
bool | LogSearchProgress [get, set] |
Whether the solver should log the search progress. This is the maing logging parameter and if this is false, none of the logging (callbacks, log_to_stdout, log_to_response, ...) will do anything. | |
bool | HasLogSearchProgress [get] |
Gets whether the "log_search_progress" field is set. | |
bool | LogSubsolverStatistics [get, set] |
Whether the solver should display per sub-solver search statistics. This is only useful is log_search_progress is set to true, and if the number of search workers is > 1. Note that in all case we display a bit of stats with one line per subsolver. | |
bool | HasLogSubsolverStatistics [get] |
Gets whether the "log_subsolver_statistics" field is set. | |
string | LogPrefix [get, set] |
Add a prefix to all logs. | |
bool | HasLogPrefix [get] |
Gets whether the "log_prefix" field is set. | |
bool | LogToStdout [get, set] |
Log to stdout. | |
bool | HasLogToStdout [get] |
Gets whether the "log_to_stdout" field is set. | |
bool | LogToResponse [get, set] |
Log to response proto. | |
bool | HasLogToResponse [get] |
Gets whether the "log_to_response" field is set. | |
bool | UsePbResolution [get, set] |
Whether to use pseudo-Boolean resolution to analyze a conflict. Note that this option only make sense if your problem is modelized using pseudo-Boolean constraints. If you only have clauses, this shouldn't change anything (except slow the solver down). | |
bool | HasUsePbResolution [get] |
Gets whether the "use_pb_resolution" field is set. | |
bool | MinimizeReductionDuringPbResolution [get, set] |
A different algorithm during PB resolution. It minimizes the number of calls to ReduceCoefficients() which can be time consuming. However, the search space will be different and if the coefficients are large, this may lead to integer overflows that could otherwise be prevented. | |
bool | HasMinimizeReductionDuringPbResolution [get] |
Gets whether the "minimize_reduction_during_pb_resolution" field is set. | |
bool | CountAssumptionLevelsInLbd [get, set] |
Whether or not the assumption levels are taken into account during the LBD computation. According to the reference below, not counting them improves the solver in some situation. Note that this only impact solves under assumptions. | |
bool | HasCountAssumptionLevelsInLbd [get] |
Gets whether the "count_assumption_levels_in_lbd" field is set. | |
int | PresolveBveThreshold [get, set] |
During presolve, only try to perform the bounded variable elimination (BVE) of a variable x if the number of occurrences of x times the number of occurrences of not(x) is not greater than this parameter. | |
bool | HasPresolveBveThreshold [get] |
Gets whether the "presolve_bve_threshold" field is set. | |
int | PresolveBveClauseWeight [get, set] |
During presolve, we apply BVE only if this weight times the number of clauses plus the number of clause literals is not increased. | |
bool | HasPresolveBveClauseWeight [get] |
Gets whether the "presolve_bve_clause_weight" field is set. | |
double | ProbingDeterministicTimeLimit [get, set] |
The maximum "deterministic" time limit to spend in probing. A value of zero will disable the probing. | |
bool | HasProbingDeterministicTimeLimit [get] |
Gets whether the "probing_deterministic_time_limit" field is set. | |
double | PresolveProbingDeterministicTimeLimit [get, set] |
bool | HasPresolveProbingDeterministicTimeLimit [get] |
Gets whether the "presolve_probing_deterministic_time_limit" field is set. | |
bool | PresolveBlockedClause [get, set] |
Whether we use an heuristic to detect some basic case of blocked clause in the SAT presolve. | |
bool | HasPresolveBlockedClause [get] |
Gets whether the "presolve_blocked_clause" field is set. | |
bool | PresolveUseBva [get, set] |
Whether or not we use Bounded Variable Addition (BVA) in the presolve. | |
bool | HasPresolveUseBva [get] |
Gets whether the "presolve_use_bva" field is set. | |
int | PresolveBvaThreshold [get, set] |
Apply Bounded Variable Addition (BVA) if the number of clauses is reduced by stricly more than this threshold. The algorithm described in the paper uses 0, but quick experiments showed that 1 is a good value. It may not be worth it to add a new variable just to remove one clause. | |
bool | HasPresolveBvaThreshold [get] |
Gets whether the "presolve_bva_threshold" field is set. | |
int | MaxPresolveIterations [get, set] |
In case of large reduction in a presolve iteration, we perform multiple presolve iterations. This parameter controls the maximum number of such presolve iterations. | |
bool | HasMaxPresolveIterations [get] |
Gets whether the "max_presolve_iterations" field is set. | |
bool | CpModelPresolve [get, set] |
Whether we presolve the cp_model before solving it. | |
bool | HasCpModelPresolve [get] |
Gets whether the "cp_model_presolve" field is set. | |
int | CpModelProbingLevel [get, set] |
How much effort do we spend on probing. 0 disables it completely. | |
bool | HasCpModelProbingLevel [get] |
Gets whether the "cp_model_probing_level" field is set. | |
bool | CpModelUseSatPresolve [get, set] |
Whether we also use the sat presolve when cp_model_presolve is true. | |
bool | HasCpModelUseSatPresolve [get] |
Gets whether the "cp_model_use_sat_presolve" field is set. | |
bool | DetectTableWithCost [get, set] |
If true, we detect variable that are unique to a table constraint and only there to encode a cost on each tuple. This is usually the case when a WCSP (weighted constraint program) is encoded into CP-SAT format. | |
bool | HasDetectTableWithCost [get] |
Gets whether the "detect_table_with_cost" field is set. | |
int | TableCompressionLevel [get, set] |
How much we try to "compress" a table constraint. Compressing more leads to less Booleans and faster propagation but can reduced the quality of the lp relaxation. Values goes from 0 to 3 where we always try to fully compress a table. At 2, we try to automatically decide if it is worth it. | |
bool | HasTableCompressionLevel [get] |
Gets whether the "table_compression_level" field is set. | |
bool | ExpandAlldiffConstraints [get, set] |
If true, expand all_different constraints that are not permutations. Permutations (#Variables = #Values) are always expanded. | |
bool | HasExpandAlldiffConstraints [get] |
Gets whether the "expand_alldiff_constraints" field is set. | |
bool | ExpandReservoirConstraints [get, set] |
If true, expand the reservoir constraints by creating booleans for all possible precedences between event and encoding the constraint. | |
bool | HasExpandReservoirConstraints [get] |
Gets whether the "expand_reservoir_constraints" field is set. | |
bool | ExpandReservoirUsingCircuit [get, set] |
Mainly useful for testing. | |
bool | HasExpandReservoirUsingCircuit [get] |
Gets whether the "expand_reservoir_using_circuit" field is set. | |
bool | EncodeCumulativeAsReservoir [get, set] |
Encore cumulative with fixed demands and capacity as a reservoir constraint. The only reason you might want to do that is to test the reservoir propagation code! | |
bool | HasEncodeCumulativeAsReservoir [get] |
Gets whether the "encode_cumulative_as_reservoir" field is set. | |
int | MaxLinMaxSizeForExpansion [get, set] |
If the number of expressions in the lin_max is less that the max size parameter, model expansion replaces target = max(xi) by linear constraint with the introduction of new booleans bi such that bi => target == xi. | |
bool | HasMaxLinMaxSizeForExpansion [get] |
Gets whether the "max_lin_max_size_for_expansion" field is set. | |
bool | DisableConstraintExpansion [get, set] |
If true, it disable all constraint expansion. This should only be used to test the presolve of expanded constraints. | |
bool | HasDisableConstraintExpansion [get] |
Gets whether the "disable_constraint_expansion" field is set. | |
bool | EncodeComplexLinearConstraintWithInteger [get, set] |
Linear constraint with a complex right hand side (more than a single interval) need to be expanded, there is a couple of way to do that. | |
bool | HasEncodeComplexLinearConstraintWithInteger [get] |
Gets whether the "encode_complex_linear_constraint_with_integer" field is set. | |
double | MergeNoOverlapWorkLimit [get, set] |
During presolve, we use a maximum clique heuristic to merge together no-overlap constraints or at most one constraints. This code can be slow, so we have a limit in place on the number of explored nodes in the underlying graph. The internal limit is an int64, but we use double here to simplify manual input. | |
bool | HasMergeNoOverlapWorkLimit [get] |
Gets whether the "merge_no_overlap_work_limit" field is set. | |
double | MergeAtMostOneWorkLimit [get, set] |
bool | HasMergeAtMostOneWorkLimit [get] |
Gets whether the "merge_at_most_one_work_limit" field is set. | |
int | PresolveSubstitutionLevel [get, set] |
How much substitution (also called free variable aggregation in MIP litterature) should we perform at presolve. This currently only concerns variable appearing only in linear constraints. For now the value 0 turns it off and any positive value performs substitution. | |
bool | HasPresolveSubstitutionLevel [get] |
Gets whether the "presolve_substitution_level" field is set. | |
bool | PresolveExtractIntegerEnforcement [get, set] |
If true, we will extract from linear constraints, enforcement literals of the form "integer variable at bound => simplified constraint". This should always be beneficial except that we don't always handle them as efficiently as we could for now. This causes problem on manna81.mps (LP relaxation not as tight it seems) and on neos-3354841-apure.mps.gz (too many literals created this way). | |
bool | HasPresolveExtractIntegerEnforcement [get] |
Gets whether the "presolve_extract_integer_enforcement" field is set. | |
long | PresolveInclusionWorkLimit [get, set] |
A few presolve operations involve detecting constraints included in other constraint. Since there can be a quadratic number of such pairs, and processing them usually involve scanning them, the complexity of these operations can be big. This enforce a local deterministic limit on the number of entries scanned. Default is 1e8. | |
bool | HasPresolveInclusionWorkLimit [get] |
Gets whether the "presolve_inclusion_work_limit" field is set. | |
bool | IgnoreNames [get, set] |
If true, we don't keep names in our internal copy of the user given model. | |
bool | HasIgnoreNames [get] |
Gets whether the "ignore_names" field is set. | |
bool | InferAllDiffs [get, set] |
Run a max-clique code amongst all the x != y we can find and try to infer set of variables that are all different. This allows to close neos16.mps for instance. Note that we only run this code if there is no all_diff already in the model so that if a user want to add some all_diff, we assume it is well done and do not try to add more. | |
bool | HasInferAllDiffs [get] |
Gets whether the "infer_all_diffs" field is set. | |
bool | FindBigLinearOverlap [get, set] |
Try to find large "rectangle" in the linear constraint matrix with identical lines. If such rectangle is big enough, we can introduce a new integer variable corresponding to the common expression and greatly reduce the number of non-zero. | |
bool | HasFindBigLinearOverlap [get] |
Gets whether the "find_big_linear_overlap" field is set. | |
bool | UseSatInprocessing [get, set] |
Enable or disable "inprocessing" which is some SAT presolving done at each restart to the root level. | |
bool | HasUseSatInprocessing [get] |
Gets whether the "use_sat_inprocessing" field is set. | |
double | InprocessingDtimeRatio [get, set] |
Proportion of deterministic time we should spend on inprocessing. At each "restart", if the proportion is below this ratio, we will do some inprocessing, otherwise, we skip it for this restart. | |
bool | HasInprocessingDtimeRatio [get] |
Gets whether the "inprocessing_dtime_ratio" field is set. | |
double | InprocessingProbingDtime [get, set] |
The amount of dtime we should spend on probing for each inprocessing round. | |
bool | HasInprocessingProbingDtime [get] |
Gets whether the "inprocessing_probing_dtime" field is set. | |
double | InprocessingMinimizationDtime [get, set] |
Parameters for an heuristic similar to the one described in "An effective
learnt clause minimization approach for CDCL Sat Solvers", https://www.ijcai.org/proceedings/2017/0098.pdf. | |
bool | HasInprocessingMinimizationDtime [get] |
Gets whether the "inprocessing_minimization_dtime" field is set. | |
int | NumWorkers [get, set] |
Specify the number of parallel workers (i.e. threads) to use during search. This should usually be lower than your number of available cpus + hyperthread in your machine. | |
bool | HasNumWorkers [get] |
Gets whether the "num_workers" field is set. | |
int | NumSearchWorkers [get, set] |
bool | HasNumSearchWorkers [get] |
Gets whether the "num_search_workers" field is set. | |
int | NumFullSubsolvers [get, set] |
We distinguish subsolvers that consume a full thread, and the ones that are always interleaved. If left at zero, we will fix this with a default formula that depends on num_workers. But if you start modifying what runs, you might want to fix that to a given value depending on the num_workers you use. | |
bool | HasNumFullSubsolvers [get] |
Gets whether the "num_full_subsolvers" field is set. | |
pbc::RepeatedField< string > | Subsolvers [get] |
In multi-thread, the solver can be mainly seen as a portfolio of solvers with different parameters. This field indicates the names of the parameters that are used in multithread. This only applies to "full" subsolvers. | |
pbc::RepeatedField< string > | ExtraSubsolvers [get] |
A convenient way to add more workers types. These will be added at the beginning of the list. | |
pbc::RepeatedField< string > | IgnoreSubsolvers [get] |
Rather than fully specifying subsolvers, it is often convenient to just remove the ones that are not useful on a given problem or only keep specific ones for testing. Each string is interpreted as a "glob", so we support '*' and '?'. | |
pbc::RepeatedField< string > | FilterSubsolvers [get] |
pbc::RepeatedField< global::Google.OrTools.Sat.SatParameters > | SubsolverParams [get] |
It is possible to specify additional subsolver configuration. These can be referred by their params.name() in the fields above. Note that only the specified field will "overwrite" the ones of the base parameter. If a subsolver_params has the name of an existing subsolver configuration, the named parameters will be merged into the subsolver configuration. | |
bool | InterleaveSearch [get, set] |
Experimental. If this is true, then we interleave all our major search strategy and distribute the work amongst num_workers. | |
bool | HasInterleaveSearch [get] |
Gets whether the "interleave_search" field is set. | |
int | InterleaveBatchSize [get, set] |
bool | HasInterleaveBatchSize [get] |
Gets whether the "interleave_batch_size" field is set. | |
bool | ShareObjectiveBounds [get, set] |
Allows objective sharing between workers. | |
bool | HasShareObjectiveBounds [get] |
Gets whether the "share_objective_bounds" field is set. | |
bool | ShareLevelZeroBounds [get, set] |
Allows sharing of the bounds of modified variables at level 0. | |
bool | HasShareLevelZeroBounds [get] |
Gets whether the "share_level_zero_bounds" field is set. | |
bool | ShareBinaryClauses [get, set] |
Allows sharing of new learned binary clause between workers. | |
bool | HasShareBinaryClauses [get] |
Gets whether the "share_binary_clauses" field is set. | |
bool | ShareGlueClauses [get, set] |
Allows sharing of short glue clauses between workers. Implicitly disabled if share_binary_clauses is false. | |
bool | HasShareGlueClauses [get] |
Gets whether the "share_glue_clauses" field is set. | |
bool | DebugPostsolveWithFullSolver [get, set] |
We have two different postsolve code. The default one should be better and it allows for a more powerful presolve, but it can be useful to postsolve using the full solver instead. | |
bool | HasDebugPostsolveWithFullSolver [get] |
Gets whether the "debug_postsolve_with_full_solver" field is set. | |
int | DebugMaxNumPresolveOperations [get, set] |
If positive, try to stop just after that many presolve rules have been applied. This is mainly useful for debugging presolve. | |
bool | HasDebugMaxNumPresolveOperations [get] |
Gets whether the "debug_max_num_presolve_operations" field is set. | |
bool | DebugCrashOnBadHint [get, set] |
Crash if we do not manage to complete the hint into a full solution. | |
bool | HasDebugCrashOnBadHint [get] |
Gets whether the "debug_crash_on_bad_hint" field is set. | |
bool | UseOptimizationHints [get, set] |
For an optimization problem, whether we follow some hints in order to find a better first solution. For a variable with hint, the solver will always try to follow the hint. It will revert to the variable_branching default otherwise. | |
bool | HasUseOptimizationHints [get] |
Gets whether the "use_optimization_hints" field is set. | |
int | CoreMinimizationLevel [get, set] |
If positive, we spend some effort on each core: | |
bool | HasCoreMinimizationLevel [get] |
Gets whether the "core_minimization_level" field is set. | |
bool | FindMultipleCores [get, set] |
Whether we try to find more independent cores for a given set of assumptions in the core based max-SAT algorithms. | |
bool | HasFindMultipleCores [get] |
Gets whether the "find_multiple_cores" field is set. | |
bool | CoverOptimization [get, set] |
If true, when the max-sat algo find a core, we compute the minimal number of literals in the core that needs to be true to have a feasible solution. This is also called core exhaustion in more recent max-SAT papers. | |
bool | HasCoverOptimization [get] |
Gets whether the "cover_optimization" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.MaxSatAssumptionOrder | MaxSatAssumptionOrder [get, set] |
bool | HasMaxSatAssumptionOrder [get] |
Gets whether the "max_sat_assumption_order" field is set. | |
bool | MaxSatReverseAssumptionOrder [get, set] |
If true, adds the assumption in the reverse order of the one defined by max_sat_assumption_order. | |
bool | HasMaxSatReverseAssumptionOrder [get] |
Gets whether the "max_sat_reverse_assumption_order" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.MaxSatStratificationAlgorithm | MaxSatStratification [get, set] |
bool | HasMaxSatStratification [get] |
Gets whether the "max_sat_stratification" field is set. | |
double | PropagationLoopDetectionFactor [get, set] |
Some search decisions might cause a really large number of propagations to happen when integer variables with large domains are only reduced by 1 at each step. If we propagate more than the number of variable times this parameters we try to take counter-measure. Setting this to 0.0 disable this feature. | |
bool | HasPropagationLoopDetectionFactor [get] |
Gets whether the "propagation_loop_detection_factor" field is set. | |
bool | UsePrecedencesInDisjunctiveConstraint [get, set] |
When this is true, then a disjunctive constraint will try to use the precedence relations between time intervals to propagate their bounds further. For instance if task A and B are both before C and task A and B are in disjunction, then we can deduce that task C must start after duration(A) + duration(B) instead of simply max(duration(A), duration(B)), provided that the start time for all task was currently zero. | |
bool | HasUsePrecedencesInDisjunctiveConstraint [get] |
Gets whether the "use_precedences_in_disjunctive_constraint" field is set. | |
int | MaxSizeToCreatePrecedenceLiteralsInDisjunctive [get, set] |
Create one literal for each disjunction of two pairs of tasks. This slows down the solve time, but improves the lower bound of the objective in the makespan case. This will be triggered if the number of intervals is less or equal than the parameter and if use_strong_propagation_in_disjunctive is true. | |
bool | HasMaxSizeToCreatePrecedenceLiteralsInDisjunctive [get] |
Gets whether the "max_size_to_create_precedence_literals_in_disjunctive" field is set. | |
bool | UseStrongPropagationInDisjunctive [get, set] |
Enable stronger and more expensive propagation on no_overlap constraint. | |
bool | HasUseStrongPropagationInDisjunctive [get] |
Gets whether the "use_strong_propagation_in_disjunctive" field is set. | |
bool | UseDynamicPrecedenceInDisjunctive [get, set] |
Whether we try to branch on decision "interval A before interval B" rather than on intervals bounds. This usually works better, but slow down a bit the time to find the first solution. | |
bool | HasUseDynamicPrecedenceInDisjunctive [get] |
Gets whether the "use_dynamic_precedence_in_disjunctive" field is set. | |
bool | UseDynamicPrecedenceInCumulative [get, set] |
bool | HasUseDynamicPrecedenceInCumulative [get] |
Gets whether the "use_dynamic_precedence_in_cumulative" field is set. | |
bool | UseOverloadCheckerInCumulative [get, set] |
When this is true, the cumulative constraint is reinforced with overload checking, i.e., an additional level of reasoning based on energy. This additional level supplements the default level of reasoning as well as timetable edge finding. | |
bool | HasUseOverloadCheckerInCumulative [get] |
Gets whether the "use_overload_checker_in_cumulative" field is set. | |
bool | UseConservativeScaleOverloadChecker [get, set] |
Enable a heuristic to solve cumulative constraints using a modified energy constraint. We modify the usual energy definition by applying a super-additive function (also called "conservative scale" or "dual-feasible
function") to the demand and the durations of the tasks. | |
bool | HasUseConservativeScaleOverloadChecker [get] |
Gets whether the "use_conservative_scale_overload_checker" field is set. | |
bool | UseTimetableEdgeFindingInCumulative [get, set] |
When this is true, the cumulative constraint is reinforced with timetable edge finding, i.e., an additional level of reasoning based on the conjunction of energy and mandatory parts. This additional level supplements the default level of reasoning as well as overload_checker. | |
bool | HasUseTimetableEdgeFindingInCumulative [get] |
Gets whether the "use_timetable_edge_finding_in_cumulative" field is set. | |
int | MaxNumIntervalsForTimetableEdgeFinding [get, set] |
Max number of intervals for the timetable_edge_finding algorithm to propagate. A value of 0 disables the constraint. | |
bool | HasMaxNumIntervalsForTimetableEdgeFinding [get] |
Gets whether the "max_num_intervals_for_timetable_edge_finding" field is set. | |
bool | UseHardPrecedencesInCumulative [get, set] |
If true, detect and create constraint for integer variable that are "after" a set of intervals in the same cumulative constraint. | |
bool | HasUseHardPrecedencesInCumulative [get] |
Gets whether the "use_hard_precedences_in_cumulative" field is set. | |
bool | ExploitAllPrecedences [get, set] |
bool | HasExploitAllPrecedences [get] |
Gets whether the "exploit_all_precedences" field is set. | |
bool | UseDisjunctiveConstraintInCumulative [get, set] |
When this is true, the cumulative constraint is reinforced with propagators from the disjunctive constraint to improve the inference on a set of tasks that are disjunctive at the root of the problem. This additional level supplements the default level of reasoning. | |
bool | HasUseDisjunctiveConstraintInCumulative [get] |
Gets whether the "use_disjunctive_constraint_in_cumulative" field is set. | |
bool | UseTimetablingInNoOverlap2D [get, set] |
When this is true, the no_overlap_2d constraint is reinforced with propagators from the cumulative constraints. It consists of ignoring the position of rectangles in one position and projecting the no_overlap_2d on the other dimension to create a cumulative constraint. This is done on both axis. This additional level supplements the default level of reasoning. | |
bool | HasUseTimetablingInNoOverlap2D [get] |
Gets whether the "use_timetabling_in_no_overlap_2d" field is set. | |
bool | UseEnergeticReasoningInNoOverlap2D [get, set] |
When this is true, the no_overlap_2d constraint is reinforced with energetic reasoning. This additional level supplements the default level of reasoning. | |
bool | HasUseEnergeticReasoningInNoOverlap2D [get] |
Gets whether the "use_energetic_reasoning_in_no_overlap_2d" field is set. | |
bool | UseAreaEnergeticReasoningInNoOverlap2D [get, set] |
When this is true, the no_overlap_2d constraint is reinforced with an energetic reasoning that uses an area-based energy. This can be combined with the two other overlap heuristics above. | |
bool | HasUseAreaEnergeticReasoningInNoOverlap2D [get] |
Gets whether the "use_area_energetic_reasoning_in_no_overlap_2d" field is set. | |
int | MaxPairsPairwiseReasoningInNoOverlap2D [get, set] |
If the number of pairs to look is below this threshold, do an extra step of propagation in the no_overlap_2d constraint by looking at all pairs of intervals. | |
bool | HasMaxPairsPairwiseReasoningInNoOverlap2D [get] |
Gets whether the "max_pairs_pairwise_reasoning_in_no_overlap_2d" field is set. | |
bool | UseDualSchedulingHeuristics [get, set] |
When set, it activates a few scheduling parameters to improve the lower bound of scheduling problems. This is only effective with multiple workers as it modifies the reduced_cost, lb_tree_search, and probing workers. | |
bool | HasUseDualSchedulingHeuristics [get] |
Gets whether the "use_dual_scheduling_heuristics" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.SearchBranching | SearchBranching [get, set] |
bool | HasSearchBranching [get] |
Gets whether the "search_branching" field is set. | |
int | HintConflictLimit [get, set] |
Conflict limit used in the phase that exploit the solution hint. | |
bool | HasHintConflictLimit [get] |
Gets whether the "hint_conflict_limit" field is set. | |
bool | RepairHint [get, set] |
If true, the solver tries to repair the solution given in the hint. This search terminates after the 'hint_conflict_limit' is reached and the solver switches to regular search. If false, then we do a FIXED_SEARCH using the hint until the hint_conflict_limit is reached. | |
bool | HasRepairHint [get] |
Gets whether the "repair_hint" field is set. | |
bool | FixVariablesToTheirHintedValue [get, set] |
If true, variables appearing in the solution hints will be fixed to their hinted value. | |
bool | HasFixVariablesToTheirHintedValue [get] |
Gets whether the "fix_variables_to_their_hinted_value" field is set. | |
bool | UseProbingSearch [get, set] |
If true, search will continuously probe Boolean variables, and integer variable bounds. This parameter is set to true in parallel on the probing worker. | |
bool | HasUseProbingSearch [get] |
Gets whether the "use_probing_search" field is set. | |
bool | UseExtendedProbing [get, set] |
Use extended probing (probe bool_or, at_most_one, exactly_one). | |
bool | HasUseExtendedProbing [get] |
Gets whether the "use_extended_probing" field is set. | |
int | ProbingNumCombinationsLimit [get, set] |
How many combinations of pairs or triplets of variables we want to scan. | |
bool | HasProbingNumCombinationsLimit [get] |
Gets whether the "probing_num_combinations_limit" field is set. | |
bool | UseShavingInProbingSearch [get, set] |
Add a shaving phase (where the solver tries to prove that the lower or upper bound of a variable are infeasible) to the probing search. | |
bool | HasUseShavingInProbingSearch [get] |
Gets whether the "use_shaving_in_probing_search" field is set. | |
double | ShavingSearchDeterministicTime [get, set] |
Specifies the amount of deterministic time spent of each try at shaving a bound in the shaving search. | |
bool | HasShavingSearchDeterministicTime [get] |
Gets whether the "shaving_search_deterministic_time" field is set. | |
long | ShavingSearchThreshold [get, set] |
Specifies the threshold between two modes in the shaving procedure. If the range of the variable/objective is less than this threshold, then the shaving procedure will try to remove values one by one. Otherwise, it will try to remove one range at a time. | |
bool | HasShavingSearchThreshold [get] |
Gets whether the "shaving_search_threshold" field is set. | |
bool | UseObjectiveLbSearch [get, set] |
If true, search will search in ascending max objective value (when minimizing) starting from the lower bound of the objective. | |
bool | HasUseObjectiveLbSearch [get] |
Gets whether the "use_objective_lb_search" field is set. | |
bool | UseObjectiveShavingSearch [get, set] |
This search differs from the previous search as it will not use assumptions to bound the objective, and it will recreate a full model with the hardcoded objective value. | |
bool | HasUseObjectiveShavingSearch [get] |
Gets whether the "use_objective_shaving_search" field is set. | |
bool | UseVariablesShavingSearch [get, set] |
This search takes all Boolean or integer variables, and maximize or minimize them in order to reduce their domain. | |
bool | HasUseVariablesShavingSearch [get] |
Gets whether the "use_variables_shaving_search" field is set. | |
long | PseudoCostReliabilityThreshold [get, set] |
The solver ignores the pseudo costs of variables with number of recordings less than this threshold. | |
bool | HasPseudoCostReliabilityThreshold [get] |
Gets whether the "pseudo_cost_reliability_threshold" field is set. | |
bool | OptimizeWithCore [get, set] |
The default optimization method is a simple "linear scan", each time trying to find a better solution than the previous one. If this is true, then we use a core-based approach (like in max-SAT) when we try to increase the lower bound instead. | |
bool | HasOptimizeWithCore [get] |
Gets whether the "optimize_with_core" field is set. | |
bool | OptimizeWithLbTreeSearch [get, set] |
Do a more conventional tree search (by opposition to SAT based one) where we keep all the explored node in a tree. This is meant to be used in a portfolio and focus on improving the objective lower bound. Keeping the whole tree allow us to report a better objective lower bound coming from the worst open node in the tree. | |
bool | HasOptimizeWithLbTreeSearch [get] |
Gets whether the "optimize_with_lb_tree_search" field is set. | |
bool | SaveLpBasisInLbTreeSearch [get, set] |
Experimental. Save the current LP basis at each node of the search tree so that when we jump around, we can load it and reduce the number of LP iterations needed. | |
bool | HasSaveLpBasisInLbTreeSearch [get] |
Gets whether the "save_lp_basis_in_lb_tree_search" field is set. | |
int | BinarySearchNumConflicts [get, set] |
If non-negative, perform a binary search on the objective variable in order to find an [min, max] interval outside of which the solver proved unsat/sat under this amount of conflict. This can quickly reduce the objective domain on some problems. | |
bool | HasBinarySearchNumConflicts [get] |
Gets whether the "binary_search_num_conflicts" field is set. | |
bool | OptimizeWithMaxHs [get, set] |
This has no effect if optimize_with_core is false. If true, use a different core-based algorithm similar to the max-HS algo for max-SAT. This is a hybrid MIP/CP approach and it uses a MIP solver in addition to the CP/SAT one. This is also related to the PhD work of tobyodavies@ "Automatic Logic-Based Benders Decomposition with MiniZinc" http://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14489. | |
bool | HasOptimizeWithMaxHs [get] |
Gets whether the "optimize_with_max_hs" field is set. | |
bool | UseFeasibilityJump [get, set] |
Parameters for an heuristic similar to the one described in the paper: "Feasibility Jump: an LP-free Lagrangian MIP heuristic", Bjørnar Luteberget, Giorgio Sartor, 2023, Mathematical Programming Computation. | |
bool | HasUseFeasibilityJump [get] |
Gets whether the "use_feasibility_jump" field is set. | |
bool | UseLsOnly [get, set] |
Disable every other type of subsolver, setting this turns CP-SAT into a pure local-search solver. | |
bool | HasUseLsOnly [get] |
Gets whether the "use_ls_only" field is set. | |
double | FeasibilityJumpDecay [get, set] |
On each restart, we randomly choose if we use decay (with this parameter) or no decay. | |
bool | HasFeasibilityJumpDecay [get] |
Gets whether the "feasibility_jump_decay" field is set. | |
int | FeasibilityJumpLinearizationLevel [get, set] |
How much do we linearize the problem in the local search code. | |
bool | HasFeasibilityJumpLinearizationLevel [get] |
Gets whether the "feasibility_jump_linearization_level" field is set. | |
int | FeasibilityJumpRestartFactor [get, set] |
This is a factor that directly influence the work before each restart. Increasing it leads to longer restart. | |
bool | HasFeasibilityJumpRestartFactor [get] |
Gets whether the "feasibility_jump_restart_factor" field is set. | |
double | FeasibilityJumpBatchDtime [get, set] |
How much dtime for each LS batch. | |
bool | HasFeasibilityJumpBatchDtime [get] |
Gets whether the "feasibility_jump_batch_dtime" field is set. | |
double | FeasibilityJumpVarRandomizationProbability [get, set] |
Probability for a variable to have a non default value upon restarts or perturbations. | |
bool | HasFeasibilityJumpVarRandomizationProbability [get] |
Gets whether the "feasibility_jump_var_randomization_probability" field is set. | |
double | FeasibilityJumpVarPerburbationRangeRatio [get, set] |
Max distance between the default value and the pertubated value relative to the range of the domain of the variable. | |
bool | HasFeasibilityJumpVarPerburbationRangeRatio [get] |
Gets whether the "feasibility_jump_var_perburbation_range_ratio" field is set. | |
bool | FeasibilityJumpEnableRestarts [get, set] |
When stagnating, feasibility jump will either restart from a default solution (with some possible randomization), or randomly pertubate the current solution. This parameter selects the first option. | |
bool | HasFeasibilityJumpEnableRestarts [get] |
Gets whether the "feasibility_jump_enable_restarts" field is set. | |
int | FeasibilityJumpMaxExpandedConstraintSize [get, set] |
Maximum size of no_overlap or no_overlap_2d constraint for a quadratic expansion. This might look a lot, but by expanding such constraint, we get a linear time evaluation per single variable moves instead of a slow O(n
log n) one. | |
bool | HasFeasibilityJumpMaxExpandedConstraintSize [get] |
Gets whether the "feasibility_jump_max_expanded_constraint_size" field is set. | |
int | NumViolationLs [get, set] |
This will create incomplete subsolvers (that are not LNS subsolvers) that use the feasibility jump code to find improving solution, treating the objective improvement as a hard constraint. | |
bool | HasNumViolationLs [get] |
Gets whether the "num_violation_ls" field is set. | |
int | ViolationLsPerturbationPeriod [get, set] |
How long violation_ls should wait before perturbating a solution. | |
bool | HasViolationLsPerturbationPeriod [get] |
Gets whether the "violation_ls_perturbation_period" field is set. | |
double | ViolationLsCompoundMoveProbability [get, set] |
Probability of using compound move search each restart. | |
bool | HasViolationLsCompoundMoveProbability [get] |
Gets whether the "violation_ls_compound_move_probability" field is set. | |
int | SharedTreeNumWorkers [get, set] |
Enables experimental workstealing-like shared tree search. If non-zero, start this many complete worker threads to explore a shared search tree. These workers communicate objective bounds and simple decision nogoods relating to the shared prefix of the tree, and will avoid exploring the same subtrees as one another. | |
bool | HasSharedTreeNumWorkers [get] |
Gets whether the "shared_tree_num_workers" field is set. | |
bool | UseSharedTreeSearch [get, set] |
Set on shared subtree workers. Users should not set this directly. | |
bool | HasUseSharedTreeSearch [get] |
Gets whether the "use_shared_tree_search" field is set. | |
double | SharedTreeWorkerObjectiveSplitProbability [get, set] |
After their assigned prefix, shared tree workers will branch on the objective with this probability. Higher numbers cause the shared tree search to focus on improving the lower bound over finding primal solutions. | |
bool | HasSharedTreeWorkerObjectiveSplitProbability [get] |
Gets whether the "shared_tree_worker_objective_split_probability" field is set. | |
int | SharedTreeWorkerMinRestartsPerSubtree [get, set] |
Minimum number of restarts before a worker will replace a subtree that looks "bad" based on the average LBD of learned clauses. | |
bool | HasSharedTreeWorkerMinRestartsPerSubtree [get] |
Gets whether the "shared_tree_worker_min_restarts_per_subtree" field is set. | |
bool | SharedTreeWorkerEnableTrailSharing [get, set] |
If true, workers share more of the information from their local trail. Specifically, literals implied by the shared tree decisions and the longest conflict-free assignment from the last restart (to enable cross-worker phase-saving). | |
bool | HasSharedTreeWorkerEnableTrailSharing [get] |
Gets whether the "shared_tree_worker_enable_trail_sharing" field is set. | |
double | SharedTreeOpenLeavesPerWorker [get, set] |
How many open leaf nodes should the shared tree maintain per worker. | |
bool | HasSharedTreeOpenLeavesPerWorker [get] |
Gets whether the "shared_tree_open_leaves_per_worker" field is set. | |
int | SharedTreeMaxNodesPerWorker [get, set] |
In order to limit total shared memory and communication overhead, limit the total number of nodes that may be generated in the shared tree. If the shared tree runs out of unassigned leaves, workers act as portfolio workers. Note: this limit includes interior nodes, not just leaves. | |
bool | HasSharedTreeMaxNodesPerWorker [get] |
Gets whether the "shared_tree_max_nodes_per_worker" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.SharedTreeSplitStrategy | SharedTreeSplitStrategy [get, set] |
bool | HasSharedTreeSplitStrategy [get] |
Gets whether the "shared_tree_split_strategy" field is set. | |
bool | EnumerateAllSolutions [get, set] |
Whether we enumerate all solutions of a problem without objective. Note that setting this to true automatically disable some presolve reduction that can remove feasible solution. That is it has the same effect as setting keep_all_feasible_solutions_in_presolve. | |
bool | HasEnumerateAllSolutions [get] |
Gets whether the "enumerate_all_solutions" field is set. | |
bool | KeepAllFeasibleSolutionsInPresolve [get, set] |
If true, we disable the presolve reductions that remove feasible solutions from the search space. Such solution are usually dominated by a "better" solution that is kept, but depending on the situation, we might want to keep all solutions. | |
bool | HasKeepAllFeasibleSolutionsInPresolve [get] |
Gets whether the "keep_all_feasible_solutions_in_presolve" field is set. | |
bool | FillTightenedDomainsInResponse [get, set] |
If true, add information about the derived variable domains to the CpSolverResponse. It is an option because it makes the response slighly bigger and there is a bit more work involved during the postsolve to construct it, but it should still have a low overhead. See the tightened_variables field in CpSolverResponse for more details. | |
bool | HasFillTightenedDomainsInResponse [get] |
Gets whether the "fill_tightened_domains_in_response" field is set. | |
bool | FillAdditionalSolutionsInResponse [get, set] |
If true, the final response addition_solutions field will be filled with all solutions from our solutions pool. | |
bool | HasFillAdditionalSolutionsInResponse [get] |
Gets whether the "fill_additional_solutions_in_response" field is set. | |
bool | InstantiateAllVariables [get, set] |
If true, the solver will add a default integer branching strategy to the already defined search strategy. If not, some variable might still not be fixed at the end of the search. For now we assume these variable can just be set to their lower bound. | |
bool | HasInstantiateAllVariables [get] |
Gets whether the "instantiate_all_variables" field is set. | |
bool | AutoDetectGreaterThanAtLeastOneOf [get, set] |
If true, then the precedences propagator try to detect for each variable if it has a set of "optional incoming arc" for which at least one of them is present. This is usually useful to have but can be slow on model with a lot of precedence. | |
bool | HasAutoDetectGreaterThanAtLeastOneOf [get] |
Gets whether the "auto_detect_greater_than_at_least_one_of" field is set. | |
bool | StopAfterFirstSolution [get, set] |
For an optimization problem, stop the solver as soon as we have a solution. | |
bool | HasStopAfterFirstSolution [get] |
Gets whether the "stop_after_first_solution" field is set. | |
bool | StopAfterPresolve [get, set] |
Mainly used when improving the presolver. When true, stops the solver after the presolve is complete (or after loading and root level propagation). | |
bool | HasStopAfterPresolve [get] |
Gets whether the "stop_after_presolve" field is set. | |
bool | StopAfterRootPropagation [get, set] |
bool | HasStopAfterRootPropagation [get] |
Gets whether the "stop_after_root_propagation" field is set. | |
bool | UseLns [get, set] |
Testing parameters used to disable all lns workers. | |
bool | HasUseLns [get] |
Gets whether the "use_lns" field is set. | |
bool | UseLnsOnly [get, set] |
Experimental parameters to disable everything but lns. | |
bool | HasUseLnsOnly [get] |
Gets whether the "use_lns_only" field is set. | |
int | SolutionPoolSize [get, set] |
Size of the top-n different solutions kept by the solver. This parameter must be > 0. Currently this only impact the "base" solution chosen for a LNS fragment. | |
bool | HasSolutionPoolSize [get] |
Gets whether the "solution_pool_size" field is set. | |
bool | UseRinsLns [get, set] |
Turns on relaxation induced neighborhood generator. | |
bool | HasUseRinsLns [get] |
Gets whether the "use_rins_lns" field is set. | |
bool | UseFeasibilityPump [get, set] |
Adds a feasibility pump subsolver along with lns subsolvers. | |
bool | HasUseFeasibilityPump [get] |
Gets whether the "use_feasibility_pump" field is set. | |
bool | UseLbRelaxLns [get, set] |
Turns on neighborhood generator based on local branching LP. Based on Huang et al., "Local Branching Relaxation Heuristics for Integer Linear
Programs", 2023. | |
bool | HasUseLbRelaxLns [get] |
Gets whether the "use_lb_relax_lns" field is set. | |
global::Google.OrTools.Sat.SatParameters.Types.FPRoundingMethod | FpRounding [get, set] |
bool | HasFpRounding [get] |
Gets whether the "fp_rounding" field is set. | |
bool | DiversifyLnsParams [get, set] |
If true, registers more lns subsolvers with different parameters. | |
bool | HasDiversifyLnsParams [get] |
Gets whether the "diversify_lns_params" field is set. | |
bool | RandomizeSearch [get, set] |
Randomize fixed search. | |
bool | HasRandomizeSearch [get] |
Gets whether the "randomize_search" field is set. | |
long | SearchRandomVariablePoolSize [get, set] |
Search randomization will collect the top 'search_random_variable_pool_size' valued variables, and pick one randomly. The value of the variable is specific to each strategy. | |
bool | HasSearchRandomVariablePoolSize [get] |
Gets whether the "search_random_variable_pool_size" field is set. | |
bool | PushAllTasksTowardStart [get, set] |
Experimental code: specify if the objective pushes all tasks toward the start of the schedule. | |
bool | HasPushAllTasksTowardStart [get] |
Gets whether the "push_all_tasks_toward_start" field is set. | |
bool | UseOptionalVariables [get, set] |
If true, we automatically detect variables whose constraint are always enforced by the same literal and we mark them as optional. This allows to propagate them as if they were present in some situation. | |
bool | HasUseOptionalVariables [get] |
Gets whether the "use_optional_variables" field is set. | |
bool | UseExactLpReason [get, set] |
The solver usually exploit the LP relaxation of a model. If this option is true, then whatever is infered by the LP will be used like an heuristic to compute EXACT propagation on the IP. So with this option, there is no numerical imprecision issues. | |
bool | HasUseExactLpReason [get] |
Gets whether the "use_exact_lp_reason" field is set. | |
bool | UseCombinedNoOverlap [get, set] |
This can be beneficial if there is a lot of no-overlap constraints but a relatively low number of different intervals in the problem. Like 1000 intervals, but 1M intervals in the no-overlap constraints covering them. | |
bool | HasUseCombinedNoOverlap [get] |
Gets whether the "use_combined_no_overlap" field is set. | |
int | AtMostOneMaxExpansionSize [get, set] |
All at_most_one constraints with a size <= param will be replaced by a quadratic number of binary implications. | |
bool | HasAtMostOneMaxExpansionSize [get] |
Gets whether the "at_most_one_max_expansion_size" field is set. | |
bool | CatchSigintSignal [get, set] |
Indicates if the CP-SAT layer should catch Control-C (SIGINT) signals when calling solve. If set, catching the SIGINT signal will terminate the search gracefully, as if a time limit was reached. | |
bool | HasCatchSigintSignal [get] |
Gets whether the "catch_sigint_signal" field is set. | |
bool | UseImpliedBounds [get, set] |
Stores and exploits "implied-bounds" in the solver. That is, relations of the form literal => (var >= bound). This is currently used to derive stronger cuts. | |
bool | HasUseImpliedBounds [get] |
Gets whether the "use_implied_bounds" field is set. | |
bool | PolishLpSolution [get, set] |
Whether we try to do a few degenerate iteration at the end of an LP solve to minimize the fractionality of the integer variable in the basis. This helps on some problems, but not so much on others. It also cost of bit of time to do such polish step. | |
bool | HasPolishLpSolution [get] |
Gets whether the "polish_lp_solution" field is set. | |
double | LpPrimalTolerance [get, set] |
The internal LP tolerances used by CP-SAT. These applies to the internal and scaled problem. If the domains of your variables are large it might be good to use lower tolerances. If your problem is binary with low coefficients, it might be good to use higher ones to speed-up the lp solves. | |
bool | HasLpPrimalTolerance [get] |
Gets whether the "lp_primal_tolerance" field is set. | |
double | LpDualTolerance [get, set] |
bool | HasLpDualTolerance [get] |
Gets whether the "lp_dual_tolerance" field is set. | |
bool | ConvertIntervals [get, set] |
Temporary flag util the feature is more mature. This convert intervals to the newer proto format that support affine start/var/end instead of just variables. | |
bool | HasConvertIntervals [get] |
Gets whether the "convert_intervals" field is set. | |
int | SymmetryLevel [get, set] |
Whether we try to automatically detect the symmetries in a model and exploit them. Currently, at level 1 we detect them in presolve and try to fix Booleans. At level 2, we also do some form of dynamic symmetry breaking during search. At level 3, we also detect symmetries for very large models, which can be slow. At level 4, we try to break as much symmetry as possible in presolve. | |
bool | HasSymmetryLevel [get] |
Gets whether the "symmetry_level" field is set. | |
bool | NewLinearPropagation [get, set] |
The new linear propagation code treat all constraints at once and use an adaptation of Bellman-Ford-Tarjan to propagate constraint in a smarter order and potentially detect propagation cycle earlier. | |
bool | HasNewLinearPropagation [get] |
Gets whether the "new_linear_propagation" field is set. | |
int | LinearSplitSize [get, set] |
Linear constraints that are not pseudo-Boolean and that are longer than this size will be split into sqrt(size) intermediate sums in order to have faster propation in the CP engine. | |
bool | HasLinearSplitSize [get] |
Gets whether the "linear_split_size" field is set. | |
int | LinearizationLevel [get, set] |
A non-negative level indicating the type of constraints we consider in the LP relaxation. At level zero, no LP relaxation is used. At level 1, only the linear constraint and full encoding are added. At level 2, we also add all the Boolean constraints. | |
bool | HasLinearizationLevel [get] |
Gets whether the "linearization_level" field is set. | |
int | BooleanEncodingLevel [get, set] |
A non-negative level indicating how much we should try to fully encode Integer variables as Boolean. | |
bool | HasBooleanEncodingLevel [get] |
Gets whether the "boolean_encoding_level" field is set. | |
int | MaxDomainSizeWhenEncodingEqNeqConstraints [get, set] |
When loading a*x + b*y ==/!= c when x and y are both fully encoded. The solver may decide to replace the linear equation by a set of clauses. This is triggered if the sizes of the domains of x and y are below the threshold. | |
bool | HasMaxDomainSizeWhenEncodingEqNeqConstraints [get] |
Gets whether the "max_domain_size_when_encoding_eq_neq_constraints" field is set. | |
int | MaxNumCuts [get, set] |
The limit on the number of cuts in our cut pool. When this is reached we do not generate cuts anymore. | |
bool | HasMaxNumCuts [get] |
Gets whether the "max_num_cuts" field is set. | |
int | CutLevel [get, set] |
Control the global cut effort. Zero will turn off all cut. For now we just have one level. Note also that most cuts are only used at linearization level >= 2. | |
bool | HasCutLevel [get] |
Gets whether the "cut_level" field is set. | |
bool | OnlyAddCutsAtLevelZero [get, set] |
For the cut that can be generated at any level, this control if we only try to generate them at the root node. | |
bool | HasOnlyAddCutsAtLevelZero [get] |
Gets whether the "only_add_cuts_at_level_zero" field is set. | |
bool | AddObjectiveCut [get, set] |
When the LP objective is fractional, do we add the cut that forces the linear objective expression to be greater or equal to this fractional value rounded up? We can always do that since our objective is integer, and combined with MIR heuristic to reduce the coefficient of such cut, it can help. | |
bool | HasAddObjectiveCut [get] |
Gets whether the "add_objective_cut" field is set. | |
bool | AddCgCuts [get, set] |
Whether we generate and add Chvatal-Gomory cuts to the LP at root node. | |
bool | HasAddCgCuts [get] |
Gets whether the "add_cg_cuts" field is set. | |
bool | AddMirCuts [get, set] |
Whether we generate MIR cuts at root node. | |
bool | HasAddMirCuts [get] |
Gets whether the "add_mir_cuts" field is set. | |
bool | AddZeroHalfCuts [get, set] |
Whether we generate Zero-Half cuts at root node. | |
bool | HasAddZeroHalfCuts [get] |
Gets whether the "add_zero_half_cuts" field is set. | |
bool | AddCliqueCuts [get, set] |
Whether we generate clique cuts from the binary implication graph. Note that as the search goes on, this graph will contains new binary clauses learned by the SAT engine. | |
bool | HasAddCliqueCuts [get] |
Gets whether the "add_clique_cuts" field is set. | |
bool | AddRltCuts [get, set] |
Whether we generate RLT cuts. This is still experimental but can help on binary problem with a lot of clauses of size 3. | |
bool | HasAddRltCuts [get] |
Gets whether the "add_rlt_cuts" field is set. | |
int | MaxAllDiffCutSize [get, set] |
Cut generator for all diffs can add too many cuts for large all_diff constraints. This parameter restricts the large all_diff constraints to have a cut generator. | |
bool | HasMaxAllDiffCutSize [get] |
Gets whether the "max_all_diff_cut_size" field is set. | |
bool | AddLinMaxCuts [get, set] |
For the lin max constraints, generates the cuts described in "Strong
mixed-integer programming formulations for trained neural networks" by Ross Anderson et. (https://arxiv.org/pdf/1811.01988.pdf) | |
bool | HasAddLinMaxCuts [get] |
Gets whether the "add_lin_max_cuts" field is set. | |
int | MaxIntegerRoundingScaling [get, set] |
In the integer rounding procedure used for MIR and Gomory cut, the maximum "scaling" we use (must be positive). The lower this is, the lower the integer coefficients of the cut will be. Note that cut generated by lower values are not necessarily worse than cut generated by larger value. There is no strict dominance relationship. | |
bool | HasMaxIntegerRoundingScaling [get] |
Gets whether the "max_integer_rounding_scaling" field is set. | |
bool | AddLpConstraintsLazily [get, set] |
If true, we start by an empty LP, and only add constraints not satisfied by the current LP solution batch by batch. A constraint that is only added like this is known as a "lazy" constraint in the literature, except that we currently consider all constraints as lazy here. | |
bool | HasAddLpConstraintsLazily [get] |
Gets whether the "add_lp_constraints_lazily" field is set. | |
int | RootLpIterations [get, set] |
Even at the root node, we do not want to spend too much time on the LP if it is "difficult". So we solve it in "chunks" of that many iterations. The solve will be continued down in the tree or the next time we go back to the root node. | |
bool | HasRootLpIterations [get] |
Gets whether the "root_lp_iterations" field is set. | |
double | MinOrthogonalityForLpConstraints [get, set] |
While adding constraints, skip the constraints which have orthogonality less than 'min_orthogonality_for_lp_constraints' with already added constraints during current call. Orthogonality is defined as 1 - cosine(vector angle between constraints). A value of zero disable this feature. | |
bool | HasMinOrthogonalityForLpConstraints [get] |
Gets whether the "min_orthogonality_for_lp_constraints" field is set. | |
int | MaxCutRoundsAtLevelZero [get, set] |
Max number of time we perform cut generation and resolve the LP at level 0. | |
bool | HasMaxCutRoundsAtLevelZero [get] |
Gets whether the "max_cut_rounds_at_level_zero" field is set. | |
int | MaxConsecutiveInactiveCount [get, set] |
If a constraint/cut in LP is not active for that many consecutive OPTIMAL solves, remove it from the LP. Note that it might be added again later if it become violated by the current LP solution. | |
bool | HasMaxConsecutiveInactiveCount [get] |
Gets whether the "max_consecutive_inactive_count" field is set. | |
double | CutMaxActiveCountValue [get, set] |
These parameters are similar to sat clause management activity parameters. They are effective only if the number of generated cuts exceed the storage limit. Default values are based on a few experiments on miplib instances. | |
bool | HasCutMaxActiveCountValue [get] |
Gets whether the "cut_max_active_count_value" field is set. | |
double | CutActiveCountDecay [get, set] |
bool | HasCutActiveCountDecay [get] |
Gets whether the "cut_active_count_decay" field is set. | |
int | CutCleanupTarget [get, set] |
Target number of constraints to remove during cleanup. | |
bool | HasCutCleanupTarget [get] |
Gets whether the "cut_cleanup_target" field is set. | |
int | NewConstraintsBatchSize [get, set] |
Add that many lazy constraints (or cuts) at once in the LP. Note that at the beginning of the solve, we do add more than this. | |
bool | HasNewConstraintsBatchSize [get] |
Gets whether the "new_constraints_batch_size" field is set. | |
bool | ExploitIntegerLpSolution [get, set] |
If true and the Lp relaxation of the problem has an integer optimal solution, try to exploit it. Note that since the LP relaxation may not contain all the constraints, such a solution is not necessarily a solution of the full problem. | |
bool | HasExploitIntegerLpSolution [get] |
Gets whether the "exploit_integer_lp_solution" field is set. | |
bool | ExploitAllLpSolution [get, set] |
If true and the Lp relaxation of the problem has a solution, try to exploit it. This is same as above except in this case the lp solution might not be an integer solution. | |
bool | HasExploitAllLpSolution [get] |
Gets whether the "exploit_all_lp_solution" field is set. | |
bool | ExploitBestSolution [get, set] |
When branching on a variable, follow the last best solution value. | |
bool | HasExploitBestSolution [get] |
Gets whether the "exploit_best_solution" field is set. | |
bool | ExploitRelaxationSolution [get, set] |
When branching on a variable, follow the last best relaxation solution value. We use the relaxation with the tightest bound on the objective as the best relaxation solution. | |
bool | HasExploitRelaxationSolution [get] |
Gets whether the "exploit_relaxation_solution" field is set. | |
bool | ExploitObjective [get, set] |
When branching an a variable that directly affect the objective, branch on the value that lead to the best objective first. | |
bool | HasExploitObjective [get] |
Gets whether the "exploit_objective" field is set. | |
bool | DetectLinearizedProduct [get, set] |
Infer products of Boolean or of Boolean time IntegerVariable from the linear constrainst in the problem. This can be used in some cuts, altough for now we don't really exploit it. | |
bool | HasDetectLinearizedProduct [get] |
Gets whether the "detect_linearized_product" field is set. | |
double | MipMaxBound [get, set] |
We need to bound the maximum magnitude of the variables for CP-SAT, and that is the bound we use. If the MIP model expect larger variable value in the solution, then the converted model will likely not be relevant. | |
bool | HasMipMaxBound [get] |
Gets whether the "mip_max_bound" field is set. | |
double | MipVarScaling [get, set] |
All continuous variable of the problem will be multiplied by this factor. By default, we don't do any variable scaling and rely on the MIP model to specify continuous variable domain with the wanted precision. | |
bool | HasMipVarScaling [get] |
Gets whether the "mip_var_scaling" field is set. | |
bool | MipScaleLargeDomain [get, set] |
If this is false, then mip_var_scaling is only applied to variables with "small" domain. If it is true, we scale all floating point variable independenlty of their domain. | |
bool | HasMipScaleLargeDomain [get] |
Gets whether the "mip_scale_large_domain" field is set. | |
bool | MipAutomaticallyScaleVariables [get, set] |
If true, some continuous variable might be automatically scaled. For now, this is only the case where we detect that a variable is actually an integer multiple of a constant. For instance, variables of the form k * 0.5 are quite frequent, and if we detect this, we will scale such variable domain by 2 to make it implied integer. | |
bool | HasMipAutomaticallyScaleVariables [get] |
Gets whether the "mip_automatically_scale_variables" field is set. | |
bool | OnlySolveIp [get, set] |
If one try to solve a MIP model with CP-SAT, because we assume all variable to be integer after scaling, we will not necessarily have the correct optimal. Note however that all feasible solutions are valid since we will just solve a more restricted version of the original problem. | |
bool | HasOnlySolveIp [get] |
Gets whether the "only_solve_ip" field is set. | |
double | MipWantedPrecision [get, set] |
When scaling constraint with double coefficients to integer coefficients, we will multiply by a power of 2 and round the coefficients. We will choose the lowest power such that we have no potential overflow (see mip_max_activity_exponent) and the worst case constraint activity error does not exceed this threshold. | |
bool | HasMipWantedPrecision [get] |
Gets whether the "mip_wanted_precision" field is set. | |
int | MipMaxActivityExponent [get, set] |
To avoid integer overflow, we always force the maximum possible constraint activity (and objective value) according to the initial variable domain to be smaller than 2 to this given power. Because of this, we cannot always reach the "mip_wanted_precision" parameter above. | |
bool | HasMipMaxActivityExponent [get] |
Gets whether the "mip_max_activity_exponent" field is set. | |
double | MipCheckPrecision [get, set] |
As explained in mip_precision and mip_max_activity_exponent, we cannot always reach the wanted precision during scaling. We use this threshold to enphasize in the logs when the precision seems bad. | |
bool | HasMipCheckPrecision [get] |
Gets whether the "mip_check_precision" field is set. | |
bool | MipComputeTrueObjectiveBound [get, set] |
Even if we make big error when scaling the objective, we can always derive a correct lower bound on the original objective by using the exact lower bound on the scaled integer version of the objective. This should be fast, but if you don't care about having a precise lower bound, you can turn it off. | |
bool | HasMipComputeTrueObjectiveBound [get] |
Gets whether the "mip_compute_true_objective_bound" field is set. | |
double | MipMaxValidMagnitude [get, set] |
Any finite values in the input MIP must be below this threshold, otherwise the model will be reported invalid. This is needed to avoid floating point overflow when evaluating bounds * coeff for instance. We are a bit more defensive, but in practice, users shouldn't use super large values in a MIP. | |
bool | HasMipMaxValidMagnitude [get] |
Gets whether the "mip_max_valid_magnitude" field is set. | |
bool | MipTreatHighMagnitudeBoundsAsInfinity [get, set] |
By default, any variable/constraint bound with a finite value and a magnitude greater than the mip_max_valid_magnitude will result with a invalid model. This flags change the behavior such that such bounds are silently transformed to +∞ or -∞. | |
bool | HasMipTreatHighMagnitudeBoundsAsInfinity [get] |
Gets whether the "mip_treat_high_magnitude_bounds_as_infinity" field is set. | |
double | MipDropTolerance [get, set] |
Any value in the input mip with a magnitude lower than this will be set to zero. This is to avoid some issue in LP presolving. | |
bool | HasMipDropTolerance [get] |
Gets whether the "mip_drop_tolerance" field is set. | |
int | MipPresolveLevel [get, set] |
When solving a MIP, we do some basic floating point presolving before scaling the problem to integer to be handled by CP-SAT. This control how much of that presolve we do. It can help to better scale floating point model, but it is not always behaving nicely. | |
bool | HasMipPresolveLevel [get] |
Gets whether the "mip_presolve_level" field is set. | |
Contains the definitions for all the sat algorithm parameters and their default values.
NEXT TAG: 296
Definition at line 328 of file SatParameters.pb.cs.
|
inline |
Definition at line 361 of file SatParameters.pb.cs.
|
inline |
Definition at line 369 of file SatParameters.pb.cs.
|
inline |
Definition at line 11039 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "absolute_gap_limit" field.
Definition at line 2022 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_cg_cuts" field.
Definition at line 7374 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_clique_cuts" field.
Definition at line 7468 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_lin_max_cuts" field.
Definition at line 7563 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_lp_constraints_lazily" field.
Definition at line 7634 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_mir_cuts" field.
Definition at line 7405 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_objective_cut" field.
Definition at line 7343 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_rlt_cuts" field.
Definition at line 7499 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "add_zero_half_cuts" field.
Definition at line 7436 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "also_bump_variables_in_conflict_reasons" field.
Definition at line 955 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "at_most_one_max_expansion_size" field.
Definition at line 6825 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "auto_detect_greater_than_at_least_one_of" field.
Definition at line 6271 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "binary_minimization_algorithm" field.
Definition at line 1009 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "binary_search_num_conflicts" field.
Definition at line 5365 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "blocking_restart_multiplier" field.
Definition at line 1742 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "blocking_restart_window_size" field.
Definition at line 1715 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "boolean_encoding_level" field.
Definition at line 7178 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "catch_sigint_signal" field.
Definition at line 6857 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "clause_activity_decay" field.
Definition at line 1461 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "clause_cleanup_lbd_bound" field.
Definition at line 1193 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "clause_cleanup_ordering" field.
Definition at line 1220 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "clause_cleanup_period" field.
Definition at line 1072 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "clause_cleanup_protection" field.
Definition at line 1162 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "clause_cleanup_ratio" field.
Definition at line 1135 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "clause_cleanup_target" field.
Definition at line 1103 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "convert_intervals" field.
Definition at line 7015 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "core_minimization_level" field.
Definition at line 4035 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "count_assumption_levels_in_lbd" field.
Definition at line 2432 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cover_optimization" field.
Definition at line 4098 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cp_model_presolve" field.
Definition at line 2713 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cp_model_probing_level" field.
Definition at line 2743 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cp_model_use_sat_presolve" field.
Definition at line 2773 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cut_active_count_decay" field.
Definition at line 7822 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cut_cleanup_target" field.
Definition at line 7852 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cut_level" field.
Definition at line 7278 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "cut_max_active_count_value" field.
Definition at line 7795 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "debug_crash_on_bad_hint" field.
Definition at line 3969 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "debug_max_num_presolve_operations" field.
Definition at line 3939 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "debug_postsolve_with_full_solver" field.
Definition at line 3908 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "default_restart_algorithms" field.
Definition at line 1537 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "detect_linearized_product" field.
Definition at line 8073 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "detect_table_with_cost" field.
Definition at line 2809 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "disable_constraint_expansion" field.
Definition at line 3045 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "diversify_lns_params" field.
Definition at line 6600 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "encode_complex_linear_constraint_with_integer" field.
Definition at line 3076 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "encode_cumulative_as_reservoir" field.
Definition at line 2979 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "enumerate_all_solutions" field.
Definition at line 6092 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "expand_alldiff_constraints" field.
Definition at line 2873 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "expand_reservoir_constraints" field.
Definition at line 2904 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "expand_reservoir_using_circuit" field.
Definition at line 2947 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "exploit_all_lp_solution" field.
Definition at line 7948 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "exploit_all_precedences" field.
Definition at line 4593 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "exploit_best_solution" field.
Definition at line 7978 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "exploit_integer_lp_solution" field.
Definition at line 7916 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "exploit_objective" field.
Definition at line 8041 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "exploit_relaxation_solution" field.
Definition at line 8010 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_batch_dtime" field.
Definition at line 5585 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_decay" field.
Definition at line 5494 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_enable_restarts" field.
Definition at line 5679 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_linearization_level" field.
Definition at line 5524 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_max_expanded_constraint_size" field.
Definition at line 5712 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_restart_factor" field.
Definition at line 5555 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_var_perburbation_range_ratio" field.
Definition at line 5647 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "feasibility_jump_var_randomization_probability" field.
Definition at line 5616 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "fill_additional_solutions_in_response" field.
Definition at line 6205 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "fill_tightened_domains_in_response" field.
Definition at line 6164 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "find_big_linear_overlap" field.
Definition at line 3343 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "find_multiple_cores" field.
Definition at line 4066 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "fix_variables_to_their_hinted_value" field.
Definition at line 4917 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "fp_rounding" field.
Definition at line 6570 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "glucose_decay_increment" field.
Definition at line 1404 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "glucose_decay_increment_period" field.
Definition at line 1431 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "glucose_max_decay" field.
Definition at line 1377 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "hint_conflict_limit" field.
Definition at line 4853 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "ignore_names" field.
Definition at line 3272 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "infer_all_diffs" field.
Definition at line 3310 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "initial_polarity" field.
Definition at line 715 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "initial_variables_activity" field.
Definition at line 922 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "inprocessing_dtime_ratio" field.
Definition at line 3406 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "inprocessing_minimization_dtime" field.
Definition at line 3477 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "inprocessing_probing_dtime" field.
Definition at line 3436 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "instantiate_all_variables" field.
Definition at line 6238 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "interleave_batch_size" field.
Definition at line 3755 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "interleave_search" field.
Definition at line 3728 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "keep_all_feasible_solutions_in_presolve" field.
Definition at line 6130 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "linearization_level" field.
Definition at line 7147 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "linear_split_size" field.
Definition at line 7114 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "log_prefix" field.
Definition at line 2267 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "log_search_progress" field.
Definition at line 2205 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "log_subsolver_statistics" field.
Definition at line 2238 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "log_to_response" field.
Definition at line 2327 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "log_to_stdout" field.
Definition at line 2297 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "lp_dual_tolerance" field.
Definition at line 6983 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "lp_primal_tolerance" field.
Definition at line 6956 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_all_diff_cut_size" field.
Definition at line 7531 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_clause_activity_value" field.
Definition at line 1488 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_consecutive_inactive_count" field.
Definition at line 7763 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_cut_rounds_at_level_zero" field.
Definition at line 7731 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_deterministic_time" field.
Definition at line 1868 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_domain_size_when_encoding_eq_neq_constraints" field.
Definition at line 7211 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_integer_rounding_scaling" field.
Definition at line 7601 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_lin_max_size_for_expansion" field.
Definition at line 3014 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_memory_in_mb" field.
Definition at line 1972 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_number_of_conflicts" field.
Definition at line 1936 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_num_cuts" field.
Definition at line 7246 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_num_deterministic_batches" field.
Definition at line 1899 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_num_intervals_for_timetable_edge_finding" field.
Definition at line 4530 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_pairs_pairwise_reasoning_in_no_overlap_2d" field.
Definition at line 4764 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_presolve_iterations" field.
Definition at line 2683 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_sat_assumption_order" field.
Definition at line 4125 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_sat_reverse_assumption_order" field.
Definition at line 4156 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_sat_stratification" field.
Definition at line 4183 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_size_to_create_precedence_literals_in_disjunctive" field.
Definition at line 4295 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_time_in_seconds" field.
Definition at line 1836 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "max_variable_activity_value" field.
Definition at line 1342 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "merge_at_most_one_work_limit" field.
Definition at line 3137 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "merge_no_overlap_work_limit" field.
Definition at line 3110 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "minimization_algorithm" field.
Definition at line 982 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "minimize_reduction_during_pb_resolution" field.
Definition at line 2393 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "min_orthogonality_for_lp_constraints" field.
Definition at line 7701 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_automatically_scale_variables" field.
Definition at line 8203 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_check_precision" field.
Definition at line 8365 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_compute_true_objective_bound" field.
Definition at line 8399 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_drop_tolerance" field.
Definition at line 8500 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_max_activity_exponent" field.
Definition at line 8333 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_max_bound" field.
Definition at line 8105 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_max_valid_magnitude" field.
Definition at line 8433 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_presolve_level" field.
Definition at line 8533 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_scale_large_domain" field.
Definition at line 8169 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_treat_high_magnitude_bounds_as_infinity" field.
Definition at line 8469 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_var_scaling" field.
Definition at line 8137 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "mip_wanted_precision" field.
Definition at line 8295 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "name" field.
Definition at line 661 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "new_constraints_batch_size" field.
Definition at line 7883 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "new_linear_propagation" field.
Definition at line 7082 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "num_conflicts_before_strategy_changes" field.
Definition at line 1774 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "num_full_subsolvers" field.
Definition at line 3584 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "num_search_workers" field.
Definition at line 3550 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "num_violation_ls" field.
Definition at line 5744 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "num_workers" field.
Definition at line 3523 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "only_add_cuts_at_level_zero" field.
Definition at line 7309 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "only_solve_ip" field.
Definition at line 8246 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "optimize_with_core" field.
Definition at line 5262 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "optimize_with_lb_tree_search" field.
Definition at line 5296 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "optimize_with_max_hs" field.
Definition at line 5400 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "pb_cleanup_increment" field.
Definition at line 1250 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "pb_cleanup_ratio" field.
Definition at line 1277 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "permute_presolve_constraint_order" field.
Definition at line 2146 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "permute_variable_randomly" field.
Definition at line 2119 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "polarity_rephase_increment" field.
Definition at line 789 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "polish_lp_solution" field.
Definition at line 6922 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "preferred_variable_order" field.
Definition at line 688 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_blocked_clause" field.
Definition at line 2588 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_bva_threshold" field.
Definition at line 2651 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_bve_clause_weight" field.
Definition at line 2495 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_bve_threshold" field.
Definition at line 2464 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_extract_integer_enforcement" field.
Definition at line 3205 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_inclusion_work_limit" field.
Definition at line 3242 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_probing_deterministic_time_limit" field.
Definition at line 2557 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_substitution_level" field.
Definition at line 3170 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "presolve_use_bva" field.
Definition at line 2618 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "probing_deterministic_time_limit" field.
Definition at line 2530 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "probing_num_combinations_limit" field.
Definition at line 5009 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "propagation_loop_detection_factor" field.
Definition at line 4222 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "pseudo_cost_reliability_threshold" field.
Definition at line 5229 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "push_all_tasks_toward_start" field.
Definition at line 6693 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "random_branches_ratio" field.
Definition at line 855 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "randomize_search" field.
Definition at line 6630 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "random_polarity_ratio" field.
Definition at line 823 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "random_seed" field.
Definition at line 2086 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "relative_gap_limit" field.
Definition at line 2049 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "repair_hint" field.
Definition at line 4886 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "restart_dl_average_ratio" field.
Definition at line 1629 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "restart_lbd_average_ratio" field.
Definition at line 1656 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "restart_period" field.
Definition at line 1568 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "restart_running_window_size" field.
Definition at line 1598 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "root_lp_iterations" field.
Definition at line 7667 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "save_lp_basis_in_lb_tree_search" field.
Definition at line 5332 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "search_branching" field.
Definition at line 4823 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "search_random_variable_pool_size" field.
Definition at line 6662 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "share_binary_clauses" field.
Definition at line 3845 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shared_tree_max_nodes_per_worker" field.
Definition at line 6028 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shared_tree_num_workers" field.
Definition at line 5839 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shared_tree_open_leaves_per_worker" field.
Definition at line 5995 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shared_tree_split_strategy" field.
Definition at line 6055 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shared_tree_worker_enable_trail_sharing" field.
Definition at line 5965 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shared_tree_worker_min_restarts_per_subtree" field.
Definition at line 5932 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shared_tree_worker_objective_split_probability" field.
Definition at line 5901 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "share_glue_clauses" field.
Definition at line 3876 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "share_level_zero_bounds" field.
Definition at line 3815 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "share_objective_bounds" field.
Definition at line 3785 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shaving_search_deterministic_time" field.
Definition at line 5071 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "shaving_search_threshold" field.
Definition at line 5104 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "solution_pool_size" field.
Definition at line 6451 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "stop_after_first_solution" field.
Definition at line 6301 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "stop_after_presolve" field.
Definition at line 6332 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "stop_after_root_propagation" field.
Definition at line 6359 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "strategy_change_increase_ratio" field.
Definition at line 1805 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "subsumption_during_conflict_analysis" field.
Definition at line 1042 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "symmetry_level" field.
Definition at line 7050 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "table_compression_level" field.
Definition at line 2842 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_absl_random" field.
Definition at line 2173 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_area_energetic_reasoning_in_no_overlap_2d" field.
Definition at line 4732 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_blocking_restart" field.
Definition at line 1688 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_combined_no_overlap" field.
Definition at line 6794 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_conservative_scale_overload_checker" field.
Definition at line 4462 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_disjunctive_constraint_in_cumulative" field.
Definition at line 4634 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_dual_scheduling_heuristics" field.
Definition at line 4796 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_dynamic_precedence_in_cumulative" field.
Definition at line 4388 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_dynamic_precedence_in_disjunctive" field.
Definition at line 4361 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_energetic_reasoning_in_no_overlap_2d" field.
Definition at line 4700 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_erwa_heuristic" field.
Definition at line 887 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_exact_lp_reason" field.
Definition at line 6762 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_extended_probing" field.
Definition at line 4979 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_feasibility_jump" field.
Definition at line 5432 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_feasibility_pump" field.
Definition at line 6511 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_hard_precedences_in_cumulative" field.
Definition at line 4566 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_implied_bounds" field.
Definition at line 6889 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_lb_relax_lns" field.
Definition at line 6543 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_lns" field.
Definition at line 6389 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_lns_only" field.
Definition at line 6419 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_ls_only" field.
Definition at line 5463 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_objective_lb_search" field.
Definition at line 5135 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_objective_shaving_search" field.
Definition at line 5167 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_optimization_hints" field.
Definition at line 4002 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_optional_variables" field.
Definition at line 6729 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_overload_checker_in_cumulative" field.
Definition at line 4425 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_pb_resolution" field.
Definition at line 2360 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_phase_saving" field.
Definition at line 757 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_precedences_in_disjunctive_constraint" field.
Definition at line 4261 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_probing_search" field.
Definition at line 4949 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_rins_lns" field.
Definition at line 6481 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_sat_inprocessing" field.
Definition at line 3374 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_shared_tree_search" field.
Definition at line 5869 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_shaving_in_probing_search" field.
Definition at line 5040 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_strong_propagation_in_disjunctive" field.
Definition at line 4325 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_timetable_edge_finding_in_cumulative" field.
Definition at line 4499 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_timetabling_in_no_overlap_2d" field.
Definition at line 4668 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "use_variables_shaving_search" field.
Definition at line 5198 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "variable_activity_decay" field.
Definition at line 1315 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "violation_ls_compound_move_probability" field.
Definition at line 5805 of file SatParameters.pb.cs.
|
inline |
Clears the value of the "violation_ls_perturbation_period" field.
Definition at line 5774 of file SatParameters.pb.cs.
|
inline |
Definition at line 631 of file SatParameters.pb.cs.
|
inline |
Definition at line 8539 of file SatParameters.pb.cs.
|
inline |
Definition at line 8545 of file SatParameters.pb.cs.
|
inline |
Definition at line 8805 of file SatParameters.pb.cs.
|
inline |
Definition at line 12522 of file SatParameters.pb.cs.
|
inline |
Definition at line 11781 of file SatParameters.pb.cs.
|
inline |
Definition at line 9063 of file SatParameters.pb.cs.
|
inline |
Definition at line 9069 of file SatParameters.pb.cs.
|
static |
Field number for the "absolute_gap_limit" field.
Definition at line 1977 of file SatParameters.pb.cs.
|
static |
Field number for the "add_cg_cuts" field.
Definition at line 7348 of file SatParameters.pb.cs.
|
static |
Field number for the "add_clique_cuts" field.
Definition at line 7441 of file SatParameters.pb.cs.
|
static |
Field number for the "add_lin_max_cuts" field.
Definition at line 7536 of file SatParameters.pb.cs.
|
static |
Field number for the "add_lp_constraints_lazily" field.
Definition at line 7606 of file SatParameters.pb.cs.
|
static |
Field number for the "add_mir_cuts" field.
Definition at line 7379 of file SatParameters.pb.cs.
|
static |
Field number for the "add_objective_cut" field.
Definition at line 7314 of file SatParameters.pb.cs.
|
static |
Field number for the "add_rlt_cuts" field.
Definition at line 7473 of file SatParameters.pb.cs.
|
static |
Field number for the "add_zero_half_cuts" field.
Definition at line 7410 of file SatParameters.pb.cs.
|
static |
Field number for the "also_bump_variables_in_conflict_reasons" field.
Definition at line 927 of file SatParameters.pb.cs.
|
static |
Field number for the "at_most_one_max_expansion_size" field.
Definition at line 6799 of file SatParameters.pb.cs.
|
static |
Field number for the "auto_detect_greater_than_at_least_one_of" field.
Definition at line 6243 of file SatParameters.pb.cs.
|
static |
Field number for the "binary_minimization_algorithm" field.
Definition at line 987 of file SatParameters.pb.cs.
|
static |
Field number for the "binary_search_num_conflicts" field.
Definition at line 5337 of file SatParameters.pb.cs.
|
static |
Field number for the "blocking_restart_multiplier" field.
Definition at line 1720 of file SatParameters.pb.cs.
|
static |
Field number for the "blocking_restart_window_size" field.
Definition at line 1693 of file SatParameters.pb.cs.
|
static |
Field number for the "boolean_encoding_level" field.
Definition at line 7152 of file SatParameters.pb.cs.
|
static |
Field number for the "catch_sigint_signal" field.
Definition at line 6830 of file SatParameters.pb.cs.
|
static |
Field number for the "clause_activity_decay" field.
Definition at line 1436 of file SatParameters.pb.cs.
|
static |
Field number for the "clause_cleanup_lbd_bound" field.
Definition at line 1167 of file SatParameters.pb.cs.
|
static |
Field number for the "clause_cleanup_ordering" field.
Definition at line 1198 of file SatParameters.pb.cs.
|
static |
Field number for the "clause_cleanup_period" field.
Definition at line 1047 of file SatParameters.pb.cs.
|
static |
Field number for the "clause_cleanup_protection" field.
Definition at line 1140 of file SatParameters.pb.cs.
|
static |
Field number for the "clause_cleanup_ratio" field.
Definition at line 1108 of file SatParameters.pb.cs.
|
static |
Field number for the "clause_cleanup_target" field.
Definition at line 1077 of file SatParameters.pb.cs.
|
static |
Field number for the "convert_intervals" field.
Definition at line 6988 of file SatParameters.pb.cs.
|
static |
Field number for the "core_minimization_level" field.
Definition at line 4007 of file SatParameters.pb.cs.
|
static |
Field number for the "count_assumption_levels_in_lbd" field.
Definition at line 2398 of file SatParameters.pb.cs.
|
static |
Field number for the "cover_optimization" field.
Definition at line 4071 of file SatParameters.pb.cs.
|
static |
Field number for the "cp_model_presolve" field.
Definition at line 2688 of file SatParameters.pb.cs.
|
static |
Field number for the "cp_model_probing_level" field.
Definition at line 2718 of file SatParameters.pb.cs.
|
static |
Field number for the "cp_model_use_sat_presolve" field.
Definition at line 2748 of file SatParameters.pb.cs.
|
static |
Field number for the "cut_active_count_decay" field.
Definition at line 7800 of file SatParameters.pb.cs.
|
static |
Field number for the "cut_cleanup_target" field.
Definition at line 7827 of file SatParameters.pb.cs.
|
static |
Field number for the "cut_level" field.
Definition at line 7251 of file SatParameters.pb.cs.
|
static |
Field number for the "cut_max_active_count_value" field.
Definition at line 7768 of file SatParameters.pb.cs.
|
static |
Field number for the "debug_crash_on_bad_hint" field.
Definition at line 3944 of file SatParameters.pb.cs.
|
static |
Field number for the "debug_max_num_presolve_operations" field.
Definition at line 3913 of file SatParameters.pb.cs.
|
static |
Field number for the "debug_postsolve_with_full_solver" field.
Definition at line 3881 of file SatParameters.pb.cs.
|
static |
Field number for the "default_restart_algorithms" field.
Definition at line 1516 of file SatParameters.pb.cs.
|
static |
Field number for the "detect_linearized_product" field.
Definition at line 8046 of file SatParameters.pb.cs.
|
static |
Field number for the "detect_table_with_cost" field.
Definition at line 2778 of file SatParameters.pb.cs.
|
static |
Field number for the "disable_constraint_expansion" field.
Definition at line 3019 of file SatParameters.pb.cs.
|
static |
Field number for the "diversify_lns_params" field.
Definition at line 6575 of file SatParameters.pb.cs.
|
static |
Field number for the "encode_complex_linear_constraint_with_integer" field.
Definition at line 3050 of file SatParameters.pb.cs.
|
static |
Field number for the "encode_cumulative_as_reservoir" field.
Definition at line 2952 of file SatParameters.pb.cs.
|
static |
Field number for the "enumerate_all_solutions" field.
Definition at line 6060 of file SatParameters.pb.cs.
|
static |
Field number for the "expand_alldiff_constraints" field.
Definition at line 2847 of file SatParameters.pb.cs.
|
static |
Field number for the "expand_reservoir_constraints" field.
Definition at line 2878 of file SatParameters.pb.cs.
|
static |
Field number for the "expand_reservoir_using_circuit" field.
Definition at line 2909 of file SatParameters.pb.cs.
|
static |
Field number for the "exploit_all_lp_solution" field.
Definition at line 7921 of file SatParameters.pb.cs.
|
static |
Field number for the "exploit_all_precedences" field.
Definition at line 4571 of file SatParameters.pb.cs.
|
static |
Field number for the "exploit_best_solution" field.
Definition at line 7953 of file SatParameters.pb.cs.
|
static |
Field number for the "exploit_integer_lp_solution" field.
Definition at line 7888 of file SatParameters.pb.cs.
|
static |
Field number for the "exploit_objective" field.
Definition at line 8015 of file SatParameters.pb.cs.
|
static |
Field number for the "exploit_relaxation_solution" field.
Definition at line 7983 of file SatParameters.pb.cs.
|
static |
Field number for the "extra_subsolvers" field.
Definition at line 3630 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_batch_dtime" field.
Definition at line 5560 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_decay" field.
Definition at line 5468 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_enable_restarts" field.
Definition at line 5652 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_linearization_level" field.
Definition at line 5499 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_max_expanded_constraint_size" field.
Definition at line 5684 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_restart_factor" field.
Definition at line 5529 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_var_perburbation_range_ratio" field.
Definition at line 5621 of file SatParameters.pb.cs.
|
static |
Field number for the "feasibility_jump_var_randomization_probability" field.
Definition at line 5590 of file SatParameters.pb.cs.
|
static |
Field number for the "fill_additional_solutions_in_response" field.
Definition at line 6169 of file SatParameters.pb.cs.
|
static |
Field number for the "fill_tightened_domains_in_response" field.
Definition at line 6135 of file SatParameters.pb.cs.
|
static |
Field number for the "filter_subsolvers" field.
Definition at line 3668 of file SatParameters.pb.cs.
|
static |
Field number for the "find_big_linear_overlap" field.
Definition at line 3315 of file SatParameters.pb.cs.
|
static |
Field number for the "find_multiple_cores" field.
Definition at line 4040 of file SatParameters.pb.cs.
|
static |
Field number for the "fix_variables_to_their_hinted_value" field.
Definition at line 4891 of file SatParameters.pb.cs.
|
static |
Field number for the "fp_rounding" field.
Definition at line 6548 of file SatParameters.pb.cs.
|
static |
Field number for the "glucose_decay_increment" field.
Definition at line 1382 of file SatParameters.pb.cs.
|
static |
Field number for the "glucose_decay_increment_period" field.
Definition at line 1409 of file SatParameters.pb.cs.
|
static |
Field number for the "glucose_max_decay" field.
Definition at line 1347 of file SatParameters.pb.cs.
|
static |
Field number for the "hint_conflict_limit" field.
Definition at line 4828 of file SatParameters.pb.cs.
|
static |
Field number for the "ignore_names" field.
Definition at line 3247 of file SatParameters.pb.cs.
|
static |
Field number for the "ignore_subsolvers" field.
Definition at line 3645 of file SatParameters.pb.cs.
|
static |
Field number for the "infer_all_diffs" field.
Definition at line 3277 of file SatParameters.pb.cs.
|
static |
Field number for the "initial_polarity" field.
Definition at line 693 of file SatParameters.pb.cs.
|
static |
Field number for the "initial_variables_activity" field.
Definition at line 892 of file SatParameters.pb.cs.
|
static |
Field number for the "inprocessing_dtime_ratio" field.
Definition at line 3379 of file SatParameters.pb.cs.
|
static |
Field number for the "inprocessing_minimization_dtime" field.
Definition at line 3441 of file SatParameters.pb.cs.
|
static |
Field number for the "inprocessing_probing_dtime" field.
Definition at line 3411 of file SatParameters.pb.cs.
|
static |
Field number for the "instantiate_all_variables" field.
Definition at line 6210 of file SatParameters.pb.cs.
|
static |
Field number for the "interleave_batch_size" field.
Definition at line 3733 of file SatParameters.pb.cs.
|
static |
Field number for the "interleave_search" field.
Definition at line 3697 of file SatParameters.pb.cs.
|
static |
Field number for the "keep_all_feasible_solutions_in_presolve" field.
Definition at line 6097 of file SatParameters.pb.cs.
|
static |
Field number for the "linearization_level" field.
Definition at line 7119 of file SatParameters.pb.cs.
|
static |
Field number for the "linear_split_size" field.
Definition at line 7087 of file SatParameters.pb.cs.
|
static |
Field number for the "log_prefix" field.
Definition at line 2243 of file SatParameters.pb.cs.
|
static |
Field number for the "log_search_progress" field.
Definition at line 2178 of file SatParameters.pb.cs.
|
static |
Field number for the "log_subsolver_statistics" field.
Definition at line 2210 of file SatParameters.pb.cs.
|
static |
Field number for the "log_to_response" field.
Definition at line 2302 of file SatParameters.pb.cs.
|
static |
Field number for the "log_to_stdout" field.
Definition at line 2272 of file SatParameters.pb.cs.
|
static |
Field number for the "lp_dual_tolerance" field.
Definition at line 6961 of file SatParameters.pb.cs.
|
static |
Field number for the "lp_primal_tolerance" field.
Definition at line 6927 of file SatParameters.pb.cs.
|
static |
Field number for the "max_all_diff_cut_size" field.
Definition at line 7504 of file SatParameters.pb.cs.
|
static |
Field number for the "max_clause_activity_value" field.
Definition at line 1466 of file SatParameters.pb.cs.
|
static |
Field number for the "max_consecutive_inactive_count" field.
Definition at line 7736 of file SatParameters.pb.cs.
|
static |
Field number for the "max_cut_rounds_at_level_zero" field.
Definition at line 7706 of file SatParameters.pb.cs.
|
static |
Field number for the "max_deterministic_time" field.
Definition at line 1841 of file SatParameters.pb.cs.
|
static |
Field number for the "max_domain_size_when_encoding_eq_neq_constraints" field.
Definition at line 7183 of file SatParameters.pb.cs.
|
static |
Field number for the "max_integer_rounding_scaling" field.
Definition at line 7568 of file SatParameters.pb.cs.
|
static |
Field number for the "max_lin_max_size_for_expansion" field.
Definition at line 2984 of file SatParameters.pb.cs.
|
static |
Field number for the "max_memory_in_mb" field.
Definition at line 1941 of file SatParameters.pb.cs.
|
static |
Field number for the "max_number_of_conflicts" field.
Definition at line 1904 of file SatParameters.pb.cs.
|
static |
Field number for the "max_num_cuts" field.
Definition at line 7216 of file SatParameters.pb.cs.
|
static |
Field number for the "max_num_deterministic_batches" field.
Definition at line 1873 of file SatParameters.pb.cs.
|
static |
Field number for the "max_num_intervals_for_timetable_edge_finding" field.
Definition at line 4504 of file SatParameters.pb.cs.
|
static |
Field number for the "max_pairs_pairwise_reasoning_in_no_overlap_2d" field.
Definition at line 4737 of file SatParameters.pb.cs.
|
static |
Field number for the "max_presolve_iterations" field.
Definition at line 2656 of file SatParameters.pb.cs.
|
static |
Field number for the "max_sat_assumption_order" field.
Definition at line 4103 of file SatParameters.pb.cs.
|
static |
Field number for the "max_sat_reverse_assumption_order" field.
Definition at line 4130 of file SatParameters.pb.cs.
|
static |
Field number for the "max_sat_stratification" field.
Definition at line 4161 of file SatParameters.pb.cs.
|
static |
Field number for the "max_size_to_create_precedence_literals_in_disjunctive" field.
Definition at line 4266 of file SatParameters.pb.cs.
|
static |
Field number for the "max_time_in_seconds" field.
Definition at line 1810 of file SatParameters.pb.cs.
|
static |
Field number for the "max_variable_activity_value" field.
Definition at line 1320 of file SatParameters.pb.cs.
|
static |
Field number for the "merge_at_most_one_work_limit" field.
Definition at line 3115 of file SatParameters.pb.cs.
|
static |
Field number for the "merge_no_overlap_work_limit" field.
Definition at line 3081 of file SatParameters.pb.cs.
|
static |
Field number for the "minimization_algorithm" field.
Definition at line 960 of file SatParameters.pb.cs.
|
static |
Field number for the "minimize_reduction_during_pb_resolution" field.
Definition at line 2365 of file SatParameters.pb.cs.
|
static |
Field number for the "min_orthogonality_for_lp_constraints" field.
Definition at line 7672 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_automatically_scale_variables" field.
Definition at line 8174 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_check_precision" field.
Definition at line 8338 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_compute_true_objective_bound" field.
Definition at line 8370 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_drop_tolerance" field.
Definition at line 8474 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_max_activity_exponent" field.
Definition at line 8300 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_max_bound" field.
Definition at line 8078 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_max_valid_magnitude" field.
Definition at line 8404 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_presolve_level" field.
Definition at line 8505 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_scale_large_domain" field.
Definition at line 8142 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_treat_high_magnitude_bounds_as_infinity" field.
Definition at line 8438 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_var_scaling" field.
Definition at line 8110 of file SatParameters.pb.cs.
|
static |
Field number for the "mip_wanted_precision" field.
Definition at line 8251 of file SatParameters.pb.cs.
|
static |
Field number for the "name" field.
Definition at line 636 of file SatParameters.pb.cs.
|
static |
Field number for the "new_constraints_batch_size" field.
Definition at line 7857 of file SatParameters.pb.cs.
|
static |
Field number for the "new_linear_propagation" field.
Definition at line 7055 of file SatParameters.pb.cs.
|
static |
Field number for the "num_conflicts_before_strategy_changes" field.
Definition at line 1747 of file SatParameters.pb.cs.
|
static |
Field number for the "num_full_subsolvers" field.
Definition at line 3555 of file SatParameters.pb.cs.
|
static |
Field number for the "num_search_workers" field.
Definition at line 3528 of file SatParameters.pb.cs.
|
static |
Field number for the "num_violation_ls" field.
Definition at line 5717 of file SatParameters.pb.cs.
|
static |
Field number for the "num_workers" field.
Definition at line 3482 of file SatParameters.pb.cs.
|
static |
Field number for the "only_add_cuts_at_level_zero" field.
Definition at line 7283 of file SatParameters.pb.cs.
|
static |
Field number for the "only_solve_ip" field.
Definition at line 8208 of file SatParameters.pb.cs.
|
static |
Field number for the "optimize_with_core" field.
Definition at line 5234 of file SatParameters.pb.cs.
|
static |
Field number for the "optimize_with_lb_tree_search" field.
Definition at line 5267 of file SatParameters.pb.cs.
|
static |
Field number for the "optimize_with_max_hs" field.
Definition at line 5370 of file SatParameters.pb.cs.
|
static |
Field number for the "pb_cleanup_increment" field.
Definition at line 1225 of file SatParameters.pb.cs.
|
static |
Field number for the "pb_cleanup_ratio" field.
Definition at line 1255 of file SatParameters.pb.cs.
|
static |
Field number for the "permute_presolve_constraint_order" field.
Definition at line 2124 of file SatParameters.pb.cs.
|
static |
Field number for the "permute_variable_randomly" field.
Definition at line 2091 of file SatParameters.pb.cs.
|
static |
Field number for the "polarity_rephase_increment" field.
Definition at line 762 of file SatParameters.pb.cs.
|
static |
Field number for the "polish_lp_solution" field.
Definition at line 6894 of file SatParameters.pb.cs.
|
static |
Field number for the "preferred_variable_order" field.
Definition at line 666 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_blocked_clause" field.
Definition at line 2562 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_bva_threshold" field.
Definition at line 2623 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_bve_clause_weight" field.
Definition at line 2469 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_bve_threshold" field.
Definition at line 2437 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_extract_integer_enforcement" field.
Definition at line 3175 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_inclusion_work_limit" field.
Definition at line 3210 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_probing_deterministic_time_limit" field.
Definition at line 2535 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_substitution_level" field.
Definition at line 3142 of file SatParameters.pb.cs.
|
static |
Field number for the "presolve_use_bva" field.
Definition at line 2593 of file SatParameters.pb.cs.
|
static |
Field number for the "probing_deterministic_time_limit" field.
Definition at line 2500 of file SatParameters.pb.cs.
|
static |
Field number for the "probing_num_combinations_limit" field.
Definition at line 4984 of file SatParameters.pb.cs.
|
static |
Field number for the "propagation_loop_detection_factor" field.
Definition at line 4188 of file SatParameters.pb.cs.
|
static |
Field number for the "pseudo_cost_reliability_threshold" field.
Definition at line 5203 of file SatParameters.pb.cs.
|
static |
Field number for the "push_all_tasks_toward_start" field.
Definition at line 6667 of file SatParameters.pb.cs.
|
static |
Field number for the "random_branches_ratio" field.
Definition at line 828 of file SatParameters.pb.cs.
|
static |
Field number for the "randomize_search" field.
Definition at line 6605 of file SatParameters.pb.cs.
|
static |
Field number for the "random_polarity_ratio" field.
Definition at line 794 of file SatParameters.pb.cs.
|
static |
Field number for the "random_seed" field.
Definition at line 2054 of file SatParameters.pb.cs.
|
static |
Field number for the "relative_gap_limit" field.
Definition at line 2027 of file SatParameters.pb.cs.
|
static |
Field number for the "repair_hint" field.
Definition at line 4858 of file SatParameters.pb.cs.
|
static |
Field number for the "restart_algorithms" field.
Definition at line 1493 of file SatParameters.pb.cs.
|
static |
Field number for the "restart_dl_average_ratio" field.
Definition at line 1603 of file SatParameters.pb.cs.
|
static |
Field number for the "restart_lbd_average_ratio" field.
Definition at line 1634 of file SatParameters.pb.cs.
|
static |
Field number for the "restart_period" field.
Definition at line 1542 of file SatParameters.pb.cs.
|
static |
Field number for the "restart_running_window_size" field.
Definition at line 1573 of file SatParameters.pb.cs.
|
static |
Field number for the "root_lp_iterations" field.
Definition at line 7639 of file SatParameters.pb.cs.
|
static |
Field number for the "save_lp_basis_in_lb_tree_search" field.
Definition at line 5301 of file SatParameters.pb.cs.
|
static |
Field number for the "search_branching" field.
Definition at line 4801 of file SatParameters.pb.cs.
|
static |
Field number for the "search_random_variable_pool_size" field.
Definition at line 6635 of file SatParameters.pb.cs.
|
static |
Field number for the "share_binary_clauses" field.
Definition at line 3820 of file SatParameters.pb.cs.
|
static |
Field number for the "shared_tree_max_nodes_per_worker" field.
Definition at line 6000 of file SatParameters.pb.cs.
|
static |
Field number for the "shared_tree_num_workers" field.
Definition at line 5810 of file SatParameters.pb.cs.
|
static |
Field number for the "shared_tree_open_leaves_per_worker" field.
Definition at line 5970 of file SatParameters.pb.cs.
|
static |
Field number for the "shared_tree_split_strategy" field.
Definition at line 6033 of file SatParameters.pb.cs.
|
static |
Field number for the "shared_tree_worker_enable_trail_sharing" field.
Definition at line 5937 of file SatParameters.pb.cs.
|
static |
Field number for the "shared_tree_worker_min_restarts_per_subtree" field.
Definition at line 5906 of file SatParameters.pb.cs.
|
static |
Field number for the "shared_tree_worker_objective_split_probability" field.
Definition at line 5874 of file SatParameters.pb.cs.
|
static |
Field number for the "share_glue_clauses" field.
Definition at line 3850 of file SatParameters.pb.cs.
|
static |
Field number for the "share_level_zero_bounds" field.
Definition at line 3790 of file SatParameters.pb.cs.
|
static |
Field number for the "share_objective_bounds" field.
Definition at line 3760 of file SatParameters.pb.cs.
|
static |
Field number for the "shaving_search_deterministic_time" field.
Definition at line 5045 of file SatParameters.pb.cs.
|
static |
Field number for the "shaving_search_threshold" field.
Definition at line 5076 of file SatParameters.pb.cs.
|
static |
Field number for the "solution_pool_size" field.
Definition at line 6424 of file SatParameters.pb.cs.
|
static |
Field number for the "stop_after_first_solution" field.
Definition at line 6276 of file SatParameters.pb.cs.
|
static |
Field number for the "stop_after_presolve" field.
Definition at line 6306 of file SatParameters.pb.cs.
|
static |
Field number for the "stop_after_root_propagation" field.
Definition at line 6337 of file SatParameters.pb.cs.
|
static |
Field number for the "strategy_change_increase_ratio" field.
Definition at line 1779 of file SatParameters.pb.cs.
|
static |
Field number for the "subsolver_params" field.
Definition at line 3679 of file SatParameters.pb.cs.
|
static |
Field number for the "subsolvers" field.
Definition at line 3589 of file SatParameters.pb.cs.
|
static |
Field number for the "subsumption_during_conflict_analysis" field.
Definition at line 1014 of file SatParameters.pb.cs.
|
static |
Field number for the "symmetry_level" field.
Definition at line 7020 of file SatParameters.pb.cs.
|
static |
Field number for the "table_compression_level" field.
Definition at line 2814 of file SatParameters.pb.cs.
|
static |
Field number for the "use_absl_random" field.
Definition at line 2151 of file SatParameters.pb.cs.
|
static |
Field number for the "use_area_energetic_reasoning_in_no_overlap_2d" field.
Definition at line 4705 of file SatParameters.pb.cs.
|
static |
Field number for the "use_blocking_restart" field.
Definition at line 1661 of file SatParameters.pb.cs.
|
static |
Field number for the "use_combined_no_overlap" field.
Definition at line 6767 of file SatParameters.pb.cs.
|
static |
Field number for the "use_conservative_scale_overload_checker" field.
Definition at line 4430 of file SatParameters.pb.cs.
|
static |
Field number for the "use_disjunctive_constraint_in_cumulative" field.
Definition at line 4598 of file SatParameters.pb.cs.
|
static |
Field number for the "use_dual_scheduling_heuristics" field.
Definition at line 4769 of file SatParameters.pb.cs.
|
static |
Field number for the "use_dynamic_precedence_in_cumulative" field.
Definition at line 4366 of file SatParameters.pb.cs.
|
static |
Field number for the "use_dynamic_precedence_in_disjunctive" field.
Definition at line 4330 of file SatParameters.pb.cs.
|
static |
Field number for the "use_energetic_reasoning_in_no_overlap_2d" field.
Definition at line 4673 of file SatParameters.pb.cs.
|
static |
Field number for the "use_erwa_heuristic" field.
Definition at line 860 of file SatParameters.pb.cs.
|
static |
Field number for the "use_exact_lp_reason" field.
Definition at line 6734 of file SatParameters.pb.cs.
|
static |
Field number for the "use_extended_probing" field.
Definition at line 4954 of file SatParameters.pb.cs.
|
static |
Field number for the "use_feasibility_jump" field.
Definition at line 5405 of file SatParameters.pb.cs.
|
static |
Field number for the "use_feasibility_pump" field.
Definition at line 6486 of file SatParameters.pb.cs.
|
static |
Field number for the "use_hard_precedences_in_cumulative" field.
Definition at line 4535 of file SatParameters.pb.cs.
|
static |
Field number for the "use_implied_bounds" field.
Definition at line 6862 of file SatParameters.pb.cs.
|
static |
Field number for the "use_lb_relax_lns" field.
Definition at line 6516 of file SatParameters.pb.cs.
|
static |
Field number for the "use_lns" field.
Definition at line 6364 of file SatParameters.pb.cs.
|
static |
Field number for the "use_lns_only" field.
Definition at line 6394 of file SatParameters.pb.cs.
|
static |
Field number for the "use_ls_only" field.
Definition at line 5437 of file SatParameters.pb.cs.
|
static |
Field number for the "use_objective_lb_search" field.
Definition at line 5109 of file SatParameters.pb.cs.
|
static |
Field number for the "use_objective_shaving_search" field.
Definition at line 5140 of file SatParameters.pb.cs.
|
static |
Field number for the "use_optimization_hints" field.
Definition at line 3974 of file SatParameters.pb.cs.
|
static |
Field number for the "use_optional_variables" field.
Definition at line 6698 of file SatParameters.pb.cs.
|
static |
Field number for the "use_overload_checker_in_cumulative" field.
Definition at line 4393 of file SatParameters.pb.cs.
|
static |
Field number for the "use_pb_resolution" field.
Definition at line 2332 of file SatParameters.pb.cs.
|
static |
Field number for the "use_phase_saving" field.
Definition at line 720 of file SatParameters.pb.cs.
|
static |
Field number for the "use_precedences_in_disjunctive_constraint" field.
Definition at line 4227 of file SatParameters.pb.cs.
|
static |
Field number for the "use_probing_search" field.
Definition at line 4922 of file SatParameters.pb.cs.
|
static |
Field number for the "use_rins_lns" field.
Definition at line 6456 of file SatParameters.pb.cs.
|
static |
Field number for the "use_sat_inprocessing" field.
Definition at line 3348 of file SatParameters.pb.cs.
|
static |
Field number for the "use_shared_tree_search" field.
Definition at line 5844 of file SatParameters.pb.cs.
|
static |
Field number for the "use_shaving_in_probing_search" field.
Definition at line 5014 of file SatParameters.pb.cs.
|
static |
Field number for the "use_strong_propagation_in_disjunctive" field.
Definition at line 4300 of file SatParameters.pb.cs.
|
static |
Field number for the "use_timetable_edge_finding_in_cumulative" field.
Definition at line 4467 of file SatParameters.pb.cs.
|
static |
Field number for the "use_timetabling_in_no_overlap_2d" field.
Definition at line 4639 of file SatParameters.pb.cs.
|
static |
Field number for the "use_variables_shaving_search" field.
Definition at line 5172 of file SatParameters.pb.cs.
|
static |
Field number for the "variable_activity_decay" field.
Definition at line 1282 of file SatParameters.pb.cs.
|
static |
Field number for the "violation_ls_compound_move_probability" field.
Definition at line 5779 of file SatParameters.pb.cs.
|
static |
Field number for the "violation_ls_perturbation_period" field.
Definition at line 5749 of file SatParameters.pb.cs.
|
getset |
Stop the search when the gap between the best feasible objective (O) and our best objective bound (B) is smaller than a limit. The exact definition is:
Definition at line 2006 of file SatParameters.pb.cs.
|
getset |
Whether we generate and add Chvatal-Gomory cuts to the LP at root node.
Definition at line 7358 of file SatParameters.pb.cs.
|
getset |
Whether we generate clique cuts from the binary implication graph. Note that as the search goes on, this graph will contains new binary clauses learned by the SAT engine.
Definition at line 7452 of file SatParameters.pb.cs.
|
getset |
For the lin max constraints, generates the cuts described in "Strong mixed-integer programming formulations for trained neural networks" by Ross Anderson et. (https://arxiv.org/pdf/1811.01988.pdf)
Definition at line 7547 of file SatParameters.pb.cs.
|
getset |
If true, we start by an empty LP, and only add constraints not satisfied by the current LP solution batch by batch. A constraint that is only added like this is known as a "lazy" constraint in the literature, except that we currently consider all constraints as lazy here.
Definition at line 7618 of file SatParameters.pb.cs.
|
getset |
Whether we generate MIR cuts at root node.
Definition at line 7389 of file SatParameters.pb.cs.
|
getset |
When the LP objective is fractional, do we add the cut that forces the linear objective expression to be greater or equal to this fractional value rounded up? We can always do that since our objective is integer, and combined with MIR heuristic to reduce the coefficient of such cut, it can help.
Definition at line 7327 of file SatParameters.pb.cs.
|
getset |
Whether we generate RLT cuts. This is still experimental but can help on binary problem with a lot of clauses of size 3.
Definition at line 7483 of file SatParameters.pb.cs.
|
getset |
Whether we generate Zero-Half cuts at root node.
Definition at line 7420 of file SatParameters.pb.cs.
|
getset |
When this is true, then the variables that appear in any of the reason of the variables in a conflict have their activity bumped. This is addition to the variables in the conflict, and the one that were used during conflict resolution.
Definition at line 939 of file SatParameters.pb.cs.
|
getset |
All at_most_one constraints with a size <= param will be replaced by a quadratic number of binary implications.
Definition at line 6809 of file SatParameters.pb.cs.
|
getset |
If true, then the precedences propagator try to detect for each variable if it has a set of "optional incoming arc" for which at least one of them is present. This is usually useful to have but can be slow on model with a lot of precedence.
Definition at line 6255 of file SatParameters.pb.cs.
|
getset |
Definition at line 993 of file SatParameters.pb.cs.
|
getset |
If non-negative, perform a binary search on the objective variable in order to find an [min, max] interval outside of which the solver proved unsat/sat under this amount of conflict. This can quickly reduce the objective domain on some problems.
Definition at line 5349 of file SatParameters.pb.cs.
|
getset |
Definition at line 1726 of file SatParameters.pb.cs.
|
getset |
Definition at line 1699 of file SatParameters.pb.cs.
|
getset |
A non-negative level indicating how much we should try to fully encode Integer variables as Boolean.
Definition at line 7162 of file SatParameters.pb.cs.
|
getset |
Indicates if the CP-SAT layer should catch Control-C (SIGINT) signals when calling solve. If set, catching the SIGINT signal will terminate the search gracefully, as if a time limit was reached.
Definition at line 6841 of file SatParameters.pb.cs.
|
getset |
Clause activity parameters (same effect as the one on the variables).
Definition at line 1445 of file SatParameters.pb.cs.
|
getset |
All the clauses with a LBD (literal blocks distance) lower or equal to this parameters will always be kept.
Definition at line 1177 of file SatParameters.pb.cs.
|
getset |
Definition at line 1204 of file SatParameters.pb.cs.
|
getset |
Trigger a cleanup when this number of "deletable" clauses is learned.
Definition at line 1056 of file SatParameters.pb.cs.
|
getset |
Definition at line 1146 of file SatParameters.pb.cs.
|
getset |
During a cleanup, if clause_cleanup_target is 0, we will delete the clause_cleanup_ratio of "deletable" clauses instead of aiming for a fixed target of clauses to keep.
Definition at line 1119 of file SatParameters.pb.cs.
|
getset |
During a cleanup, we will always keep that number of "deletable" clauses.
Definition at line 1087 of file SatParameters.pb.cs.
|
getset |
Temporary flag util the feature is more mature. This convert intervals to the newer proto format that support affine start/var/end instead of just variables.
Definition at line 6999 of file SatParameters.pb.cs.
|
getset |
If positive, we spend some effort on each core:
Definition at line 4019 of file SatParameters.pb.cs.
|
getset |
Whether or not the assumption levels are taken into account during the LBD computation. According to the reference below, not counting them improves the solver in some situation. Note that this only impact solves under assumptions.
Gilles Audemard, Jean-Marie Lagniez, Laurent Simon, "Improving Glucose for Incremental SAT Solving with Assumptions: Application to MUS Extraction" Theory and Applications of Satisfiability Testing - SAT 2013, Lecture Notes in Computer Science Volume 7962, 2013, pp 309-317.
Definition at line 2416 of file SatParameters.pb.cs.
|
getset |
If true, when the max-sat algo find a core, we compute the minimal number of literals in the core that needs to be true to have a feasible solution. This is also called core exhaustion in more recent max-SAT papers.
Definition at line 4082 of file SatParameters.pb.cs.
|
getset |
Whether we presolve the cp_model before solving it.
Definition at line 2697 of file SatParameters.pb.cs.
|
getset |
How much effort do we spend on probing. 0 disables it completely.
Definition at line 2727 of file SatParameters.pb.cs.
|
getset |
Whether we also use the sat presolve when cp_model_presolve is true.
Definition at line 2757 of file SatParameters.pb.cs.
|
getset |
Definition at line 7806 of file SatParameters.pb.cs.
|
getset |
Target number of constraints to remove during cleanup.
Definition at line 7836 of file SatParameters.pb.cs.
|
getset |
Control the global cut effort. Zero will turn off all cut. For now we just have one level. Note also that most cuts are only used at linearization level >= 2.
Definition at line 7262 of file SatParameters.pb.cs.
|
getset |
These parameters are similar to sat clause management activity parameters. They are effective only if the number of generated cuts exceed the storage limit. Default values are based on a few experiments on miplib instances.
Definition at line 7779 of file SatParameters.pb.cs.
|
getset |
Crash if we do not manage to complete the hint into a full solution.
Definition at line 3953 of file SatParameters.pb.cs.
|
getset |
If positive, try to stop just after that many presolve rules have been applied. This is mainly useful for debugging presolve.
Definition at line 3923 of file SatParameters.pb.cs.
|
getset |
We have two different postsolve code. The default one should be better and it allows for a more powerful presolve, but it can be useful to postsolve using the full solver instead.
Definition at line 3892 of file SatParameters.pb.cs.
|
getset |
Definition at line 1522 of file SatParameters.pb.cs.
|
staticget |
Definition at line 349 of file SatParameters.pb.cs.
|
getset |
Infer products of Boolean or of Boolean time IntegerVariable from the linear constrainst in the problem. This can be used in some cuts, altough for now we don't really exploit it.
Definition at line 8057 of file SatParameters.pb.cs.
|
getset |
If true, we detect variable that are unique to a table constraint and only there to encode a cost on each tuple. This is usually the case when a WCSP (weighted constraint program) is encoded into CP-SAT format.
This can lead to a dramatic speed-up for such problems but is still experimental at this point.
Definition at line 2793 of file SatParameters.pb.cs.
|
getset |
If true, it disable all constraint expansion. This should only be used to test the presolve of expanded constraints.
Definition at line 3029 of file SatParameters.pb.cs.
|
getset |
If true, registers more lns subsolvers with different parameters.
Definition at line 6584 of file SatParameters.pb.cs.
|
getset |
Linear constraint with a complex right hand side (more than a single interval) need to be expanded, there is a couple of way to do that.
Definition at line 3060 of file SatParameters.pb.cs.
|
getset |
Encore cumulative with fixed demands and capacity as a reservoir constraint. The only reason you might want to do that is to test the reservoir propagation code!
Definition at line 2963 of file SatParameters.pb.cs.
|
getset |
Whether we enumerate all solutions of a problem without objective. Note that setting this to true automatically disable some presolve reduction that can remove feasible solution. That is it has the same effect as setting keep_all_feasible_solutions_in_presolve.
Definition at line 6076 of file SatParameters.pb.cs.
|
getset |
If true, expand all_different constraints that are not permutations. Permutations (#Variables = #Values) are always expanded.
Definition at line 2857 of file SatParameters.pb.cs.
|
getset |
If true, expand the reservoir constraints by creating booleans for all possible precedences between event and encoding the constraint.
Definition at line 2888 of file SatParameters.pb.cs.
|
getset |
Mainly useful for testing.
If this and expand_reservoir_constraints is true, we use a different encoding of the reservoir constraint using circuit instead of precedences.
Definition at line 2931 of file SatParameters.pb.cs.
|
getset |
If true and the Lp relaxation of the problem has a solution, try to exploit it. This is same as above except in this case the lp solution might not be an integer solution.
Definition at line 7932 of file SatParameters.pb.cs.
|
getset |
Definition at line 4577 of file SatParameters.pb.cs.
|
getset |
When branching on a variable, follow the last best solution value.
Definition at line 7962 of file SatParameters.pb.cs.
|
getset |
If true and the Lp relaxation of the problem has an integer optimal solution, try to exploit it. Note that since the LP relaxation may not contain all the constraints, such a solution is not necessarily a solution of the full problem.
Definition at line 7900 of file SatParameters.pb.cs.
|
getset |
When branching an a variable that directly affect the objective, branch on the value that lead to the best objective first.
Definition at line 8025 of file SatParameters.pb.cs.
|
getset |
When branching on a variable, follow the last best relaxation solution value. We use the relaxation with the tightest bound on the objective as the best relaxation solution.
Definition at line 7994 of file SatParameters.pb.cs.
|
get |
A convenient way to add more workers types. These will be added at the beginning of the list.
Definition at line 3640 of file SatParameters.pb.cs.
|
getset |
How much dtime for each LS batch.
Definition at line 5569 of file SatParameters.pb.cs.
|
getset |
On each restart, we randomly choose if we use decay (with this parameter) or no decay.
Definition at line 5478 of file SatParameters.pb.cs.
|
getset |
When stagnating, feasibility jump will either restart from a default solution (with some possible randomization), or randomly pertubate the current solution. This parameter selects the first option.
Definition at line 5663 of file SatParameters.pb.cs.
|
getset |
How much do we linearize the problem in the local search code.
Definition at line 5508 of file SatParameters.pb.cs.
|
getset |
Maximum size of no_overlap or no_overlap_2d constraint for a quadratic expansion. This might look a lot, but by expanding such constraint, we get a linear time evaluation per single variable moves instead of a slow O(n log n) one.
Definition at line 5696 of file SatParameters.pb.cs.
|
getset |
This is a factor that directly influence the work before each restart. Increasing it leads to longer restart.
Definition at line 5539 of file SatParameters.pb.cs.
|
getset |
Max distance between the default value and the pertubated value relative to the range of the domain of the variable.
Definition at line 5631 of file SatParameters.pb.cs.
|
getset |
Probability for a variable to have a non default value upon restarts or perturbations.
Definition at line 5600 of file SatParameters.pb.cs.
|
getset |
If true, the final response addition_solutions field will be filled with all solutions from our solutions pool.
Definition at line 6189 of file SatParameters.pb.cs.
|
getset |
If true, add information about the derived variable domains to the CpSolverResponse. It is an option because it makes the response slighly bigger and there is a bit more work involved during the postsolve to construct it, but it should still have a low overhead. See the tightened_variables field in CpSolverResponse for more details.
Definition at line 6148 of file SatParameters.pb.cs.
|
get |
Definition at line 3674 of file SatParameters.pb.cs.
|
getset |
Try to find large "rectangle" in the linear constraint matrix with identical lines. If such rectangle is big enough, we can introduce a new integer variable corresponding to the common expression and greatly reduce the number of non-zero.
Definition at line 3327 of file SatParameters.pb.cs.
|
getset |
Whether we try to find more independent cores for a given set of assumptions in the core based max-SAT algorithms.
Definition at line 4050 of file SatParameters.pb.cs.
|
getset |
If true, variables appearing in the solution hints will be fixed to their hinted value.
Definition at line 4901 of file SatParameters.pb.cs.
|
getset |
Definition at line 6554 of file SatParameters.pb.cs.
|
getset |
Definition at line 1388 of file SatParameters.pb.cs.
|
getset |
Definition at line 1415 of file SatParameters.pb.cs.
|
getset |
The activity starts at 0.8 and increment by 0.01 every 5000 conflicts until 0.95. This "hack" seems to work well and comes from:
Glucose 2.3 in the SAT 2013 Competition - SAT Competition 2013 http://edacc4.informatik.uni-ulm.de/SC13/solver-description-download/136
Definition at line 1361 of file SatParameters.pb.cs.
|
get |
Gets whether the "absolute_gap_limit" field is set.
Definition at line 2016 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_cg_cuts" field is set.
Definition at line 7368 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_clique_cuts" field is set.
Definition at line 7462 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_lin_max_cuts" field is set.
Definition at line 7557 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_lp_constraints_lazily" field is set.
Definition at line 7628 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_mir_cuts" field is set.
Definition at line 7399 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_objective_cut" field is set.
Definition at line 7337 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_rlt_cuts" field is set.
Definition at line 7493 of file SatParameters.pb.cs.
|
get |
Gets whether the "add_zero_half_cuts" field is set.
Definition at line 7430 of file SatParameters.pb.cs.
|
get |
Gets whether the "also_bump_variables_in_conflict_reasons" field is set.
Definition at line 949 of file SatParameters.pb.cs.
|
get |
Gets whether the "at_most_one_max_expansion_size" field is set.
Definition at line 6819 of file SatParameters.pb.cs.
|
get |
Gets whether the "auto_detect_greater_than_at_least_one_of" field is set.
Definition at line 6265 of file SatParameters.pb.cs.
|
get |
Gets whether the "binary_minimization_algorithm" field is set.
Definition at line 1003 of file SatParameters.pb.cs.
|
get |
Gets whether the "binary_search_num_conflicts" field is set.
Definition at line 5359 of file SatParameters.pb.cs.
|
get |
Gets whether the "blocking_restart_multiplier" field is set.
Definition at line 1736 of file SatParameters.pb.cs.
|
get |
Gets whether the "blocking_restart_window_size" field is set.
Definition at line 1709 of file SatParameters.pb.cs.
|
get |
Gets whether the "boolean_encoding_level" field is set.
Definition at line 7172 of file SatParameters.pb.cs.
|
get |
Gets whether the "catch_sigint_signal" field is set.
Definition at line 6851 of file SatParameters.pb.cs.
|
get |
Gets whether the "clause_activity_decay" field is set.
Definition at line 1455 of file SatParameters.pb.cs.
|
get |
Gets whether the "clause_cleanup_lbd_bound" field is set.
Definition at line 1187 of file SatParameters.pb.cs.
|
get |
Gets whether the "clause_cleanup_ordering" field is set.
Definition at line 1214 of file SatParameters.pb.cs.
|
get |
Gets whether the "clause_cleanup_period" field is set.
Definition at line 1066 of file SatParameters.pb.cs.
|
get |
Gets whether the "clause_cleanup_protection" field is set.
Definition at line 1156 of file SatParameters.pb.cs.
|
get |
Gets whether the "clause_cleanup_ratio" field is set.
Definition at line 1129 of file SatParameters.pb.cs.
|
get |
Gets whether the "clause_cleanup_target" field is set.
Definition at line 1097 of file SatParameters.pb.cs.
|
get |
Gets whether the "convert_intervals" field is set.
Definition at line 7009 of file SatParameters.pb.cs.
|
get |
Gets whether the "core_minimization_level" field is set.
Definition at line 4029 of file SatParameters.pb.cs.
|
get |
Gets whether the "count_assumption_levels_in_lbd" field is set.
Definition at line 2426 of file SatParameters.pb.cs.
|
get |
Gets whether the "cover_optimization" field is set.
Definition at line 4092 of file SatParameters.pb.cs.
|
get |
Gets whether the "cp_model_presolve" field is set.
Definition at line 2707 of file SatParameters.pb.cs.
|
get |
Gets whether the "cp_model_probing_level" field is set.
Definition at line 2737 of file SatParameters.pb.cs.
|
get |
Gets whether the "cp_model_use_sat_presolve" field is set.
Definition at line 2767 of file SatParameters.pb.cs.
|
get |
Gets whether the "cut_active_count_decay" field is set.
Definition at line 7816 of file SatParameters.pb.cs.
|
get |
Gets whether the "cut_cleanup_target" field is set.
Definition at line 7846 of file SatParameters.pb.cs.
|
get |
Gets whether the "cut_level" field is set.
Definition at line 7272 of file SatParameters.pb.cs.
|
get |
Gets whether the "cut_max_active_count_value" field is set.
Definition at line 7789 of file SatParameters.pb.cs.
|
get |
Gets whether the "debug_crash_on_bad_hint" field is set.
Definition at line 3963 of file SatParameters.pb.cs.
|
get |
Gets whether the "debug_max_num_presolve_operations" field is set.
Definition at line 3933 of file SatParameters.pb.cs.
|
get |
Gets whether the "debug_postsolve_with_full_solver" field is set.
Definition at line 3902 of file SatParameters.pb.cs.
|
get |
Gets whether the "default_restart_algorithms" field is set.
Definition at line 1531 of file SatParameters.pb.cs.
|
get |
Gets whether the "detect_linearized_product" field is set.
Definition at line 8067 of file SatParameters.pb.cs.
|
get |
Gets whether the "detect_table_with_cost" field is set.
Definition at line 2803 of file SatParameters.pb.cs.
|
get |
Gets whether the "disable_constraint_expansion" field is set.
Definition at line 3039 of file SatParameters.pb.cs.
|
get |
Gets whether the "diversify_lns_params" field is set.
Definition at line 6594 of file SatParameters.pb.cs.
|
get |
Gets whether the "encode_complex_linear_constraint_with_integer" field is set.
Definition at line 3070 of file SatParameters.pb.cs.
|
get |
Gets whether the "encode_cumulative_as_reservoir" field is set.
Definition at line 2973 of file SatParameters.pb.cs.
|
get |
Gets whether the "enumerate_all_solutions" field is set.
Definition at line 6086 of file SatParameters.pb.cs.
|
get |
Gets whether the "expand_alldiff_constraints" field is set.
Definition at line 2867 of file SatParameters.pb.cs.
|
get |
Gets whether the "expand_reservoir_constraints" field is set.
Definition at line 2898 of file SatParameters.pb.cs.
|
get |
Gets whether the "expand_reservoir_using_circuit" field is set.
Definition at line 2941 of file SatParameters.pb.cs.
|
get |
Gets whether the "exploit_all_lp_solution" field is set.
Definition at line 7942 of file SatParameters.pb.cs.
|
get |
Gets whether the "exploit_all_precedences" field is set.
Definition at line 4587 of file SatParameters.pb.cs.
|
get |
Gets whether the "exploit_best_solution" field is set.
Definition at line 7972 of file SatParameters.pb.cs.
|
get |
Gets whether the "exploit_integer_lp_solution" field is set.
Definition at line 7910 of file SatParameters.pb.cs.
|
get |
Gets whether the "exploit_objective" field is set.
Definition at line 8035 of file SatParameters.pb.cs.
|
get |
Gets whether the "exploit_relaxation_solution" field is set.
Definition at line 8004 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_batch_dtime" field is set.
Definition at line 5579 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_decay" field is set.
Definition at line 5488 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_enable_restarts" field is set.
Definition at line 5673 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_linearization_level" field is set.
Definition at line 5518 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_max_expanded_constraint_size" field is set.
Definition at line 5706 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_restart_factor" field is set.
Definition at line 5549 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_var_perburbation_range_ratio" field is set.
Definition at line 5641 of file SatParameters.pb.cs.
|
get |
Gets whether the "feasibility_jump_var_randomization_probability" field is set.
Definition at line 5610 of file SatParameters.pb.cs.
|
get |
Gets whether the "fill_additional_solutions_in_response" field is set.
Definition at line 6199 of file SatParameters.pb.cs.
|
get |
Gets whether the "fill_tightened_domains_in_response" field is set.
Definition at line 6158 of file SatParameters.pb.cs.
|
get |
Gets whether the "find_big_linear_overlap" field is set.
Definition at line 3337 of file SatParameters.pb.cs.
|
get |
Gets whether the "find_multiple_cores" field is set.
Definition at line 4060 of file SatParameters.pb.cs.
|
get |
Gets whether the "fix_variables_to_their_hinted_value" field is set.
Definition at line 4911 of file SatParameters.pb.cs.
|
get |
Gets whether the "fp_rounding" field is set.
Definition at line 6564 of file SatParameters.pb.cs.
|
get |
Gets whether the "glucose_decay_increment" field is set.
Definition at line 1398 of file SatParameters.pb.cs.
|
get |
Gets whether the "glucose_decay_increment_period" field is set.
Definition at line 1425 of file SatParameters.pb.cs.
|
get |
Gets whether the "glucose_max_decay" field is set.
Definition at line 1371 of file SatParameters.pb.cs.
|
get |
Gets whether the "hint_conflict_limit" field is set.
Definition at line 4847 of file SatParameters.pb.cs.
|
get |
Gets whether the "ignore_names" field is set.
Definition at line 3266 of file SatParameters.pb.cs.
|
get |
Gets whether the "infer_all_diffs" field is set.
Definition at line 3304 of file SatParameters.pb.cs.
|
get |
Gets whether the "initial_polarity" field is set.
Definition at line 709 of file SatParameters.pb.cs.
|
get |
Gets whether the "initial_variables_activity" field is set.
Definition at line 916 of file SatParameters.pb.cs.
|
get |
Gets whether the "inprocessing_dtime_ratio" field is set.
Definition at line 3400 of file SatParameters.pb.cs.
|
get |
Gets whether the "inprocessing_minimization_dtime" field is set.
Definition at line 3471 of file SatParameters.pb.cs.
|
get |
Gets whether the "inprocessing_probing_dtime" field is set.
Definition at line 3430 of file SatParameters.pb.cs.
|
get |
Gets whether the "instantiate_all_variables" field is set.
Definition at line 6232 of file SatParameters.pb.cs.
|
get |
Gets whether the "interleave_batch_size" field is set.
Definition at line 3749 of file SatParameters.pb.cs.
|
get |
Gets whether the "interleave_search" field is set.
Definition at line 3722 of file SatParameters.pb.cs.
|
get |
Gets whether the "keep_all_feasible_solutions_in_presolve" field is set.
Definition at line 6124 of file SatParameters.pb.cs.
|
get |
Gets whether the "linearization_level" field is set.
Definition at line 7141 of file SatParameters.pb.cs.
|
get |
Gets whether the "linear_split_size" field is set.
Definition at line 7108 of file SatParameters.pb.cs.
|
get |
Gets whether the "log_prefix" field is set.
Definition at line 2261 of file SatParameters.pb.cs.
|
get |
Gets whether the "log_search_progress" field is set.
Definition at line 2199 of file SatParameters.pb.cs.
|
get |
Gets whether the "log_subsolver_statistics" field is set.
Definition at line 2232 of file SatParameters.pb.cs.
|
get |
Gets whether the "log_to_response" field is set.
Definition at line 2321 of file SatParameters.pb.cs.
|
get |
Gets whether the "log_to_stdout" field is set.
Definition at line 2291 of file SatParameters.pb.cs.
|
get |
Gets whether the "lp_dual_tolerance" field is set.
Definition at line 6977 of file SatParameters.pb.cs.
|
get |
Gets whether the "lp_primal_tolerance" field is set.
Definition at line 6950 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_all_diff_cut_size" field is set.
Definition at line 7525 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_clause_activity_value" field is set.
Definition at line 1482 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_consecutive_inactive_count" field is set.
Definition at line 7757 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_cut_rounds_at_level_zero" field is set.
Definition at line 7725 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_deterministic_time" field is set.
Definition at line 1862 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_domain_size_when_encoding_eq_neq_constraints" field is set.
Definition at line 7205 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_integer_rounding_scaling" field is set.
Definition at line 7595 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_lin_max_size_for_expansion" field is set.
Definition at line 3008 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_memory_in_mb" field is set.
Definition at line 1966 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_number_of_conflicts" field is set.
Definition at line 1930 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_num_cuts" field is set.
Definition at line 7240 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_num_deterministic_batches" field is set.
Definition at line 1893 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_num_intervals_for_timetable_edge_finding" field is set.
Definition at line 4524 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_pairs_pairwise_reasoning_in_no_overlap_2d" field is set.
Definition at line 4758 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_presolve_iterations" field is set.
Definition at line 2677 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_sat_assumption_order" field is set.
Definition at line 4119 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_sat_reverse_assumption_order" field is set.
Definition at line 4150 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_sat_stratification" field is set.
Definition at line 4177 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_size_to_create_precedence_literals_in_disjunctive" field is set.
Definition at line 4289 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_time_in_seconds" field is set.
Definition at line 1830 of file SatParameters.pb.cs.
|
get |
Gets whether the "max_variable_activity_value" field is set.
Definition at line 1336 of file SatParameters.pb.cs.
|
get |
Gets whether the "merge_at_most_one_work_limit" field is set.
Definition at line 3131 of file SatParameters.pb.cs.
|
get |
Gets whether the "merge_no_overlap_work_limit" field is set.
Definition at line 3104 of file SatParameters.pb.cs.
|
get |
Gets whether the "minimization_algorithm" field is set.
Definition at line 976 of file SatParameters.pb.cs.
|
get |
Gets whether the "minimize_reduction_during_pb_resolution" field is set.
Definition at line 2387 of file SatParameters.pb.cs.
|
get |
Gets whether the "min_orthogonality_for_lp_constraints" field is set.
Definition at line 7695 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_automatically_scale_variables" field is set.
Definition at line 8197 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_check_precision" field is set.
Definition at line 8359 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_compute_true_objective_bound" field is set.
Definition at line 8393 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_drop_tolerance" field is set.
Definition at line 8494 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_max_activity_exponent" field is set.
Definition at line 8327 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_max_bound" field is set.
Definition at line 8099 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_max_valid_magnitude" field is set.
Definition at line 8427 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_presolve_level" field is set.
Definition at line 8527 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_scale_large_domain" field is set.
Definition at line 8163 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_treat_high_magnitude_bounds_as_infinity" field is set.
Definition at line 8463 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_var_scaling" field is set.
Definition at line 8131 of file SatParameters.pb.cs.
|
get |
Gets whether the "mip_wanted_precision" field is set.
Definition at line 8289 of file SatParameters.pb.cs.
|
get |
Gets whether the "name" field is set.
Definition at line 655 of file SatParameters.pb.cs.
|
get |
Gets whether the "new_constraints_batch_size" field is set.
Definition at line 7877 of file SatParameters.pb.cs.
|
get |
Gets whether the "new_linear_propagation" field is set.
Definition at line 7076 of file SatParameters.pb.cs.
|
get |
Gets whether the "num_conflicts_before_strategy_changes" field is set.
Definition at line 1768 of file SatParameters.pb.cs.
|
get |
Gets whether the "num_full_subsolvers" field is set.
Definition at line 3578 of file SatParameters.pb.cs.
|
get |
Gets whether the "num_search_workers" field is set.
Definition at line 3544 of file SatParameters.pb.cs.
|
get |
Gets whether the "num_violation_ls" field is set.
Definition at line 5738 of file SatParameters.pb.cs.
|
get |
Gets whether the "num_workers" field is set.
Definition at line 3517 of file SatParameters.pb.cs.
|
get |
Gets whether the "only_add_cuts_at_level_zero" field is set.
Definition at line 7303 of file SatParameters.pb.cs.
|
get |
Gets whether the "only_solve_ip" field is set.
Definition at line 8240 of file SatParameters.pb.cs.
|
get |
Gets whether the "optimize_with_core" field is set.
Definition at line 5256 of file SatParameters.pb.cs.
|
get |
Gets whether the "optimize_with_lb_tree_search" field is set.
Definition at line 5290 of file SatParameters.pb.cs.
|
get |
Gets whether the "optimize_with_max_hs" field is set.
Definition at line 5394 of file SatParameters.pb.cs.
|
get |
Gets whether the "pb_cleanup_increment" field is set.
Definition at line 1244 of file SatParameters.pb.cs.
|
get |
Gets whether the "pb_cleanup_ratio" field is set.
Definition at line 1271 of file SatParameters.pb.cs.
|
get |
Gets whether the "permute_presolve_constraint_order" field is set.
Definition at line 2140 of file SatParameters.pb.cs.
|
get |
Gets whether the "permute_variable_randomly" field is set.
Definition at line 2113 of file SatParameters.pb.cs.
|
get |
Gets whether the "polarity_rephase_increment" field is set.
Definition at line 783 of file SatParameters.pb.cs.
|
get |
Gets whether the "polish_lp_solution" field is set.
Definition at line 6916 of file SatParameters.pb.cs.
|
get |
Gets whether the "preferred_variable_order" field is set.
Definition at line 682 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_blocked_clause" field is set.
Definition at line 2582 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_bva_threshold" field is set.
Definition at line 2645 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_bve_clause_weight" field is set.
Definition at line 2489 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_bve_threshold" field is set.
Definition at line 2458 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_extract_integer_enforcement" field is set.
Definition at line 3199 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_inclusion_work_limit" field is set.
Definition at line 3236 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_probing_deterministic_time_limit" field is set.
Definition at line 2551 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_substitution_level" field is set.
Definition at line 3164 of file SatParameters.pb.cs.
|
get |
Gets whether the "presolve_use_bva" field is set.
Definition at line 2612 of file SatParameters.pb.cs.
|
get |
Gets whether the "probing_deterministic_time_limit" field is set.
Definition at line 2524 of file SatParameters.pb.cs.
|
get |
Gets whether the "probing_num_combinations_limit" field is set.
Definition at line 5003 of file SatParameters.pb.cs.
|
get |
Gets whether the "propagation_loop_detection_factor" field is set.
Definition at line 4216 of file SatParameters.pb.cs.
|
get |
Gets whether the "pseudo_cost_reliability_threshold" field is set.
Definition at line 5223 of file SatParameters.pb.cs.
|
get |
Gets whether the "push_all_tasks_toward_start" field is set.
Definition at line 6687 of file SatParameters.pb.cs.
|
get |
Gets whether the "random_branches_ratio" field is set.
Definition at line 849 of file SatParameters.pb.cs.
|
get |
Gets whether the "randomize_search" field is set.
Definition at line 6624 of file SatParameters.pb.cs.
|
get |
Gets whether the "random_polarity_ratio" field is set.
Definition at line 817 of file SatParameters.pb.cs.
|
get |
Gets whether the "random_seed" field is set.
Definition at line 2080 of file SatParameters.pb.cs.
|
get |
Gets whether the "relative_gap_limit" field is set.
Definition at line 2043 of file SatParameters.pb.cs.
|
get |
Gets whether the "repair_hint" field is set.
Definition at line 4880 of file SatParameters.pb.cs.
|
get |
Gets whether the "restart_dl_average_ratio" field is set.
Definition at line 1623 of file SatParameters.pb.cs.
|
get |
Gets whether the "restart_lbd_average_ratio" field is set.
Definition at line 1650 of file SatParameters.pb.cs.
|
get |
Gets whether the "restart_period" field is set.
Definition at line 1562 of file SatParameters.pb.cs.
|
get |
Gets whether the "restart_running_window_size" field is set.
Definition at line 1592 of file SatParameters.pb.cs.
|
get |
Gets whether the "root_lp_iterations" field is set.
Definition at line 7661 of file SatParameters.pb.cs.
|
get |
Gets whether the "save_lp_basis_in_lb_tree_search" field is set.
Definition at line 5326 of file SatParameters.pb.cs.
|
get |
Gets whether the "search_branching" field is set.
Definition at line 4817 of file SatParameters.pb.cs.
|
get |
Gets whether the "search_random_variable_pool_size" field is set.
Definition at line 6656 of file SatParameters.pb.cs.
|
get |
Gets whether the "share_binary_clauses" field is set.
Definition at line 3839 of file SatParameters.pb.cs.
|
get |
Gets whether the "shared_tree_max_nodes_per_worker" field is set.
Definition at line 6022 of file SatParameters.pb.cs.
|
get |
Gets whether the "shared_tree_num_workers" field is set.
Definition at line 5833 of file SatParameters.pb.cs.
|
get |
Gets whether the "shared_tree_open_leaves_per_worker" field is set.
Definition at line 5989 of file SatParameters.pb.cs.
|
get |
Gets whether the "shared_tree_split_strategy" field is set.
Definition at line 6049 of file SatParameters.pb.cs.
|
get |
Gets whether the "shared_tree_worker_enable_trail_sharing" field is set.
Definition at line 5959 of file SatParameters.pb.cs.
|
get |
Gets whether the "shared_tree_worker_min_restarts_per_subtree" field is set.
Definition at line 5926 of file SatParameters.pb.cs.
|
get |
Gets whether the "shared_tree_worker_objective_split_probability" field is set.
Definition at line 5895 of file SatParameters.pb.cs.
|
get |
Gets whether the "share_glue_clauses" field is set.
Definition at line 3870 of file SatParameters.pb.cs.
|
get |
Gets whether the "share_level_zero_bounds" field is set.
Definition at line 3809 of file SatParameters.pb.cs.
|
get |
Gets whether the "share_objective_bounds" field is set.
Definition at line 3779 of file SatParameters.pb.cs.
|
get |
Gets whether the "shaving_search_deterministic_time" field is set.
Definition at line 5065 of file SatParameters.pb.cs.
|
get |
Gets whether the "shaving_search_threshold" field is set.
Definition at line 5098 of file SatParameters.pb.cs.
|
get |
Gets whether the "solution_pool_size" field is set.
Definition at line 6445 of file SatParameters.pb.cs.
|
get |
Gets whether the "stop_after_first_solution" field is set.
Definition at line 6295 of file SatParameters.pb.cs.
|
get |
Gets whether the "stop_after_presolve" field is set.
Definition at line 6326 of file SatParameters.pb.cs.
|
get |
Gets whether the "stop_after_root_propagation" field is set.
Definition at line 6353 of file SatParameters.pb.cs.
|
get |
Gets whether the "strategy_change_increase_ratio" field is set.
Definition at line 1799 of file SatParameters.pb.cs.
|
get |
Gets whether the "subsumption_during_conflict_analysis" field is set.
Definition at line 1036 of file SatParameters.pb.cs.
|
get |
Gets whether the "symmetry_level" field is set.
Definition at line 7044 of file SatParameters.pb.cs.
|
get |
Gets whether the "table_compression_level" field is set.
Definition at line 2836 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_absl_random" field is set.
Definition at line 2167 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_area_energetic_reasoning_in_no_overlap_2d" field is set.
Definition at line 4726 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_blocking_restart" field is set.
Definition at line 1682 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_combined_no_overlap" field is set.
Definition at line 6788 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_conservative_scale_overload_checker" field is set.
Definition at line 4456 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_disjunctive_constraint_in_cumulative" field is set.
Definition at line 4628 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_dual_scheduling_heuristics" field is set.
Definition at line 4790 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_dynamic_precedence_in_cumulative" field is set.
Definition at line 4382 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_dynamic_precedence_in_disjunctive" field is set.
Definition at line 4355 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_energetic_reasoning_in_no_overlap_2d" field is set.
Definition at line 4694 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_erwa_heuristic" field is set.
Definition at line 881 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_exact_lp_reason" field is set.
Definition at line 6756 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_extended_probing" field is set.
Definition at line 4973 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_feasibility_jump" field is set.
Definition at line 5426 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_feasibility_pump" field is set.
Definition at line 6505 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_hard_precedences_in_cumulative" field is set.
Definition at line 4560 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_implied_bounds" field is set.
Definition at line 6883 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_lb_relax_lns" field is set.
Definition at line 6537 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_lns" field is set.
Definition at line 6383 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_lns_only" field is set.
Definition at line 6413 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_ls_only" field is set.
Definition at line 5457 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_objective_lb_search" field is set.
Definition at line 5129 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_objective_shaving_search" field is set.
Definition at line 5161 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_optimization_hints" field is set.
Definition at line 3996 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_optional_variables" field is set.
Definition at line 6723 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_overload_checker_in_cumulative" field is set.
Definition at line 4419 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_pb_resolution" field is set.
Definition at line 2354 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_phase_saving" field is set.
Definition at line 751 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_precedences_in_disjunctive_constraint" field is set.
Definition at line 4255 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_probing_search" field is set.
Definition at line 4943 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_rins_lns" field is set.
Definition at line 6475 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_sat_inprocessing" field is set.
Definition at line 3368 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_shared_tree_search" field is set.
Definition at line 5863 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_shaving_in_probing_search" field is set.
Definition at line 5034 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_strong_propagation_in_disjunctive" field is set.
Definition at line 4319 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_timetable_edge_finding_in_cumulative" field is set.
Definition at line 4493 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_timetabling_in_no_overlap_2d" field is set.
Definition at line 4662 of file SatParameters.pb.cs.
|
get |
Gets whether the "use_variables_shaving_search" field is set.
Definition at line 5192 of file SatParameters.pb.cs.
|
get |
Gets whether the "variable_activity_decay" field is set.
Definition at line 1309 of file SatParameters.pb.cs.
|
get |
Gets whether the "violation_ls_compound_move_probability" field is set.
Definition at line 5799 of file SatParameters.pb.cs.
|
get |
Gets whether the "violation_ls_perturbation_period" field is set.
Definition at line 5768 of file SatParameters.pb.cs.
|
getset |
Conflict limit used in the phase that exploit the solution hint.
Definition at line 4837 of file SatParameters.pb.cs.
|
getset |
If true, we don't keep names in our internal copy of the user given model.
Definition at line 3256 of file SatParameters.pb.cs.
|
get |
Rather than fully specifying subsolvers, it is often convenient to just remove the ones that are not useful on a given problem or only keep specific ones for testing. Each string is interpreted as a "glob", so we support '*' and '?'.
The way this work is that we will only accept a name that match a filter pattern (if non-empty) and do not match an ignore pattern. Note also that these fields work on LNS or LS names even if these are currently not specified via the subsolvers field.
Definition at line 3663 of file SatParameters.pb.cs.
|
getset |
Run a max-clique code amongst all the x != y we can find and try to infer set of variables that are all different. This allows to close neos16.mps for instance. Note that we only run this code if there is no all_diff already in the model so that if a user want to add some all_diff, we assume it is well done and do not try to add more.
This will also detect and add no_overlap constraints, if all the relations x != y have "offsets" between them. I.e. x > y + offset.
Definition at line 3294 of file SatParameters.pb.cs.
|
getset |
Definition at line 699 of file SatParameters.pb.cs.
|
getset |
The initial value of the variables activity. A non-zero value only make sense when use_erwa_heuristic is true. Experiments with a value of 1e-2 together with the ERWA heuristic showed slighthly better result than simply using zero. The idea is that when the "learning rate" of a variable becomes lower than this value, then we prefer to branch on never explored before variables. This is not in the ERWA paper.
Definition at line 906 of file SatParameters.pb.cs.
|
getset |
Proportion of deterministic time we should spend on inprocessing. At each "restart", if the proportion is below this ratio, we will do some inprocessing, otherwise, we skip it for this restart.
Definition at line 3390 of file SatParameters.pb.cs.
|
getset |
Parameters for an heuristic similar to the one described in "An effective learnt clause minimization approach for CDCL Sat Solvers", https://www.ijcai.org/proceedings/2017/0098.pdf.
This is the amount of dtime we should spend on this technique during each inprocessing phase. The minimization technique is the same as the one used to minimize core in max-sat. We also minimize problem clauses and not just the learned clause that we keep forever like in the paper.
Definition at line 3461 of file SatParameters.pb.cs.
|
getset |
The amount of dtime we should spend on probing for each inprocessing round.
Definition at line 3420 of file SatParameters.pb.cs.
|
getset |
If true, the solver will add a default integer branching strategy to the already defined search strategy. If not, some variable might still not be fixed at the end of the search. For now we assume these variable can just be set to their lower bound.
Definition at line 6222 of file SatParameters.pb.cs.
|
getset |
Definition at line 3739 of file SatParameters.pb.cs.
|
getset |
Experimental. If this is true, then we interleave all our major search strategy and distribute the work amongst num_workers.
The search is deterministic (independently of num_workers!), and we schedule and wait for interleave_batch_size task to be completed before synchronizing and scheduling the next batch of tasks.
Definition at line 3712 of file SatParameters.pb.cs.
|
getset |
If true, we disable the presolve reductions that remove feasible solutions from the search space. Such solution are usually dominated by a "better" solution that is kept, but depending on the situation, we might want to keep all solutions.
A trivial example is when a variable is unused. If this is true, then the presolve will not fix it to an arbitrary value and it will stay in the search space.
Definition at line 6114 of file SatParameters.pb.cs.
|
getset |
A non-negative level indicating the type of constraints we consider in the LP relaxation. At level zero, no LP relaxation is used. At level 1, only the linear constraint and full encoding are added. At level 2, we also add all the Boolean constraints.
Definition at line 7131 of file SatParameters.pb.cs.
|
getset |
Linear constraints that are not pseudo-Boolean and that are longer than this size will be split into sqrt(size) intermediate sums in order to have faster propation in the CP engine.
Definition at line 7098 of file SatParameters.pb.cs.
|
getset |
Add a prefix to all logs.
Definition at line 2252 of file SatParameters.pb.cs.
|
getset |
Whether the solver should log the search progress. This is the maing logging parameter and if this is false, none of the logging (callbacks, log_to_stdout, log_to_response, ...) will do anything.
Definition at line 2189 of file SatParameters.pb.cs.
|
getset |
Whether the solver should display per sub-solver search statistics. This is only useful is log_search_progress is set to true, and if the number of search workers is > 1. Note that in all case we display a bit of stats with one line per subsolver.
Definition at line 2222 of file SatParameters.pb.cs.
|
getset |
Log to response proto.
Definition at line 2311 of file SatParameters.pb.cs.
|
getset |
Log to stdout.
Definition at line 2281 of file SatParameters.pb.cs.
|
getset |
Definition at line 6967 of file SatParameters.pb.cs.
|
getset |
The internal LP tolerances used by CP-SAT. These applies to the internal and scaled problem. If the domains of your variables are large it might be good to use lower tolerances. If your problem is binary with low coefficients, it might be good to use higher ones to speed-up the lp solves.
Definition at line 6940 of file SatParameters.pb.cs.
|
getset |
Cut generator for all diffs can add too many cuts for large all_diff constraints. This parameter restricts the large all_diff constraints to have a cut generator.
Definition at line 7515 of file SatParameters.pb.cs.
|
getset |
Definition at line 1472 of file SatParameters.pb.cs.
|
getset |
If a constraint/cut in LP is not active for that many consecutive OPTIMAL solves, remove it from the LP. Note that it might be added again later if it become violated by the current LP solution.
Definition at line 7747 of file SatParameters.pb.cs.
|
getset |
Max number of time we perform cut generation and resolve the LP at level 0.
Definition at line 7715 of file SatParameters.pb.cs.
|
getset |
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 as close as possible to a second.
Definition at line 1852 of file SatParameters.pb.cs.
|
getset |
When loading a*x + b*y ==/!= c when x and y are both fully encoded. The solver may decide to replace the linear equation by a set of clauses. This is triggered if the sizes of the domains of x and y are below the threshold.
Definition at line 7195 of file SatParameters.pb.cs.
|
getset |
In the integer rounding procedure used for MIR and Gomory cut, the maximum "scaling" we use (must be positive). The lower this is, the lower the integer coefficients of the cut will be. Note that cut generated by lower values are not necessarily worse than cut generated by larger value. There is no strict dominance relationship.
Setting this to 2 result in the "strong fractional rouding" of Letchford and Lodi.
Definition at line 7585 of file SatParameters.pb.cs.
|
getset |
If the number of expressions in the lin_max is less that the max size parameter, model expansion replaces target = max(xi) by linear constraint with the introduction of new booleans bi such that bi => target == xi.
This is mainly for experimenting compared to a custom lin_max propagator.
Definition at line 2998 of file SatParameters.pb.cs.
|
getset |
Maximum memory allowed for the whole thread containing the solver. The solver will abort as soon as it detects that this limit is crossed. As a result, this limit is approximative, but usually the solver will not go too much over.
Definition at line 1956 of file SatParameters.pb.cs.
|
getset |
Maximum number of conflicts allowed to solve a problem.
Definition at line 1920 of file SatParameters.pb.cs.
|
getset |
The limit on the number of cuts in our cut pool. When this is reached we do not generate cuts anymore.
Definition at line 7230 of file SatParameters.pb.cs.
|
getset |
Stops after that number of batches has been scheduled. This only make sense when interleave_search is true.
Definition at line 1883 of file SatParameters.pb.cs.
|
getset |
Max number of intervals for the timetable_edge_finding algorithm to propagate. A value of 0 disables the constraint.
Definition at line 4514 of file SatParameters.pb.cs.
|
getset |
If the number of pairs to look is below this threshold, do an extra step of propagation in the no_overlap_2d constraint by looking at all pairs of intervals.
Definition at line 4748 of file SatParameters.pb.cs.
|
getset |
In case of large reduction in a presolve iteration, we perform multiple presolve iterations. This parameter controls the maximum number of such presolve iterations.
Definition at line 2667 of file SatParameters.pb.cs.
|
getset |
Definition at line 4109 of file SatParameters.pb.cs.
|
getset |
If true, adds the assumption in the reverse order of the one defined by max_sat_assumption_order.
Definition at line 4140 of file SatParameters.pb.cs.
|
getset |
Definition at line 4167 of file SatParameters.pb.cs.
|
getset |
Create one literal for each disjunction of two pairs of tasks. This slows down the solve time, but improves the lower bound of the objective in the makespan case. This will be triggered if the number of intervals is less or equal than the parameter and if use_strong_propagation_in_disjunctive is true.
Definition at line 4279 of file SatParameters.pb.cs.
|
getset |
Maximum time allowed in seconds to solve a problem. The counter will starts at the beginning of the Solve() call.
Definition at line 1820 of file SatParameters.pb.cs.
|
getset |
Definition at line 1326 of file SatParameters.pb.cs.
|
getset |
Definition at line 3121 of file SatParameters.pb.cs.
|
getset |
During presolve, we use a maximum clique heuristic to merge together no-overlap constraints or at most one constraints. This code can be slow, so we have a limit in place on the number of explored nodes in the underlying graph. The internal limit is an int64, but we use double here to simplify manual input.
Definition at line 3094 of file SatParameters.pb.cs.
|
getset |
Definition at line 966 of file SatParameters.pb.cs.
|
getset |
A different algorithm during PB resolution. It minimizes the number of calls to ReduceCoefficients() which can be time consuming. However, the search space will be different and if the coefficients are large, this may lead to integer overflows that could otherwise be prevented.
Definition at line 2377 of file SatParameters.pb.cs.
|
getset |
While adding constraints, skip the constraints which have orthogonality less than 'min_orthogonality_for_lp_constraints' with already added constraints during current call. Orthogonality is defined as 1 - cosine(vector angle between constraints). A value of zero disable this feature.
Definition at line 7685 of file SatParameters.pb.cs.
|
getset |
If true, some continuous variable might be automatically scaled. For now, this is only the case where we detect that a variable is actually an integer multiple of a constant. For instance, variables of the form k * 0.5 are quite frequent, and if we detect this, we will scale such variable domain by 2 to make it implied integer.
Definition at line 8187 of file SatParameters.pb.cs.
|
getset |
As explained in mip_precision and mip_max_activity_exponent, we cannot always reach the wanted precision during scaling. We use this threshold to enphasize in the logs when the precision seems bad.
Definition at line 8349 of file SatParameters.pb.cs.
|
getset |
Even if we make big error when scaling the objective, we can always derive a correct lower bound on the original objective by using the exact lower bound on the scaled integer version of the objective. This should be fast, but if you don't care about having a precise lower bound, you can turn it off.
Definition at line 8383 of file SatParameters.pb.cs.
|
getset |
Any value in the input mip with a magnitude lower than this will be set to zero. This is to avoid some issue in LP presolving.
Definition at line 8484 of file SatParameters.pb.cs.
|
getset |
To avoid integer overflow, we always force the maximum possible constraint activity (and objective value) according to the initial variable domain to be smaller than 2 to this given power. Because of this, we cannot always reach the "mip_wanted_precision" parameter above.
This can go as high as 62, but some internal algo currently abort early if they might run into integer overflow, so it is better to keep it a bit lower than this.
Definition at line 8317 of file SatParameters.pb.cs.
|
getset |
We need to bound the maximum magnitude of the variables for CP-SAT, and that is the bound we use. If the MIP model expect larger variable value in the solution, then the converted model will likely not be relevant.
Definition at line 8089 of file SatParameters.pb.cs.
|
getset |
Any finite values in the input MIP must be below this threshold, otherwise the model will be reported invalid. This is needed to avoid floating point overflow when evaluating bounds * coeff for instance. We are a bit more defensive, but in practice, users shouldn't use super large values in a MIP.
Definition at line 8417 of file SatParameters.pb.cs.
|
getset |
When solving a MIP, we do some basic floating point presolving before scaling the problem to integer to be handled by CP-SAT. This control how much of that presolve we do. It can help to better scale floating point model, but it is not always behaving nicely.
Definition at line 8517 of file SatParameters.pb.cs.
|
getset |
If this is false, then mip_var_scaling is only applied to variables with "small" domain. If it is true, we scale all floating point variable independenlty of their domain.
Definition at line 8153 of file SatParameters.pb.cs.
|
getset |
By default, any variable/constraint bound with a finite value and a magnitude greater than the mip_max_valid_magnitude will result with a invalid model. This flags change the behavior such that such bounds are silently transformed to +∞ or -∞.
It is recommended to keep it at false, and create valid bounds.
Definition at line 8453 of file SatParameters.pb.cs.
|
getset |
All continuous variable of the problem will be multiplied by this factor. By default, we don't do any variable scaling and rely on the MIP model to specify continuous variable domain with the wanted precision.
Definition at line 8121 of file SatParameters.pb.cs.
|
getset |
When scaling constraint with double coefficients to integer coefficients, we will multiply by a power of 2 and round the coefficients. We will choose the lowest power such that we have no potential overflow (see mip_max_activity_exponent) and the worst case constraint activity error does not exceed this threshold.
Definition at line 8279 of file SatParameters.pb.cs.
|
getset |
In some context, like in a portfolio of search, it makes sense to name a given parameters set for logging purpose.
Definition at line 646 of file SatParameters.pb.cs.
|
getset |
Add that many lazy constraints (or cuts) at once in the LP. Note that at the beginning of the solve, we do add more than this.
Definition at line 7867 of file SatParameters.pb.cs.
|
getset |
The new linear propagation code treat all constraints at once and use an adaptation of Bellman-Ford-Tarjan to propagate constraint in a smarter order and potentially detect propagation cycle earlier.
Definition at line 7066 of file SatParameters.pb.cs.
|
getset |
After each restart, if the number of conflict since the last strategy change is greater that this, then we increment a "strategy_counter" that can be use to change the search strategy used by the following restarts.
Definition at line 1758 of file SatParameters.pb.cs.
|
getset |
We distinguish subsolvers that consume a full thread, and the ones that are always interleaved. If left at zero, we will fix this with a default formula that depends on num_workers. But if you start modifying what runs, you might want to fix that to a given value depending on the num_workers you use.
Definition at line 3568 of file SatParameters.pb.cs.
|
getset |
Definition at line 3534 of file SatParameters.pb.cs.
|
getset |
This will create incomplete subsolvers (that are not LNS subsolvers) that use the feasibility jump code to find improving solution, treating the objective improvement as a hard constraint.
Definition at line 5728 of file SatParameters.pb.cs.
|
getset |
Specify the number of parallel workers (i.e. threads) to use during search. This should usually be lower than your number of available cpus + hyperthread in your machine.
A value of 0 means the solver will try to use all cores on the machine. A number of 1 means no parallelism.
Definition at line 3507 of file SatParameters.pb.cs.
|
getset |
For the cut that can be generated at any level, this control if we only try to generate them at the root node.
Definition at line 7293 of file SatParameters.pb.cs.
|
getset |
If one try to solve a MIP model with CP-SAT, because we assume all variable to be integer after scaling, we will not necessarily have the correct optimal. Note however that all feasible solutions are valid since we will just solve a more restricted version of the original problem.
This parameters is here to prevent user to think the solution is optimal when it might not be. One will need to manually set this to false to solve a MIP model where the optimal might be different.
Definition at line 8230 of file SatParameters.pb.cs.
|
getset |
The default optimization method is a simple "linear scan", each time trying to find a better solution than the previous one. If this is true, then we use a core-based approach (like in max-SAT) when we try to increase the lower bound instead.
Definition at line 5246 of file SatParameters.pb.cs.
|
getset |
Do a more conventional tree search (by opposition to SAT based one) where we keep all the explored node in a tree. This is meant to be used in a portfolio and focus on improving the objective lower bound. Keeping the whole tree allow us to report a better objective lower bound coming from the worst open node in the tree.
Definition at line 5280 of file SatParameters.pb.cs.
|
getset |
This has no effect if optimize_with_core is false. If true, use a different core-based algorithm similar to the max-HS algo for max-SAT. This is a hybrid MIP/CP approach and it uses a MIP solver in addition to the CP/SAT one. This is also related to the PhD work of tobyodavies@ "Automatic Logic-Based Benders Decomposition with MiniZinc" http://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14489.
Definition at line 5384 of file SatParameters.pb.cs.
|
staticget |
Definition at line 345 of file SatParameters.pb.cs.
|
getset |
Same as for the clauses, but for the learned pseudo-Boolean constraints.
Definition at line 1234 of file SatParameters.pb.cs.
|
getset |
Definition at line 1261 of file SatParameters.pb.cs.
|
getset |
Definition at line 2130 of file SatParameters.pb.cs.
|
getset |
This is mainly here to test the solver variability. Note that in tests, if not explicitly set to false, all 3 options will be set to true so that clients do not rely on the solver returning a specific solution if they are many equivalent optimal solutions.
Definition at line 2103 of file SatParameters.pb.cs.
|
getset |
If non-zero, then we change the polarity heuristic after that many number of conflicts in an arithmetically increasing fashion. So x the first time, 2 * x the second time, etc...
Definition at line 773 of file SatParameters.pb.cs.
|
getset |
Whether we try to do a few degenerate iteration at the end of an LP solve to minimize the fractionality of the integer variable in the basis. This helps on some problems, but not so much on others. It also cost of bit of time to do such polish step.
Definition at line 6906 of file SatParameters.pb.cs.
|
getset |
Definition at line 672 of file SatParameters.pb.cs.
|
getset |
Whether we use an heuristic to detect some basic case of blocked clause in the SAT presolve.
Definition at line 2572 of file SatParameters.pb.cs.
|
getset |
Apply Bounded Variable Addition (BVA) if the number of clauses is reduced by stricly more than this threshold. The algorithm described in the paper uses 0, but quick experiments showed that 1 is a good value. It may not be worth it to add a new variable just to remove one clause.
Definition at line 2635 of file SatParameters.pb.cs.
|
getset |
During presolve, we apply BVE only if this weight times the number of clauses plus the number of clause literals is not increased.
Definition at line 2479 of file SatParameters.pb.cs.
|
getset |
During presolve, only try to perform the bounded variable elimination (BVE) of a variable x if the number of occurrences of x times the number of occurrences of not(x) is not greater than this parameter.
Definition at line 2448 of file SatParameters.pb.cs.
|
getset |
If true, we will extract from linear constraints, enforcement literals of the form "integer variable at bound => simplified constraint". This should always be beneficial except that we don't always handle them as efficiently as we could for now. This causes problem on manna81.mps (LP relaxation not as tight it seems) and on neos-3354841-apure.mps.gz (too many literals created this way).
Definition at line 3189 of file SatParameters.pb.cs.
|
getset |
A few presolve operations involve detecting constraints included in other constraint. Since there can be a quadratic number of such pairs, and processing them usually involve scanning them, the complexity of these operations can be big. This enforce a local deterministic limit on the number of entries scanned. Default is 1e8.
A value of zero will disable these presolve rules completely.
Definition at line 3226 of file SatParameters.pb.cs.
|
getset |
Definition at line 2541 of file SatParameters.pb.cs.
|
getset |
How much substitution (also called free variable aggregation in MIP litterature) should we perform at presolve. This currently only concerns variable appearing only in linear constraints. For now the value 0 turns it off and any positive value performs substitution.
Definition at line 3154 of file SatParameters.pb.cs.
|
getset |
Whether or not we use Bounded Variable Addition (BVA) in the presolve.
Definition at line 2602 of file SatParameters.pb.cs.
|
getset |
The maximum "deterministic" time limit to spend in probing. A value of zero will disable the probing.
Definition at line 2514 of file SatParameters.pb.cs.
|
getset |
How many combinations of pairs or triplets of variables we want to scan.
Definition at line 4993 of file SatParameters.pb.cs.
|
getset |
Some search decisions might cause a really large number of propagations to happen when integer variables with large domains are only reduced by 1 at each step. If we propagate more than the number of variable times this parameters we try to take counter-measure. Setting this to 0.0 disable this feature.
Definition at line 4206 of file SatParameters.pb.cs.
|
getset |
The solver ignores the pseudo costs of variables with number of recordings less than this threshold.
Definition at line 5213 of file SatParameters.pb.cs.
|
getset |
Experimental code: specify if the objective pushes all tasks toward the start of the schedule.
Definition at line 6677 of file SatParameters.pb.cs.
|
getset |
A number between 0 and 1 that indicates the proportion of branching variables that are selected randomly instead of choosing the first variable from the given variable_ordering strategy.
Definition at line 839 of file SatParameters.pb.cs.
|
getset |
Randomize fixed search.
Definition at line 6614 of file SatParameters.pb.cs.
|
getset |
The proportion of polarity chosen at random. Note that this take precedence over the phase saving heuristic. This is different from initial_polarity:POLARITY_RANDOM because it will select a new random polarity each time the variable is branched upon instead of selecting one initially and then always taking this choice.
Definition at line 807 of file SatParameters.pb.cs.
|
getset |
At the beginning of each solve, the random number generator used in some part of the solver is reinitialized to this seed. If you change the random seed, the solver may make different choices during the solving process.
For some problems, the running time may vary a lot depending on small change in the solving algorithm. Running the solver with different seeds enables to have more robust benchmarks when evaluating new features.
Definition at line 2070 of file SatParameters.pb.cs.
|
getset |
Definition at line 2033 of file SatParameters.pb.cs.
|
getset |
If true, the solver tries to repair the solution given in the hint. This search terminates after the 'hint_conflict_limit' is reached and the solver switches to regular search. If false, then we do a FIXED_SEARCH using the hint until the hint_conflict_limit is reached.
Definition at line 4870 of file SatParameters.pb.cs.
|
get |
The restart strategies will change each time the strategy_counter is increased. The current strategy will simply be the one at index strategy_counter modulo the number of strategy. Note that if this list includes a NO_RESTART, nothing will change when it is reached because the strategy_counter will only increment after a restart.
The idea of switching of search strategy tailored for SAT/UNSAT comes from Chanseok Oh with his COMiniSatPS solver, see http://cs.nyu.edu/~chanseok/. But more generally, it seems REALLY beneficial to try different strategy.
Definition at line 1511 of file SatParameters.pb.cs.
|
getset |
In the moving average restart algorithms, a restart is triggered if the window average times this ratio is greater that the global average.
Definition at line 1613 of file SatParameters.pb.cs.
|
getset |
Definition at line 1640 of file SatParameters.pb.cs.
|
getset |
Restart period for the FIXED_RESTART strategy. This is also the multiplier used by the LUBY_RESTART strategy.
Definition at line 1552 of file SatParameters.pb.cs.
|
getset |
Size of the window for the moving average restarts.
Definition at line 1582 of file SatParameters.pb.cs.
|
getset |
Even at the root node, we do not want to spend too much time on the LP if it is "difficult". So we solve it in "chunks" of that many iterations. The solve will be continued down in the tree or the next time we go back to the root node.
Definition at line 7651 of file SatParameters.pb.cs.
|
getset |
Experimental. Save the current LP basis at each node of the search tree so that when we jump around, we can load it and reduce the number of LP iterations needed.
It currently works okay if we do not change the lp with cuts or simplification... More work is needed to make it robust in all cases.
Definition at line 5316 of file SatParameters.pb.cs.
|
getset |
Definition at line 4807 of file SatParameters.pb.cs.
|
getset |
Search randomization will collect the top 'search_random_variable_pool_size' valued variables, and pick one randomly. The value of the variable is specific to each strategy.
Definition at line 6646 of file SatParameters.pb.cs.
|
getset |
Allows sharing of new learned binary clause between workers.
Definition at line 3829 of file SatParameters.pb.cs.
|
getset |
In order to limit total shared memory and communication overhead, limit the total number of nodes that may be generated in the shared tree. If the shared tree runs out of unassigned leaves, workers act as portfolio workers. Note: this limit includes interior nodes, not just leaves.
Definition at line 6012 of file SatParameters.pb.cs.
|
getset |
Enables experimental workstealing-like shared tree search. If non-zero, start this many complete worker threads to explore a shared search tree. These workers communicate objective bounds and simple decision nogoods relating to the shared prefix of the tree, and will avoid exploring the same subtrees as one another.
Definition at line 5823 of file SatParameters.pb.cs.
|
getset |
How many open leaf nodes should the shared tree maintain per worker.
Definition at line 5979 of file SatParameters.pb.cs.
|
getset |
Definition at line 6039 of file SatParameters.pb.cs.
|
getset |
If true, workers share more of the information from their local trail. Specifically, literals implied by the shared tree decisions and the longest conflict-free assignment from the last restart (to enable cross-worker phase-saving).
Definition at line 5949 of file SatParameters.pb.cs.
|
getset |
Minimum number of restarts before a worker will replace a subtree that looks "bad" based on the average LBD of learned clauses.
Definition at line 5916 of file SatParameters.pb.cs.
|
getset |
After their assigned prefix, shared tree workers will branch on the objective with this probability. Higher numbers cause the shared tree search to focus on improving the lower bound over finding primal solutions.
Definition at line 5885 of file SatParameters.pb.cs.
|
getset |
Allows sharing of short glue clauses between workers. Implicitly disabled if share_binary_clauses is false.
Definition at line 3860 of file SatParameters.pb.cs.
|
getset |
Allows sharing of the bounds of modified variables at level 0.
Definition at line 3799 of file SatParameters.pb.cs.
|
getset |
Allows objective sharing between workers.
Definition at line 3769 of file SatParameters.pb.cs.
|
getset |
Specifies the amount of deterministic time spent of each try at shaving a bound in the shaving search.
Definition at line 5055 of file SatParameters.pb.cs.
|
getset |
Specifies the threshold between two modes in the shaving procedure. If the range of the variable/objective is less than this threshold, then the shaving procedure will try to remove values one by one. Otherwise, it will try to remove one range at a time.
Definition at line 5088 of file SatParameters.pb.cs.
|
getset |
Size of the top-n different solutions kept by the solver. This parameter must be > 0. Currently this only impact the "base" solution chosen for a LNS fragment.
Definition at line 6435 of file SatParameters.pb.cs.
|
getset |
For an optimization problem, stop the solver as soon as we have a solution.
Definition at line 6285 of file SatParameters.pb.cs.
|
getset |
Mainly used when improving the presolver. When true, stops the solver after the presolve is complete (or after loading and root level propagation).
Definition at line 6316 of file SatParameters.pb.cs.
|
getset |
Definition at line 6343 of file SatParameters.pb.cs.
|
getset |
The parameter num_conflicts_before_strategy_changes is increased by that much after each strategy change.
Definition at line 1789 of file SatParameters.pb.cs.
|
get |
It is possible to specify additional subsolver configuration. These can be referred by their params.name() in the fields above. Note that only the specified field will "overwrite" the ones of the base parameter. If a subsolver_params has the name of an existing subsolver configuration, the named parameters will be merged into the subsolver configuration.
Definition at line 3692 of file SatParameters.pb.cs.
|
get |
In multi-thread, the solver can be mainly seen as a portfolio of solvers with different parameters. This field indicates the names of the parameters that are used in multithread. This only applies to "full" subsolvers.
See cp_model_search.cc to see a list of the names and the default value (if left empty) that looks like:
Definition at line 3625 of file SatParameters.pb.cs.
|
getset |
At a really low cost, during the 1-UIP conflict computation, it is easy to detect if some of the involved reasons are subsumed by the current conflict. When this is true, such clauses are detached and later removed from the problem.
Definition at line 1026 of file SatParameters.pb.cs.
|
getset |
Whether we try to automatically detect the symmetries in a model and exploit them. Currently, at level 1 we detect them in presolve and try to fix Booleans. At level 2, we also do some form of dynamic symmetry breaking during search. At level 3, we also detect symmetries for very large models, which can be slow. At level 4, we try to break as much symmetry as possible in presolve.
Definition at line 7034 of file SatParameters.pb.cs.
|
getset |
How much we try to "compress" a table constraint. Compressing more leads to less Booleans and faster propagation but can reduced the quality of the lp relaxation. Values goes from 0 to 3 where we always try to fully compress a table. At 2, we try to automatically decide if it is worth it.
Definition at line 2826 of file SatParameters.pb.cs.
|
getset |
Definition at line 2157 of file SatParameters.pb.cs.
|
getset |
When this is true, the no_overlap_2d constraint is reinforced with an energetic reasoning that uses an area-based energy. This can be combined with the two other overlap heuristics above.
Definition at line 4716 of file SatParameters.pb.cs.
|
getset |
Block a moving restart algorithm if the trail size of the current conflict is greater than the multiplier times the moving average of the trail size at the previous conflicts.
Definition at line 1672 of file SatParameters.pb.cs.
|
getset |
This can be beneficial if there is a lot of no-overlap constraints but a relatively low number of different intervals in the problem. Like 1000 intervals, but 1M intervals in the no-overlap constraints covering them.
Definition at line 6778 of file SatParameters.pb.cs.
|
getset |
Enable a heuristic to solve cumulative constraints using a modified energy constraint. We modify the usual energy definition by applying a super-additive function (also called "conservative scale" or "dual-feasible function") to the demand and the durations of the tasks.
This heuristic is fast but for most problems it does not help much to find a solution.
Definition at line 4446 of file SatParameters.pb.cs.
|
getset |
When this is true, the cumulative constraint is reinforced with propagators from the disjunctive constraint to improve the inference on a set of tasks that are disjunctive at the root of the problem. This additional level supplements the default level of reasoning.
Propagators of the cumulative constraint will not be used at all if all the tasks are disjunctive at root node. This always result in better propagation, but it is usually slow, so depending on the problem, turning this off may lead to a faster solution.
Definition at line 4618 of file SatParameters.pb.cs.
|
getset |
When set, it activates a few scheduling parameters to improve the lower bound of scheduling problems. This is only effective with multiple workers as it modifies the reduced_cost, lb_tree_search, and probing workers.
Definition at line 4780 of file SatParameters.pb.cs.
|
getset |
Definition at line 4372 of file SatParameters.pb.cs.
|
getset |
Whether we try to branch on decision "interval A before interval B" rather than on intervals bounds. This usually works better, but slow down a bit the time to find the first solution.
These parameters are still EXPERIMENTAL, the result should be correct, but it some corner cases, they can cause some failing CHECK in the solver.
Definition at line 4345 of file SatParameters.pb.cs.
|
getset |
When this is true, the no_overlap_2d constraint is reinforced with energetic reasoning. This additional level supplements the default level of reasoning.
Definition at line 4684 of file SatParameters.pb.cs.
|
getset |
Whether we use the ERWA (Exponential Recency Weighted Average) heuristic as described in "Learning Rate Based Branching Heuristic for SAT solvers", J.H.Liang, V. Ganesh, P. Poupart, K.Czarnecki, SAT 2016.
Definition at line 871 of file SatParameters.pb.cs.
|
getset |
The solver usually exploit the LP relaxation of a model. If this option is true, then whatever is infered by the LP will be used like an heuristic to compute EXACT propagation on the IP. So with this option, there is no numerical imprecision issues.
Definition at line 6746 of file SatParameters.pb.cs.
|
getset |
Use extended probing (probe bool_or, at_most_one, exactly_one).
Definition at line 4963 of file SatParameters.pb.cs.
|
getset |
Parameters for an heuristic similar to the one described in the paper: "Feasibility Jump: an LP-free Lagrangian MIP heuristic", Bjørnar Luteberget, Giorgio Sartor, 2023, Mathematical Programming Computation.
Definition at line 5416 of file SatParameters.pb.cs.
|
getset |
Adds a feasibility pump subsolver along with lns subsolvers.
Definition at line 6495 of file SatParameters.pb.cs.
|
getset |
If true, detect and create constraint for integer variable that are "after" a set of intervals in the same cumulative constraint.
Experimental: by default we just use "direct" precedences. If exploit_all_precedences is true, we explore the full precedence graph. This assumes we have a DAG otherwise it fails.
Definition at line 4550 of file SatParameters.pb.cs.
|
getset |
Stores and exploits "implied-bounds" in the solver. That is, relations of the form literal => (var >= bound). This is currently used to derive stronger cuts.
Definition at line 6873 of file SatParameters.pb.cs.
|
getset |
Turns on neighborhood generator based on local branching LP. Based on Huang et al., "Local Branching Relaxation Heuristics for Integer Linear Programs", 2023.
Definition at line 6527 of file SatParameters.pb.cs.
|
getset |
Testing parameters used to disable all lns workers.
Definition at line 6373 of file SatParameters.pb.cs.
|
getset |
Experimental parameters to disable everything but lns.
Definition at line 6403 of file SatParameters.pb.cs.
|
getset |
Disable every other type of subsolver, setting this turns CP-SAT into a pure local-search solver.
Definition at line 5447 of file SatParameters.pb.cs.
|
getset |
If true, search will search in ascending max objective value (when minimizing) starting from the lower bound of the objective.
Definition at line 5119 of file SatParameters.pb.cs.
|
getset |
This search differs from the previous search as it will not use assumptions to bound the objective, and it will recreate a full model with the hardcoded objective value.
Definition at line 5151 of file SatParameters.pb.cs.
|
getset |
For an optimization problem, whether we follow some hints in order to find a better first solution. For a variable with hint, the solver will always try to follow the hint. It will revert to the variable_branching default otherwise.
Definition at line 3986 of file SatParameters.pb.cs.
|
getset |
If true, we automatically detect variables whose constraint are always enforced by the same literal and we mark them as optional. This allows to propagate them as if they were present in some situation.
Definition at line 6713 of file SatParameters.pb.cs.
|
getset |
When this is true, the cumulative constraint is reinforced with overload checking, i.e., an additional level of reasoning based on energy. This additional level supplements the default level of reasoning as well as timetable edge finding.
This always result in better propagation, but it is usually slow, so depending on the problem, turning this off may lead to a faster solution.
Definition at line 4409 of file SatParameters.pb.cs.
|
getset |
Whether to use pseudo-Boolean resolution to analyze a conflict. Note that this option only make sense if your problem is modelized using pseudo-Boolean constraints. If you only have clauses, this shouldn't change anything (except slow the solver down).
Definition at line 2344 of file SatParameters.pb.cs.
|
getset |
If this is true, then the polarity of a variable will be the last value it was assigned to, or its default polarity if it was never assigned since the call to ResetDecisionHeuristic().
Actually, we use a newer version where we follow the last value in the longest non-conflicting partial assignment in the current phase. This is called 'literal phase saving'. For details see 'A Lightweight Component Caching Scheme for Satisfiability Solvers' K. Pipatsrisawat and A.Darwiche, In 10th International Conference on Theory and Applications of Satisfiability Testing, 2007.
Definition at line 741 of file SatParameters.pb.cs.
|
getset |
When this is true, then a disjunctive constraint will try to use the precedence relations between time intervals to propagate their bounds further. For instance if task A and B are both before C and task A and B are in disjunction, then we can deduce that task C must start after duration(A) + duration(B) instead of simply max(duration(A), duration(B)), provided that the start time for all task was currently zero.
This always result in better propagation, but it is usually slow, so depending on the problem, turning this off may lead to a faster solution.
Definition at line 4245 of file SatParameters.pb.cs.
|
getset |
If true, search will continuously probe Boolean variables, and integer variable bounds. This parameter is set to true in parallel on the probing worker.
Definition at line 4933 of file SatParameters.pb.cs.
|
getset |
Turns on relaxation induced neighborhood generator.
Definition at line 6465 of file SatParameters.pb.cs.
|
getset |
Enable or disable "inprocessing" which is some SAT presolving done at each restart to the root level.
Definition at line 3358 of file SatParameters.pb.cs.
|
getset |
Set on shared subtree workers. Users should not set this directly.
Definition at line 5853 of file SatParameters.pb.cs.
|
getset |
Add a shaving phase (where the solver tries to prove that the lower or upper bound of a variable are infeasible) to the probing search.
Definition at line 5024 of file SatParameters.pb.cs.
|
getset |
Enable stronger and more expensive propagation on no_overlap constraint.
Definition at line 4309 of file SatParameters.pb.cs.
|
getset |
When this is true, the cumulative constraint is reinforced with timetable edge finding, i.e., an additional level of reasoning based on the conjunction of energy and mandatory parts. This additional level supplements the default level of reasoning as well as overload_checker.
This always result in better propagation, but it is usually slow, so depending on the problem, turning this off may lead to a faster solution.
Definition at line 4483 of file SatParameters.pb.cs.
|
getset |
When this is true, the no_overlap_2d constraint is reinforced with propagators from the cumulative constraints. It consists of ignoring the position of rectangles in one position and projecting the no_overlap_2d on the other dimension to create a cumulative constraint. This is done on both axis. This additional level supplements the default level of reasoning.
Definition at line 4652 of file SatParameters.pb.cs.
|
getset |
This search takes all Boolean or integer variables, and maximize or minimize them in order to reduce their domain.
Definition at line 5182 of file SatParameters.pb.cs.
|
getset |
Each time a conflict is found, the activities of some variables are increased by one. Then, the activity of all variables are multiplied by variable_activity_decay.
To implement this efficiently, the activity of all the variables is not decayed at each conflict. Instead, the activity increment is multiplied by 1 / decay. When an activity reach max_variable_activity_value, all the activity are multiplied by 1 / max_variable_activity_value.
Definition at line 1299 of file SatParameters.pb.cs.
|
getset |
Probability of using compound move search each restart.
Definition at line 5789 of file SatParameters.pb.cs.
|
getset |
How long violation_ls should wait before perturbating a solution.
Definition at line 5758 of file SatParameters.pb.cs.