Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
Google.OrTools.Glop.GlopParameters Class Referencesealed

next id = 72 More...

Inheritance diagram for Google.OrTools.Glop.GlopParameters:

Classes

class  Types
 Container for nested types declared in the GlopParameters message type. More...
 

Public Member Functions

 GlopParameters ()
 
 GlopParameters (GlopParameters other)
 
GlopParameters Clone ()
 
void ClearScalingMethod ()
 Clears the value of the "scaling_method" field.
 
void ClearFeasibilityRule ()
 Clears the value of the "feasibility_rule" field.
 
void ClearOptimizationRule ()
 Clears the value of the "optimization_rule" field.
 
void ClearRefactorizationThreshold ()
 Clears the value of the "refactorization_threshold" field.
 
void ClearRecomputeReducedCostsThreshold ()
 Clears the value of the "recompute_reduced_costs_threshold" field.
 
void ClearRecomputeEdgesNormThreshold ()
 Clears the value of the "recompute_edges_norm_threshold" field.
 
void ClearPrimalFeasibilityTolerance ()
 Clears the value of the "primal_feasibility_tolerance" field.
 
void ClearDualFeasibilityTolerance ()
 Clears the value of the "dual_feasibility_tolerance" field.
 
void ClearRatioTestZeroThreshold ()
 Clears the value of the "ratio_test_zero_threshold" field.
 
void ClearHarrisToleranceRatio ()
 Clears the value of the "harris_tolerance_ratio" field.
 
void ClearSmallPivotThreshold ()
 Clears the value of the "small_pivot_threshold" field.
 
void ClearMinimumAcceptablePivot ()
 Clears the value of the "minimum_acceptable_pivot" field.
 
void ClearDropTolerance ()
 Clears the value of the "drop_tolerance" field.
 
void ClearUseScaling ()
 Clears the value of the "use_scaling" field.
 
void ClearCostScaling ()
 Clears the value of the "cost_scaling" field.
 
void ClearInitialBasis ()
 Clears the value of the "initial_basis" field.
 
void ClearUseTransposedMatrix ()
 Clears the value of the "use_transposed_matrix" field.
 
void ClearBasisRefactorizationPeriod ()
 Clears the value of the "basis_refactorization_period" field.
 
void ClearDynamicallyAdjustRefactorizationPeriod ()
 Clears the value of the "dynamically_adjust_refactorization_period" field.
 
void ClearSolveDualProblem ()
 Clears the value of the "solve_dual_problem" field.
 
void ClearDualizerThreshold ()
 Clears the value of the "dualizer_threshold" field.
 
void ClearSolutionFeasibilityTolerance ()
 Clears the value of the "solution_feasibility_tolerance" field.
 
void ClearProvideStrongOptimalGuarantee ()
 Clears the value of the "provide_strong_optimal_guarantee" field.
 
void ClearChangeStatusToImprecise ()
 Clears the value of the "change_status_to_imprecise" field.
 
void ClearMaxNumberOfReoptimizations ()
 Clears the value of the "max_number_of_reoptimizations" field.
 
void ClearLuFactorizationPivotThreshold ()
 Clears the value of the "lu_factorization_pivot_threshold" 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 ClearMaxNumberOfIterations ()
 Clears the value of the "max_number_of_iterations" field.
 
void ClearMarkowitzZlatevParameter ()
 Clears the value of the "markowitz_zlatev_parameter" field.
 
void ClearMarkowitzSingularityThreshold ()
 Clears the value of the "markowitz_singularity_threshold" field.
 
void ClearUseDualSimplex ()
 Clears the value of the "use_dual_simplex" field.
 
void ClearAllowSimplexAlgorithmChange ()
 Clears the value of the "allow_simplex_algorithm_change" field.
 
void ClearDevexWeightsResetPeriod ()
 Clears the value of the "devex_weights_reset_period" field.
 
void ClearUsePreprocessing ()
 Clears the value of the "use_preprocessing" field.
 
void ClearUseMiddleProductFormUpdate ()
 Clears the value of the "use_middle_product_form_update" field.
 
void ClearInitializeDevexWithColumnNorms ()
 Clears the value of the "initialize_devex_with_column_norms" field.
 
void ClearExploitSingletonColumnInInitialBasis ()
 Clears the value of the "exploit_singleton_column_in_initial_basis" field.
 
void ClearDualSmallPivotThreshold ()
 Clears the value of the "dual_small_pivot_threshold" field.
 
void ClearPreprocessorZeroTolerance ()
 Clears the value of the "preprocessor_zero_tolerance" field.
 
void ClearObjectiveLowerLimit ()
 Clears the value of the "objective_lower_limit" field.
 
void ClearObjectiveUpperLimit ()
 Clears the value of the "objective_upper_limit" field.
 
void ClearDegenerateMinistepFactor ()
 Clears the value of the "degenerate_ministep_factor" field.
 
void ClearRandomSeed ()
 Clears the value of the "random_seed" field.
 
void ClearNumOmpThreads ()
 Clears the value of the "num_omp_threads" field.
 
void ClearPerturbCostsInDualSimplex ()
 Clears the value of the "perturb_costs_in_dual_simplex" field.
 
void ClearUseDedicatedDualFeasibilityAlgorithm ()
 Clears the value of the "use_dedicated_dual_feasibility_algorithm" field.
 
void ClearRelativeCostPerturbation ()
 Clears the value of the "relative_cost_perturbation" field.
 
void ClearRelativeMaxCostPerturbation ()
 Clears the value of the "relative_max_cost_perturbation" field.
 
void ClearInitialConditionNumberThreshold ()
 Clears the value of the "initial_condition_number_threshold" field.
 
void ClearLogSearchProgress ()
 Clears the value of the "log_search_progress" field.
 
void ClearLogToStdout ()
 Clears the value of the "log_to_stdout" field.
 
void ClearCrossoverBoundSnappingDistance ()
 Clears the value of the "crossover_bound_snapping_distance" field.
 
void ClearPushToVertex ()
 Clears the value of the "push_to_vertex" field.
 
void ClearUseImpliedFreePreprocessor ()
 Clears the value of the "use_implied_free_preprocessor" field.
 
void ClearMaxValidMagnitude ()
 Clears the value of the "max_valid_magnitude" field.
 
void ClearDropMagnitude ()
 Clears the value of the "drop_magnitude" field.
 
void ClearDualPricePrioritizeNorm ()
 Clears the value of the "dual_price_prioritize_norm" field.
 
override bool Equals (object other)
 
bool Equals (GlopParameters other)
 
override int GetHashCode ()
 
override string ToString ()
 
void WriteTo (pb::CodedOutputStream output)
 
int CalculateSize ()
 
void MergeFrom (GlopParameters other)
 
void MergeFrom (pb::CodedInputStream input)
 

Static Public Attributes

const int ScalingMethodFieldNumber = 57
 Field number for the "scaling_method" field.
 
const int FeasibilityRuleFieldNumber = 1
 Field number for the "feasibility_rule" field.
 
const int OptimizationRuleFieldNumber = 2
 Field number for the "optimization_rule" field.
 
const int RefactorizationThresholdFieldNumber = 6
 Field number for the "refactorization_threshold" field.
 
const int RecomputeReducedCostsThresholdFieldNumber = 8
 Field number for the "recompute_reduced_costs_threshold" field.
 
const int RecomputeEdgesNormThresholdFieldNumber = 9
 Field number for the "recompute_edges_norm_threshold" field.
 
const int PrimalFeasibilityToleranceFieldNumber = 10
 Field number for the "primal_feasibility_tolerance" field.
 
const int DualFeasibilityToleranceFieldNumber = 11
 Field number for the "dual_feasibility_tolerance" field.
 
const int RatioTestZeroThresholdFieldNumber = 12
 Field number for the "ratio_test_zero_threshold" field.
 
const int HarrisToleranceRatioFieldNumber = 13
 Field number for the "harris_tolerance_ratio" field.
 
const int SmallPivotThresholdFieldNumber = 14
 Field number for the "small_pivot_threshold" field.
 
const int MinimumAcceptablePivotFieldNumber = 15
 Field number for the "minimum_acceptable_pivot" field.
 
const int DropToleranceFieldNumber = 52
 Field number for the "drop_tolerance" field.
 
const int UseScalingFieldNumber = 16
 Field number for the "use_scaling" field.
 
const int CostScalingFieldNumber = 60
 Field number for the "cost_scaling" field.
 
const int InitialBasisFieldNumber = 17
 Field number for the "initial_basis" field.
 
const int UseTransposedMatrixFieldNumber = 18
 Field number for the "use_transposed_matrix" field.
 
const int BasisRefactorizationPeriodFieldNumber = 19
 Field number for the "basis_refactorization_period" field.
 
const int DynamicallyAdjustRefactorizationPeriodFieldNumber = 63
 Field number for the "dynamically_adjust_refactorization_period" field.
 
const int SolveDualProblemFieldNumber = 20
 Field number for the "solve_dual_problem" field.
 
const int DualizerThresholdFieldNumber = 21
 Field number for the "dualizer_threshold" field.
 
const int SolutionFeasibilityToleranceFieldNumber = 22
 Field number for the "solution_feasibility_tolerance" field.
 
const int ProvideStrongOptimalGuaranteeFieldNumber = 24
 Field number for the "provide_strong_optimal_guarantee" field.
 
const int ChangeStatusToImpreciseFieldNumber = 58
 Field number for the "change_status_to_imprecise" field.
 
const int MaxNumberOfReoptimizationsFieldNumber = 56
 Field number for the "max_number_of_reoptimizations" field.
 
const int LuFactorizationPivotThresholdFieldNumber = 25
 Field number for the "lu_factorization_pivot_threshold" field.
 
const int MaxTimeInSecondsFieldNumber = 26
 Field number for the "max_time_in_seconds" field.
 
const int MaxDeterministicTimeFieldNumber = 45
 Field number for the "max_deterministic_time" field.
 
const int MaxNumberOfIterationsFieldNumber = 27
 Field number for the "max_number_of_iterations" field.
 
const int MarkowitzZlatevParameterFieldNumber = 29
 Field number for the "markowitz_zlatev_parameter" field.
 
const int MarkowitzSingularityThresholdFieldNumber = 30
 Field number for the "markowitz_singularity_threshold" field.
 
const int UseDualSimplexFieldNumber = 31
 Field number for the "use_dual_simplex" field.
 
const int AllowSimplexAlgorithmChangeFieldNumber = 32
 Field number for the "allow_simplex_algorithm_change" field.
 
const int DevexWeightsResetPeriodFieldNumber = 33
 Field number for the "devex_weights_reset_period" field.
 
const int UsePreprocessingFieldNumber = 34
 Field number for the "use_preprocessing" field.
 
const int UseMiddleProductFormUpdateFieldNumber = 35
 Field number for the "use_middle_product_form_update" field.
 
const int InitializeDevexWithColumnNormsFieldNumber = 36
 Field number for the "initialize_devex_with_column_norms" field.
 
const int ExploitSingletonColumnInInitialBasisFieldNumber = 37
 Field number for the "exploit_singleton_column_in_initial_basis" field.
 
const int DualSmallPivotThresholdFieldNumber = 38
 Field number for the "dual_small_pivot_threshold" field.
 
const int PreprocessorZeroToleranceFieldNumber = 39
 Field number for the "preprocessor_zero_tolerance" field.
 
const int ObjectiveLowerLimitFieldNumber = 40
 Field number for the "objective_lower_limit" field.
 
const int ObjectiveUpperLimitFieldNumber = 41
 Field number for the "objective_upper_limit" field.
 
const int DegenerateMinistepFactorFieldNumber = 42
 Field number for the "degenerate_ministep_factor" field.
 
const int RandomSeedFieldNumber = 43
 Field number for the "random_seed" field.
 
const int NumOmpThreadsFieldNumber = 44
 Field number for the "num_omp_threads" field.
 
const int PerturbCostsInDualSimplexFieldNumber = 53
 Field number for the "perturb_costs_in_dual_simplex" field.
 
const int UseDedicatedDualFeasibilityAlgorithmFieldNumber = 62
 Field number for the "use_dedicated_dual_feasibility_algorithm" field.
 
const int RelativeCostPerturbationFieldNumber = 54
 Field number for the "relative_cost_perturbation" field.
 
const int RelativeMaxCostPerturbationFieldNumber = 55
 Field number for the "relative_max_cost_perturbation" field.
 
const int InitialConditionNumberThresholdFieldNumber = 59
 Field number for the "initial_condition_number_threshold" field.
 
const int LogSearchProgressFieldNumber = 61
 Field number for the "log_search_progress" field.
 
