![]() |
Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
|
Definition at line 1642 of file linear_solver.h.
#include <linear_solver.h>
Public Types | |
| enum | SynchronizationStatus { MUST_RELOAD , MODEL_SYNCHRONIZED , SOLUTION_SYNCHRONIZED } |
Public Member Functions | |
| MPSolverInterface (MPSolver *solver) | |
| virtual | ~MPSolverInterface () |
| virtual MPSolver::ResultStatus | Solve (const MPSolverParameters ¶m)=0 |
| virtual bool | SupportsDirectlySolveProto (std::atomic< bool > *) const |
| virtual MPSolutionResponse | DirectlySolveProto (LazyMutableCopy< MPModelRequest >, std::atomic< bool > *) |
| virtual void | Write (const std::string &filename) |
| virtual void | Reset ()=0 |
| virtual void | SetOptimizationDirection (bool maximize)=0 |
| virtual void | SetVariableBounds (int index, double lb, double ub)=0 |
| virtual void | SetVariableInteger (int index, bool integer)=0 |
| virtual void | SetConstraintBounds (int index, double lb, double ub)=0 |
| virtual void | AddRowConstraint (MPConstraint *ct)=0 |
| virtual bool | AddIndicatorConstraint (MPConstraint *const) |
| virtual void | AddVariable (MPVariable *var)=0 |
| virtual void | SetCoefficient (MPConstraint *constraint, const MPVariable *variable, double new_value, double old_value)=0 |
| virtual void | ClearConstraint (MPConstraint *constraint)=0 |
| virtual void | SetObjectiveCoefficient (const MPVariable *variable, double coefficient)=0 |
| virtual void | SetObjectiveOffset (double value)=0 |
| virtual void | ClearObjective ()=0 |
| virtual void | BranchingPriorityChangedForVariable (int) |
| virtual int64_t | iterations () const =0 |
| virtual int64_t | nodes () const =0 |
| double | best_objective_bound () const |
| double | objective_value () const |
| virtual MPSolver::BasisStatus | row_status (int constraint_index) const =0 |
| virtual MPSolver::BasisStatus | column_status (int variable_index) const =0 |
| bool | CheckSolutionIsSynchronized () const |
| virtual bool | CheckSolutionExists () const |
| bool | CheckSolutionIsSynchronizedAndExists () const |
| virtual bool | IsContinuous () const =0 |
| virtual bool | IsLP () const =0 |
| virtual bool | IsMIP () const =0 |
| int | last_variable_index () const |
| bool | variable_is_extracted (int var_index) const |
| void | set_variable_as_extracted (int var_index, bool extracted) |
| bool | constraint_is_extracted (int ct_index) const |
| void | set_constraint_as_extracted (int ct_index, bool extracted) |
| bool | quiet () const |
| void | set_quiet (bool quiet_value) |
| MPSolver::ResultStatus | result_status () const |
| virtual std::string | SolverVersion () const =0 |
| virtual void * | underlying_solver ()=0 |
| virtual double | ComputeExactConditionNumber () const |
| virtual void | SetStartingLpBasis (const std::vector< MPSolver::BasisStatus > &, const std::vector< MPSolver::BasisStatus > &) |
| virtual double | infinity () |
| virtual bool | InterruptSolve () |
| virtual bool | NextSolution () |
| virtual void | SetCallback (MPCallback *) |
| virtual bool | SupportsCallbacks () const |
Static Public Attributes | |
| static constexpr int64_t | kUnknownNumberOfIterations = -1 |
| static constexpr int64_t | kUnknownNumberOfNodes = -1 |
Protected Attributes | |
| MPSolver *const | solver_ |
| SynchronizationStatus | sync_status_ |
| MPSolver::ResultStatus | result_status_ |
| bool | maximize_ |
| int | last_constraint_index_ |
| int | last_variable_index_ |
| double | objective_value_ |
| double | best_objective_bound_ |
| bool | quiet_ |
Static Protected Attributes | |
| static const int | kDummyVariableIndex = 0 |
Friends | |
| class | MPSolver |
| class | MPConstraint |
| class | MPObjective |
| Enumerator | |
|---|---|
| MUST_RELOAD | |
| MODEL_SYNCHRONIZED | |
| SOLUTION_SYNCHRONIZED | |
Definition at line 1644 of file linear_solver.h.
|
explicit |
Definition at line 1823 of file linear_solver.cc.
|
virtual |
Definition at line 1834 of file linear_solver.cc.
|
inlinevirtual |
Reimplemented in operations_research::GurobiInterface, operations_research::SatInterface, and operations_research::SCIPInterface.
Definition at line 1718 of file linear_solver.h.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
| double operations_research::MPSolverInterface::best_objective_bound | ( | ) | const |
Definition at line 1903 of file linear_solver.cc.
|
inlinevirtual |
Reimplemented in operations_research::GurobiInterface, and operations_research::SCIPInterface.
Definition at line 1744 of file linear_solver.h.
|
virtual |
Reimplemented in operations_research::GLPKInterface.
Definition at line 1888 of file linear_solver.cc.
| bool operations_research::MPSolverInterface::CheckSolutionIsSynchronized | ( | ) | const |
Definition at line 1876 of file linear_solver.cc.
|
inline |
Definition at line 1771 of file linear_solver.h.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
virtual |
Reimplemented in operations_research::CplexInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, and operations_research::XpressInterface.
Definition at line 1927 of file linear_solver.cc.
|
inline |
Definition at line 1797 of file linear_solver.h.
|
inlinevirtual |
Reimplemented in operations_research::GLOPInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::SCIPInterface.
Definition at line 1684 of file linear_solver.h.
|
protected |
Definition at line 1840 of file linear_solver.cc.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
inlinevirtual |
Reimplemented in operations_research::SCIPInterface.
Definition at line 1832 of file linear_solver.h.
|
inlinevirtual |
Reimplemented in operations_research::BopInterface, operations_research::GLOPInterface, operations_research::GurobiInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
Definition at line 1834 of file linear_solver.h.
|
protected |
Definition at line 1921 of file linear_solver.cc.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
inline |
Definition at line 1789 of file linear_solver.h.
|
inlinevirtual |
Reimplemented in operations_research::GurobiInterface, and operations_research::SCIPInterface.
Definition at line 1837 of file linear_solver.h.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
| double operations_research::MPSolverInterface::objective_value | ( | ) | const |
Definition at line 1898 of file linear_solver.cc.
|
inline |
Definition at line 1805 of file linear_solver.h.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
protected |
Definition at line 1868 of file linear_solver.cc.
|
inline |
Definition at line 1810 of file linear_solver.h.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
inline |
Definition at line 1800 of file linear_solver.h.
|
inline |
Definition at line 1807 of file linear_solver.h.
|
inline |
Definition at line 1794 of file linear_solver.h.
|
inlinevirtual |
Reimplemented in operations_research::GurobiInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
Definition at line 1840 of file linear_solver.h.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
protected |
Definition at line 1936 of file linear_solver.cc.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
protected |
Definition at line 1972 of file linear_solver.cc.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::XpressInterface.
|
protectedvirtual |
Definition at line 1977 of file linear_solver.cc.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::XpressInterface.
|
protected |
Definition at line 1957 of file linear_solver.cc.
|
protectedvirtual |
Reimplemented in operations_research::CBCInterface, operations_research::HighsInterface, operations_research::PdlpInterface, and operations_research::SatInterface.
Definition at line 1983 of file linear_solver.cc.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::XpressInterface.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::XpressInterface.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::XpressInterface.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::XpressInterface.
|
protectedpure virtual |
Implemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::XpressInterface.
|
protectedvirtual |
Reimplemented in operations_research::BopInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::HighsInterface, operations_research::PdlpInterface, and operations_research::SatInterface.
Definition at line 1988 of file linear_solver.cc.
|
inlinevirtual |
Reimplemented in operations_research::GLOPInterface, and operations_research::XpressInterface.
Definition at line 1826 of file linear_solver.h.
|
protected |
Definition at line 1964 of file linear_solver.cc.
|
protectedvirtual |
Definition at line 1968 of file linear_solver.cc.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
inlinevirtual |
Reimplemented in operations_research::GurobiInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
Definition at line 1844 of file linear_solver.h.
|
inlinevirtual |
Reimplemented in operations_research::GLOPInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::PdlpInterface, operations_research::SatInterface, and operations_research::SCIPInterface.
Definition at line 1680 of file linear_solver.h.
|
pure virtual |
Implemented in operations_research::BopInterface, operations_research::CBCInterface, operations_research::CLPInterface, operations_research::CplexInterface, operations_research::GLOPInterface, operations_research::GLPKInterface, operations_research::GurobiInterface, operations_research::HighsInterface, operations_research::KnapsackInterface, operations_research::PdlpInterface, operations_research::SatInterface, operations_research::SCIPInterface, and operations_research::XpressInterface.
|
inline |
Definition at line 1791 of file linear_solver.h.
|
virtual |
Reimplemented in operations_research::GurobiInterface, and operations_research::XpressInterface.
Definition at line 1836 of file linear_solver.cc.
|
friend |
Definition at line 1849 of file linear_solver.h.
|
friend |
Definition at line 1850 of file linear_solver.h.
|
friend |
Definition at line 1846 of file linear_solver.h.
|
protected |
Definition at line 1871 of file linear_solver.h.
|
staticprotected |
Definition at line 1878 of file linear_solver.h.
|
staticconstexpr |
Definition at line 1659 of file linear_solver.h.
|
staticconstexpr |
Definition at line 1662 of file linear_solver.h.
|
protected |
Definition at line 1863 of file linear_solver.h.
|
protected |
Definition at line 1865 of file linear_solver.h.
|
protected |
Definition at line 1860 of file linear_solver.h.
|
protected |
Definition at line 1868 of file linear_solver.h.
|
protected |
Definition at line 1874 of file linear_solver.h.
|
protected |
Definition at line 1858 of file linear_solver.h.
|
protected |
Definition at line 1853 of file linear_solver.h.
|
protected |
Definition at line 1855 of file linear_solver.h.