GlopParameters.Builder |
GlopParameters.Builder.addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
|
GlopParameters.Builder |
GlopParameters.Builder.clear() |
|
GlopParameters.Builder |
GlopParameters.Builder.clearAllowSimplexAlgorithmChange() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearBasisRefactorizationPeriod() |
Number of iterations between two basis refactorizations.
|
GlopParameters.Builder |
GlopParameters.Builder.clearChangeStatusToImprecise() |
If true, the internal API will change the return status to imprecise if the
solution does not respect the internal tolerances.
|
GlopParameters.Builder |
GlopParameters.Builder.clearCostScaling() |
optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
|
GlopParameters.Builder |
GlopParameters.Builder.clearCrossoverBoundSnappingDistance() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearDegenerateMinistepFactor() |
During a degenerate iteration, the more conservative approach is to do a
step of length zero (while shifting the bound of the leaving variable).
|
GlopParameters.Builder |
GlopParameters.Builder.clearDevexWeightsResetPeriod() |
Devex weights will be reset to 1.0 after that number of updates.
|
GlopParameters.Builder |
GlopParameters.Builder.clearDropTolerance() |
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).
|
GlopParameters.Builder |
GlopParameters.Builder.clearDualFeasibilityTolerance() |
Variables whose reduced costs have an absolute value smaller than this
tolerance are not considered as entering candidates.
|
GlopParameters.Builder |
GlopParameters.Builder.clearDualizerThreshold() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearDualPricePrioritizeNorm() |
On some problem like stp3d or pds-100 this makes a huge difference in
speed and number of iterations of the dual simplex.
|
GlopParameters.Builder |
GlopParameters.Builder.clearDualSmallPivotThreshold() |
Like small_pivot_threshold but for the dual simplex.
|
GlopParameters.Builder |
GlopParameters.Builder.clearDynamicallyAdjustRefactorizationPeriod() |
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).
|
GlopParameters.Builder |
GlopParameters.Builder.clearExploitSingletonColumnInInitialBasis() |
Whether or not we exploit the singleton columns already present in the
problem when we create the initial basis.
|
GlopParameters.Builder |
GlopParameters.Builder.clearFeasibilityRule() |
PricingRule to use during the feasibility phase.
|
GlopParameters.Builder |
GlopParameters.Builder.clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
|
GlopParameters.Builder |
GlopParameters.Builder.clearHarrisToleranceRatio() |
This impacts the ratio test and indicates by how much we allow a basic
variable value that we move to go out of bounds.
|
GlopParameters.Builder |
GlopParameters.Builder.clearInitialBasis() |
What heuristic is used to try to replace the fixed slack columns in the
initial basis of the primal simplex.
|
GlopParameters.Builder |
GlopParameters.Builder.clearInitialConditionNumberThreshold() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearInitializeDevexWithColumnNorms() |
Whether we initialize devex weights to 1.0 or to the norms of the matrix
columns.
|
GlopParameters.Builder |
GlopParameters.Builder.clearLogSearchProgress() |
If true, logs the progress of a solve to LOG(INFO).
|
GlopParameters.Builder |
GlopParameters.Builder.clearLogToStdout() |
If true, logs will be displayed to stdout instead of using Google log info.
|
GlopParameters.Builder |
GlopParameters.Builder.clearLuFactorizationPivotThreshold() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearMarkowitzSingularityThreshold() |
If a pivot magnitude is smaller than this during the Markowitz LU
factorization, then the matrix is assumed to be singular.
|
GlopParameters.Builder |
GlopParameters.Builder.clearMarkowitzZlatevParameter() |
How many columns do we look at in the Markowitz pivoting rule to find
a good pivot.
|
GlopParameters.Builder |
GlopParameters.Builder.clearMaxDeterministicTime() |
Maximum deterministic time allowed to solve a problem.
|
GlopParameters.Builder |
GlopParameters.Builder.clearMaxNumberOfIterations() |
Maximum number of simplex iterations to solve a problem.
|
GlopParameters.Builder |
GlopParameters.Builder.clearMaxNumberOfReoptimizations() |
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).
|
GlopParameters.Builder |
GlopParameters.Builder.clearMaxTimeInSeconds() |
Maximum time allowed in seconds to solve a problem.
|
GlopParameters.Builder |
GlopParameters.Builder.clearMaxValidMagnitude() |
Any finite values in the input LP must be below this threshold, otherwise
the model will be reported invalid.
|
GlopParameters.Builder |
GlopParameters.Builder.clearMinimumAcceptablePivot() |
We never follow a basis change with a pivot under this threshold.
|
GlopParameters.Builder |
GlopParameters.Builder.clearNumOmpThreads() |
Number of threads in the OMP parallel sections.
|
GlopParameters.Builder |
GlopParameters.Builder.clearObjectiveLowerLimit() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearObjectiveUpperLimit() |
optional double objective_upper_limit = 41 [default = inf];
|
GlopParameters.Builder |
GlopParameters.Builder.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
|
GlopParameters.Builder |
GlopParameters.Builder.clearOptimizationRule() |
PricingRule to use during the optimization phase.
|
GlopParameters.Builder |
GlopParameters.Builder.clearPerturbCostsInDualSimplex() |
When this is true, then the costs are randomly perturbed before the dual
simplex is even started.
|
GlopParameters.Builder |
GlopParameters.Builder.clearPreprocessorZeroTolerance() |
A floating point tolerance used by the preprocessors.
|
GlopParameters.Builder |
GlopParameters.Builder.clearPrimalFeasibilityTolerance() |
This tolerance indicates by how much we allow the variable values to go out
of bounds and still consider the current solution primal-feasible.
|
GlopParameters.Builder |
GlopParameters.Builder.clearProvideStrongOptimalGuarantee() |
If true, then when the solver returns a solution with an OPTIMAL status,
we can guarantee that:
- The primal variable are in their bounds.
|
GlopParameters.Builder |
GlopParameters.Builder.clearPushToVertex() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearRandomSeed() |
At the beginning of each solve, the random number generator used in some
part of the solver is reinitialized to this seed.
|
GlopParameters.Builder |
GlopParameters.Builder.clearRatioTestZeroThreshold() |
During the primal simplex (resp.
|
GlopParameters.Builder |
GlopParameters.Builder.clearRecomputeEdgesNormThreshold() |
Note that the threshold is a relative error on the actual norm (not the
squared one) and that edge norms are always greater than 1.
|
GlopParameters.Builder |
GlopParameters.Builder.clearRecomputeReducedCostsThreshold() |
We estimate the accuracy of the iteratively computed reduced costs.
|
GlopParameters.Builder |
GlopParameters.Builder.clearRefactorizationThreshold() |
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].
|
GlopParameters.Builder |
GlopParameters.Builder.clearRelativeCostPerturbation() |
The magnitude of the cost perturbation is given by
RandomIn(1.0, 2.0) * (
relative_cost_perturbation * cost
+ relative_max_cost_perturbation * max_cost);
|
GlopParameters.Builder |
GlopParameters.Builder.clearRelativeMaxCostPerturbation() |
optional double relative_max_cost_perturbation = 55 [default = 1e-07];
|
GlopParameters.Builder |
GlopParameters.Builder.clearScalingMethod() |
optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
|
GlopParameters.Builder |
GlopParameters.Builder.clearSmallPivotThreshold() |
When we choose the leaving variable, we want to avoid small pivot because
they are the less precise and may cause numerical instabilities.
|
GlopParameters.Builder |
GlopParameters.Builder.clearSolutionFeasibilityTolerance() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clearSolveDualProblem() |
Whether or not we solve the dual of the given problem.
|
GlopParameters.Builder |
GlopParameters.Builder.clearUseDedicatedDualFeasibilityAlgorithm() |
We have two possible dual phase I algorithms.
|
GlopParameters.Builder |
GlopParameters.Builder.clearUseDualSimplex() |
Whether or not we use the dual simplex algorithm instead of the primal.
|
GlopParameters.Builder |
GlopParameters.Builder.clearUseImpliedFreePreprocessor() |
If presolve runs, include the pass that detects implied free variables.
|
GlopParameters.Builder |
GlopParameters.Builder.clearUseMiddleProductFormUpdate() |
Whether or not to use the middle product form update rather than the
standard eta LU update.
|
GlopParameters.Builder |
GlopParameters.Builder.clearUsePreprocessing() |
Whether or not we use advanced preprocessing techniques.
|
GlopParameters.Builder |
GlopParameters.Builder.clearUseScaling() |
Whether or not we scale the matrix A so that the maximum coefficient on
each line and each column is 1.0.
|
GlopParameters.Builder |
GlopParameters.Builder.clearUseTransposedMatrix() |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.clone() |
|
GlopParameters.Builder |
GlopParameters.Builder.mergeFrom(GlopParameters other) |
|
GlopParameters.Builder |
GlopParameters.Builder.mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
|
GlopParameters.Builder |
GlopParameters.Builder.mergeFrom(com.google.protobuf.Message other) |
|
GlopParameters.Builder |
GlopParameters.Builder.mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
|
static GlopParameters.Builder |
GlopParameters.newBuilder() |
|
static GlopParameters.Builder |
GlopParameters.newBuilder(GlopParameters prototype) |
|
GlopParameters.Builder |
GlopParameters.newBuilderForType() |
|
protected GlopParameters.Builder |
GlopParameters.newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
|
GlopParameters.Builder |
GlopParameters.Builder.setAllowSimplexAlgorithmChange(boolean value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setBasisRefactorizationPeriod(int value) |
Number of iterations between two basis refactorizations.
|
GlopParameters.Builder |
GlopParameters.Builder.setChangeStatusToImprecise(boolean value) |
If true, the internal API will change the return status to imprecise if the
solution does not respect the internal tolerances.
|
GlopParameters.Builder |
GlopParameters.Builder.setCostScaling(GlopParameters.CostScalingAlgorithm value) |
optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
|
GlopParameters.Builder |
GlopParameters.Builder.setCrossoverBoundSnappingDistance(double value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setDegenerateMinistepFactor(double value) |
During a degenerate iteration, the more conservative approach is to do a
step of length zero (while shifting the bound of the leaving variable).
|
GlopParameters.Builder |
GlopParameters.Builder.setDevexWeightsResetPeriod(int value) |
Devex weights will be reset to 1.0 after that number of updates.
|
GlopParameters.Builder |
GlopParameters.Builder.setDropTolerance(double value) |
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).
|
GlopParameters.Builder |
GlopParameters.Builder.setDualFeasibilityTolerance(double value) |
Variables whose reduced costs have an absolute value smaller than this
tolerance are not considered as entering candidates.
|
GlopParameters.Builder |
GlopParameters.Builder.setDualizerThreshold(double value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setDualPricePrioritizeNorm(boolean value) |
On some problem like stp3d or pds-100 this makes a huge difference in
speed and number of iterations of the dual simplex.
|
GlopParameters.Builder |
GlopParameters.Builder.setDualSmallPivotThreshold(double value) |
Like small_pivot_threshold but for the dual simplex.
|
GlopParameters.Builder |
GlopParameters.Builder.setDynamicallyAdjustRefactorizationPeriod(boolean value) |
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).
|
GlopParameters.Builder |
GlopParameters.Builder.setExploitSingletonColumnInInitialBasis(boolean value) |
Whether or not we exploit the singleton columns already present in the
problem when we create the initial basis.
|
GlopParameters.Builder |
GlopParameters.Builder.setFeasibilityRule(GlopParameters.PricingRule value) |
PricingRule to use during the feasibility phase.
|
GlopParameters.Builder |
GlopParameters.Builder.setField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
|
GlopParameters.Builder |
GlopParameters.Builder.setHarrisToleranceRatio(double value) |
This impacts the ratio test and indicates by how much we allow a basic
variable value that we move to go out of bounds.
|
GlopParameters.Builder |
GlopParameters.Builder.setInitialBasis(GlopParameters.InitialBasisHeuristic value) |
What heuristic is used to try to replace the fixed slack columns in the
initial basis of the primal simplex.
|
GlopParameters.Builder |
GlopParameters.Builder.setInitialConditionNumberThreshold(double value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setInitializeDevexWithColumnNorms(boolean value) |
Whether we initialize devex weights to 1.0 or to the norms of the matrix
columns.
|
GlopParameters.Builder |
GlopParameters.Builder.setLogSearchProgress(boolean value) |
If true, logs the progress of a solve to LOG(INFO).
|
GlopParameters.Builder |
GlopParameters.Builder.setLogToStdout(boolean value) |
If true, logs will be displayed to stdout instead of using Google log info.
|
GlopParameters.Builder |
GlopParameters.Builder.setLuFactorizationPivotThreshold(double value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setMarkowitzSingularityThreshold(double value) |
If a pivot magnitude is smaller than this during the Markowitz LU
factorization, then the matrix is assumed to be singular.
|
GlopParameters.Builder |
GlopParameters.Builder.setMarkowitzZlatevParameter(int value) |
How many columns do we look at in the Markowitz pivoting rule to find
a good pivot.
|
GlopParameters.Builder |
GlopParameters.Builder.setMaxDeterministicTime(double value) |
Maximum deterministic time allowed to solve a problem.
|
GlopParameters.Builder |
GlopParameters.Builder.setMaxNumberOfIterations(long value) |
Maximum number of simplex iterations to solve a problem.
|
GlopParameters.Builder |
GlopParameters.Builder.setMaxNumberOfReoptimizations(double value) |
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).
|
GlopParameters.Builder |
GlopParameters.Builder.setMaxTimeInSeconds(double value) |
Maximum time allowed in seconds to solve a problem.
|
GlopParameters.Builder |
GlopParameters.Builder.setMaxValidMagnitude(double value) |
Any finite values in the input LP must be below this threshold, otherwise
the model will be reported invalid.
|
GlopParameters.Builder |
GlopParameters.Builder.setMinimumAcceptablePivot(double value) |
We never follow a basis change with a pivot under this threshold.
|
GlopParameters.Builder |
GlopParameters.Builder.setNumOmpThreads(int value) |
Number of threads in the OMP parallel sections.
|
GlopParameters.Builder |
GlopParameters.Builder.setObjectiveLowerLimit(double value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setObjectiveUpperLimit(double value) |
optional double objective_upper_limit = 41 [default = inf];
|
GlopParameters.Builder |
GlopParameters.Builder.setOptimizationRule(GlopParameters.PricingRule value) |
PricingRule to use during the optimization phase.
|
GlopParameters.Builder |
GlopParameters.Builder.setPerturbCostsInDualSimplex(boolean value) |
When this is true, then the costs are randomly perturbed before the dual
simplex is even started.
|
GlopParameters.Builder |
GlopParameters.Builder.setPreprocessorZeroTolerance(double value) |
A floating point tolerance used by the preprocessors.
|
GlopParameters.Builder |
GlopParameters.Builder.setPrimalFeasibilityTolerance(double value) |
This tolerance indicates by how much we allow the variable values to go out
of bounds and still consider the current solution primal-feasible.
|
GlopParameters.Builder |
GlopParameters.Builder.setProvideStrongOptimalGuarantee(boolean value) |
If true, then when the solver returns a solution with an OPTIMAL status,
we can guarantee that:
- The primal variable are in their bounds.
|
GlopParameters.Builder |
GlopParameters.Builder.setPushToVertex(boolean value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setRandomSeed(int value) |
At the beginning of each solve, the random number generator used in some
part of the solver is reinitialized to this seed.
|
GlopParameters.Builder |
GlopParameters.Builder.setRatioTestZeroThreshold(double value) |
During the primal simplex (resp.
|
GlopParameters.Builder |
GlopParameters.Builder.setRecomputeEdgesNormThreshold(double value) |
Note that the threshold is a relative error on the actual norm (not the
squared one) and that edge norms are always greater than 1.
|
GlopParameters.Builder |
GlopParameters.Builder.setRecomputeReducedCostsThreshold(double value) |
We estimate the accuracy of the iteratively computed reduced costs.
|
GlopParameters.Builder |
GlopParameters.Builder.setRefactorizationThreshold(double value) |
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].
|
GlopParameters.Builder |
GlopParameters.Builder.setRelativeCostPerturbation(double value) |
The magnitude of the cost perturbation is given by
RandomIn(1.0, 2.0) * (
relative_cost_perturbation * cost
+ relative_max_cost_perturbation * max_cost);
|
GlopParameters.Builder |
GlopParameters.Builder.setRelativeMaxCostPerturbation(double value) |
optional double relative_max_cost_perturbation = 55 [default = 1e-07];
|
GlopParameters.Builder |
GlopParameters.Builder.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
java.lang.Object value) |
|
GlopParameters.Builder |
GlopParameters.Builder.setScalingMethod(GlopParameters.ScalingAlgorithm value) |
optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
|
GlopParameters.Builder |
GlopParameters.Builder.setSmallPivotThreshold(double value) |
When we choose the leaving variable, we want to avoid small pivot because
they are the less precise and may cause numerical instabilities.
|
GlopParameters.Builder |
GlopParameters.Builder.setSolutionFeasibilityTolerance(double value) |
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.
|
GlopParameters.Builder |
GlopParameters.Builder.setSolveDualProblem(GlopParameters.SolverBehavior value) |
Whether or not we solve the dual of the given problem.
|
GlopParameters.Builder |
GlopParameters.Builder.setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
|
GlopParameters.Builder |
GlopParameters.Builder.setUseDedicatedDualFeasibilityAlgorithm(boolean value) |
We have two possible dual phase I algorithms.
|
GlopParameters.Builder |
GlopParameters.Builder.setUseDualSimplex(boolean value) |
Whether or not we use the dual simplex algorithm instead of the primal.
|
GlopParameters.Builder |
GlopParameters.Builder.setUseImpliedFreePreprocessor(boolean value) |
If presolve runs, include the pass that detects implied free variables.
|
GlopParameters.Builder |
GlopParameters.Builder.setUseMiddleProductFormUpdate(boolean value) |
Whether or not to use the middle product form update rather than the
standard eta LU update.
|
GlopParameters.Builder |
GlopParameters.Builder.setUsePreprocessing(boolean value) |
Whether or not we use advanced preprocessing techniques.
|
GlopParameters.Builder |
GlopParameters.Builder.setUseScaling(boolean value) |
Whether or not we scale the matrix A so that the maximum coefficient on
each line and each column is 1.0.
|
GlopParameters.Builder |
GlopParameters.Builder.setUseTransposedMatrix(boolean value) |
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.
|
GlopParameters.Builder |
GlopParameters.toBuilder() |
|