const int LogToStdoutFieldNumber = 66
 Field number for the "log_to_stdout" field.
 
const int CrossoverBoundSnappingDistanceFieldNumber = 64
 Field number for the "crossover_bound_snapping_distance" field.
 
const int PushToVertexFieldNumber = 65
 Field number for the "push_to_vertex" field.
 
const int UseImpliedFreePreprocessorFieldNumber = 67
 Field number for the "use_implied_free_preprocessor" field.
 
const int MaxValidMagnitudeFieldNumber = 70
 Field number for the "max_valid_magnitude" field.
 
const int DropMagnitudeFieldNumber = 71
 Field number for the "drop_magnitude" field.
 
const int DualPricePrioritizeNormFieldNumber = 69
 Field number for the "dual_price_prioritize_norm" field.
 

Properties

static pb::MessageParser< GlopParametersParser [get]
 
static pbr::MessageDescriptor Descriptor [get]
 
global::Google.OrTools.Glop.GlopParameters.Types.ScalingAlgorithm ScalingMethod [get, set]
 
bool HasScalingMethod [get]
 Gets whether the "scaling_method" field is set.
 
global::Google.OrTools.Glop.GlopParameters.Types.PricingRule FeasibilityRule [get, set]
 PricingRule to use during the feasibility phase.
 
bool HasFeasibilityRule [get]
 Gets whether the "feasibility_rule" field is set.
 
global::Google.OrTools.Glop.GlopParameters.Types.PricingRule OptimizationRule [get, set]
 PricingRule to use during the optimization phase.
 
bool HasOptimizationRule [get]
 Gets whether the "optimization_rule" field is set.
 
double RefactorizationThreshold [get, set]
 We estimate the factorization accuracy of B during each pivot by using the fact that we can compute the pivot coefficient in two ways:
 
bool HasRefactorizationThreshold [get]
 Gets whether the "refactorization_threshold" field is set.
 
double RecomputeReducedCostsThreshold [get, set]
 We estimate the accuracy of the iteratively computed reduced costs. If it falls below this threshold, we reinitialize them from scratch. Note that such an operation is pretty fast, so we can use a low threshold. It is important to have a good accuracy here (better than the dual_feasibility_tolerance below) to be sure of the sign of such a cost.
 
bool HasRecomputeReducedCostsThreshold [get]
 Gets whether the "recompute_reduced_costs_threshold" field is set.
 
double RecomputeEdgesNormThreshold [get, set]
 
bool HasRecomputeEdgesNormThreshold [get]
 Gets whether the "recompute_edges_norm_threshold" field is set.
 
double PrimalFeasibilityTolerance [get, set]
 This tolerance indicates by how much we allow the variable values to go out of bounds and still consider the current solution primal-feasible. We also use the same tolerance for the error A.x - b. Note that the two errors are closely related if A is scaled in such a way that the greatest coefficient magnitude on each column is 1.0.
 
bool HasPrimalFeasibilityTolerance [get]
 Gets whether the "primal_feasibility_tolerance" field is set.
 
double DualFeasibilityTolerance [get, set]
 Variables whose reduced costs have an absolute value smaller than this tolerance are not considered as entering candidates. That is they do not take part in deciding whether a solution is dual-feasible or not.
 
bool HasDualFeasibilityTolerance [get]
 Gets whether the "dual_feasibility_tolerance" field is set.
 
double RatioTestZeroThreshold [get, set]
 During the primal simplex (resp. dual simplex), the coefficients of the direction (resp. update row) with a magnitude lower than this threshold are not considered during the ratio test. This tolerance is related to the precision at which a Solve() involving the basis matrix can be performed.
 
bool HasRatioTestZeroThreshold [get]
 Gets whether the "ratio_test_zero_threshold" field is set.
 
double HarrisToleranceRatio [get, set]
 This impacts the ratio test and indicates by how much we allow a basic variable value that we move to go out of bounds. The value should be in [0.0, 1.0) and should be interpreted as a ratio of the primal_feasibility_tolerance. Setting this to 0.0 basically disables the Harris ratio test while setting this too close to 1.0 will make it difficult to keep the variable values inside their bounds modulo the primal_feasibility_tolerance.
 
bool HasHarrisToleranceRatio [get]
 Gets whether the "harris_tolerance_ratio" field is set.
 
double SmallPivotThreshold [get, set]
 When we choose the leaving variable, we want to avoid small pivot because they are the less precise and may cause numerical instabilities. For a pivot under this threshold times the infinity norm of the direction, we try various countermeasures in order to avoid using it.
 
bool HasSmallPivotThreshold [get]
 Gets whether the "small_pivot_threshold" field is set.
 
double MinimumAcceptablePivot [get, set]
 We never follow a basis change with a pivot under this threshold.
 
bool HasMinimumAcceptablePivot [get]
 Gets whether the "minimum_acceptable_pivot" field is set.
 
double DropTolerance [get, set]
 In order to increase the sparsity of the manipulated vectors, floating point values with a magnitude smaller than this parameter are set to zero (only in some places). This parameter should be positive or zero.
 
bool HasDropTolerance [get]
 Gets whether the "drop_tolerance" field is set.
 
bool UseScaling [get, set]
 Whether or not we scale the matrix A so that the maximum coefficient on each line and each column is 1.0.
 
bool HasUseScaling [get]
 Gets whether the "use_scaling" field is set.
 
global::Google.OrTools.Glop.GlopParameters.Types.CostScalingAlgorithm CostScaling [get, set]
 
bool HasCostScaling [get]
 Gets whether the "cost_scaling" field is set.
 
global::Google.OrTools.Glop.GlopParameters.Types.InitialBasisHeuristic InitialBasis [get, set]
 What heuristic is used to try to replace the fixed slack columns in the initial basis of the primal simplex.
 
bool HasInitialBasis [get]
 Gets whether the "initial_basis" field is set.
 
bool UseTransposedMatrix [get, set]
 Whether or not we keep a transposed version of the matrix A to speed-up the pricing at the cost of extra memory and the initial tranposition computation.
 
bool HasUseTransposedMatrix [get]
 Gets whether the "use_transposed_matrix" field is set.
 
int BasisRefactorizationPeriod [get, set]
 Number of iterations between two basis refactorizations. Note that various conditions in the algorithm may trigger a refactorization before this period is reached. Set this to 0 if you want to refactorize at each step.
 
bool HasBasisRefactorizationPeriod [get]
 Gets whether the "basis_refactorization_period" field is set.
 
bool DynamicallyAdjustRefactorizationPeriod [get, set]
 If this is true, then basis_refactorization_period becomes a lower bound on the number of iterations between two refactorization (provided there is no numerical accuracy issues). Depending on the estimated time to refactorize vs the extra time spend in each solves because of the LU update, we try to balance the two times.
 
bool HasDynamicallyAdjustRefactorizationPeriod [get]
 Gets whether the "dynamically_adjust_refactorization_period" field is set.
 
global::Google.OrTools.Glop.GlopParameters.Types.SolverBehavior SolveDualProblem [get, set]
 Whether or not we solve the dual of the given problem. With a value of auto, the algorithm decide which approach is probably the fastest depending on the problem dimensions (see dualizer_threshold).
 
bool HasSolveDualProblem [get]
 Gets whether the "solve_dual_problem" field is set.
 
double DualizerThreshold [get, set]
 When solve_dual_problem is LET_SOLVER_DECIDE, take the dual if the number of constraints of the problem is more than this threshold times the number of variables.
 
bool HasDualizerThreshold [get]
 Gets whether the "dualizer_threshold" field is set.
 
double SolutionFeasibilityTolerance [get, set]
 When the problem status is OPTIMAL, we check the optimality using this relative tolerance and change the status to IMPRECISE if an issue is detected.
 
bool HasSolutionFeasibilityTolerance [get]
 Gets whether the "solution_feasibility_tolerance" field is set.
 
bool ProvideStrongOptimalGuarantee [get, set]
 If true, then when the solver returns a solution with an OPTIMAL status, we can guarantee that:
 
bool HasProvideStrongOptimalGuarantee [get]
 Gets whether the "provide_strong_optimal_guarantee" field is set.
 
bool ChangeStatusToImprecise [get, set]
 If true, the internal API will change the return status to imprecise if the solution does not respect the internal tolerances.
 
bool HasChangeStatusToImprecise [get]
 Gets whether the "change_status_to_imprecise" field is set.
 
double MaxNumberOfReoptimizations [get, set]
 When the solution of phase II is imprecise, we re-run the phase II with the opposite algorithm from that imprecise solution (i.e., if primal or dual simplex was used, we use dual or primal simplex, respectively). We repeat such re-optimization until the solution is precise, or we hit this limit.
 
bool HasMaxNumberOfReoptimizations [get]
 Gets whether the "max_number_of_reoptimizations" field is set.
 
double LuFactorizationPivotThreshold [get, set]
 Threshold for LU-factorization: for stability reasons, the magnitude of the chosen pivot at a given step is guaranteed to be greater than this threshold times the maximum magnitude of all the possible pivot choices in the same column. The value must be in [0,1].
 
bool HasLuFactorizationPivotThreshold [get]
 Gets whether the "lu_factorization_pivot_threshold" field is set.
 
double MaxTimeInSeconds [get, set]
 Maximum time allowed in seconds to solve a problem.
 
bool HasMaxTimeInSeconds [get]
 Gets whether the "max_time_in_seconds" field is set.
 
double MaxDeterministicTime [get, set]
 Maximum deterministic time allowed to solve a problem. The deterministic time is more or less correlated to the running time, and its unit should be around the second (at least on a Xeon(R) CPU E5-1650 v2 @ 3.50GHz).
 
bool HasMaxDeterministicTime [get]
 Gets whether the "max_deterministic_time" field is set.
 
long MaxNumberOfIterations [get, set]
 Maximum number of simplex iterations to solve a problem. A value of -1 means no limit.
 
bool HasMaxNumberOfIterations [get]
 Gets whether the "max_number_of_iterations" field is set.
 
int MarkowitzZlatevParameter [get, set]
 How many columns do we look at in the Markowitz pivoting rule to find a good pivot. See markowitz.h.
 
bool HasMarkowitzZlatevParameter [get]
 Gets whether the "markowitz_zlatev_parameter" field is set.
 
double MarkowitzSingularityThreshold [get, set]
 If a pivot magnitude is smaller than this during the Markowitz LU factorization, then the matrix is assumed to be singular. Note that this is an absolute threshold and is not relative to the other possible pivots on the same column (see lu_factorization_pivot_threshold).
 
bool HasMarkowitzSingularityThreshold [get]
 Gets whether the "markowitz_singularity_threshold" field is set.
 
bool UseDualSimplex [get, set]
 Whether or not we use the dual simplex algorithm instead of the primal.
 
bool HasUseDualSimplex [get]
 Gets whether the "use_dual_simplex" field is set.
 
bool AllowSimplexAlgorithmChange [get, set]
 During incremental solve, let the solver decide if it use the primal or dual simplex algorithm depending on the current solution and on the new problem. Note that even if this is true, the value of use_dual_simplex still indicates the default algorithm that the solver will use.
 
bool HasAllowSimplexAlgorithmChange [get]
 Gets whether the "allow_simplex_algorithm_change" field is set.
 
int DevexWeightsResetPeriod [get, set]
 Devex weights will be reset to 1.0 after that number of updates.
 
bool HasDevexWeightsResetPeriod [get]
 Gets whether the "devex_weights_reset_period" field is set.
 
bool UsePreprocessing [get, set]
 Whether or not we use advanced preprocessing techniques.
 
bool HasUsePreprocessing [get]
 Gets whether the "use_preprocessing" field is set.
 
bool UseMiddleProductFormUpdate [get, set]
 Whether or not to use the middle product form update rather than the standard eta LU update. The middle form product update should be a lot more efficient (close to the Forrest-Tomlin update, a bit slower but easier to implement). See for more details: Qi Huangfu, J. A. Julian Hall, "Novel update techniques for the revised simplex method", 28 january 2013, Technical Report ERGO-13-0001 http://www.maths.ed.ac.uk/hall/HuHa12/ERGO-13-001.pdf.
 
bool HasUseMiddleProductFormUpdate [get]
 Gets whether the "use_middle_product_form_update" field is set.
 
bool InitializeDevexWithColumnNorms [get, set]
 Whether we initialize devex weights to 1.0 or to the norms of the matrix columns.
 
bool HasInitializeDevexWithColumnNorms [get]
 Gets whether the "initialize_devex_with_column_norms" field is set.
 
