14#ifndef OR_TOOLS_GLOP_LP_SOLVER_H_
15#define OR_TOOLS_GLOP_LP_SOLVER_H_
19#include "ortools/glop/parameters.pb.h"
104 return variable_statuses_;
115 return constraint_activities_;
118 return constraint_statuses_;
128 return constraints_dual_ray_;
131 return variable_bounds_dual_ray_;
177 void ResizeSolution(RowIndex num_rows, ColIndex num_cols);
217 double ComputeMaxExpectedObjectiveError(
const LinearProgram& lp);
235 Fractional ComputeMaxCostPerturbationToEnforceOptimality(
237 Fractional ComputeMaxRhsPerturbationToEnforceOptimality(
246 double ComputePrimalValueInfeasibility(
const LinearProgram& lp,
250 double ComputeDualValueInfeasibility(
const LinearProgram& lp,
252 double ComputeReducedCostInfeasibility(
const LinearProgram& lp,
268 std::unique_ptr<RevisedSimplex> revised_simplex_;
271 int num_revised_simplex_iterations_;
287 bool may_have_multiple_solutions_;
288 Fractional max_absolute_primal_infeasibility_;
292 GlopParameters parameters_;
A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...
const DenseRow & variable_bounds_dual_ray() const
const GlopParameters & GetParameters() const
SolverLogger & GetSolverLogger()
void SetInitialBasis(const VariableStatusRow &variable_statuses, const ConstraintStatusColumn &constraint_statuses)
bool MayHaveMultipleOptimalSolutions() const
const DenseColumn & dual_values() const
const VariableStatusRow & variable_statuses() const
GlopParameters * GetMutableParameters()
Fractional GetMaximumDualInfeasibility() const
const DenseRow & primal_ray() const
const ConstraintStatusColumn & constraint_statuses() const
Fractional GetMaximumPrimalInfeasibility() const
Fractional GetObjectiveValue() const
const DenseColumn & constraints_dual_ray() const
ProblemStatus LoadAndVerifySolution(const LinearProgram &lp, const ProblemSolution &solution)
const DenseRow & variable_values() const
const DenseRow & reduced_costs() const
ABSL_MUST_USE_RESULT ProblemStatus Solve(const LinearProgram &lp)
ABSL_MUST_USE_RESULT ProblemStatus SolveWithTimeLimit(const LinearProgram &lp, TimeLimit *time_limit)
void SetParameters(const GlopParameters ¶meters)
double DeterministicTime() const
int GetNumberOfSimplexIterations() const
const DenseColumn & constraint_activities() const
ModelSharedTimeLimit * time_limit
Collection of objects used to extend the Constraint Solver library.