bool ExploitSingletonColumnInInitialBasis [get, set]
 Whether or not we exploit the singleton columns already present in the problem when we create the initial basis.
 
bool HasExploitSingletonColumnInInitialBasis [get]
 Gets whether the "exploit_singleton_column_in_initial_basis" field is set.
 
double DualSmallPivotThreshold [get, set]
 Like small_pivot_threshold but for the dual simplex. This is needed because the dual algorithm does not interpret this value in the same way.
 
bool HasDualSmallPivotThreshold [get]
 Gets whether the "dual_small_pivot_threshold" field is set.
 
double PreprocessorZeroTolerance [get, set]
 A floating point tolerance used by the preprocessors. This is used for things like detecting if two columns/rows are proportional or if an interval is empty.
 
bool HasPreprocessorZeroTolerance [get]
 Gets whether the "preprocessor_zero_tolerance" field is set.
 
double ObjectiveLowerLimit [get, set]
 The solver will stop as soon as it has proven that the objective is smaller than objective_lower_limit or greater than objective_upper_limit. Depending on the simplex algorithm (primal or dual) and the optimization direction,.
 
bool HasObjectiveLowerLimit [get]
 Gets whether the "objective_lower_limit" field is set.
 
double ObjectiveUpperLimit [get, set]
 
bool HasObjectiveUpperLimit [get]
 Gets whether the "objective_upper_limit" field is set.
 
double DegenerateMinistepFactor [get, set]
 During a degenerate iteration, the more conservative approach is to do a step of length zero (while shifting the bound of the leaving variable). That is, the variable values are unchanged for the primal simplex or the reduced cost are unchanged for the dual simplex. However, instead of doing a step of length zero, it seems to be better on degenerate problems to do a small positive step. This is what is recommended in the EXPAND procedure described in: P. E. Gill, W. Murray, M. A. Saunders, and M. H. Wright. "A practical anti- cycling procedure for linearly constrained optimization". Mathematical Programming, 45:437\u2013474, 1989.
 
bool HasDegenerateMinistepFactor [get]
 Gets whether the "degenerate_ministep_factor" 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.
 
int NumOmpThreads [get, set]
 Number of threads in the OMP parallel sections. If left to 1, the code will not create any OMP threads and will remain single-threaded.
 
bool HasNumOmpThreads [get]
 Gets whether the "num_omp_threads" field is set.
 
bool PerturbCostsInDualSimplex [get, set]
 When this is true, then the costs are randomly perturbed before the dual simplex is even started. This has been shown to improve the dual simplex performance. For a good reference, see Huangfu Q (2013) "High performance simplex solver", Ph.D, dissertation, University of Edinburgh.
 
bool HasPerturbCostsInDualSimplex [get]
 Gets whether the "perturb_costs_in_dual_simplex" field is set.
 
bool UseDedicatedDualFeasibilityAlgorithm [get, set]
 We have two possible dual phase I algorithms. Both work on an LP that minimize the sum of dual infeasiblities. One use dedicated code (when this param is true), the other one use exactly the same code as the dual phase II but on an auxiliary problem where the variable bounds of the original problem are changed.
 
bool HasUseDedicatedDualFeasibilityAlgorithm [get]
 Gets whether the "use_dedicated_dual_feasibility_algorithm" field is set.
 
double RelativeCostPerturbation [get, set]
 The magnitude of the cost perturbation is given by RandomIn(1.0, 2.0) * ( relative_cost_perturbation * cost.
 
bool HasRelativeCostPerturbation [get]
 Gets whether the "relative_cost_perturbation" field is set.
 
double RelativeMaxCostPerturbation [get, set]
 
bool HasRelativeMaxCostPerturbation [get]
 Gets whether the "relative_max_cost_perturbation" field is set.
 
double InitialConditionNumberThreshold [get, set]
 If our upper bound on the condition number of the initial basis (from our heurisitic or a warm start) is above this threshold, we revert to an all slack basis.
 
bool HasInitialConditionNumberThreshold [get]
 Gets whether the "initial_condition_number_threshold" field is set.
 
bool LogSearchProgress [get, set]
 If true, logs the progress of a solve to LOG(INFO). Note that the same messages can also be turned on by displaying logs at level 1 for the relevant files.
 
bool HasLogSearchProgress [get]
 Gets whether the "log_search_progress" field is set.
 
bool LogToStdout [get, set]
 If true, logs will be displayed to stdout instead of using Google log info.
 
bool HasLogToStdout [get]
 Gets whether the "log_to_stdout" field is set.
 
double CrossoverBoundSnappingDistance [get, set]
 If the starting basis contains FREE variable with bounds, we will move any such variable to their closer bounds if the distance is smaller than this parameter.
 
bool HasCrossoverBoundSnappingDistance [get]
 Gets whether the "crossover_bound_snapping_distance" field is set.
 
bool PushToVertex [get, set]
 If the optimization phases finishes with super-basic variables (i.e., variables that either 1) have bounds but are FREE in the basis, or 2) have no bounds and are FREE in the basis at a nonzero value), then run a "push" phase to push these variables to bounds, obtaining a vertex solution. Note this situation can happen only if a starting value was specified via SetStartingVariableValuesForNextSolve().
 
bool HasPushToVertex [get]
 Gets whether the "push_to_vertex" field is set.
 
bool UseImpliedFreePreprocessor [get, set]
 If presolve runs, include the pass that detects implied free variables.
 
bool HasUseImpliedFreePreprocessor [get]
 Gets whether the "use_implied_free_preprocessor" field is set.
 
double MaxValidMagnitude [get, set]
 Any finite values in the input LP 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. In practice, users shouldn't use super large values in an LP. With the default threshold, even evaluating large constraint with variables at their bound shouldn't cause any overflow.
 
bool HasMaxValidMagnitude [get]
 Gets whether the "max_valid_magnitude" field is set.
 
double DropMagnitude [get, set]
 Value in the input LP lower than this will be ignored. This is similar to drop_tolerance but more aggressive as this is used before scaling. This is mainly here to avoid underflow and have simpler invariant in the code, like a * b == 0 iff a or b is zero and things like this.
 
bool HasDropMagnitude [get]
 Gets whether the "drop_magnitude" field is set.
 
bool DualPricePrioritizeNorm [get, set]
 On some problem like stp3d or pds-100 this makes a huge difference in speed and number of iterations of the dual simplex.
 
bool HasDualPricePrioritizeNorm [get]
 Gets whether the "dual_price_prioritize_norm" field is set.
 

Detailed Description

next id = 72

Definition at line 114 of file Parameters.pb.cs.

Constructor & Destructor Documentation

◆ GlopParameters() [1/2]

Google.OrTools.Glop.GlopParameters.GlopParameters ( )
inline

Definition at line 141 of file Parameters.pb.cs.

◆ GlopParameters() [2/2]

Google.OrTools.Glop.GlopParameters.GlopParameters ( GlopParameters other)
inline

Definition at line 149 of file Parameters.pb.cs.

Member Function Documentation

◆ CalculateSize()

int Google.OrTools.Glop.GlopParameters.CalculateSize ( )
inline

Definition at line 2810 of file Parameters.pb.cs.

◆ ClearAllowSimplexAlgorithmChange()

void Google.OrTools.Glop.GlopParameters.ClearAllowSimplexAlgorithmChange ( )
inline

Clears the value of the "allow_simplex_algorithm_change" field.

Definition at line 1314 of file Parameters.pb.cs.

◆ ClearBasisRefactorizationPeriod()

void Google.OrTools.Glop.GlopParameters.ClearBasisRefactorizationPeriod ( )
inline

Clears the value of the "basis_refactorization_period" field.

Definition at line 809 of file Parameters.pb.cs.

◆ ClearChangeStatusToImprecise()

void Google.OrTools.Glop.GlopParameters.ClearChangeStatusToImprecise ( )
inline

Clears the value of the "change_status_to_imprecise" field.

Definition at line 1025 of file Parameters.pb.cs.

◆ ClearCostScaling()

void Google.OrTools.Glop.GlopParameters.ClearCostScaling ( )
inline

Clears the value of the "cost_scaling" field.

Definition at line 714 of file Parameters.pb.cs.

◆ ClearCrossoverBoundSnappingDistance()

void Google.OrTools.Glop.GlopParameters.ClearCrossoverBoundSnappingDistance ( )
inline

Clears the value of the "crossover_bound_snapping_distance" field.

Definition at line 2004 of file Parameters.pb.cs.

◆ ClearDegenerateMinistepFactor()

void Google.OrTools.Glop.GlopParameters.ClearDegenerateMinistepFactor ( )
inline

Clears the value of the "degenerate_ministep_factor" field.

Definition at line 1655 of file Parameters.pb.cs.

◆ ClearDevexWeightsResetPeriod()

void Google.OrTools.Glop.GlopParameters.ClearDevexWeightsResetPeriod ( )
inline

Clears the value of the "devex_weights_reset_period" field.

Definition at line 1344 of file Parameters.pb.cs.

◆ ClearDropMagnitude()

void Google.OrTools.Glop.GlopParameters.ClearDropMagnitude ( )
inline

Clears the value of the "drop_magnitude" field.

Definition at line 2137 of file Parameters.pb.cs.

◆ ClearDropTolerance()

void Google.OrTools.Glop.GlopParameters.ClearDropTolerance ( )
inline

Clears the value of the "drop_tolerance" field.

Definition at line 656 of file Parameters.pb.cs.

◆ ClearDualFeasibilityTolerance()

void Google.OrTools.Glop.GlopParameters.ClearDualFeasibilityTolerance ( )
inline

Clears the value of the "dual_feasibility_tolerance" field.

Definition at line 483 of file Parameters.pb.cs.

◆ ClearDualizerThreshold()

void Google.OrTools.Glop.GlopParameters.ClearDualizerThreshold ( )
inline

Clears the value of the "dualizer_threshold" field.

Definition at line 907 of file Parameters.pb.cs.

◆ ClearDualPricePrioritizeNorm()

void Google.OrTools.Glop.GlopParameters.ClearDualPricePrioritizeNorm ( )
inline

Clears the value of the "dual_price_prioritize_norm" field.

Definition at line 2168 of file Parameters.pb.cs.

◆ ClearDualSmallPivotThreshold()

void Google.OrTools.Glop.GlopParameters.ClearDualSmallPivotThreshold ( )
inline

Clears the value of the "dual_small_pivot_threshold" field.

Definition at line 1504 of file Parameters.pb.cs.

◆ ClearDynamicallyAdjustRefactorizationPeriod()

void Google.OrTools.Glop.GlopParameters.ClearDynamicallyAdjustRefactorizationPeriod ( )
inline

Clears the value of the "dynamically_adjust_refactorization_period" field.

Definition at line 843 of file Parameters.pb.cs.

◆ ClearExploitSingletonColumnInInitialBasis()

void Google.OrTools.Glop.GlopParameters.ClearExploitSingletonColumnInInitialBasis ( )
inline

Clears the value of the "exploit_singleton_column_in_initial_basis" field.

Definition at line 1472 of file Parameters.pb.cs.

◆ ClearFeasibilityRule()

void Google.OrTools.Glop.GlopParameters.ClearFeasibilityRule ( )
inline

Clears the value of the "feasibility_rule" field.

Definition at line 272 of file Parameters.pb.cs.

◆ ClearHarrisToleranceRatio()

void Google.OrTools.Glop.GlopParameters.ClearHarrisToleranceRatio ( )
inline

Clears the value of the "harris_tolerance_ratio" field.

Definition at line 561 of file Parameters.pb.cs.

◆ ClearInitialBasis()

void Google.OrTools.Glop.GlopParameters.ClearInitialBasis ( )
inline

Clears the value of the "initial_basis" field.

Definition at line 745 of file Parameters.pb.cs.

◆ ClearInitialConditionNumberThreshold()

void Google.OrTools.Glop.GlopParameters.ClearInitialConditionNumberThreshold ( )
inline

Clears the value of the "initial_condition_number_threshold" field.

Definition at line 1895 of file Parameters.pb.cs.

◆ ClearInitializeDevexWithColumnNorms()

void Google.OrTools.Glop.GlopParameters.ClearInitializeDevexWithColumnNorms ( )
inline

Clears the value of the "initialize_devex_with_column_norms" field.

Definition at line 1441 of file Parameters.pb.cs.

◆ ClearLogSearchProgress()

void Google.OrTools.Glop.GlopParameters.ClearLogSearchProgress ( )
inline

Clears the value of the "log_search_progress" field.

Definition at line 1927 of file Parameters.pb.cs.

◆ ClearLogToStdout()

void Google.OrTools.Glop.GlopParameters.ClearLogToStdout ( )
inline

Clears the value of the "log_to_stdout" field.

Definition at line 1957 of file Parameters.pb.cs.

◆ ClearLuFactorizationPivotThreshold()

void Google.OrTools.Glop.GlopParameters.ClearLuFactorizationPivotThreshold ( )
inline

Clears the value of the "lu_factorization_pivot_threshold" field.

Definition at line 1091 of file Parameters.pb.cs.

◆ ClearMarkowitzSingularityThreshold()

void Google.OrTools.Glop.GlopParameters.ClearMarkowitzSingularityThreshold ( )
inline

Clears the value of the "markowitz_singularity_threshold" field.

Definition at line 1251 of file Parameters.pb.cs.

◆ ClearMarkowitzZlatevParameter()

void Google.OrTools.Glop.GlopParameters.ClearMarkowitzZlatevParameter ( )
inline

Clears the value of the "markowitz_zlatev_parameter" field.

Definition at line 1218 of file Parameters.pb.cs.

◆ ClearMaxDeterministicTime()

void Google.OrTools.Glop.GlopParameters.ClearMaxDeterministicTime ( )
inline

Clears the value of the "max_deterministic_time" field.

Definition at line 1156 of file Parameters.pb.cs.

◆ ClearMaxNumberOfIterations()

void Google.OrTools.Glop.GlopParameters.ClearMaxNumberOfIterations ( )
inline

Clears the value of the "max_number_of_iterations" field.

Definition at line 1187 of file Parameters.pb.cs.

◆ ClearMaxNumberOfReoptimizations()

void Google.OrTools.Glop.GlopParameters.ClearMaxNumberOfReoptimizations ( )
inline

Clears the value of the "max_number_of_reoptimizations" field.

Definition at line 1058 of file Parameters.pb.cs.

◆ ClearMaxTimeInSeconds()

void Google.OrTools.Glop.GlopParameters.ClearMaxTimeInSeconds ( )
inline

Clears the value of the "max_time_in_seconds" field.

Definition at line 1121 of file Parameters.pb.cs.

◆ ClearMaxValidMagnitude()

void Google.OrTools.Glop.GlopParameters.ClearMaxValidMagnitude ( )
inline

Clears the value of the "max_valid_magnitude" field.

Definition at line 2104 of file Parameters.pb.cs.

◆ ClearMinimumAcceptablePivot()

void Google.OrTools.Glop.GlopParameters.ClearMinimumAcceptablePivot ( )
inline

Clears the value of the "minimum_acceptable_pivot" field.

Definition at line 624 of file Parameters.pb.cs.

◆ ClearNumOmpThreads()

void Google.OrTools.Glop.GlopParameters.ClearNumOmpThreads ( )
inline

Clears the value of the "num_omp_threads" field.

Definition at line 1732 of file Parameters.pb.cs.

◆ ClearObjectiveLowerLimit()

void Google.OrTools.Glop.GlopParameters.ClearObjectiveLowerLimit ( )
inline

Clears the value of the "objective_lower_limit" field.

Definition at line 1579 of file Parameters.pb.cs.

◆ ClearObjectiveUpperLimit()

void Google.OrTools.Glop.GlopParameters.ClearObjectiveUpperLimit ( )
inline

Clears the value of the "objective_upper_limit" field.

Definition at line 1606 of file Parameters.pb.cs.

◆ ClearOptimizationRule()

void Google.OrTools.Glop.GlopParameters.ClearOptimizationRule ( )
inline

Clears the value of the "optimization_rule" field.

Definition at line 302 of file Parameters.pb.cs.

◆ ClearPerturbCostsInDualSimplex()

void Google.OrTools.Glop.GlopParameters.ClearPerturbCostsInDualSimplex ( )
inline

Clears the value of the "perturb_costs_in_dual_simplex" field.

Definition at line 1765 of file Parameters.pb.cs.

◆ ClearPreprocessorZeroTolerance()

void Google.OrTools.Glop.GlopParameters.ClearPreprocessorZeroTolerance ( )
inline

Clears the value of the "preprocessor_zero_tolerance" field.

Definition at line 1540 of file Parameters.pb.cs.

◆ ClearPrimalFeasibilityTolerance()

void Google.OrTools.Glop.GlopParameters.ClearPrimalFeasibilityTolerance ( )
inline

Clears the value of the "primal_feasibility_tolerance" field.

Definition at line 442 of file Parameters.pb.cs.

◆ ClearProvideStrongOptimalGuarantee()

void Google.OrTools.Glop.GlopParameters.ClearProvideStrongOptimalGuarantee ( )
inline

Clears the value of the "provide_strong_optimal_guarantee" field.

Definition at line 994 of file Parameters.pb.cs.

◆ ClearPushToVertex()

void Google.OrTools.Glop.GlopParameters.ClearPushToVertex ( )
inline

Clears the value of the "push_to_vertex" field.

Definition at line 2039 of file Parameters.pb.cs.

◆ ClearRandomSeed()

void Google.OrTools.Glop.GlopParameters.ClearRandomSeed ( )
inline

Clears the value of the "random_seed" field.

Definition at line 1701 of file Parameters.pb.cs.

◆ ClearRatioTestZeroThreshold()

void Google.OrTools.Glop.GlopParameters.ClearRatioTestZeroThreshold ( )
inline

Clears the value of the "ratio_test_zero_threshold" field.

Definition at line 520 of file Parameters.pb.cs.

◆ ClearRecomputeEdgesNormThreshold()

void Google.OrTools.Glop.GlopParameters.ClearRecomputeEdgesNormThreshold ( )
inline

Clears the value of the "recompute_edges_norm_threshold" field.

Definition at line 405 of file Parameters.pb.cs.

◆ ClearRecomputeReducedCostsThreshold()

void Google.OrTools.Glop.GlopParameters.ClearRecomputeReducedCostsThreshold ( )
inline

Clears the value of the "recompute_reduced_costs_threshold" field.

Definition at line 371 of file Parameters.pb.cs.

◆ ClearRefactorizationThreshold()

void Google.OrTools.Glop.GlopParameters.ClearRefactorizationThreshold ( )
inline

Clears the value of the "refactorization_threshold" field.

Definition at line 337 of file Parameters.pb.cs.

◆ ClearRelativeCostPerturbation()

void Google.OrTools.Glop.GlopParameters.ClearRelativeCostPerturbation ( )
inline

Clears the value of the "relative_cost_perturbation" field.

Definition at line 1836 of file Parameters.pb.cs.

◆ ClearRelativeMaxCostPerturbation()

void Google.OrTools.Glop.GlopParameters.ClearRelativeMaxCostPerturbation ( )
inline

Clears the value of the "relative_max_cost_perturbation" field.

Definition at line 1863 of file Parameters.pb.cs.

◆ ClearScalingMethod()

void Google.OrTools.Glop.GlopParameters.ClearScalingMethod ( )
inline

Clears the value of the "scaling_method" field.

Definition at line 242 of file Parameters.pb.cs.

◆ ClearSmallPivotThreshold()

void Google.OrTools.Glop.GlopParameters.ClearSmallPivotThreshold ( )
inline

Clears the value of the "small_pivot_threshold" field.

Definition at line 594 of file Parameters.pb.cs.

◆ ClearSolutionFeasibilityTolerance()

void Google.OrTools.Glop.GlopParameters.ClearSolutionFeasibilityTolerance ( )
inline

Clears the value of the "solution_feasibility_tolerance" field.

Definition at line 945 of file Parameters.pb.cs.

◆ ClearSolveDualProblem()

void Google.OrTools.Glop.GlopParameters.ClearSolveDualProblem ( )
inline

Clears the value of the "solve_dual_problem" field.

Definition at line 875 of file Parameters.pb.cs.

◆ ClearUseDedicatedDualFeasibilityAlgorithm()

void Google.OrTools.Glop.GlopParameters.ClearUseDedicatedDualFeasibilityAlgorithm ( )
inline

Clears the value of the "use_dedicated_dual_feasibility_algorithm" field.

Definition at line 1803 of file Parameters.pb.cs.

◆ ClearUseDualSimplex()

void Google.OrTools.Glop.GlopParameters.ClearUseDualSimplex ( )
inline

Clears the value of the "use_dual_simplex" field.

Definition at line 1281 of file Parameters.pb.cs.

◆ ClearUseImpliedFreePreprocessor()

void Google.OrTools.Glop.GlopParameters.ClearUseImpliedFreePreprocessor ( )
inline

Clears the value of the "use_implied_free_preprocessor" field.

Definition at line 2069 of file Parameters.pb.cs.

◆ ClearUseMiddleProductFormUpdate()

void Google.OrTools.Glop.GlopParameters.ClearUseMiddleProductFormUpdate ( )
inline

Clears the value of the "use_middle_product_form_update" field.

Definition at line 1410 of file Parameters.pb.cs.

◆ ClearUsePreprocessing()

void Google.OrTools.Glop.GlopParameters.ClearUsePreprocessing ( )
inline

Clears the value of the "use_preprocessing" field.

Definition at line 1374 of file Parameters.pb.cs.

◆ ClearUseScaling()

void Google.OrTools.Glop.GlopParameters.ClearUseScaling ( )
inline

Clears the value of the "use_scaling" field.

Definition at line 687 of file Parameters.pb.cs.

◆ ClearUseTransposedMatrix()

void Google.OrTools.Glop.GlopParameters.ClearUseTransposedMatrix ( )
inline

Clears the value of the "use_transposed_matrix" field.

Definition at line 777 of file Parameters.pb.cs.

◆ Clone()

GlopParameters Google.OrTools.Glop.GlopParameters.Clone ( )
inline

Definition at line 215 of file Parameters.pb.cs.

◆ Equals() [1/2]

bool Google.OrTools.Glop.GlopParameters.Equals ( GlopParameters other)
inline

Definition at line 2180 of file Parameters.pb.cs.

◆ Equals() [2/2]

override bool Google.OrTools.Glop.GlopParameters.Equals ( object other)
inline

Definition at line 2174 of file Parameters.pb.cs.

◆ GetHashCode()

override int Google.OrTools.Glop.GlopParameters.GetHashCode ( )
inline

Definition at line 2250 of file Parameters.pb.cs.

◆ MergeFrom() [1/2]

void Google.OrTools.Glop.GlopParameters.MergeFrom ( GlopParameters other)
inline

Definition at line 2994 of file Parameters.pb.cs.

◆ MergeFrom() [2/2]

void Google.OrTools.Glop.GlopParameters.MergeFrom ( pb.CodedInputStream input)
inline

Definition at line 3177 of file Parameters.pb.cs.

◆ ToString()

override string Google.OrTools.Glop.GlopParameters.ToString ( )
inline

Definition at line 2318 of file Parameters.pb.cs.

◆ WriteTo()

void Google.OrTools.Glop.GlopParameters.WriteTo ( pb.CodedOutputStream output)
inline

Definition at line 2324 of file Parameters.pb.cs.

Member Data Documentation

◆ AllowSimplexAlgorithmChangeFieldNumber

const int Google.OrTools.Glop.GlopParameters.AllowSimplexAlgorithmChangeFieldNumber = 32
static

Field number for the "allow_simplex_algorithm_change" field.

Definition at line 1286 of file Parameters.pb.cs.

◆ BasisRefactorizationPeriodFieldNumber

const int Google.OrTools.Glop.GlopParameters.BasisRefactorizationPeriodFieldNumber = 19
static

Field number for the "basis_refactorization_period" field.

Definition at line 782 of file Parameters.pb.cs.

◆ ChangeStatusToImpreciseFieldNumber

const int Google.OrTools.Glop.GlopParameters.ChangeStatusToImpreciseFieldNumber = 58
static

Field number for the "change_status_to_imprecise" field.

Definition at line 999 of file Parameters.pb.cs.

◆ CostScalingFieldNumber

const int Google.OrTools.Glop.GlopParameters.CostScalingFieldNumber = 60
static

Field number for the "cost_scaling" field.

Definition at line 692 of file Parameters.pb.cs.

◆ CrossoverBoundSnappingDistanceFieldNumber

const int Google.OrTools.Glop.GlopParameters.CrossoverBoundSnappingDistanceFieldNumber = 64
static

Field number for the "crossover_bound_snapping_distance" field.

Definition at line 1962 of file Parameters.pb.cs.

◆ DegenerateMinistepFactorFieldNumber

const int Google.OrTools.Glop.GlopParameters.DegenerateMinistepFactorFieldNumber = 42
static

Field number for the "degenerate_ministep_factor" field.

Definition at line 1611 of file Parameters.pb.cs.

◆ DevexWeightsResetPeriodFieldNumber

const int Google.OrTools.Glop.GlopParameters.DevexWeightsResetPeriodFieldNumber = 33
static

Field number for the "devex_weights_reset_period" field.

Definition at line 1319 of file Parameters.pb.cs.

◆ DropMagnitudeFieldNumber

const int Google.OrTools.Glop.GlopParameters.DropMagnitudeFieldNumber = 71
static

Field number for the "drop_magnitude" field.

Definition at line 2109 of file Parameters.pb.cs.

◆ DropToleranceFieldNumber

const int Google.OrTools.Glop.GlopParameters.DropToleranceFieldNumber = 52
static

Field number for the "drop_tolerance" field.

Definition at line 629 of file Parameters.pb.cs.

◆ DualFeasibilityToleranceFieldNumber

const int Google.OrTools.Glop.GlopParameters.DualFeasibilityToleranceFieldNumber = 11
static

Field number for the "dual_feasibility_tolerance" field.

Definition at line 447 of file Parameters.pb.cs.

◆ DualizerThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.DualizerThresholdFieldNumber = 21
static

Field number for the "dualizer_threshold" field.

Definition at line 880 of file Parameters.pb.cs.

◆ DualPricePrioritizeNormFieldNumber

const int Google.OrTools.Glop.GlopParameters.DualPricePrioritizeNormFieldNumber = 69
static

Field number for the "dual_price_prioritize_norm" field.

Definition at line 2142 of file Parameters.pb.cs.

◆ DualSmallPivotThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.DualSmallPivotThresholdFieldNumber = 38
static

Field number for the "dual_small_pivot_threshold" field.

Definition at line 1477 of file Parameters.pb.cs.

◆ DynamicallyAdjustRefactorizationPeriodFieldNumber

const int Google.OrTools.Glop.GlopParameters.DynamicallyAdjustRefactorizationPeriodFieldNumber = 63
static

Field number for the "dynamically_adjust_refactorization_period" field.

Definition at line 814 of file Parameters.pb.cs.

◆ ExploitSingletonColumnInInitialBasisFieldNumber

const int Google.OrTools.Glop.GlopParameters.ExploitSingletonColumnInInitialBasisFieldNumber = 37
static

Field number for the "exploit_singleton_column_in_initial_basis" field.

Definition at line 1446 of file Parameters.pb.cs.

◆ FeasibilityRuleFieldNumber

const int Google.OrTools.Glop.GlopParameters.FeasibilityRuleFieldNumber = 1
static

Field number for the "feasibility_rule" field.

Definition at line 247 of file Parameters.pb.cs.

◆ HarrisToleranceRatioFieldNumber

const int Google.OrTools.Glop.GlopParameters.HarrisToleranceRatioFieldNumber = 13
static

Field number for the "harris_tolerance_ratio" field.

Definition at line 525 of file Parameters.pb.cs.

◆ InitialBasisFieldNumber

const int Google.OrTools.Glop.GlopParameters.InitialBasisFieldNumber = 17
static

Field number for the "initial_basis" field.

Definition at line 719 of file Parameters.pb.cs.

◆ InitialConditionNumberThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.InitialConditionNumberThresholdFieldNumber = 59
static

Field number for the "initial_condition_number_threshold" field.

Definition at line 1868 of file Parameters.pb.cs.

◆ InitializeDevexWithColumnNormsFieldNumber

const int Google.OrTools.Glop.GlopParameters.InitializeDevexWithColumnNormsFieldNumber = 36
static

Field number for the "initialize_devex_with_column_norms" field.

Definition at line 1415 of file Parameters.pb.cs.

◆ LogSearchProgressFieldNumber

const int Google.OrTools.Glop.GlopParameters.LogSearchProgressFieldNumber = 61
static

Field number for the "log_search_progress" field.

Definition at line 1900 of file Parameters.pb.cs.

◆ LogToStdoutFieldNumber

const int Google.OrTools.Glop.GlopParameters.LogToStdoutFieldNumber = 66
static

Field number for the "log_to_stdout" field.

Definition at line 1932 of file Parameters.pb.cs.

◆ LuFactorizationPivotThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.LuFactorizationPivotThresholdFieldNumber = 25
static

Field number for the "lu_factorization_pivot_threshold" field.

Definition at line 1063 of file Parameters.pb.cs.

◆ MarkowitzSingularityThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.MarkowitzSingularityThresholdFieldNumber = 30
static

Field number for the "markowitz_singularity_threshold" field.

Definition at line 1223 of file Parameters.pb.cs.

◆ MarkowitzZlatevParameterFieldNumber

const int Google.OrTools.Glop.GlopParameters.MarkowitzZlatevParameterFieldNumber = 29
static

Field number for the "markowitz_zlatev_parameter" field.

Definition at line 1192 of file Parameters.pb.cs.

◆ MaxDeterministicTimeFieldNumber

const int Google.OrTools.Glop.GlopParameters.MaxDeterministicTimeFieldNumber = 45
static

Field number for the "max_deterministic_time" field.

Definition at line 1126 of file Parameters.pb.cs.

◆ MaxNumberOfIterationsFieldNumber

const int Google.OrTools.Glop.GlopParameters.MaxNumberOfIterationsFieldNumber = 27
static

Field number for the "max_number_of_iterations" field.

Definition at line 1161 of file Parameters.pb.cs.

◆ MaxNumberOfReoptimizationsFieldNumber

const int Google.OrTools.Glop.GlopParameters.MaxNumberOfReoptimizationsFieldNumber = 56
static

Field number for the "max_number_of_reoptimizations" field.

Definition at line 1030 of file Parameters.pb.cs.

◆ MaxTimeInSecondsFieldNumber

const int Google.OrTools.Glop.GlopParameters.MaxTimeInSecondsFieldNumber = 26
static

Field number for the "max_time_in_seconds" field.

Definition at line 1096 of file Parameters.pb.cs.

◆ MaxValidMagnitudeFieldNumber

const int Google.OrTools.Glop.GlopParameters.MaxValidMagnitudeFieldNumber = 70
static

Field number for the "max_valid_magnitude" field.

Definition at line 2074 of file Parameters.pb.cs.

◆ MinimumAcceptablePivotFieldNumber

const int Google.OrTools.Glop.GlopParameters.MinimumAcceptablePivotFieldNumber = 15
static

Field number for the "minimum_acceptable_pivot" field.

Definition at line 599 of file Parameters.pb.cs.

◆ NumOmpThreadsFieldNumber

const int Google.OrTools.Glop.GlopParameters.NumOmpThreadsFieldNumber = 44
static

Field number for the "num_omp_threads" field.

Definition at line 1706 of file Parameters.pb.cs.

◆ ObjectiveLowerLimitFieldNumber

const int Google.OrTools.Glop.GlopParameters.ObjectiveLowerLimitFieldNumber = 40
static

Field number for the "objective_lower_limit" field.

Definition at line 1545 of file Parameters.pb.cs.

◆ ObjectiveUpperLimitFieldNumber

const int Google.OrTools.Glop.GlopParameters.ObjectiveUpperLimitFieldNumber = 41
static

Field number for the "objective_upper_limit" field.

Definition at line 1584 of file Parameters.pb.cs.

◆ OptimizationRuleFieldNumber

const int Google.OrTools.Glop.GlopParameters.OptimizationRuleFieldNumber = 2
static

Field number for the "optimization_rule" field.

Definition at line 277 of file Parameters.pb.cs.

◆ PerturbCostsInDualSimplexFieldNumber

const int Google.OrTools.Glop.GlopParameters.PerturbCostsInDualSimplexFieldNumber = 53
static

Field number for the "perturb_costs_in_dual_simplex" field.

Definition at line 1737 of file Parameters.pb.cs.

◆ PreprocessorZeroToleranceFieldNumber

const int Google.OrTools.Glop.GlopParameters.PreprocessorZeroToleranceFieldNumber = 39
static

Field number for the "preprocessor_zero_tolerance" field.

Definition at line 1509 of file Parameters.pb.cs.

◆ PrimalFeasibilityToleranceFieldNumber

const int Google.OrTools.Glop.GlopParameters.PrimalFeasibilityToleranceFieldNumber = 10
static

Field number for the "primal_feasibility_tolerance" field.

Definition at line 410 of file Parameters.pb.cs.

◆ ProvideStrongOptimalGuaranteeFieldNumber

const int Google.OrTools.Glop.GlopParameters.ProvideStrongOptimalGuaranteeFieldNumber = 24
static

Field number for the "provide_strong_optimal_guarantee" field.

Definition at line 950 of file Parameters.pb.cs.

◆ PushToVertexFieldNumber

const int Google.OrTools.Glop.GlopParameters.PushToVertexFieldNumber = 65
static

Field number for the "push_to_vertex" field.

Definition at line 2009 of file Parameters.pb.cs.

◆ RandomSeedFieldNumber

const int Google.OrTools.Glop.GlopParameters.RandomSeedFieldNumber = 43
static

Field number for the "random_seed" field.

Definition at line 1660 of file Parameters.pb.cs.

◆ RatioTestZeroThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.RatioTestZeroThresholdFieldNumber = 12
static

Field number for the "ratio_test_zero_threshold" field.

Definition at line 488 of file Parameters.pb.cs.

◆ RecomputeEdgesNormThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.RecomputeEdgesNormThresholdFieldNumber = 9
static

Field number for the "recompute_edges_norm_threshold" field.

Definition at line 376 of file Parameters.pb.cs.

◆ RecomputeReducedCostsThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.RecomputeReducedCostsThresholdFieldNumber = 8
static

Field number for the "recompute_reduced_costs_threshold" field.

Definition at line 342 of file Parameters.pb.cs.

◆ RefactorizationThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.RefactorizationThresholdFieldNumber = 6
static

Field number for the "refactorization_threshold" field.

Definition at line 307 of file Parameters.pb.cs.

◆ RelativeCostPerturbationFieldNumber

const int Google.OrTools.Glop.GlopParameters.RelativeCostPerturbationFieldNumber = 54
static

Field number for the "relative_cost_perturbation" field.

Definition at line 1808 of file Parameters.pb.cs.

◆ RelativeMaxCostPerturbationFieldNumber

const int Google.OrTools.Glop.GlopParameters.RelativeMaxCostPerturbationFieldNumber = 55
static

Field number for the "relative_max_cost_perturbation" field.

Definition at line 1841 of file Parameters.pb.cs.

◆ ScalingMethodFieldNumber

const int Google.OrTools.Glop.GlopParameters.ScalingMethodFieldNumber = 57
static

Field number for the "scaling_method" field.

Definition at line 220 of file Parameters.pb.cs.

◆ SmallPivotThresholdFieldNumber

const int Google.OrTools.Glop.GlopParameters.SmallPivotThresholdFieldNumber = 14
static

Field number for the "small_pivot_threshold" field.

Definition at line 566 of file Parameters.pb.cs.

◆ SolutionFeasibilityToleranceFieldNumber

const int Google.OrTools.Glop.GlopParameters.SolutionFeasibilityToleranceFieldNumber = 22
static

Field number for the "solution_feasibility_tolerance" field.

Definition at line 912 of file Parameters.pb.cs.

◆ SolveDualProblemFieldNumber

const int Google.OrTools.Glop.GlopParameters.SolveDualProblemFieldNumber = 20
static

Field number for the "solve_dual_problem" field.

Definition at line 848 of file Parameters.pb.cs.

◆ UseDedicatedDualFeasibilityAlgorithmFieldNumber

const int Google.OrTools.Glop.GlopParameters.UseDedicatedDualFeasibilityAlgorithmFieldNumber = 62
static

Field number for the "use_dedicated_dual_feasibility_algorithm" field.

Definition at line 1770 of file Parameters.pb.cs.

◆ UseDualSimplexFieldNumber

const int Google.OrTools.Glop.GlopParameters.UseDualSimplexFieldNumber = 31
static

Field number for the "use_dual_simplex" field.

Definition at line 1256 of file Parameters.pb.cs.

◆ UseImpliedFreePreprocessorFieldNumber

const int Google.OrTools.Glop.GlopParameters.UseImpliedFreePreprocessorFieldNumber = 67
static

Field number for the "use_implied_free_preprocessor" field.

Definition at line 2044 of file Parameters.pb.cs.

◆ UseMiddleProductFormUpdateFieldNumber

const int Google.OrTools.Glop.GlopParameters.UseMiddleProductFormUpdateFieldNumber = 35
static

Field number for the "use_middle_product_form_update" field.

Definition at line 1379 of file Parameters.pb.cs.

◆ UsePreprocessingFieldNumber

const int Google.OrTools.Glop.GlopParameters.UsePreprocessingFieldNumber = 34
static

Field number for the "use_preprocessing" field.

Definition at line 1349 of file Parameters.pb.cs.

◆ UseScalingFieldNumber

const int Google.OrTools.Glop.GlopParameters.UseScalingFieldNumber = 16
static

Field number for the "use_scaling" field.

Definition at line 661 of file Parameters.pb.cs.

◆ UseTransposedMatrixFieldNumber

const int Google.OrTools.Glop.GlopParameters.UseTransposedMatrixFieldNumber = 18
static

Field number for the "use_transposed_matrix" field.

Definition at line 750 of file Parameters.pb.cs.

Property Documentation

◆ AllowSimplexAlgorithmChange

bool Google.OrTools.Glop.GlopParameters.AllowSimplexAlgorithmChange
getset

During incremental solve, let the solver decide if it use the primal or dual simplex algorithm depending on the current solution and on the new problem. Note that even if this is true, the value of use_dual_simplex still indicates the default algorithm that the solver will use.

Definition at line 1298 of file Parameters.pb.cs.

◆ BasisRefactorizationPeriod

int Google.OrTools.Glop.GlopParameters.BasisRefactorizationPeriod
getset

Number of iterations between two basis refactorizations. Note that various conditions in the algorithm may trigger a refactorization before this period is reached. Set this to 0 if you want to refactorize at each step.

Definition at line 793 of file Parameters.pb.cs.

◆ ChangeStatusToImprecise

bool Google.OrTools.Glop.GlopParameters.ChangeStatusToImprecise
getset

If true, the internal API will change the return status to imprecise if the solution does not respect the internal tolerances.

Definition at line 1009 of file Parameters.pb.cs.

◆ CostScaling

global.Google.OrTools.Glop.GlopParameters.Types.CostScalingAlgorithm Google.OrTools.Glop.GlopParameters.CostScaling
getset

Definition at line 698 of file Parameters.pb.cs.

◆ CrossoverBoundSnappingDistance

double Google.OrTools.Glop.GlopParameters.CrossoverBoundSnappingDistance
getset

If the starting basis contains FREE variable with bounds, we will move any such variable to their closer bounds if the distance is smaller than this parameter.

The starting statuses can contains FREE variables with bounds, if a user set it like this externally. Also, any variable with an initial BASIC status that was not kept in the initial basis is marked as FREE before this step is applied.

Note
by default a FREE variable is assumed to be zero unless a starting value was specified via SetStartingVariableValuesForNextSolve().
, at the end of the solve, some of these FREE variable with bounds and an interior point value might still be left in the final solution. Enable push_to_vertex to clean these up.

Definition at line 1988 of file Parameters.pb.cs.

◆ DegenerateMinistepFactor

double Google.OrTools.Glop.GlopParameters.DegenerateMinistepFactor
getset

During a degenerate iteration, the more conservative approach is to do a step of length zero (while shifting the bound of the leaving variable). That is, the variable values are unchanged for the primal simplex or the reduced cost are unchanged for the dual simplex. However, instead of doing a step of length zero, it seems to be better on degenerate problems to do a small positive step. This is what is recommended in the EXPAND procedure described in: P. E. Gill, W. Murray, M. A. Saunders, and M. H. Wright. "A practical anti- cycling procedure for linearly constrained optimization". Mathematical Programming, 45:437\u2013474, 1989.

Here, during a degenerate iteration we do a small positive step of this factor times the primal (resp. dual) tolerance. In the primal simplex, this may effectively push variable values (very slightly) further out of their bounds (resp. reduced costs for the dual simplex). Setting this to zero reverts to the more conservative approach of a zero step during degenerate iterations.

Definition at line 1639 of file Parameters.pb.cs.

◆ Descriptor

pbr.MessageDescriptor Google.OrTools.Glop.GlopParameters.Descriptor
staticget

Definition at line 129 of file Parameters.pb.cs.

◆ DevexWeightsResetPeriod

int Google.OrTools.Glop.GlopParameters.DevexWeightsResetPeriod
getset

Devex weights will be reset to 1.0 after that number of updates.

Definition at line 1328 of file Parameters.pb.cs.

◆ DropMagnitude

double Google.OrTools.Glop.GlopParameters.DropMagnitude
getset

Value in the input LP lower than this will be ignored. This is similar to drop_tolerance but more aggressive as this is used before scaling. This is mainly here to avoid underflow and have simpler invariant in the code, like a * b == 0 iff a or b is zero and things like this.

Definition at line 2121 of file Parameters.pb.cs.

◆ DropTolerance

double Google.OrTools.Glop.GlopParameters.DropTolerance
getset

In order to increase the sparsity of the manipulated vectors, floating point values with a magnitude smaller than this parameter are set to zero (only in some places). This parameter should be positive or zero.

Definition at line 640 of file Parameters.pb.cs.

◆ DualFeasibilityTolerance

double Google.OrTools.Glop.GlopParameters.DualFeasibilityTolerance
getset

Variables whose reduced costs have an absolute value smaller than this tolerance are not considered as entering candidates. That is they do not take part in deciding whether a solution is dual-feasible or not.

Note
this value can temporarily increase during the execution of the algorithm if the estimated precision of the reduced costs is higher than this tolerance. Note also that we scale the costs (in the presolve step) so that the cost magnitude range contains one. This is also known as the optimality tolerance in other solvers.

Definition at line 467 of file Parameters.pb.cs.

◆ DualizerThreshold

double Google.OrTools.Glop.GlopParameters.DualizerThreshold
getset

When solve_dual_problem is LET_SOLVER_DECIDE, take the dual if the number of constraints of the problem is more than this threshold times the number of variables.

Definition at line 891 of file Parameters.pb.cs.

◆ DualPricePrioritizeNorm

bool Google.OrTools.Glop.GlopParameters.DualPricePrioritizeNorm
getset

On some problem like stp3d or pds-100 this makes a huge difference in speed and number of iterations of the dual simplex.

Definition at line 2152 of file Parameters.pb.cs.

◆ DualSmallPivotThreshold

double Google.OrTools.Glop.GlopParameters.DualSmallPivotThreshold
getset

Like small_pivot_threshold but for the dual simplex. This is needed because the dual algorithm does not interpret this value in the same way.

Todo
(user): Clean this up and use the same small pivot detection.

Definition at line 1488 of file Parameters.pb.cs.

◆ DynamicallyAdjustRefactorizationPeriod

bool Google.OrTools.Glop.GlopParameters.DynamicallyAdjustRefactorizationPeriod
getset

If this is true, then basis_refactorization_period becomes a lower bound on the number of iterations between two refactorization (provided there is no numerical accuracy issues). Depending on the estimated time to refactorize vs the extra time spend in each solves because of the LU update, we try to balance the two times.

Definition at line 827 of file Parameters.pb.cs.

◆ ExploitSingletonColumnInInitialBasis

bool Google.OrTools.Glop.GlopParameters.ExploitSingletonColumnInInitialBasis
getset

Whether or not we exploit the singleton columns already present in the problem when we create the initial basis.

Definition at line 1456 of file Parameters.pb.cs.

◆ FeasibilityRule

global.Google.OrTools.Glop.GlopParameters.Types.PricingRule Google.OrTools.Glop.GlopParameters.FeasibilityRule
getset

PricingRule to use during the feasibility phase.

Definition at line 256 of file Parameters.pb.cs.

◆ HarrisToleranceRatio

double Google.OrTools.Glop.GlopParameters.HarrisToleranceRatio
getset

This impacts the ratio test and indicates by how much we allow a basic variable value that we move to go out of bounds. The value should be in [0.0, 1.0) and should be interpreted as a ratio of the primal_feasibility_tolerance. Setting this to 0.0 basically disables the Harris ratio test while setting this too close to 1.0 will make it difficult to keep the variable values inside their bounds modulo the primal_feasibility_tolerance.

Note
the same comment applies to the dual simplex ratio test. There, we allow the reduced costs to be of an infeasible sign by as much as this ratio times the dual_feasibility_tolerance.

Definition at line 545 of file Parameters.pb.cs.

◆ HasAllowSimplexAlgorithmChange

bool Google.OrTools.Glop.GlopParameters.HasAllowSimplexAlgorithmChange
get

Gets whether the "allow_simplex_algorithm_change" field is set.

Definition at line 1308 of file Parameters.pb.cs.

◆ HasBasisRefactorizationPeriod

bool Google.OrTools.Glop.GlopParameters.HasBasisRefactorizationPeriod
get

Gets whether the "basis_refactorization_period" field is set.

Definition at line 803 of file Parameters.pb.cs.

◆ HasChangeStatusToImprecise

bool Google.OrTools.Glop.GlopParameters.HasChangeStatusToImprecise
get

Gets whether the "change_status_to_imprecise" field is set.

Definition at line 1019 of file Parameters.pb.cs.

◆ HasCostScaling

bool Google.OrTools.Glop.GlopParameters.HasCostScaling
get

Gets whether the "cost_scaling" field is set.

Definition at line 708 of file Parameters.pb.cs.

◆ HasCrossoverBoundSnappingDistance

bool Google.OrTools.Glop.GlopParameters.HasCrossoverBoundSnappingDistance
get

Gets whether the "crossover_bound_snapping_distance" field is set.

Definition at line 1998 of file Parameters.pb.cs.

◆ HasDegenerateMinistepFactor

bool Google.OrTools.Glop.GlopParameters.HasDegenerateMinistepFactor
get

Gets whether the "degenerate_ministep_factor" field is set.

Definition at line 1649 of file Parameters.pb.cs.

◆ HasDevexWeightsResetPeriod

bool Google.OrTools.Glop.GlopParameters.HasDevexWeightsResetPeriod
get

Gets whether the "devex_weights_reset_period" field is set.

Definition at line 1338 of file Parameters.pb.cs.

◆ HasDropMagnitude

bool Google.OrTools.Glop.GlopParameters.HasDropMagnitude
get

Gets whether the "drop_magnitude" field is set.

Definition at line 2131 of file Parameters.pb.cs.

◆ HasDropTolerance

bool Google.OrTools.Glop.GlopParameters.HasDropTolerance
get

Gets whether the "drop_tolerance" field is set.

Definition at line 650 of file Parameters.pb.cs.

◆ HasDualFeasibilityTolerance

bool Google.OrTools.Glop.GlopParameters.HasDualFeasibilityTolerance
get

Gets whether the "dual_feasibility_tolerance" field is set.

Definition at line 477 of file Parameters.pb.cs.

◆ HasDualizerThreshold

bool Google.OrTools.Glop.GlopParameters.HasDualizerThreshold
get

Gets whether the "dualizer_threshold" field is set.

Definition at line 901 of file Parameters.pb.cs.

◆ HasDualPricePrioritizeNorm

bool Google.OrTools.Glop.GlopParameters.HasDualPricePrioritizeNorm
get

Gets whether the "dual_price_prioritize_norm" field is set.

Definition at line 2162 of file Parameters.pb.cs.

◆ HasDualSmallPivotThreshold

bool Google.OrTools.Glop.GlopParameters.HasDualSmallPivotThreshold
get

Gets whether the "dual_small_pivot_threshold" field is set.

Definition at line 1498 of file Parameters.pb.cs.

◆ HasDynamicallyAdjustRefactorizationPeriod

bool Google.OrTools.Glop.GlopParameters.HasDynamicallyAdjustRefactorizationPeriod
get

Gets whether the "dynamically_adjust_refactorization_period" field is set.

Definition at line 837 of file Parameters.pb.cs.

◆ HasExploitSingletonColumnInInitialBasis

bool Google.OrTools.Glop.GlopParameters.HasExploitSingletonColumnInInitialBasis
get

Gets whether the "exploit_singleton_column_in_initial_basis" field is set.

Definition at line 1466 of file Parameters.pb.cs.

◆ HasFeasibilityRule

bool Google.OrTools.Glop.GlopParameters.HasFeasibilityRule
get

Gets whether the "feasibility_rule" field is set.

Definition at line 266 of file Parameters.pb.cs.

◆ HasHarrisToleranceRatio

bool Google.OrTools.Glop.GlopParameters.HasHarrisToleranceRatio
get

Gets whether the "harris_tolerance_ratio" field is set.

Definition at line 555 of file Parameters.pb.cs.

◆ HasInitialBasis

bool Google.OrTools.Glop.GlopParameters.HasInitialBasis
get

Gets whether the "initial_basis" field is set.

Definition at line 739 of file Parameters.pb.cs.

◆ HasInitialConditionNumberThreshold

bool Google.OrTools.Glop.GlopParameters.HasInitialConditionNumberThreshold
get

Gets whether the "initial_condition_number_threshold" field is set.

Definition at line 1889 of file Parameters.pb.cs.

◆ HasInitializeDevexWithColumnNorms

bool Google.OrTools.Glop.GlopParameters.HasInitializeDevexWithColumnNorms
get

Gets whether the "initialize_devex_with_column_norms" field is set.

Definition at line 1435 of file Parameters.pb.cs.

◆ HasLogSearchProgress

bool Google.OrTools.Glop.GlopParameters.HasLogSearchProgress
get

Gets whether the "log_search_progress" field is set.

Definition at line 1921 of file Parameters.pb.cs.

◆ HasLogToStdout

bool Google.OrTools.Glop.GlopParameters.HasLogToStdout
get

Gets whether the "log_to_stdout" field is set.

Definition at line 1951 of file Parameters.pb.cs.

◆ HasLuFactorizationPivotThreshold

bool Google.OrTools.Glop.GlopParameters.HasLuFactorizationPivotThreshold
get

Gets whether the "lu_factorization_pivot_threshold" field is set.

Definition at line 1085 of file Parameters.pb.cs.

◆ HasMarkowitzSingularityThreshold

bool Google.OrTools.Glop.GlopParameters.HasMarkowitzSingularityThreshold
get

Gets whether the "markowitz_singularity_threshold" field is set.

Definition at line 1245 of file Parameters.pb.cs.

◆ HasMarkowitzZlatevParameter

bool Google.OrTools.Glop.GlopParameters.HasMarkowitzZlatevParameter
get

Gets whether the "markowitz_zlatev_parameter" field is set.

Definition at line 1212 of file Parameters.pb.cs.

◆ HasMaxDeterministicTime

bool Google.OrTools.Glop.GlopParameters.HasMaxDeterministicTime
get

Gets whether the "max_deterministic_time" field is set.

Definition at line 1150 of file Parameters.pb.cs.

◆ HasMaxNumberOfIterations

bool Google.OrTools.Glop.GlopParameters.HasMaxNumberOfIterations
get

Gets whether the "max_number_of_iterations" field is set.

Definition at line 1181 of file Parameters.pb.cs.

◆ HasMaxNumberOfReoptimizations

bool Google.OrTools.Glop.GlopParameters.HasMaxNumberOfReoptimizations
get

Gets whether the "max_number_of_reoptimizations" field is set.

Definition at line 1052 of file Parameters.pb.cs.

◆ HasMaxTimeInSeconds

bool Google.OrTools.Glop.GlopParameters.HasMaxTimeInSeconds
get

Gets whether the "max_time_in_seconds" field is set.

Definition at line 1115 of file Parameters.pb.cs.

◆ HasMaxValidMagnitude

bool Google.OrTools.Glop.GlopParameters.HasMaxValidMagnitude
get

Gets whether the "max_valid_magnitude" field is set.

Definition at line 2098 of file Parameters.pb.cs.

◆ HasMinimumAcceptablePivot

bool Google.OrTools.Glop.GlopParameters.HasMinimumAcceptablePivot
get

Gets whether the "minimum_acceptable_pivot" field is set.

Definition at line 618 of file Parameters.pb.cs.

◆ HasNumOmpThreads

bool Google.OrTools.Glop.GlopParameters.HasNumOmpThreads
get

Gets whether the "num_omp_threads" field is set.

Definition at line 1726 of file Parameters.pb.cs.

◆ HasObjectiveLowerLimit

bool Google.OrTools.Glop.GlopParameters.HasObjectiveLowerLimit
get

Gets whether the "objective_lower_limit" field is set.

Definition at line 1573 of file Parameters.pb.cs.

◆ HasObjectiveUpperLimit

bool Google.OrTools.Glop.GlopParameters.HasObjectiveUpperLimit
get

Gets whether the "objective_upper_limit" field is set.

Definition at line 1600 of file Parameters.pb.cs.

◆ HasOptimizationRule

bool Google.OrTools.Glop.GlopParameters.HasOptimizationRule
get

Gets whether the "optimization_rule" field is set.

Definition at line 296 of file Parameters.pb.cs.

◆ HasPerturbCostsInDualSimplex

bool Google.OrTools.Glop.GlopParameters.HasPerturbCostsInDualSimplex
get

Gets whether the "perturb_costs_in_dual_simplex" field is set.

Definition at line 1759 of file Parameters.pb.cs.

◆ HasPreprocessorZeroTolerance

bool Google.OrTools.Glop.GlopParameters.HasPreprocessorZeroTolerance
get

Gets whether the "preprocessor_zero_tolerance" field is set.

Definition at line 1534 of file Parameters.pb.cs.

◆ HasPrimalFeasibilityTolerance

bool Google.OrTools.Glop.GlopParameters.HasPrimalFeasibilityTolerance
get

Gets whether the "primal_feasibility_tolerance" field is set.

Definition at line 436 of file Parameters.pb.cs.

◆ HasProvideStrongOptimalGuarantee

bool Google.OrTools.Glop.GlopParameters.HasProvideStrongOptimalGuarantee
get

Gets whether the "provide_strong_optimal_guarantee" field is set.

Definition at line 988 of file Parameters.pb.cs.

◆ HasPushToVertex

bool Google.OrTools.Glop.GlopParameters.HasPushToVertex
get

Gets whether the "push_to_vertex" field is set.

Definition at line 2033 of file Parameters.pb.cs.

◆ HasRandomSeed

bool Google.OrTools.Glop.GlopParameters.HasRandomSeed
get

Gets whether the "random_seed" field is set.

Definition at line 1695 of file Parameters.pb.cs.

◆ HasRatioTestZeroThreshold

bool Google.OrTools.Glop.GlopParameters.HasRatioTestZeroThreshold
get

Gets whether the "ratio_test_zero_threshold" field is set.

Definition at line 514 of file Parameters.pb.cs.

◆ HasRecomputeEdgesNormThreshold

bool Google.OrTools.Glop.GlopParameters.HasRecomputeEdgesNormThreshold
get

Gets whether the "recompute_edges_norm_threshold" field is set.

Definition at line 399 of file Parameters.pb.cs.

◆ HasRecomputeReducedCostsThreshold

bool Google.OrTools.Glop.GlopParameters.HasRecomputeReducedCostsThreshold
get

Gets whether the "recompute_reduced_costs_threshold" field is set.

Definition at line 365 of file Parameters.pb.cs.

◆ HasRefactorizationThreshold

bool Google.OrTools.Glop.GlopParameters.HasRefactorizationThreshold
get

Gets whether the "refactorization_threshold" field is set.

Definition at line 331 of file Parameters.pb.cs.

◆ HasRelativeCostPerturbation

bool Google.OrTools.Glop.GlopParameters.HasRelativeCostPerturbation
get

Gets whether the "relative_cost_perturbation" field is set.

Definition at line 1830 of file Parameters.pb.cs.

◆ HasRelativeMaxCostPerturbation

bool Google.OrTools.Glop.GlopParameters.HasRelativeMaxCostPerturbation
get

Gets whether the "relative_max_cost_perturbation" field is set.

Definition at line 1857 of file Parameters.pb.cs.

◆ HasScalingMethod

bool Google.OrTools.Glop.GlopParameters.HasScalingMethod
get

Gets whether the "scaling_method" field is set.

Definition at line 236 of file Parameters.pb.cs.

◆ HasSmallPivotThreshold

bool Google.OrTools.Glop.GlopParameters.HasSmallPivotThreshold
get

Gets whether the "small_pivot_threshold" field is set.

Definition at line 588 of file Parameters.pb.cs.

◆ HasSolutionFeasibilityTolerance

bool Google.OrTools.Glop.GlopParameters.HasSolutionFeasibilityTolerance
get

Gets whether the "solution_feasibility_tolerance" field is set.

Definition at line 939 of file Parameters.pb.cs.

◆ HasSolveDualProblem

bool Google.OrTools.Glop.GlopParameters.HasSolveDualProblem
get

Gets whether the "solve_dual_problem" field is set.

Definition at line 869 of file Parameters.pb.cs.

◆ HasUseDedicatedDualFeasibilityAlgorithm

bool Google.OrTools.Glop.GlopParameters.HasUseDedicatedDualFeasibilityAlgorithm
get

Gets whether the "use_dedicated_dual_feasibility_algorithm" field is set.

Definition at line 1797 of file Parameters.pb.cs.

◆ HasUseDualSimplex

bool Google.OrTools.Glop.GlopParameters.HasUseDualSimplex
get

Gets whether the "use_dual_simplex" field is set.

Definition at line 1275 of file Parameters.pb.cs.

◆ HasUseImpliedFreePreprocessor

bool Google.OrTools.Glop.GlopParameters.HasUseImpliedFreePreprocessor
get

Gets whether the "use_implied_free_preprocessor" field is set.

Definition at line 2063 of file Parameters.pb.cs.

◆ HasUseMiddleProductFormUpdate

bool Google.OrTools.Glop.GlopParameters.HasUseMiddleProductFormUpdate
get

Gets whether the "use_middle_product_form_update" field is set.

Definition at line 1404 of file Parameters.pb.cs.

◆ HasUsePreprocessing

bool Google.OrTools.Glop.GlopParameters.HasUsePreprocessing
get

Gets whether the "use_preprocessing" field is set.

Definition at line 1368 of file Parameters.pb.cs.

◆ HasUseScaling

bool Google.OrTools.Glop.GlopParameters.HasUseScaling
get

Gets whether the "use_scaling" field is set.

Definition at line 681 of file Parameters.pb.cs.

◆ HasUseTransposedMatrix

bool Google.OrTools.Glop.GlopParameters.HasUseTransposedMatrix
get

Gets whether the "use_transposed_matrix" field is set.

Definition at line 771 of file Parameters.pb.cs.

◆ InitialBasis

global.Google.OrTools.Glop.GlopParameters.Types.InitialBasisHeuristic Google.OrTools.Glop.GlopParameters.InitialBasis
getset

What heuristic is used to try to replace the fixed slack columns in the initial basis of the primal simplex.

Definition at line 729 of file Parameters.pb.cs.

◆ InitialConditionNumberThreshold

double Google.OrTools.Glop.GlopParameters.InitialConditionNumberThreshold
getset

If our upper bound on the condition number of the initial basis (from our heurisitic or a warm start) is above this threshold, we revert to an all slack basis.

Definition at line 1879 of file Parameters.pb.cs.

◆ InitializeDevexWithColumnNorms

bool Google.OrTools.Glop.GlopParameters.InitializeDevexWithColumnNorms
getset

Whether we initialize devex weights to 1.0 or to the norms of the matrix columns.

Definition at line 1425 of file Parameters.pb.cs.

◆ LogSearchProgress

bool Google.OrTools.Glop.GlopParameters.LogSearchProgress
getset

If true, logs the progress of a solve to LOG(INFO). Note that the same messages can also be turned on by displaying logs at level 1 for the relevant files.

Definition at line 1911 of file Parameters.pb.cs.

◆ LogToStdout

bool Google.OrTools.Glop.GlopParameters.LogToStdout
getset

If true, logs will be displayed to stdout instead of using Google log info.

Definition at line 1941 of file Parameters.pb.cs.

◆ LuFactorizationPivotThreshold

double Google.OrTools.Glop.GlopParameters.LuFactorizationPivotThreshold
getset

Threshold for LU-factorization: for stability reasons, the magnitude of the chosen pivot at a given step is guaranteed to be greater than this threshold times the maximum magnitude of all the possible pivot choices in the same column. The value must be in [0,1].

Definition at line 1075 of file Parameters.pb.cs.

◆ MarkowitzSingularityThreshold

double Google.OrTools.Glop.GlopParameters.MarkowitzSingularityThreshold
getset

If a pivot magnitude is smaller than this during the Markowitz LU factorization, then the matrix is assumed to be singular. Note that this is an absolute threshold and is not relative to the other possible pivots on the same column (see lu_factorization_pivot_threshold).

Definition at line 1235 of file Parameters.pb.cs.

◆ MarkowitzZlatevParameter

int Google.OrTools.Glop.GlopParameters.MarkowitzZlatevParameter
getset

How many columns do we look at in the Markowitz pivoting rule to find a good pivot. See markowitz.h.

Definition at line 1202 of file Parameters.pb.cs.

◆ MaxDeterministicTime

double Google.OrTools.Glop.GlopParameters.MaxDeterministicTime
getset

Maximum deterministic time allowed to solve a problem. The deterministic time is more or less correlated to the running time, and its unit should be around the second (at least on a Xeon(R) CPU E5-1650 v2 @ 3.50GHz).

Todo
(user): Improve the correlation.

Definition at line 1140 of file Parameters.pb.cs.

◆ MaxNumberOfIterations

long Google.OrTools.Glop.GlopParameters.MaxNumberOfIterations
getset

Maximum number of simplex iterations to solve a problem. A value of -1 means no limit.

Definition at line 1171 of file Parameters.pb.cs.

◆ MaxNumberOfReoptimizations

double Google.OrTools.Glop.GlopParameters.MaxNumberOfReoptimizations
getset

When the solution of phase II is imprecise, we re-run the phase II with the opposite algorithm from that imprecise solution (i.e., if primal or dual simplex was used, we use dual or primal simplex, respectively). We repeat such re-optimization until the solution is precise, or we hit this limit.

Definition at line 1042 of file Parameters.pb.cs.

◆ MaxTimeInSeconds

double Google.OrTools.Glop.GlopParameters.MaxTimeInSeconds
getset

Maximum time allowed in seconds to solve a problem.

Definition at line 1105 of file Parameters.pb.cs.

◆ MaxValidMagnitude

double Google.OrTools.Glop.GlopParameters.MaxValidMagnitude
getset

Any finite values in the input LP 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. In practice, users shouldn't use super large values in an LP. With the default threshold, even evaluating large constraint with variables at their bound shouldn't cause any overflow.

Definition at line 2088 of file Parameters.pb.cs.

◆ MinimumAcceptablePivot

double Google.OrTools.Glop.GlopParameters.MinimumAcceptablePivot
getset

We never follow a basis change with a pivot under this threshold.

Definition at line 608 of file Parameters.pb.cs.

◆ NumOmpThreads

int Google.OrTools.Glop.GlopParameters.NumOmpThreads
getset

Number of threads in the OMP parallel sections. If left to 1, the code will not create any OMP threads and will remain single-threaded.

Definition at line 1716 of file Parameters.pb.cs.

◆ ObjectiveLowerLimit

double Google.OrTools.Glop.GlopParameters.ObjectiveLowerLimit
getset

The solver will stop as soon as it has proven that the objective is smaller than objective_lower_limit or greater than objective_upper_limit. Depending on the simplex algorithm (primal or dual) and the optimization direction,.

Note
only one bound will be used at the time. Important: The solver does not add any tolerances to these values, and as soon as the objective (as computed by the solver, so with some imprecision) crosses one of these bounds (strictly), the search will stop. It is up to the client to add any tolerance if needed.

Definition at line 1563 of file Parameters.pb.cs.

◆ ObjectiveUpperLimit

double Google.OrTools.Glop.GlopParameters.ObjectiveUpperLimit
getset

Definition at line 1590 of file Parameters.pb.cs.

◆ OptimizationRule

global.Google.OrTools.Glop.GlopParameters.Types.PricingRule Google.OrTools.Glop.GlopParameters.OptimizationRule
getset

PricingRule to use during the optimization phase.

Definition at line 286 of file Parameters.pb.cs.

◆ Parser

pb.MessageParser<GlopParameters> Google.OrTools.Glop.GlopParameters.Parser
staticget

Definition at line 125 of file Parameters.pb.cs.

◆ PerturbCostsInDualSimplex

bool Google.OrTools.Glop.GlopParameters.PerturbCostsInDualSimplex
getset

When this is true, then the costs are randomly perturbed before the dual simplex is even started. This has been shown to improve the dual simplex performance. For a good reference, see Huangfu Q (2013) "High performance simplex solver", Ph.D, dissertation, University of Edinburgh.

Definition at line 1749 of file Parameters.pb.cs.

◆ PreprocessorZeroTolerance

double Google.OrTools.Glop.GlopParameters.PreprocessorZeroTolerance
getset

A floating point tolerance used by the preprocessors. This is used for things like detecting if two columns/rows are proportional or if an interval is empty.

Note
the preprocessors also use solution_feasibility_tolerance() to detect if a problem is infeasible.

Definition at line 1524 of file Parameters.pb.cs.

◆ PrimalFeasibilityTolerance

double Google.OrTools.Glop.GlopParameters.PrimalFeasibilityTolerance
getset

This tolerance indicates by how much we allow the variable values to go out of bounds and still consider the current solution primal-feasible. We also use the same tolerance for the error A.x - b. Note that the two errors are closely related if A is scaled in such a way that the greatest coefficient magnitude on each column is 1.0.

This is also simply called feasibility tolerance in other solvers.

Definition at line 426 of file Parameters.pb.cs.

◆ ProvideStrongOptimalGuarantee

bool Google.OrTools.Glop.GlopParameters.ProvideStrongOptimalGuarantee
getset

If true, then when the solver returns a solution with an OPTIMAL status, we can guarantee that:

  • The primal variable are in their bounds.
  • The dual variable are in their bounds.
  • If we modify each component of the right-hand side a bit and each component of the objective function a bit, then the pair (primal values, dual values) is an EXACT optimal solution of the perturbed problem.
  • The modifications above are smaller than the associated tolerances as defined in the comment for solution_feasibility_tolerance (*). (*): This is the only place where the guarantee is not tight since we compute the upper bounds with scalar product of the primal/dual solution and the initial problem coefficients with only double precision.
    Note
    whether or not this option is true, we still check the primal/dual infeasibility and objective gap. However if it is false, we don't move the primal/dual values within their bounds and leave them untouched.

Definition at line 978 of file Parameters.pb.cs.

◆ PushToVertex

bool Google.OrTools.Glop.GlopParameters.PushToVertex
getset

If the optimization phases finishes with super-basic variables (i.e., variables that either 1) have bounds but are FREE in the basis, or 2) have no bounds and are FREE in the basis at a nonzero value), then run a "push" phase to push these variables to bounds, obtaining a vertex solution. Note this situation can happen only if a starting value was specified via SetStartingVariableValuesForNextSolve().

Definition at line 2023 of file Parameters.pb.cs.

◆ RandomSeed

int Google.OrTools.Glop.GlopParameters.RandomSeed
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.

Note
this may lead to a different solution, for example a different optimal basis. 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. Also note that the solver is fully deterministic: two runs of the same binary, on the same machine, on the exact same data and with the same parameters will go through the exact same iterations. If they hit a time limit, they might of course yield different results because one will have advanced farther than the other.

Definition at line 1685 of file Parameters.pb.cs.

◆ RatioTestZeroThreshold

double Google.OrTools.Glop.GlopParameters.RatioTestZeroThreshold
getset

During the primal simplex (resp. dual simplex), the coefficients of the direction (resp. update row) with a magnitude lower than this threshold are not considered during the ratio test. This tolerance is related to the precision at which a Solve() involving the basis matrix can be performed.

Todo
(user): Automatically increase it when we detect that the precision of the Solve() is worse than this.

Definition at line 504 of file Parameters.pb.cs.

◆ RecomputeEdgesNormThreshold

double Google.OrTools.Glop.GlopParameters.RecomputeEdgesNormThreshold
getset
Note
the threshold is a relative error on the actual norm (not the squared one) and that edge norms are always greater than 1. Recomputing norms is a really expensive operation and a large threshold is ok since this doesn't impact directly the solution but just the entering variable choice.

Definition at line 389 of file Parameters.pb.cs.

◆ RecomputeReducedCostsThreshold

double Google.OrTools.Glop.GlopParameters.RecomputeReducedCostsThreshold
getset

We estimate the accuracy of the iteratively computed reduced costs. If it falls below this threshold, we reinitialize them from scratch. Note that such an operation is pretty fast, so we can use a low threshold. It is important to have a good accuracy here (better than the dual_feasibility_tolerance below) to be sure of the sign of such a cost.

Definition at line 355 of file Parameters.pb.cs.

◆ RefactorizationThreshold

double Google.OrTools.Glop.GlopParameters.RefactorizationThreshold
getset

We estimate the factorization accuracy of B during each pivot by using the fact that we can compute the pivot coefficient in two ways:

  • From direction[leaving_row].
  • From update_row[entering_column]. If the two values have a relative difference above this threshold, we trigger a refactorization.

Definition at line 321 of file Parameters.pb.cs.

◆ RelativeCostPerturbation

double Google.OrTools.Glop.GlopParameters.RelativeCostPerturbation
getset

The magnitude of the cost perturbation is given by RandomIn(1.0, 2.0) * ( relative_cost_perturbation * cost.

  • relative_max_cost_perturbation * max_cost);

Definition at line 1820 of file Parameters.pb.cs.

◆ RelativeMaxCostPerturbation

double Google.OrTools.Glop.GlopParameters.RelativeMaxCostPerturbation
getset

Definition at line 1847 of file Parameters.pb.cs.

◆ ScalingMethod

global.Google.OrTools.Glop.GlopParameters.Types.ScalingAlgorithm Google.OrTools.Glop.GlopParameters.ScalingMethod
getset

Definition at line 226 of file Parameters.pb.cs.

◆ SmallPivotThreshold

double Google.OrTools.Glop.GlopParameters.SmallPivotThreshold
getset

When we choose the leaving variable, we want to avoid small pivot because they are the less precise and may cause numerical instabilities. For a pivot under this threshold times the infinity norm of the direction, we try various countermeasures in order to avoid using it.

Definition at line 578 of file Parameters.pb.cs.

◆ SolutionFeasibilityTolerance

double Google.OrTools.Glop.GlopParameters.SolutionFeasibilityTolerance
getset

When the problem status is OPTIMAL, we check the optimality using this relative tolerance and change the status to IMPRECISE if an issue is detected.

The tolerance is "relative" in the sense that our thresholds are:

  • tolerance * max(1.0, abs(bound)) for crossing a given bound.
  • tolerance * max(1.0, abs(cost)) for an infeasible reduced cost.
  • tolerance for an infeasible dual value.

Definition at line 929 of file Parameters.pb.cs.

◆ SolveDualProblem

global.Google.OrTools.Glop.GlopParameters.Types.SolverBehavior Google.OrTools.Glop.GlopParameters.SolveDualProblem
getset

Whether or not we solve the dual of the given problem. With a value of auto, the algorithm decide which approach is probably the fastest depending on the problem dimensions (see dualizer_threshold).

Definition at line 859 of file Parameters.pb.cs.

◆ UseDedicatedDualFeasibilityAlgorithm

bool Google.OrTools.Glop.GlopParameters.UseDedicatedDualFeasibilityAlgorithm
getset

We have two possible dual phase I algorithms. Both work on an LP that minimize the sum of dual infeasiblities. One use dedicated code (when this param is true), the other one use exactly the same code as the dual phase II but on an auxiliary problem where the variable bounds of the original problem are changed.

Todo
(user): For now we have both, but ideally the non-dedicated version will win since it is a lot less code to maintain.

Definition at line 1787 of file Parameters.pb.cs.

◆ UseDualSimplex

bool Google.OrTools.Glop.GlopParameters.UseDualSimplex
getset

Whether or not we use the dual simplex algorithm instead of the primal.

Definition at line 1265 of file Parameters.pb.cs.

◆ UseImpliedFreePreprocessor

bool Google.OrTools.Glop.GlopParameters.UseImpliedFreePreprocessor
getset

If presolve runs, include the pass that detects implied free variables.

Definition at line 2053 of file Parameters.pb.cs.

◆ UseMiddleProductFormUpdate

bool Google.OrTools.Glop.GlopParameters.UseMiddleProductFormUpdate
getset

Whether or not to use the middle product form update rather than the standard eta LU update. The middle form product update should be a lot more efficient (close to the Forrest-Tomlin update, a bit slower but easier to implement). See for more details: Qi Huangfu, J. A. Julian Hall, "Novel update techniques for the revised simplex method", 28 january 2013, Technical Report ERGO-13-0001 http://www.maths.ed.ac.uk/hall/HuHa12/ERGO-13-001.pdf.

Definition at line 1394 of file Parameters.pb.cs.

◆ UsePreprocessing

bool Google.OrTools.Glop.GlopParameters.UsePreprocessing
getset

Whether or not we use advanced preprocessing techniques.

Definition at line 1358 of file Parameters.pb.cs.

◆ UseScaling

bool Google.OrTools.Glop.GlopParameters.UseScaling
getset

Whether or not we scale the matrix A so that the maximum coefficient on each line and each column is 1.0.

Definition at line 671 of file Parameters.pb.cs.

◆ UseTransposedMatrix

bool Google.OrTools.Glop.GlopParameters.UseTransposedMatrix
getset

Whether or not we keep a transposed version of the matrix A to speed-up the pricing at the cost of extra memory and the initial tranposition computation.

Definition at line 761 of file Parameters.pb.cs.


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