OR-Tools  9.3
operations_research::math_opt Namespace Reference

Namespaces

namespace  internal
 

Classes

class  AllSolversRegistry
 
struct  Basis
 
struct  BoundedLinearExpression
 
struct  CallbackData
 
struct  CallbackRegistration
 
struct  CallbackResult
 
class  CpSatSolver
 
struct  DoubleOptions
 
struct  DualRay
 
struct  DualSolution
 
struct  Enum
 
struct  EnumProto
 
class  GlopSolver
 
struct  GlpkRay
 
class  GlpkSolver
 
class  GScipSolver
 
class  GScipSolverCallbackHandler
 
class  GScipSolverMessageCallbackHandler
 
class  Gurobi
 
struct  GurobiCallbackInput
 
struct  GurobiFreeEnv
 
struct  GurobiISVKey
 
struct  GurobiIsvKey
 
struct  GurobiParameters
 
class  GurobiSolver
 
class  IdMap
 
class  IdNameBiMap
 
class  IdSet
 
class  IdUpdateValidator
 
class  IncrementalSolver
 
struct  InvertedBounds
 
class  LinearConstraint
 
class  LinearExpression
 
struct  LinearTerm
 
struct  LowerBoundedLinearExpression
 
struct  MapFilter
 
class  MessageCallbackData
 
class  Model
 
struct  ModelSolveParameters
 
class  ModelStorage
 
struct  ModelSummary
 
struct  NonStreamableGurobiInitArguments
 
struct  NonStreamableSolverInitArguments
 
struct  NonStreamableSolverInitArgumentsHelper
 
class  PdlpBridge
 
class  PdlpSolver
 
struct  PrimalRay
 
struct  PrimalSolution
 
struct  ProblemStatus
 
class  QuadraticExpression
 
class  QuadraticTerm
 
class  QuadraticTermKey
 
class  ScopedSolveInterrupterCallback
 
struct  Solution
 
struct  SolutionMatcherOptions
 
struct  SolveArguments
 
class  SolveInterrupter
 
struct  SolveParameters
 
class  Solver
 
struct  SolveResult
 
struct  SolveResultMatcherOptions
 
struct  SolverInitArguments
 
class  SolverInterface
 
struct  SolveStats
 
struct  SparseVector
 
class  SparseVectorFilterPredicate
 
class  SparseVectorView
 
struct  StreamableCpSatInitArguments
 
struct  StreamableGlopInitArguments
 
struct  StreamableGlpkInitArguments
 
struct  StreamableGScipInitArguments
 
struct  StreamableGurobiInitArguments
 
struct  StreamablePdlpInitArguments
 
struct  StreamableSolverInitArguments
 
struct  Termination
 
class  UpdateTracker
 
struct  UpperBoundedLinearExpression
 
class  Variable
 

Typedefs

template<typename T >
using Pairs = std::initializer_list< std::pair< int64_t, const T > >
 
using Coefficient = std::tuple< int64_t, int64_t, const double >
 
using Coefficients = std::initializer_list< Coefficient >
 
using SparseSubmatrixRowsView = std::vector< std::pair< int64_t, SparseVectorView< double > > >
 
template<typename SparseVector >
using sparse_value_type = typename std::remove_reference< decltype(SparseVector().values())>::type::value_type
 
using Callback = std::function< CallbackResult(const CallbackData &)>
 
using ProtoEnumIsValid = bool(*)(int)
 
template<typename V >
using LinearConstraintMap = IdMap< LinearConstraint, V >
 
using MessageCallback = std::function< void(const std::vector< std::string > &)>
 
template<typename V >
using VariableMap = IdMap< Variable, V >
 
using QuadraticProductId = std::pair< VariableId, VariableId >
 
template<typename V >
using QuadraticTermMap = IdMap< QuadraticTermKey, V >
 
using GRBenvUniquePtr = std::unique_ptr< GRBenv, GurobiFreeEnv >
 

Enumerations

enum class  CallbackEvent {
  kPresolve = CALLBACK_EVENT_PRESOLVE , kSimplex = CALLBACK_EVENT_SIMPLEX , kMip = CALLBACK_EVENT_MIP , kMipSolution = CALLBACK_EVENT_MIP_SOLUTION ,
  kMipNode = CALLBACK_EVENT_MIP_NODE , kBarrier = CALLBACK_EVENT_BARRIER
}
 
enum class  SolverType {
  kGscip = SOLVER_TYPE_GSCIP , kGurobi = SOLVER_TYPE_GUROBI , kGlop = SOLVER_TYPE_GLOP , kCpSat = SOLVER_TYPE_CP_SAT ,
  kGlpk = SOLVER_TYPE_GLPK
}
 
enum class  LPAlgorithm { kPrimalSimplex = LP_ALGORITHM_PRIMAL_SIMPLEX , kDualSimplex = LP_ALGORITHM_DUAL_SIMPLEX , kBarrier = LP_ALGORITHM_BARRIER }
 
enum class  Emphasis {
  kOff = EMPHASIS_OFF , kLow = EMPHASIS_LOW , kMedium = EMPHASIS_MEDIUM , kHigh = EMPHASIS_HIGH ,
  kVeryHigh = EMPHASIS_VERY_HIGH
}
 
enum class  SolutionStatus { kUndetermined = SOLUTION_STATUS_UNDETERMINED , kFeasible = SOLUTION_STATUS_FEASIBLE , kInfeasible = SOLUTION_STATUS_INFEASIBLE }
 
enum class  BasisStatus : int8_t {
  kFree = BASIS_STATUS_FREE , kAtLowerBound = BASIS_STATUS_AT_LOWER_BOUND , kAtUpperBound = BASIS_STATUS_AT_UPPER_BOUND , kFixedValue = BASIS_STATUS_FIXED_VALUE ,
  kBasic = BASIS_STATUS_BASIC
}
 
enum class  FeasibilityStatus { kUndetermined = FEASIBILITY_STATUS_UNDETERMINED , kFeasible = FEASIBILITY_STATUS_FEASIBLE , kInfeasible = FEASIBILITY_STATUS_INFEASIBLE }
 
enum class  TerminationReason {
  kOptimal = TERMINATION_REASON_OPTIMAL , kInfeasible = TERMINATION_REASON_INFEASIBLE , kUnbounded = TERMINATION_REASON_UNBOUNDED , kInfeasibleOrUnbounded = TERMINATION_REASON_INFEASIBLE_OR_UNBOUNDED ,
  kImprecise = TERMINATION_REASON_IMPRECISE , kFeasible = TERMINATION_REASON_FEASIBLE , kNoSolutionFound = TERMINATION_REASON_NO_SOLUTION_FOUND , kNumericalError = TERMINATION_REASON_NUMERICAL_ERROR ,
  kOtherError = TERMINATION_REASON_OTHER_ERROR
}
 
enum class  Limit {
  kUndetermined = LIMIT_UNDETERMINED , kIteration = LIMIT_ITERATION , kTime = LIMIT_TIME , kNode = LIMIT_NODE ,
  kSolution = LIMIT_SOLUTION , kMemory = LIMIT_MEMORY , kCutoff = LIMIT_CUTOFF , kObjective = LIMIT_OBJECTIVE ,
  kNorm = LIMIT_NORM , kInterrupted = LIMIT_INTERRUPTED , kSlowProgress = LIMIT_SLOW_PROGRESS , kOther = LIMIT_OTHER
}
 
enum  GlpkRayType { kPrimal , kDual }
 

Functions

void RemoveSparseDoubleVectorZeros (SparseDoubleVectorProto &sparse_vector)
 
absl::flat_hash_set< CallbackEventProto > EventSet (const CallbackRegistrationProto &callback_registration)
 
TerminationProto TerminateForLimit (const LimitProto limit, const bool feasible, const absl::string_view detail)
 
TerminationProto FeasibleTermination (const LimitProto limit, const absl::string_view detail)
 
TerminationProto NoSolutionFoundTermination (const LimitProto limit, const absl::string_view detail)
 
TerminationProto TerminateForReason (const TerminationReasonProto reason, const absl::string_view detail)
 
int NumVariables (const VariablesProto &variables)
 
int NumConstraints (const LinearConstraintsProto &linear_constraints)
 
int NumMatrixNonzeros (const SparseDoubleMatrixProto &matrix)
 
std::optional< int64_t > FirstVariableId (const VariablesProto &variables)
 
std::optional< int64_t > FirstLinearConstraintId (const LinearConstraintsProto &linear_constraints)
 
 DEFINE_STRONG_INT_TYPE (VariableId, int64_t)
 
 DEFINE_STRONG_INT_TYPE (LinearConstraintId, int64_t)
 
 DEFINE_STRONG_INT_TYPE (UpdateTrackerId, int64_t)
 
void MergeIntoUpdate (const ModelUpdateProto &from_new, ModelUpdateProto &into_old)
 
SparseDoubleVectorProto MakeSparseDoubleVector (std::initializer_list< std::pair< int64_t, double > > pairs)
 
SparseBoolVectorProto MakeSparseBoolVector (std::initializer_list< std::pair< int64_t, bool > > pairs)
 
SparseDoubleMatrixProto MakeSparseDoubleMatrix (std::initializer_list< std::tuple< int64_t, int64_t, double > > values)
 
 MATCHER_P (SparseVectorMatcher, pairs, "")
 
 MATCHER_P (SparseDoubleMatrixMatcher, coefficients, "")
 
SparseSubmatrixRowsView SparseSubmatrixByRows (const SparseDoubleMatrixProto &matrix, const int64_t start_row_id, const std::optional< int64_t > end_row_id, const int64_t start_col_id, const std::optional< int64_t > end_col_id)
 
std::vector< std::pair< int64_t, SparseVector< double > > > TransposeSparseSubmatrix (const SparseSubmatrixRowsView &submatrix_by_rows)
 
template<typename Collection , typename T = typename Collection::value_type>
SparseVectorView< T > MakeView (absl::Span< const int64_t > ids, const Collection &values)
 
template<typename T >
SparseVectorView< const T * > MakeView (const google::protobuf::RepeatedField< int64_t > &ids, const google::protobuf::RepeatedPtrField< T > &values)
 
template<typename SparseVectorProto , typename T = sparse_value_type<SparseVectorProto>>
SparseVectorView< T > MakeView (const SparseVectorProto &sparse_vector)
 
template<typename T >
SparseVectorView< T > MakeView (const SparseVector< T > &sparse_vector)
 
 MATH_OPT_DEFINE_ENUM (CallbackEvent, CALLBACK_EVENT_UNSPECIFIED)
 
template<typename E >
Enum< E >::Proto EnumToProto (const std::optional< E > value)
 
template<typename E >
Enum< E >::Proto EnumToProto (const E value)
 
template<typename P >
std::optional< typename EnumProto< P >::Cpp > EnumFromProto (const P proto_value)
 
template<typename E >
absl::string_view EnumToString (const E value)
 
template<typename E >
std::optional< absl::string_view > EnumToOptString (const E value)
 
template<typename E >
std::optional< E > EnumFromString (const absl::string_view str)
 
template<typename E , typename = std::enable_if_t<Enum<E>::kIsImplemented>>
std::ostream & operator<< (std::ostream &out, const E value)
 
template<typename E , typename = std::enable_if_t<Enum<E>::kIsImplemented>>
std::ostream & operator<< (std::ostream &out, const std::optional< E > opt_value)
 
template<typename K , typename V >
void swap (IdMap< K, V > &a, IdMap< K, V > &b)
 
template<typename K >
void swap (IdSet< K > &a, IdSet< K > &b)
 
std::ostream & operator<< (std::ostream &ostr, const LinearConstraint &linear_constraint)
 
bool operator== (const LinearConstraint &lhs, const LinearConstraint &rhs)
 
bool operator!= (const LinearConstraint &lhs, const LinearConstraint &rhs)
 
template<typename H >
AbslHashValue (H h, const LinearConstraint &linear_constraint)
 
template<typename KeyType >
MapFilter< KeyType > MakeSkipAllFilter ()
 
template<typename KeyType >
MapFilter< KeyType > MakeSkipZerosFilter ()
 
template<typename Collection , typename ValueType = typename Collection::value_type>
MapFilter< ValueType > MakeKeepKeysFilter (const Collection &keys)
 
template<typename KeyType >
MapFilter< KeyType > MakeKeepKeysFilter (std::initializer_list< KeyType > keys)
 
void PrintTo (const Termination &termination, std::ostream *os)
 
void PrintTo (const PrimalSolution &primal_solution, std::ostream *const os)
 
void PrintTo (const DualSolution &dual_solution, std::ostream *const os)
 
void PrintTo (const PrimalRay &primal_ray, std::ostream *const os)
 
void PrintTo (const DualRay &dual_ray, std::ostream *const os)
 
void PrintTo (const Basis &basis, std::ostream *const os)
 
void PrintTo (const Solution &solution, std::ostream *const os)
 
void PrintTo (const SolveResult &result, std::ostream *const os)
 
Matcher< VariableMap< double > > IsNearlySubsetOf (VariableMap< double > expected, double tolerance)
 
Matcher< VariableMap< double > > IsNear (VariableMap< double > expected, const double tolerance)
 
Matcher< LinearConstraintMap< double > > IsNearlySubsetOf (LinearConstraintMap< double > expected, double tolerance)
 
Matcher< LinearConstraintMap< double > > IsNear (LinearConstraintMap< double > expected, const double tolerance)
 
Matcher< PrimalSolutionIsNear (PrimalSolution expected, const double tolerance)
 
Matcher< DualSolutionIsNear (DualSolution expected, const double tolerance)
 
Matcher< BasisBasisIs (const Basis &expected)
 
Matcher< SolutionIsNear (Solution expected, const SolutionMatcherOptions options)
 
Matcher< PrimalRayIsNear (PrimalRay expected, const double tolerance)
 
Matcher< PrimalRayPrimalRayIsNear (VariableMap< double > expected_var_values, const double tolerance)
 
Matcher< DualRayIsNear (DualRay expected, const double tolerance)
 
Matcher< SolveResultTerminatesWithOneOf (const std::vector< TerminationReason > &allowed)
 
Matcher< SolveResultTerminatesWith (const TerminationReason expected)
 
testing::Matcher< SolveResultTerminatesWithLimit (const Limit expected, const bool allow_limit_undetermined)
 
testing::Matcher< SolveResultTerminatesWithReasonFeasible (const Limit expected, const bool allow_limit_undetermined)
 
testing::Matcher< SolveResultTerminatesWithReasonNoSolutionFound (const Limit expected, const bool allow_limit_undetermined)
 
template<typename MatcherType >
std::string MatcherToStringImpl (const MatcherType &matcher, const bool negate)
 
template<typename T >
std::string MatcherToString (const Matcher< T > &matcher, bool negate)
 
template<typename T >
std::string MatcherToString (const ::testing::PolymorphicMatcher< T > &matcher, bool negate)
 
 MATCHER_P (FirstElementIs, first_element_matcher,(negation ? absl::StrCat("is empty or first element ", MatcherToString(first_element_matcher, true)) :absl::StrCat("has at least one element and first element ", MatcherToString(first_element_matcher, false))))
 
Matcher< SolveResultIsOptimal (const std::optional< double > expected_objective, const double tolerance)
 
Matcher< SolveResultIsOptimalWithSolution (const double expected_objective, const VariableMap< double > expected_variable_values, const double tolerance)
 
Matcher< SolveResultIsOptimalWithDualSolution (const double expected_objective, const LinearConstraintMap< double > expected_dual_values, const VariableMap< double > expected_reduced_costs, const double tolerance)
 
Matcher< SolveResultHasSolution (PrimalSolution expected, const double tolerance)
 
Matcher< SolveResultHasDualSolution (DualSolution expected, const double tolerance)
 
Matcher< SolveResultHasPrimalRay (PrimalRay expected, const double tolerance)
 
Matcher< SolveResultHasPrimalRay (VariableMap< double > expected_vars, const double tolerance)
 
Matcher< SolveResultHasDualRay (DualRay expected, const double tolerance)
 
Matcher< SolveResultIsConsistentWith (const SolveResult &expected, const SolveResultMatcherOptions &options)
 
Matcher< IncrementalSolver::UpdateResultDidUpdate ()
 
template<typename K , typename V >
void PrintTo (const IdMap< K, V > &id_map, std::ostream *const os)
 
MessageCallback PrinterMessageCallback (std::ostream &output_stream, const absl::string_view prefix)
 
bool AbslParseFlag (const absl::string_view text, SolverType *const value, std::string *const error)
 
std::string AbslUnparseFlag (const SolverType value)
 
 MATH_OPT_DEFINE_ENUM (SolverType, SOLVER_TYPE_UNSPECIFIED)
 
 MATH_OPT_DEFINE_ENUM (LPAlgorithm, LP_ALGORITHM_UNSPECIFIED)
 
 MATH_OPT_DEFINE_ENUM (Emphasis, EMPHASIS_UNSPECIFIED)
 
 MATH_OPT_DEFINE_ENUM (SolutionStatus, SOLUTION_STATUS_UNSPECIFIED)
 
 MATH_OPT_DEFINE_ENUM (BasisStatus, BASIS_STATUS_UNSPECIFIED)
 
absl::StatusOr< SolveResultSolve (const Model &model, const SolverType solver_type, const SolveArguments &solve_args, const SolverInitArguments &init_args)
 
std::ostream & operator<< (std::ostream &ostr, const Termination &termination)
 
std::ostream & operator<< (std::ostream &ostr, const ProblemStatus &problem_status)
 
std::ostream & operator<< (std::ostream &ostr, const SolveStats &solve_stats)
 
 MATH_OPT_DEFINE_ENUM (FeasibilityStatus, FEASIBILITY_STATUS_UNSPECIFIED)
 
 MATH_OPT_DEFINE_ENUM (TerminationReason, TERMINATION_REASON_UNSPECIFIED)
 
 MATH_OPT_DEFINE_ENUM (Limit, LIMIT_UNSPECIFIED)
 
std::ostream & operator<< (std::ostream &ostr, const LinearExpression &expression)
 
std::ostream & operator<< (std::ostream &ostr, const BoundedLinearExpression &bounded_expression)
 
std::ostream & operator<< (std::ostream &ostr, const QuadraticExpression &expr)
 
std::ostream & operator<< (std::ostream &ostr, const Variable &variable)
 
LinearTerm operator* (double coefficient, LinearTerm term)
 
LinearTerm operator* (LinearTerm term, double coefficient)
 
LinearTerm operator* (double coefficient, Variable variable)
 
LinearTerm operator* (Variable variable, double coefficient)
 
LinearTerm operator/ (LinearTerm term, double coefficient)
 
LinearTerm operator/ (Variable variable, double coefficient)
 
template<typename Iterable >
LinearExpression Sum (const Iterable &items)
 
template<typename LeftIterable , typename RightIterable >
LinearExpression InnerProduct (const LeftIterable &left, const RightIterable &right)
 
LinearExpression operator- (LinearExpression expr)
 
LinearExpression operator+ (Variable lhs, double rhs)
 
LinearExpression operator+ (double lhs, Variable rhs)
 
LinearExpression operator+ (Variable lhs, Variable rhs)
 
LinearExpression operator+ (const LinearTerm &lhs, double rhs)
 
LinearExpression operator+ (double lhs, const LinearTerm &rhs)
 
LinearExpression operator+ (const LinearTerm &lhs, Variable rhs)
 
LinearExpression operator+ (Variable lhs, const LinearTerm &rhs)
 
LinearExpression operator+ (const LinearTerm &lhs, const LinearTerm &rhs)
 
LinearExpression operator+ (LinearExpression lhs, double rhs)
 
LinearExpression operator+ (double lhs, LinearExpression rhs)
 
LinearExpression operator+ (LinearExpression lhs, Variable rhs)
 
LinearExpression operator+ (Variable lhs, LinearExpression rhs)
 
LinearExpression operator+ (LinearExpression lhs, const LinearTerm &rhs)
 
LinearExpression operator+ (LinearTerm lhs, LinearExpression rhs)
 
LinearExpression operator+ (LinearExpression lhs, const LinearExpression &rhs)
 
LinearExpression operator- (Variable lhs, double rhs)
 
LinearExpression operator- (double lhs, Variable rhs)
 
LinearExpression operator- (Variable lhs, Variable rhs)
 
LinearExpression operator- (const LinearTerm &lhs, double rhs)
 
LinearExpression operator- (double lhs, const LinearTerm &rhs)
 
LinearExpression operator- (const LinearTerm &lhs, Variable rhs)
 
LinearExpression operator- (Variable lhs, const LinearTerm &rhs)
 
LinearExpression operator- (const LinearTerm &lhs, const LinearTerm &rhs)
 
LinearExpression operator- (LinearExpression lhs, double rhs)
 
LinearExpression operator- (double lhs, LinearExpression rhs)
 
LinearExpression operator- (LinearExpression lhs, Variable rhs)
 
LinearExpression operator- (Variable lhs, LinearExpression rhs)
 
LinearExpression operator- (LinearExpression lhs, const LinearTerm &rhs)
 
LinearExpression operator- (LinearTerm lhs, LinearExpression rhs)
 
LinearExpression operator- (LinearExpression lhs, const LinearExpression &rhs)
 
LinearExpression operator* (LinearExpression lhs, double rhs)
 
LinearExpression operator* (double lhs, LinearExpression rhs)
 
LinearExpression operator/ (LinearExpression lhs, double rhs)
 
internal::VariablesEquality operator== (const Variable &lhs, const Variable &rhs)
 
bool operator!= (const Variable &lhs, const Variable &rhs)
 
LowerBoundedLinearExpression operator>= (LinearExpression expression, double constant)
 
LowerBoundedLinearExpression operator<= (double constant, LinearExpression expression)
 
LowerBoundedLinearExpression operator>= (const LinearTerm &term, double constant)
 
LowerBoundedLinearExpression operator<= (double constant, const LinearTerm &term)
 
LowerBoundedLinearExpression operator>= (Variable variable, double constant)
 
LowerBoundedLinearExpression operator<= (double constant, Variable variable)
 
UpperBoundedLinearExpression operator<= (LinearExpression expression, double constant)
 
UpperBoundedLinearExpression operator>= (double constant, LinearExpression expression)
 
UpperBoundedLinearExpression operator<= (const LinearTerm &term, double constant)
 
UpperBoundedLinearExpression operator>= (double constant, const LinearTerm &term)
 
UpperBoundedLinearExpression operator<= (Variable variable, double constant)
 
UpperBoundedLinearExpression operator>= (double constant, Variable variable)
 
BoundedLinearExpression operator<= (LowerBoundedLinearExpression lhs, double rhs)
 
BoundedLinearExpression operator>= (double lhs, LowerBoundedLinearExpression rhs)
 
BoundedLinearExpression operator>= (UpperBoundedLinearExpression lhs, double rhs)
 
BoundedLinearExpression operator<= (double lhs, UpperBoundedLinearExpression rhs)
 
BoundedLinearExpression operator<= (LinearExpression lhs, const LinearExpression &rhs)
 
BoundedLinearExpression operator>= (LinearExpression lhs, const LinearExpression &rhs)
 
BoundedLinearExpression operator<= (LinearExpression lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator>= (LinearExpression lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator<= (const LinearTerm &lhs, LinearExpression rhs)
 
BoundedLinearExpression operator>= (const LinearTerm &lhs, LinearExpression rhs)
 
BoundedLinearExpression operator<= (LinearExpression lhs, Variable rhs)
 
BoundedLinearExpression operator>= (LinearExpression lhs, Variable rhs)
 
BoundedLinearExpression operator<= (Variable lhs, LinearExpression rhs)
 
BoundedLinearExpression operator>= (Variable lhs, LinearExpression rhs)
 
BoundedLinearExpression operator<= (const LinearTerm &lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator>= (const LinearTerm &lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator<= (const LinearTerm &lhs, Variable rhs)
 
BoundedLinearExpression operator>= (const LinearTerm &lhs, Variable rhs)
 
BoundedLinearExpression operator<= (Variable lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator>= (Variable lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator<= (Variable lhs, Variable rhs)
 
BoundedLinearExpression operator>= (Variable lhs, Variable rhs)
 
BoundedLinearExpression operator== (LinearExpression lhs, const LinearExpression &rhs)
 
BoundedLinearExpression operator== (LinearExpression lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator== (const LinearTerm &lhs, LinearExpression rhs)
 
BoundedLinearExpression operator== (LinearExpression lhs, Variable rhs)
 
BoundedLinearExpression operator== (Variable lhs, LinearExpression rhs)
 
BoundedLinearExpression operator== (LinearExpression lhs, double rhs)
 
BoundedLinearExpression operator== (double lhs, LinearExpression rhs)
 
BoundedLinearExpression operator== (const LinearTerm &lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator== (const LinearTerm &lhs, Variable rhs)
 
BoundedLinearExpression operator== (Variable lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator== (const LinearTerm &lhs, double rhs)
 
BoundedLinearExpression operator== (double lhs, const LinearTerm &rhs)
 
BoundedLinearExpression operator== (Variable lhs, double rhs)
 
BoundedLinearExpression operator== (double lhs, Variable rhs)
 
bool operator== (const QuadraticTermKey lhs, const QuadraticTermKey rhs)
 
bool operator!= (const QuadraticTermKey lhs, const QuadraticTermKey rhs)
 
QuadraticTerm operator- (QuadraticTerm term)
 
QuadraticTerm operator* (double lhs, QuadraticTerm rhs)
 
QuadraticTerm operator* (Variable lhs, Variable rhs)
 
QuadraticTerm operator* (Variable lhs, LinearTerm rhs)
 
QuadraticTerm operator* (LinearTerm lhs, Variable rhs)
 
QuadraticTerm operator* (LinearTerm lhs, LinearTerm rhs)
 
QuadraticTerm operator* (QuadraticTerm lhs, double rhs)
 
QuadraticTerm operator/ (QuadraticTerm lhs, double rhs)
 
QuadraticExpression operator- (QuadraticExpression expr)
 
QuadraticExpression operator+ (double lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator+ (double lhs, QuadraticExpression rhs)
 
QuadraticExpression operator+ (Variable lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator+ (Variable lhs, QuadraticExpression rhs)
 
QuadraticExpression operator+ (const LinearTerm &lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator+ (const LinearTerm &lhs, QuadraticExpression rhs)
 
QuadraticExpression operator+ (LinearExpression lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator+ (const LinearExpression &lhs, QuadraticExpression rhs)
 
QuadraticExpression operator+ (const QuadraticTerm &lhs, double rhs)
 
QuadraticExpression operator+ (const QuadraticTerm &lhs, Variable rhs)
 
QuadraticExpression operator+ (const QuadraticTerm &lhs, const LinearTerm &rhs)
 
QuadraticExpression operator+ (const QuadraticTerm &lhs, LinearExpression rhs)
 
QuadraticExpression operator+ (const QuadraticTerm &lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator+ (const QuadraticTerm &lhs, QuadraticExpression rhs)
 
QuadraticExpression operator+ (QuadraticExpression lhs, double rhs)
 
QuadraticExpression operator+ (QuadraticExpression lhs, Variable rhs)
 
QuadraticExpression operator+ (QuadraticExpression lhs, const LinearTerm &rhs)
 
QuadraticExpression operator+ (QuadraticExpression lhs, const LinearExpression &rhs)
 
QuadraticExpression operator+ (QuadraticExpression lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator+ (QuadraticExpression lhs, const QuadraticExpression &rhs)
 
QuadraticExpression operator- (double lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator- (double lhs, QuadraticExpression rhs)
 
QuadraticExpression operator- (Variable lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator- (Variable lhs, QuadraticExpression rhs)
 
QuadraticExpression operator- (const LinearTerm &lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator- (const LinearTerm &lhs, QuadraticExpression rhs)
 
QuadraticExpression operator- (LinearExpression lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator- (const LinearExpression &lhs, QuadraticExpression rhs)
 
QuadraticExpression operator- (const QuadraticTerm &lhs, double rhs)
 
QuadraticExpression operator- (const QuadraticTerm &lhs, Variable rhs)
 
QuadraticExpression operator- (const QuadraticTerm &lhs, const LinearTerm &rhs)
 
QuadraticExpression operator- (const QuadraticTerm &lhs, LinearExpression rhs)
 
QuadraticExpression operator- (const QuadraticTerm &lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator- (const QuadraticTerm &lhs, QuadraticExpression rhs)
 
QuadraticExpression operator- (QuadraticExpression lhs, double rhs)
 
QuadraticExpression operator- (QuadraticExpression lhs, Variable rhs)
 
QuadraticExpression operator- (QuadraticExpression lhs, const LinearTerm &rhs)
 
QuadraticExpression operator- (QuadraticExpression lhs, const LinearExpression &rhs)
 
QuadraticExpression operator- (QuadraticExpression lhs, const QuadraticTerm &rhs)
 
QuadraticExpression operator- (QuadraticExpression lhs, const QuadraticExpression &rhs)
 
QuadraticExpression operator* (double lhs, QuadraticExpression rhs)
 
QuadraticExpression operator* (Variable lhs, const LinearExpression &rhs)
 
QuadraticExpression operator* (LinearTerm lhs, const LinearExpression &rhs)
 
QuadraticExpression operator* (const LinearExpression &lhs, Variable rhs)
 
QuadraticExpression operator* (const LinearExpression &lhs, LinearTerm rhs)
 
QuadraticExpression operator* (const LinearExpression &lhs, const LinearExpression &rhs)
 
QuadraticExpression operator* (QuadraticExpression lhs, double rhs)
 
QuadraticExpression operator/ (QuadraticExpression lhs, double rhs)
 
template<typename H >
AbslHashValue (H h, const Variable &variable)
 
template<typename H >
AbslHashValue (H h, const QuadraticTermKey &key)
 
absl::StatusOr< ModelProto > ReadMpsFile (const absl::string_view filename)
 
absl::StatusOr<::operations_research::math_opt::ModelProto > MPModelProtoToMathOptModel (const ::operations_research::MPModelProto &model)
 
absl::StatusOr<::operations_research::MPModelProto > MathOptModelToMPModelProto (const ::operations_research::math_opt::ModelProto &model)
 
absl::StatusOr< ModelProto > MPModelProtoToMathOptModel (const MPModelProto &model)
 
absl::StatusOr< MPModelProto > MathOptModelToMPModelProto (const ModelProto &model)
 
 MATH_OPT_REGISTER_SOLVER (SOLVER_TYPE_CP_SAT, CpSatSolver::New)
 
template<typename IndexType >
void UpdateIdIndexMap (glop::StrictITIVector< IndexType, bool > indices_to_delete, IndexType num_indices, absl::flat_hash_map< int64_t, IndexType > &id_index_map)
 
template<typename IndexType >
SparseDoubleVectorProto FillSparseDoubleVector (const std::vector< int64_t > &ids_in_order, const absl::flat_hash_map< int64_t, IndexType > &id_map, const glop::StrictITIVector< IndexType, glop::Fractional > &values, const SparseVectorFilterProto &filter)
 
template<typename ValueType >
BasisStatusProto FromGlopBasisStatus (const ValueType glop_basis_status)
 
template<typename IndexType , typename ValueType >
SparseBasisStatusVector FillSparseBasisStatusVector (const std::vector< int64_t > &ids_in_order, const absl::flat_hash_map< int64_t, IndexType > &id_map, const glop::StrictITIVector< IndexType, ValueType > &values)
 
template<typename ValueType >
ValueType ToGlopBasisStatus (const BasisStatusProto basis_status)
 
template<typename T >
std::vector< int64_t > GetSortedIs (const absl::flat_hash_map< int64_t, T > &id_map)
 
template<typename T >
glop::StrictITIVector< T, int64_t > IndexToId (const absl::flat_hash_map< int64_t, T > &id_map)
 
absl::StatusOr< std::optional< GlpkRay > > GlpkComputeUnboundRay (glp_prob *const problem)
 
GScipParameters::MetaParamValue ConvertMathOptEmphasis (EmphasisProto emphasis)
 
absl::StatusOr< GRBenvUniquePtrGurobiNewMasterEnv (const std::optional< GurobiIsvKey > &isv_key)
 
std::vector< bool > EventToGurobiWhere (const absl::flat_hash_set< CallbackEventProto > &events)
 
absl::Status GurobiCallbackImpl (const Gurobi::CallbackContext &context, const GurobiCallbackInput &callback_input, MessageCallbackData &message_callback_data, SolveInterrupter *const local_interrupter)
 
void GurobiCallbackImplFlush (const GurobiCallbackInput &callback_input, MessageCallbackData &message_callback_data)
 
absl::StatusOr< GRBenvUniquePtrNewMasterEnvironment (std::optional< GurobiInitializerProto::ISVKey > proto_isv_key)
 
 MATH_OPT_REGISTER_SOLVER (SOLVER_TYPE_PDLP, PdlpSolver::New)
 
absl::Status ValidateCallbackRegistration (const CallbackRegistrationProto &callback_registration, const ModelSummary &model_summary)
 
absl::Status ValidateCallbackDataProto (const CallbackDataProto &cb_data, const CallbackRegistrationProto &callback_registration, const ModelSummary &model_summary)
 
absl::Status ValidateCallbackResultProto (const CallbackResultProto &callback_result, const CallbackEventProto callback_event, const CallbackRegistrationProto &callback_registration, const ModelSummary &model_summary)
 
absl::Status CheckRegisteredCallbackEvents (const CallbackRegistrationProto &registration, const absl::flat_hash_set< CallbackEventProto > &supported_events)
 
std::vector< FeasibilityStatusProto > AllFeasibilityStatuses ()
 
std::vector< SolutionStatusProto > AllSolutionStatuses ()
 
void PrintTo (const SolutionStatusProto &proto, std::ostream *os)
 
void PrintTo (const FeasibilityStatusProto &proto, std::ostream *os)
 
void PrintTo (const std::tuple< SolutionStatusProto, SolutionStatusProto > &proto, std::ostream *os)
 
void PrintTo (const std::tuple< FeasibilityStatusProto, FeasibilityStatusProto > &proto, std::ostream *os)
 
void PrintTo (const std::tuple< SolutionStatusProto, FeasibilityStatusProto > &proto, std::ostream *os)
 
absl::Status CheckIdsRangeAndStrictlyIncreasing (absl::Span< const int64_t > ids)
 
absl::Status CheckSortedIdsSubset (const absl::Span< const int64_t > ids, const absl::Span< const int64_t > universe)
 
absl::Status CheckUnsortedIdsSubset (const absl::Span< const int64_t > ids, const absl::Span< const int64_t > universe)
 
absl::Status CheckIdsSubset (absl::Span< const int64_t > ids, const IdNameBiMap &universe, absl::string_view ids_description, absl::string_view universe_description)
 
absl::Status CheckIdsIdentical (absl::Span< const int64_t > first_ids, const IdNameBiMap &second_ids, absl::string_view first_description, absl::string_view second_description)
 
absl::Status ValidateSparseVectorFilter (const SparseVectorFilterProto &v, const IdNameBiMap &valid_ids)
 
absl::Status ValidateModelSolveParameters (const ModelSolveParametersProto &parameters, const ModelSummary &model_summary)
 
absl::Status ValidateModel (const ModelProto &model, const bool check_names)
 
absl::Status ValidateModelUpdate (const ModelUpdateProto &model_update, const bool check_names)
 
absl::Status ValidateModelUpdateAndSummary (const ModelUpdateProto &model_update, const ModelSummary &model_summary, const bool check_names)
 
absl::Status CheckNameVector (const SparseVectorView< const std::string * > &name_vector, const bool check_unique)
 
absl::Status CheckNewNames (const IdNameBiMap &old_names, const SparseVectorView< const std::string * > &new_names)
 
absl::Status CheckHasPrimalSolution (const SolveResultProto &result)
 
absl::Status CheckPrimalSolutionAndStatusConsistency (const SolveResultProto &result)
 
absl::Status CheckDualSolutionAndStatusConsistency (const SolveResultProto &result)
 
absl::Status ValidateTerminationConsistency (const SolveResultProto &result)
 
absl::Status ValidateResult (const SolveResultProto &result, const ModelSolveParametersProto &parameters, const ModelSummary &model_summary)
 
absl::Status CheckScalarNoNanNoInf (const double d)
 
absl::Status CheckScalar (const double value, const DoubleOptions &options)
 
absl::Status ValidateSolution (const SolutionProto &solution, const ModelSolveParametersProto &parameters, const ModelSummary &model_summary)
 
absl::Status ValidatePrimalSolutionVector (const SparseDoubleVectorProto &vector, const SparseVectorFilterProto &filter, const ModelSummary &model_summary)
 
absl::Status ValidatePrimalSolution (const PrimalSolutionProto &primal_solution, const SparseVectorFilterProto &filter, const ModelSummary &model_summary)
 
absl::Status ValidatePrimalRay (const PrimalRayProto &primal_ray, const SparseVectorFilterProto &filter, const ModelSummary &model_summary)
 
absl::Status ValidateDualSolution (const DualSolutionProto &dual_solution, const ModelSolveParametersProto &parameters, const ModelSummary &model_summary)
 
absl::Status ValidateDualRay (const DualRayProto &dual_ray, const ModelSolveParametersProto &parameters, const ModelSummary &model_summary)
 
absl::Status SparseBasisStatusVectorIsValid (const SparseVectorView< int > &status_vector_view)
 
absl::Status ValidateBasis (const BasisProto &basis, const ModelSummary &model_summary, const bool check_dual_feasibility)
 
absl::Status ValidateSolveParameters (const SolveParametersProto &parameters)
 
absl::Status ValidateProblemStatus (const ProblemStatusProto &status)
 
absl::Status CheckPrimalStatusIs (const ProblemStatusProto &status, const FeasibilityStatusProto required_status)
 
absl::Status CheckPrimalStatusIsNot (const ProblemStatusProto &status, const FeasibilityStatusProto forbidden_status)
 
absl::Status CheckDualStatusIsNot (const ProblemStatusProto &status, const FeasibilityStatusProto forbidden_status)
 
absl::Status CheckDualStatusIs (const ProblemStatusProto &status, const FeasibilityStatusProto required_status, const bool primal_or_dual_infeasible_also_ok)
 
absl::Status ValidateSolveStats (const SolveStatsProto &solve_stats)
 
absl::Status SparseMatrixValid (const SparseDoubleMatrixProto &matrix, const bool enforce_upper_triangular)
 
absl::Status SparseMatrixIdsAreKnown (const SparseDoubleMatrixProto &matrix, const absl::Span< const int64_t > row_ids, const absl::Span< const int64_t > column_ids)
 
template<typename T >
absl::Status CheckIdsAndValuesSize (const SparseVectorView< T > &vector_view, absl::string_view value_name="values")
 
template<typename T , typename = std::enable_if_t<!std::is_floating_point<T>::value>>
absl::Status CheckValues (const SparseVectorView< T > &vector_view, absl::string_view value_name="values")
 
template<typename T , typename = std::enable_if_t<!std::is_floating_point<T>::value>>
absl::Status CheckIdsAndValues (const SparseVectorView< T > &vector_view, absl::string_view value_name="values")
 
template<typename T , typename = std::enable_if_t<std::is_floating_point<T>::value>>
absl::Status CheckValues (const SparseVectorView< T > &vector_view, const DoubleOptions &options, absl::string_view value_name="values")
 
template<typename T , typename = std::enable_if_t<std::is_floating_point<T>::value>>
absl::Status CheckIdsAndValues (const SparseVectorView< T > &vector_view, const DoubleOptions &options, absl::string_view value_name="values")
 

Variables

constexpr std::size_t kMaxInvertedBounds = 10
 
constexpr double kMatcherDefaultTolerance = 1e-5
 
constexpr double kInf = std::numeric_limits<double>::infinity()
 

Typedef Documentation

◆ Callback

using Callback = std::function<CallbackResult(const CallbackData&)>

Definition at line 89 of file callback.h.

◆ Coefficient

using Coefficient = std::tuple<int64_t, int64_t, const double>

Definition at line 61 of file sparse_collection_matchers.h.

◆ Coefficients

using Coefficients = std::initializer_list<Coefficient>

Definition at line 62 of file sparse_collection_matchers.h.

◆ GRBenvUniquePtr

using GRBenvUniquePtr = std::unique_ptr<GRBenv, GurobiFreeEnv>

Definition at line 67 of file g_gurobi.h.

◆ LinearConstraintMap

◆ MessageCallback

using MessageCallback = std::function<void(const std::vector<std::string>&)>

Definition at line 34 of file message_callback.h.

◆ Pairs

using Pairs = std::initializer_list<std::pair<int64_t, const T> >

Definition at line 43 of file sparse_collection_matchers.h.

◆ ProtoEnumIsValid

using ProtoEnumIsValid = bool (*)(int)

Definition at line 157 of file enums.h.

◆ QuadraticProductId

using QuadraticProductId = std::pair<VariableId, VariableId>

Definition at line 599 of file variable_and_expressions.h.

◆ QuadraticTermMap

Definition at line 680 of file variable_and_expressions.h.

◆ sparse_value_type

using sparse_value_type = typename std::remove_reference< decltype(SparseVector().values())>::type::value_type

Definition at line 70 of file sparse_vector_view.h.

◆ SparseSubmatrixRowsView

using SparseSubmatrixRowsView = std::vector<std::pair<int64_t, SparseVectorView<double> >>

Definition at line 31 of file sparse_submatrix.h.

◆ VariableMap

using VariableMap = IdMap<Variable, V>

Definition at line 151 of file variable_and_expressions.h.

Enumeration Type Documentation

◆ BasisStatus

enum class BasisStatus : int8_t
strong
Enumerator
kFree 
kAtLowerBound 
kAtUpperBound 
kFixedValue 
kBasic 

Definition at line 47 of file solution.h.

◆ CallbackEvent

enum class CallbackEvent
strong
Enumerator
kPresolve 
kSimplex 
kMip 
kMipSolution 
kMipNode 
kBarrier 

Definition at line 92 of file callback.h.

◆ Emphasis

enum class Emphasis
strong
Enumerator
kOff 
kLow 
kMedium 
kHigh 
kVeryHigh 

Definition at line 127 of file parameters.h.

◆ FeasibilityStatus

enum class FeasibilityStatus
strong
Enumerator
kUndetermined 
kFeasible 
kInfeasible 

Definition at line 38 of file solve_result.h.

◆ GlpkRayType

Enumerator
kPrimal 
kDual 

Definition at line 33 of file rays.h.

◆ Limit

enum class Limit
strong
Enumerator
kUndetermined 
kIteration 
kTime 
kNode 
kSolution 
kMemory 
kCutoff 
kObjective 
kNorm 
kInterrupted 
kSlowProgress 
kOther 

Definition at line 200 of file solve_result.h.

◆ LPAlgorithm

enum class LPAlgorithm
strong
Enumerator
kPrimalSimplex 
kDualSimplex 
kBarrier 

Definition at line 94 of file parameters.h.

◆ SolutionStatus

enum class SolutionStatus
strong
Enumerator
kUndetermined 
kFeasible 
kInfeasible 

Definition at line 33 of file solution.h.

◆ SolverType

enum class SolverType
strong
Enumerator
kGscip 
kGurobi 
kGlop 
kCpSat 
kGlpk 

Definition at line 37 of file parameters.h.

◆ TerminationReason

enum class TerminationReason
strong
Enumerator
kOptimal 
kInfeasible 
kUnbounded 
kInfeasibleOrUnbounded 
kImprecise 
kFeasible 
kNoSolutionFound 
kNumericalError 
kOtherError 

Definition at line 150 of file solve_result.h.

Function Documentation

◆ AbslHashValue() [1/3]

H operations_research::math_opt::AbslHashValue ( h,
const LinearConstraint linear_constraint 
)

Definition at line 120 of file math_opt/cpp/linear_constraint.h.

◆ AbslHashValue() [2/3]

H operations_research::math_opt::AbslHashValue ( h,
const QuadraticTermKey key 
)

Definition at line 1627 of file variable_and_expressions.h.

◆ AbslHashValue() [3/3]

H operations_research::math_opt::AbslHashValue ( h,
const Variable variable 
)

Definition at line 908 of file variable_and_expressions.h.

◆ AbslParseFlag()

bool AbslParseFlag ( const absl::string_view  text,
SolverType *const  value,
std::string *const  error 
)

Definition at line 61 of file parameters.cc.

◆ AbslUnparseFlag()

std::string AbslUnparseFlag ( const SolverType  value)

Definition at line 73 of file parameters.cc.

◆ AllFeasibilityStatuses()

std::vector< FeasibilityStatusProto > AllFeasibilityStatuses ( )

Definition at line 30 of file enum_sets.cc.

◆ AllSolutionStatuses()

std::vector< SolutionStatusProto > AllSolutionStatuses ( )

Definition at line 42 of file enum_sets.cc.

◆ BasisIs()

testing::Matcher< Basis > BasisIs ( const Basis expected)

Definition at line 323 of file matchers.cc.

◆ CheckDualSolutionAndStatusConsistency()

absl::Status CheckDualSolutionAndStatusConsistency ( const SolveResultProto &  result)

Definition at line 170 of file result_validator.cc.

◆ CheckDualStatusIs()

absl::Status CheckDualStatusIs ( const ProblemStatusProto &  status,
const FeasibilityStatusProto  required_status,
const bool  primal_or_dual_infeasible_also_ok 
)

Definition at line 104 of file solve_stats_validator.cc.

◆ CheckDualStatusIsNot()

absl::Status CheckDualStatusIsNot ( const ProblemStatusProto &  status,
const FeasibilityStatusProto  forbidden_status 
)

Definition at line 91 of file solve_stats_validator.cc.

◆ CheckHasPrimalSolution()

absl::Status CheckHasPrimalSolution ( const SolveResultProto &  result)

Definition at line 149 of file result_validator.cc.

◆ CheckIdsAndValues() [1/2]

absl::Status operations_research::math_opt::CheckIdsAndValues ( const SparseVectorView< T > &  vector_view,
absl::string_view  value_name = "values" 
)

Definition at line 50 of file sparse_vector_validator.h.

◆ CheckIdsAndValues() [2/2]

absl::Status operations_research::math_opt::CheckIdsAndValues ( const SparseVectorView< T > &  vector_view,
const DoubleOptions options,
absl::string_view  value_name = "values" 
)

Definition at line 73 of file sparse_vector_validator.h.

◆ CheckIdsAndValuesSize()

absl::Status operations_research::math_opt::CheckIdsAndValuesSize ( const SparseVectorView< T > &  vector_view,
absl::string_view  value_name = "values" 
)

Definition at line 30 of file sparse_vector_validator.h.

◆ CheckIdsIdentical()

absl::Status CheckIdsIdentical ( absl::Span< const int64_t >  first_ids,
const IdNameBiMap second_ids,
absl::string_view  first_description,
absl::string_view  second_description 
)

Definition at line 245 of file ids_validator.cc.

◆ CheckIdsRangeAndStrictlyIncreasing()

absl::Status CheckIdsRangeAndStrictlyIncreasing ( absl::Span< const int64_t >  ids)

Definition at line 117 of file ids_validator.cc.

◆ CheckIdsSubset()

absl::Status CheckIdsSubset ( absl::Span< const int64_t >  ids,
const IdNameBiMap universe,
absl::string_view  ids_description,
absl::string_view  universe_description 
)

Definition at line 230 of file ids_validator.cc.

◆ CheckNameVector()

absl::Status CheckNameVector ( const SparseVectorView< const std::string * > &  name_vector,
const bool  check_unique 
)

Definition at line 34 of file name_validator.cc.

◆ CheckNewNames()

absl::Status CheckNewNames ( const IdNameBiMap old_names,
const SparseVectorView< const std::string * > &  new_names 
)

Definition at line 58 of file name_validator.cc.

◆ CheckPrimalSolutionAndStatusConsistency()

absl::Status CheckPrimalSolutionAndStatusConsistency ( const SolveResultProto &  result)

Definition at line 158 of file result_validator.cc.

◆ CheckPrimalStatusIs()

absl::Status CheckPrimalStatusIs ( const ProblemStatusProto &  status,
const FeasibilityStatusProto  required_status 
)

Definition at line 65 of file solve_stats_validator.cc.

◆ CheckPrimalStatusIsNot()

absl::Status CheckPrimalStatusIsNot ( const ProblemStatusProto &  status,
const FeasibilityStatusProto  forbidden_status 
)

Definition at line 78 of file solve_stats_validator.cc.

◆ CheckRegisteredCallbackEvents()

absl::Status CheckRegisteredCallbackEvents ( const CallbackRegistrationProto &  registration,
const absl::flat_hash_set< CallbackEventProto > &  supported_events 
)

Definition at line 299 of file callback_validator.cc.

◆ CheckScalar()

absl::Status CheckScalar ( const double  value,
const DoubleOptions options 
)

Definition at line 37 of file scalar_validator.cc.

◆ CheckScalarNoNanNoInf()

absl::Status CheckScalarNoNanNoInf ( const double  d)

Definition at line 29 of file scalar_validator.cc.

◆ CheckSortedIdsSubset()

absl::Status CheckSortedIdsSubset ( const absl::Span< const int64_t >  ids,
const absl::Span< const int64_t >  universe 
)

Definition at line 136 of file ids_validator.cc.

◆ CheckUnsortedIdsSubset()

absl::Status CheckUnsortedIdsSubset ( const absl::Span< const int64_t >  ids,
const absl::Span< const int64_t >  universe 
)

Definition at line 142 of file ids_validator.cc.

◆ CheckValues() [1/2]

absl::Status operations_research::math_opt::CheckValues ( const SparseVectorView< T > &  vector_view,
absl::string_view  value_name = "values" 
)

Definition at line 42 of file sparse_vector_validator.h.

◆ CheckValues() [2/2]

absl::Status operations_research::math_opt::CheckValues ( const SparseVectorView< T > &  vector_view,
const DoubleOptions options,
absl::string_view  value_name = "values" 
)

Definition at line 59 of file sparse_vector_validator.h.

◆ ConvertMathOptEmphasis()

GScipParameters::MetaParamValue operations_research::math_opt::ConvertMathOptEmphasis ( EmphasisProto  emphasis)

Definition at line 394 of file gscip_solver.cc.

◆ DEFINE_STRONG_INT_TYPE() [1/3]

operations_research::math_opt::DEFINE_STRONG_INT_TYPE ( LinearConstraintId  ,
int64_t   
)

◆ DEFINE_STRONG_INT_TYPE() [2/3]

operations_research::math_opt::DEFINE_STRONG_INT_TYPE ( UpdateTrackerId  ,
int64_t   
)

◆ DEFINE_STRONG_INT_TYPE() [3/3]

operations_research::math_opt::DEFINE_STRONG_INT_TYPE ( VariableId  ,
int64_t   
)

◆ DidUpdate()

testing::Matcher< IncrementalSolver::UpdateResult > DidUpdate ( )

Definition at line 751 of file matchers.cc.

◆ EnumFromProto()

std::optional< typename EnumProto< P >::Cpp > EnumFromProto ( const P  proto_value)

Definition at line 275 of file enums.h.

◆ EnumFromString()

std::optional< E > EnumFromString ( const absl::string_view  str)

Definition at line 296 of file enums.h.

◆ EnumToOptString()

std::optional< absl::string_view > EnumToOptString ( const E  value)

Definition at line 291 of file enums.h.

◆ EnumToProto() [1/2]

Enum< E >::Proto EnumToProto ( const E  value)

Definition at line 270 of file enums.h.

◆ EnumToProto() [2/2]

Enum< E >::Proto EnumToProto ( const std::optional< E >  value)

Definition at line 264 of file enums.h.

◆ EnumToString()

absl::string_view EnumToString ( const E  value)

Definition at line 283 of file enums.h.

◆ EventSet()

absl::flat_hash_set< CallbackEventProto > EventSet ( const CallbackRegistrationProto &  callback_registration)

Definition at line 67 of file math_opt_proto_utils.cc.

◆ EventToGurobiWhere()

std::vector< bool > EventToGurobiWhere ( const absl::flat_hash_set< CallbackEventProto > &  events)

Definition at line 310 of file gurobi_callback.cc.

◆ FeasibleTermination()

TerminationProto FeasibleTermination ( const LimitProto  limit,
const absl::string_view  detail 
)

Definition at line 94 of file math_opt_proto_utils.cc.

◆ FillSparseBasisStatusVector()

SparseBasisStatusVector operations_research::math_opt::FillSparseBasisStatusVector ( const std::vector< int64_t > &  ids_in_order,
const absl::flat_hash_map< int64_t, IndexType > &  id_map,
const glop::StrictITIVector< IndexType, ValueType > &  values 
)

Definition at line 442 of file glop_solver.cc.

◆ FillSparseDoubleVector()

SparseDoubleVectorProto operations_research::math_opt::FillSparseDoubleVector ( const std::vector< int64_t > &  ids_in_order,
const absl::flat_hash_map< int64_t, IndexType > &  id_map,
const glop::StrictITIVector< IndexType, glop::Fractional > &  values,
const SparseVectorFilterProto &  filter 
)

Definition at line 406 of file glop_solver.cc.

◆ FirstLinearConstraintId()

std::optional< int64_t > operations_research::math_opt::FirstLinearConstraintId ( const LinearConstraintsProto &  linear_constraints)
inline

Definition at line 53 of file math_opt_proto_utils.h.

◆ FirstVariableId()

std::optional< int64_t > operations_research::math_opt::FirstVariableId ( const VariablesProto &  variables)
inline

Definition at line 46 of file math_opt_proto_utils.h.

◆ FromGlopBasisStatus()

BasisStatusProto operations_research::math_opt::FromGlopBasisStatus ( const ValueType  glop_basis_status)

Definition at line 425 of file glop_solver.cc.

◆ GetSortedIs()

std::vector< int64_t > operations_research::math_opt::GetSortedIs ( const absl::flat_hash_map< int64_t, T > &  id_map)

Definition at line 476 of file glop_solver.cc.

◆ GlpkComputeUnboundRay()

absl::StatusOr< std::optional< GlpkRay > > GlpkComputeUnboundRay ( glp_prob *const  problem)

Definition at line 351 of file rays.cc.

◆ GurobiCallbackImpl()

absl::Status GurobiCallbackImpl ( const Gurobi::CallbackContext context,
const GurobiCallbackInput callback_input,
MessageCallbackData message_callback_data,
SolveInterrupter *const  local_interrupter 
)

Definition at line 319 of file gurobi_callback.cc.

◆ GurobiCallbackImplFlush()

void GurobiCallbackImplFlush ( const GurobiCallbackInput callback_input,
MessageCallbackData message_callback_data 
)

Definition at line 382 of file gurobi_callback.cc.

◆ GurobiNewMasterEnv()

absl::StatusOr< GRBenvUniquePtr > GurobiNewMasterEnv ( const std::optional< GurobiIsvKey > &  isv_key)

Definition at line 66 of file g_gurobi.cc.

◆ HasDualRay()

testing::Matcher< SolveResult > HasDualRay ( DualRay  expected,
const double  tolerance 
)

Definition at line 632 of file matchers.cc.

◆ HasDualSolution()

testing::Matcher< SolveResult > HasDualSolution ( DualSolution  expected,
const double  tolerance 
)

Definition at line 612 of file matchers.cc.

◆ HasPrimalRay() [1/2]

testing::Matcher< SolveResult > HasPrimalRay ( PrimalRay  expected,
const double  tolerance 
)

Definition at line 620 of file matchers.cc.

◆ HasPrimalRay() [2/2]

testing::Matcher< SolveResult > HasPrimalRay ( VariableMap< double >  expected_vars,
const double  tolerance 
)

Definition at line 625 of file matchers.cc.

◆ HasSolution()

testing::Matcher< SolveResult > HasSolution ( PrimalSolution  expected,
const double  tolerance 
)

Definition at line 604 of file matchers.cc.

◆ IndexToId()

glop::StrictITIVector< T, int64_t > operations_research::math_opt::IndexToId ( const absl::flat_hash_map< int64_t, T > &  id_map)

Definition at line 491 of file glop_solver.cc.

◆ InnerProduct()

LinearExpression InnerProduct ( const LeftIterable &  left,
const RightIterable &  right 
)
inline

Definition at line 1245 of file variable_and_expressions.h.

◆ IsConsistentWith()

testing::Matcher< SolveResult > IsConsistentWith ( const SolveResult expected,
const SolveResultMatcherOptions options 
)

Definition at line 723 of file matchers.cc.

◆ IsNear() [1/7]

testing::Matcher< DualRay > IsNear ( DualRay  expected,
const double  tolerance 
)

Definition at line 467 of file matchers.cc.

◆ IsNear() [2/7]

testing::Matcher< DualSolution > IsNear ( DualSolution  expected,
const double  tolerance 
)

Definition at line 312 of file matchers.cc.

◆ IsNear() [3/7]

testing::Matcher< LinearConstraintMap< double > > IsNear ( LinearConstraintMap< double >  expected,
const double  tolerance 
)

Definition at line 227 of file matchers.cc.

◆ IsNear() [4/7]

testing::Matcher< PrimalRay > IsNear ( PrimalRay  expected,
const double  tolerance 
)

Definition at line 405 of file matchers.cc.

◆ IsNear() [5/7]

testing::Matcher< PrimalSolution > IsNear ( PrimalSolution  expected,
const double  tolerance 
)

Definition at line 302 of file matchers.cc.

◆ IsNear() [6/7]

testing::Matcher< Solution > IsNear ( Solution  expected,
const SolutionMatcherOptions  options 
)

Definition at line 332 of file matchers.cc.

◆ IsNear() [7/7]

testing::Matcher< VariableMap< double > > IsNear ( VariableMap< double >  expected,
const double  tolerance 
)

Definition at line 214 of file matchers.cc.

◆ IsNearlySubsetOf() [1/2]

testing::Matcher< LinearConstraintMap< double > > IsNearlySubsetOf ( LinearConstraintMap< double >  expected,
double  tolerance 
)

Definition at line 220 of file matchers.cc.

◆ IsNearlySubsetOf() [2/2]

testing::Matcher< VariableMap< double > > IsNearlySubsetOf ( VariableMap< double >  expected,
double  tolerance 
)

Definition at line 208 of file matchers.cc.

◆ IsOptimal()

testing::Matcher< SolveResult > IsOptimal ( const std::optional< double >  expected_objective,
const double  tolerance 
)

Definition at line 559 of file matchers.cc.

◆ IsOptimalWithDualSolution()

testing::Matcher< SolveResult > IsOptimalWithDualSolution ( const double  expected_objective,
const LinearConstraintMap< double >  expected_dual_values,
const VariableMap< double >  expected_reduced_costs,
const double  tolerance 
)

Definition at line 589 of file matchers.cc.

◆ IsOptimalWithSolution()

testing::Matcher< SolveResult > IsOptimalWithSolution ( const double  expected_objective,
const VariableMap< double >  expected_variable_values,
const double  tolerance 
)

Definition at line 576 of file matchers.cc.

◆ MakeKeepKeysFilter() [1/2]

MapFilter< ValueType > operations_research::math_opt::MakeKeepKeysFilter ( const Collection &  keys)

Definition at line 133 of file map_filter.h.

◆ MakeKeepKeysFilter() [2/2]

MapFilter< KeyType > operations_research::math_opt::MakeKeepKeysFilter ( std::initializer_list< KeyType >  keys)

Definition at line 149 of file map_filter.h.

◆ MakeSkipAllFilter()

MapFilter< KeyType > operations_research::math_opt::MakeSkipAllFilter ( )

Definition at line 108 of file map_filter.h.

◆ MakeSkipZerosFilter()

MapFilter< KeyType > operations_research::math_opt::MakeSkipZerosFilter ( )

Definition at line 120 of file map_filter.h.

◆ MakeSparseBoolVector()

SparseBoolVectorProto MakeSparseBoolVector ( std::initializer_list< std::pair< int64_t, bool > >  pairs)

Definition at line 36 of file sparse_collection_matchers.cc.

◆ MakeSparseDoubleMatrix()

SparseDoubleMatrixProto MakeSparseDoubleMatrix ( std::initializer_list< std::tuple< int64_t, int64_t, double > >  values)

Definition at line 46 of file sparse_collection_matchers.cc.

◆ MakeSparseDoubleVector()

SparseDoubleVectorProto MakeSparseDoubleVector ( std::initializer_list< std::pair< int64_t, double > >  pairs)

Definition at line 26 of file sparse_collection_matchers.cc.

◆ MakeView() [1/4]

SparseVectorView< T > operations_research::math_opt::MakeView ( absl::Span< const int64_t >  ids,
const Collection &  values 
)

Definition at line 144 of file sparse_vector_view.h.

◆ MakeView() [2/4]

SparseVectorView< const T * > operations_research::math_opt::MakeView ( const google::protobuf::RepeatedField< int64_t > &  ids,
const google::protobuf::RepeatedPtrField< T > &  values 
)

Definition at line 153 of file sparse_vector_view.h.

◆ MakeView() [3/4]

SparseVectorView< T > operations_research::math_opt::MakeView ( const SparseVector< T > &  sparse_vector)

Definition at line 171 of file sparse_vector_view.h.

◆ MakeView() [4/4]

SparseVectorView< T > operations_research::math_opt::MakeView ( const SparseVectorProto &  sparse_vector)

Definition at line 164 of file sparse_vector_view.h.

◆ MATCHER_P() [1/3]

operations_research::math_opt::MATCHER_P ( FirstElementIs  ,
first_element_matcher  ,
(negation ? absl::StrCat("is empty or first element ", MatcherToString(first_element_matcher, true)) :absl::StrCat("has at least one element and first element ", MatcherToString(first_element_matcher, false)))   
)

Definition at line 549 of file matchers.cc.

◆ MATCHER_P() [2/3]

operations_research::math_opt::MATCHER_P ( SparseDoubleMatrixMatcher  ,
coefficients  ,
""   
)

Definition at line 70 of file sparse_collection_matchers.h.

◆ MATCHER_P() [3/3]

operations_research::math_opt::MATCHER_P ( SparseVectorMatcher  ,
pairs  ,
""   
)

Definition at line 50 of file sparse_collection_matchers.h.

◆ MatcherToString() [1/2]

std::string operations_research::math_opt::MatcherToString ( const ::testing::PolymorphicMatcher< T > &  matcher,
bool  negate 
)

Definition at line 544 of file matchers.cc.

◆ MatcherToString() [2/2]

std::string operations_research::math_opt::MatcherToString ( const Matcher< T > &  matcher,
bool  negate 
)

Definition at line 537 of file matchers.cc.

◆ MatcherToStringImpl()

std::string operations_research::math_opt::MatcherToStringImpl ( const MatcherType &  matcher,
const bool  negate 
)

Definition at line 526 of file matchers.cc.

◆ MATH_OPT_DEFINE_ENUM() [1/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( BasisStatus  ,
BASIS_STATUS_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [2/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( CallbackEvent  ,
CALLBACK_EVENT_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [3/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( Emphasis  ,
EMPHASIS_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [4/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( FeasibilityStatus  ,
FEASIBILITY_STATUS_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [5/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( Limit  ,
LIMIT_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [6/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( LPAlgorithm  ,
LP_ALGORITHM_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [7/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( SolutionStatus  ,
SOLUTION_STATUS_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [8/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( SolverType  ,
SOLVER_TYPE_UNSPECIFIED   
)

◆ MATH_OPT_DEFINE_ENUM() [9/9]

operations_research::math_opt::MATH_OPT_DEFINE_ENUM ( TerminationReason  ,
TERMINATION_REASON_UNSPECIFIED   
)

◆ MATH_OPT_REGISTER_SOLVER() [1/2]

operations_research::math_opt::MATH_OPT_REGISTER_SOLVER ( SOLVER_TYPE_CP_SAT  ,
CpSatSolver::New   
)

◆ MATH_OPT_REGISTER_SOLVER() [2/2]

operations_research::math_opt::MATH_OPT_REGISTER_SOLVER ( SOLVER_TYPE_PDLP  ,
PdlpSolver::New   
)

◆ MathOptModelToMPModelProto() [1/2]

absl::StatusOr<::operations_research::MPModelProto > operations_research::math_opt::MathOptModelToMPModelProto ( const ::operations_research::math_opt::ModelProto &  model)

Definition at line 206 of file proto_converter.cc.

◆ MathOptModelToMPModelProto() [2/2]

absl::StatusOr< MPModelProto > operations_research::math_opt::MathOptModelToMPModelProto ( const ModelProto &  model)

◆ MergeIntoUpdate()

void MergeIntoUpdate ( const ModelUpdateProto &  from_new,
ModelUpdateProto &  into_old 
)

Definition at line 33 of file model_update_merge.cc.

◆ MPModelProtoToMathOptModel() [1/2]

absl::StatusOr<::operations_research::math_opt::ModelProto > operations_research::math_opt::MPModelProtoToMathOptModel ( const ::operations_research::MPModelProto &  model)

Definition at line 78 of file proto_converter.cc.

◆ MPModelProtoToMathOptModel() [2/2]

absl::StatusOr< ModelProto > operations_research::math_opt::MPModelProtoToMathOptModel ( const MPModelProto &  model)

◆ NewMasterEnvironment()

absl::StatusOr< GRBenvUniquePtr > NewMasterEnvironment ( std::optional< GurobiInitializerProto::ISVKey >  proto_isv_key)

Definition at line 24 of file gurobi_init_arguments.cc.

◆ NoSolutionFoundTermination()

TerminationProto NoSolutionFoundTermination ( const LimitProto  limit,
const absl::string_view  detail 
)

Definition at line 99 of file math_opt_proto_utils.cc.

◆ NumConstraints()

int operations_research::math_opt::NumConstraints ( const LinearConstraintsProto &  linear_constraints)
inline

Definition at line 36 of file math_opt_proto_utils.h.

◆ NumMatrixNonzeros()

int operations_research::math_opt::NumMatrixNonzeros ( const SparseDoubleMatrixProto &  matrix)
inline

Definition at line 40 of file math_opt_proto_utils.h.

◆ NumVariables()

int operations_research::math_opt::NumVariables ( const VariablesProto &  variables)
inline

Definition at line 32 of file math_opt_proto_utils.h.

◆ operator!=() [1/3]

bool operations_research::math_opt::operator!= ( const LinearConstraint lhs,
const LinearConstraint rhs 
)

Definition at line 115 of file math_opt/cpp/linear_constraint.h.

◆ operator!=() [2/3]

bool operator!= ( const QuadraticTermKey  lhs,
const QuadraticTermKey  rhs 
)
inline

Definition at line 1636 of file variable_and_expressions.h.

◆ operator!=() [3/3]

bool operator!= ( const Variable lhs,
const Variable rhs 
)
inline

Definition at line 1285 of file variable_and_expressions.h.

◆ operator*() [1/19]

QuadraticExpression operator* ( const LinearExpression lhs,
const LinearExpression rhs 
)
inline

Definition at line 2055 of file variable_and_expressions.h.

◆ operator*() [2/19]

QuadraticExpression operator* ( const LinearExpression lhs,
LinearTerm  rhs 
)
inline

Definition at line 2044 of file variable_and_expressions.h.

◆ operator*() [3/19]

QuadraticExpression operator* ( const LinearExpression lhs,
Variable  rhs 
)
inline

Definition at line 2033 of file variable_and_expressions.h.

◆ operator*() [4/19]

LinearTerm operator* ( double  coefficient,
LinearTerm  term 
)
inline

Definition at line 948 of file variable_and_expressions.h.

◆ operator*() [5/19]

LinearTerm operator* ( double  coefficient,
Variable  variable 
)
inline

Definition at line 958 of file variable_and_expressions.h.

◆ operator*() [6/19]

LinearExpression operator* ( double  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1146 of file variable_and_expressions.h.

◆ operator*() [7/19]

QuadraticExpression operator* ( double  lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1987 of file variable_and_expressions.h.

◆ operator*() [8/19]

QuadraticTerm operator* ( double  lhs,
QuadraticTerm  rhs 
)
inline

Definition at line 1982 of file variable_and_expressions.h.

◆ operator*() [9/19]

LinearExpression operator* ( LinearExpression  lhs,
double  rhs 
)
inline

Definition at line 1141 of file variable_and_expressions.h.

◆ operator*() [10/19]

QuadraticExpression operator* ( LinearTerm  lhs,
const LinearExpression rhs 
)
inline

Definition at line 2022 of file variable_and_expressions.h.

◆ operator*() [11/19]

QuadraticTerm operator* ( LinearTerm  lhs,
LinearTerm  rhs 
)
inline

Definition at line 2017 of file variable_and_expressions.h.

◆ operator*() [12/19]

QuadraticTerm operator* ( LinearTerm  lhs,
Variable  rhs 
)
inline

Definition at line 2012 of file variable_and_expressions.h.

◆ operator*() [13/19]

LinearTerm operator* ( LinearTerm  term,
double  coefficient 
)
inline

Definition at line 953 of file variable_and_expressions.h.

◆ operator*() [14/19]

QuadraticExpression operator* ( QuadraticExpression  lhs,
double  rhs 
)
inline

Definition at line 2082 of file variable_and_expressions.h.

◆ operator*() [15/19]

QuadraticTerm operator* ( QuadraticTerm  lhs,
double  rhs 
)
inline

Definition at line 2077 of file variable_and_expressions.h.

◆ operator*() [16/19]

QuadraticExpression operator* ( Variable  lhs,
const LinearExpression rhs 
)
inline

Definition at line 2001 of file variable_and_expressions.h.

◆ operator*() [17/19]

QuadraticTerm operator* ( Variable  lhs,
LinearTerm  rhs 
)
inline

Definition at line 1996 of file variable_and_expressions.h.

◆ operator*() [18/19]

QuadraticTerm operator* ( Variable  lhs,
Variable  rhs 
)
inline

Definition at line 1992 of file variable_and_expressions.h.

◆ operator*() [19/19]

LinearTerm operator* ( Variable  variable,
double  coefficient 
)
inline

Definition at line 962 of file variable_and_expressions.h.

◆ operator+() [1/35]

QuadraticExpression operator+ ( const LinearExpression lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1784 of file variable_and_expressions.h.

◆ operator+() [2/35]

LinearExpression operator+ ( const LinearTerm lhs,
const LinearTerm rhs 
)
inline

Definition at line 1037 of file variable_and_expressions.h.

◆ operator+() [3/35]

QuadraticExpression operator+ ( const LinearTerm lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1769 of file variable_and_expressions.h.

◆ operator+() [4/35]

LinearExpression operator+ ( const LinearTerm lhs,
double  rhs 
)
inline

Definition at line 1021 of file variable_and_expressions.h.

◆ operator+() [5/35]

QuadraticExpression operator+ ( const LinearTerm lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1773 of file variable_and_expressions.h.

◆ operator+() [6/35]

LinearExpression operator+ ( const LinearTerm lhs,
Variable  rhs 
)
inline

Definition at line 1029 of file variable_and_expressions.h.

◆ operator+() [7/35]

QuadraticExpression operator+ ( const QuadraticTerm lhs,
const LinearTerm rhs 
)
inline

Definition at line 1798 of file variable_and_expressions.h.

◆ operator+() [8/35]

QuadraticExpression operator+ ( const QuadraticTerm lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1808 of file variable_and_expressions.h.

◆ operator+() [9/35]

QuadraticExpression operator+ ( const QuadraticTerm lhs,
double  rhs 
)
inline

Definition at line 1790 of file variable_and_expressions.h.

◆ operator+() [10/35]

QuadraticExpression operator+ ( const QuadraticTerm lhs,
LinearExpression  rhs 
)
inline

Definition at line 1802 of file variable_and_expressions.h.

◆ operator+() [11/35]

QuadraticExpression operator+ ( const QuadraticTerm lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1813 of file variable_and_expressions.h.

◆ operator+() [12/35]

QuadraticExpression operator+ ( const QuadraticTerm lhs,
Variable  rhs 
)
inline

Definition at line 1794 of file variable_and_expressions.h.

◆ operator+() [13/35]

LinearExpression operator+ ( double  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1025 of file variable_and_expressions.h.

◆ operator+() [14/35]

QuadraticExpression operator+ ( double  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1751 of file variable_and_expressions.h.

◆ operator+() [15/35]

LinearExpression operator+ ( double  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1046 of file variable_and_expressions.h.

◆ operator+() [16/35]

QuadraticExpression operator+ ( double  lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1755 of file variable_and_expressions.h.

◆ operator+() [17/35]

LinearExpression operator+ ( double  lhs,
Variable  rhs 
)
inline

Definition at line 1013 of file variable_and_expressions.h.

◆ operator+() [18/35]

LinearExpression operator+ ( LinearExpression  lhs,
const LinearExpression rhs 
)
inline

Definition at line 1069 of file variable_and_expressions.h.

◆ operator+() [19/35]

LinearExpression operator+ ( LinearExpression  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1059 of file variable_and_expressions.h.

◆ operator+() [20/35]

QuadraticExpression operator+ ( LinearExpression  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1778 of file variable_and_expressions.h.

◆ operator+() [21/35]

LinearExpression operator+ ( LinearExpression  lhs,
double  rhs 
)
inline

Definition at line 1041 of file variable_and_expressions.h.

◆ operator+() [22/35]

LinearExpression operator+ ( LinearExpression  lhs,
Variable  rhs 
)
inline

Definition at line 1051 of file variable_and_expressions.h.

◆ operator+() [23/35]

LinearExpression operator+ ( LinearTerm  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1064 of file variable_and_expressions.h.

◆ operator+() [24/35]

QuadraticExpression operator+ ( QuadraticExpression  lhs,
const LinearExpression rhs 
)
inline

Definition at line 1834 of file variable_and_expressions.h.

◆ operator+() [25/35]

QuadraticExpression operator+ ( QuadraticExpression  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1829 of file variable_and_expressions.h.

◆ operator+() [26/35]

QuadraticExpression operator+ ( QuadraticExpression  lhs,
const QuadraticExpression rhs 
)
inline

Definition at line 1846 of file variable_and_expressions.h.

◆ operator+() [27/35]

QuadraticExpression operator+ ( QuadraticExpression  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1840 of file variable_and_expressions.h.

◆ operator+() [28/35]

QuadraticExpression operator+ ( QuadraticExpression  lhs,
double  rhs 
)
inline

Definition at line 1819 of file variable_and_expressions.h.

◆ operator+() [29/35]

QuadraticExpression operator+ ( QuadraticExpression  lhs,
Variable  rhs 
)
inline

Definition at line 1824 of file variable_and_expressions.h.

◆ operator+() [30/35]

LinearExpression operator+ ( Variable  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1033 of file variable_and_expressions.h.

◆ operator+() [31/35]

QuadraticExpression operator+ ( Variable  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1760 of file variable_and_expressions.h.

◆ operator+() [32/35]

LinearExpression operator+ ( Variable  lhs,
double  rhs 
)
inline

Definition at line 1009 of file variable_and_expressions.h.

◆ operator+() [33/35]

LinearExpression operator+ ( Variable  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1055 of file variable_and_expressions.h.

◆ operator+() [34/35]

QuadraticExpression operator+ ( Variable  lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1764 of file variable_and_expressions.h.

◆ operator+() [35/35]

LinearExpression operator+ ( Variable  lhs,
Variable  rhs 
)
inline

Definition at line 1017 of file variable_and_expressions.h.

◆ operator-() [1/38]

QuadraticExpression operator- ( const LinearExpression lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1906 of file variable_and_expressions.h.

◆ operator-() [2/38]

LinearExpression operator- ( const LinearTerm lhs,
const LinearTerm rhs 
)
inline

Definition at line 1102 of file variable_and_expressions.h.

◆ operator-() [3/38]

QuadraticExpression operator- ( const LinearTerm lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1890 of file variable_and_expressions.h.

◆ operator-() [4/38]

LinearExpression operator- ( const LinearTerm lhs,
double  rhs 
)
inline

Definition at line 1086 of file variable_and_expressions.h.

◆ operator-() [5/38]

QuadraticExpression operator- ( const LinearTerm lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1894 of file variable_and_expressions.h.

◆ operator-() [6/38]

LinearExpression operator- ( const LinearTerm lhs,
Variable  rhs 
)
inline

Definition at line 1094 of file variable_and_expressions.h.

◆ operator-() [7/38]

QuadraticExpression operator- ( const QuadraticTerm lhs,
const LinearTerm rhs 
)
inline

Definition at line 1921 of file variable_and_expressions.h.

◆ operator-() [8/38]

QuadraticExpression operator- ( const QuadraticTerm lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1931 of file variable_and_expressions.h.

◆ operator-() [9/38]

QuadraticExpression operator- ( const QuadraticTerm lhs,
double  rhs 
)
inline

Definition at line 1913 of file variable_and_expressions.h.

◆ operator-() [10/38]

QuadraticExpression operator- ( const QuadraticTerm lhs,
LinearExpression  rhs 
)
inline

Definition at line 1925 of file variable_and_expressions.h.

◆ operator-() [11/38]

QuadraticExpression operator- ( const QuadraticTerm lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1936 of file variable_and_expressions.h.

◆ operator-() [12/38]

QuadraticExpression operator- ( const QuadraticTerm lhs,
Variable  rhs 
)
inline

Definition at line 1917 of file variable_and_expressions.h.

◆ operator-() [13/38]

LinearExpression operator- ( double  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1090 of file variable_and_expressions.h.

◆ operator-() [14/38]

QuadraticExpression operator- ( double  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1872 of file variable_and_expressions.h.

◆ operator-() [15/38]

LinearExpression operator- ( double  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1111 of file variable_and_expressions.h.

◆ operator-() [16/38]

QuadraticExpression operator- ( double  lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1876 of file variable_and_expressions.h.

◆ operator-() [17/38]

LinearExpression operator- ( double  lhs,
Variable  rhs 
)
inline

Definition at line 1078 of file variable_and_expressions.h.

◆ operator-() [18/38]

LinearExpression operator- ( LinearExpression  expr)
inline

Definition at line 1001 of file variable_and_expressions.h.

◆ operator-() [19/38]

LinearExpression operator- ( LinearExpression  lhs,
const LinearExpression rhs 
)
inline

Definition at line 1136 of file variable_and_expressions.h.

◆ operator-() [20/38]

LinearExpression operator- ( LinearExpression  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1125 of file variable_and_expressions.h.

◆ operator-() [21/38]

QuadraticExpression operator- ( LinearExpression  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1900 of file variable_and_expressions.h.

◆ operator-() [22/38]

LinearExpression operator- ( LinearExpression  lhs,
double  rhs 
)
inline

Definition at line 1106 of file variable_and_expressions.h.

◆ operator-() [23/38]

LinearExpression operator- ( LinearExpression  lhs,
Variable  rhs 
)
inline

Definition at line 1117 of file variable_and_expressions.h.

◆ operator-() [24/38]

LinearExpression operator- ( LinearTerm  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1130 of file variable_and_expressions.h.

◆ operator-() [25/38]

QuadraticExpression operator- ( QuadraticExpression  expr)
inline

Definition at line 1861 of file variable_and_expressions.h.

◆ operator-() [26/38]

QuadraticExpression operator- ( QuadraticExpression  lhs,
const LinearExpression rhs 
)
inline

Definition at line 1961 of file variable_and_expressions.h.

◆ operator-() [27/38]

QuadraticExpression operator- ( QuadraticExpression  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1949 of file variable_and_expressions.h.

◆ operator-() [28/38]

QuadraticExpression operator- ( QuadraticExpression  lhs,
const QuadraticExpression rhs 
)
inline

Definition at line 1973 of file variable_and_expressions.h.

◆ operator-() [29/38]

QuadraticExpression operator- ( QuadraticExpression  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1967 of file variable_and_expressions.h.

◆ operator-() [30/38]

QuadraticExpression operator- ( QuadraticExpression  lhs,
double  rhs 
)
inline

Definition at line 1943 of file variable_and_expressions.h.

◆ operator-() [31/38]

QuadraticExpression operator- ( QuadraticExpression  lhs,
Variable  rhs 
)
inline

Definition at line 1954 of file variable_and_expressions.h.

◆ operator-() [32/38]

QuadraticTerm operator- ( QuadraticTerm  term)
inline

Definition at line 1855 of file variable_and_expressions.h.

◆ operator-() [33/38]

LinearExpression operator- ( Variable  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1098 of file variable_and_expressions.h.

◆ operator-() [34/38]

QuadraticExpression operator- ( Variable  lhs,
const QuadraticTerm rhs 
)
inline

Definition at line 1882 of file variable_and_expressions.h.

◆ operator-() [35/38]

LinearExpression operator- ( Variable  lhs,
double  rhs 
)
inline

Definition at line 1074 of file variable_and_expressions.h.

◆ operator-() [36/38]

LinearExpression operator- ( Variable  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1121 of file variable_and_expressions.h.

◆ operator-() [37/38]

QuadraticExpression operator- ( Variable  lhs,
QuadraticExpression  rhs 
)
inline

Definition at line 1886 of file variable_and_expressions.h.

◆ operator-() [38/38]

LinearExpression operator- ( Variable  lhs,
Variable  rhs 
)
inline

Definition at line 1082 of file variable_and_expressions.h.

◆ operator/() [1/5]

LinearExpression operator/ ( LinearExpression  lhs,
double  rhs 
)
inline

Definition at line 1151 of file variable_and_expressions.h.

◆ operator/() [2/5]

LinearTerm operator/ ( LinearTerm  term,
double  coefficient 
)
inline

Definition at line 966 of file variable_and_expressions.h.

◆ operator/() [3/5]

QuadraticExpression operator/ ( QuadraticExpression  lhs,
double  rhs 
)
inline

Definition at line 2095 of file variable_and_expressions.h.

◆ operator/() [4/5]

QuadraticTerm operator/ ( QuadraticTerm  lhs,
double  rhs 
)
inline

Definition at line 2090 of file variable_and_expressions.h.

◆ operator/() [5/5]

LinearTerm operator/ ( Variable  variable,
double  coefficient 
)
inline

Definition at line 971 of file variable_and_expressions.h.

◆ operator<<() [1/10]

std::ostream & operator<< ( std::ostream &  ostr,
const BoundedLinearExpression bounded_expression 
)

Definition at line 183 of file variable_and_expressions.cc.

◆ operator<<() [2/10]

std::ostream & operator<< ( std::ostream &  ostr,
const LinearConstraint linear_constraint 
)
inline

Definition at line 125 of file math_opt/cpp/linear_constraint.h.

◆ operator<<() [3/10]

std::ostream & operator<< ( std::ostream &  ostr,
const LinearExpression expression 
)

Definition at line 162 of file variable_and_expressions.cc.

◆ operator<<() [4/10]

std::ostream & operator<< ( std::ostream &  ostr,
const ProblemStatus problem_status 
)

Definition at line 263 of file solve_result.cc.

◆ operator<<() [5/10]

std::ostream & operations_research::math_opt::operator<< ( std::ostream &  ostr,
const QuadraticExpression expr 
)

Definition at line 238 of file variable_and_expressions.cc.

◆ operator<<() [6/10]

std::ostream & operator<< ( std::ostream &  ostr,
const SolveStats solve_stats 
)

Definition at line 308 of file solve_result.cc.

◆ operator<<() [7/10]

std::ostream & operator<< ( std::ostream &  ostr,
const Termination termination 
)

Definition at line 219 of file solve_result.cc.

◆ operator<<() [8/10]

std::ostream & operator<< ( std::ostream &  ostr,
const Variable variable 
)
inline

Definition at line 912 of file variable_and_expressions.h.

◆ operator<<() [9/10]

std::ostream & operations_research::math_opt::operator<< ( std::ostream &  out,
const E  value 
)

Definition at line 231 of file enums.h.

◆ operator<<() [10/10]

std::ostream & operations_research::math_opt::operator<< ( std::ostream &  out,
const std::optional< E >  opt_value 
)

Definition at line 250 of file enums.h.

◆ operator<=() [1/17]

BoundedLinearExpression operator<= ( const LinearTerm lhs,
const LinearTerm rhs 
)
inline

Definition at line 1488 of file variable_and_expressions.h.

◆ operator<=() [2/17]

BoundedLinearExpression operator<= ( const LinearTerm lhs,
LinearExpression  rhs 
)
inline

Definition at line 1456 of file variable_and_expressions.h.

◆ operator<=() [3/17]

BoundedLinearExpression operator<= ( const LinearTerm lhs,
Variable  rhs 
)
inline

Definition at line 1503 of file variable_and_expressions.h.

◆ operator<=() [4/17]

UpperBoundedLinearExpression operator<= ( const LinearTerm term,
double  constant 
)
inline

Definition at line 1376 of file variable_and_expressions.h.

◆ operator<=() [5/17]

LowerBoundedLinearExpression operator<= ( double  constant,
const LinearTerm term 
)
inline

Definition at line 1351 of file variable_and_expressions.h.

◆ operator<=() [6/17]

LowerBoundedLinearExpression operator<= ( double  constant,
LinearExpression  expression 
)
inline

Definition at line 1341 of file variable_and_expressions.h.

◆ operator<=() [7/17]

LowerBoundedLinearExpression operator<= ( double  constant,
Variable  variable 
)
inline

Definition at line 1361 of file variable_and_expressions.h.

◆ operator<=() [8/17]

BoundedLinearExpression operator<= ( double  lhs,
UpperBoundedLinearExpression  rhs 
)
inline

Definition at line 1417 of file variable_and_expressions.h.

◆ operator<=() [9/17]

UpperBoundedLinearExpression operator<= ( LinearExpression  expression,
double  constant 
)
inline

Definition at line 1366 of file variable_and_expressions.h.

◆ operator<=() [10/17]

BoundedLinearExpression operator<= ( LinearExpression  lhs,
const LinearExpression rhs 
)
inline

Definition at line 1424 of file variable_and_expressions.h.

◆ operator<=() [11/17]

BoundedLinearExpression operator<= ( LinearExpression  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1440 of file variable_and_expressions.h.

◆ operator<=() [12/17]

BoundedLinearExpression operator<= ( LinearExpression  lhs,
Variable  rhs 
)
inline

Definition at line 1472 of file variable_and_expressions.h.

◆ operator<=() [13/17]

BoundedLinearExpression operator<= ( LowerBoundedLinearExpression  lhs,
double  rhs 
)
inline

Definition at line 1396 of file variable_and_expressions.h.

◆ operator<=() [14/17]

BoundedLinearExpression operator<= ( Variable  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1511 of file variable_and_expressions.h.

◆ operator<=() [15/17]

BoundedLinearExpression operator<= ( Variable  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1480 of file variable_and_expressions.h.

◆ operator<=() [16/17]

BoundedLinearExpression operator<= ( Variable  lhs,
Variable  rhs 
)
inline

Definition at line 1519 of file variable_and_expressions.h.

◆ operator<=() [17/17]

UpperBoundedLinearExpression operator<= ( Variable  variable,
double  constant 
)
inline

Definition at line 1386 of file variable_and_expressions.h.

◆ operator==() [1/17]

bool operations_research::math_opt::operator== ( const LinearConstraint lhs,
const LinearConstraint rhs 
)

Definition at line 111 of file math_opt/cpp/linear_constraint.h.

◆ operator==() [2/17]

BoundedLinearExpression operator== ( const LinearTerm lhs,
const LinearTerm rhs 
)
inline

Definition at line 1568 of file variable_and_expressions.h.

◆ operator==() [3/17]

BoundedLinearExpression operator== ( const LinearTerm lhs,
double  rhs 
)
inline

Definition at line 1583 of file variable_and_expressions.h.

◆ operator==() [4/17]

BoundedLinearExpression operator== ( const LinearTerm lhs,
LinearExpression  rhs 
)
inline

Definition at line 1541 of file variable_and_expressions.h.

◆ operator==() [5/17]

BoundedLinearExpression operator== ( const LinearTerm lhs,
Variable  rhs 
)
inline

Definition at line 1575 of file variable_and_expressions.h.

◆ operator==() [6/17]

bool operator== ( const QuadraticTermKey  lhs,
const QuadraticTermKey  rhs 
)
inline

Definition at line 1632 of file variable_and_expressions.h.

◆ operator==() [7/17]

internal::VariablesEquality operator== ( const Variable lhs,
const Variable rhs 
)
inline

Definition at line 1280 of file variable_and_expressions.h.

◆ operator==() [8/17]

BoundedLinearExpression operator== ( double  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1588 of file variable_and_expressions.h.

◆ operator==() [9/17]

BoundedLinearExpression operator== ( double  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1562 of file variable_and_expressions.h.

◆ operator==() [10/17]

BoundedLinearExpression operator== ( double  lhs,
Variable  rhs 
)
inline

Definition at line 1597 of file variable_and_expressions.h.

◆ operator==() [11/17]

BoundedLinearExpression operator== ( LinearExpression  lhs,
const LinearExpression rhs 
)
inline

Definition at line 1527 of file variable_and_expressions.h.

◆ operator==() [12/17]

BoundedLinearExpression operator== ( LinearExpression  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1534 of file variable_and_expressions.h.

◆ operator==() [13/17]

BoundedLinearExpression operator== ( LinearExpression  lhs,
double  rhs 
)
inline

Definition at line 1556 of file variable_and_expressions.h.

◆ operator==() [14/17]

BoundedLinearExpression operator== ( LinearExpression  lhs,
Variable  rhs 
)
inline

Definition at line 1548 of file variable_and_expressions.h.

◆ operator==() [15/17]

BoundedLinearExpression operator== ( Variable  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1579 of file variable_and_expressions.h.

◆ operator==() [16/17]

BoundedLinearExpression operator== ( Variable  lhs,
double  rhs 
)
inline

Definition at line 1593 of file variable_and_expressions.h.

◆ operator==() [17/17]

BoundedLinearExpression operator== ( Variable  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1552 of file variable_and_expressions.h.

◆ operator>=() [1/17]

BoundedLinearExpression operator>= ( const LinearTerm lhs,
const LinearTerm rhs 
)
inline

Definition at line 1496 of file variable_and_expressions.h.

◆ operator>=() [2/17]

BoundedLinearExpression operator>= ( const LinearTerm lhs,
LinearExpression  rhs 
)
inline

Definition at line 1464 of file variable_and_expressions.h.

◆ operator>=() [3/17]

BoundedLinearExpression operator>= ( const LinearTerm lhs,
Variable  rhs 
)
inline

Definition at line 1507 of file variable_and_expressions.h.

◆ operator>=() [4/17]

LowerBoundedLinearExpression operator>= ( const LinearTerm term,
double  constant 
)
inline

Definition at line 1346 of file variable_and_expressions.h.

◆ operator>=() [5/17]

UpperBoundedLinearExpression operator>= ( double  constant,
const LinearTerm term 
)
inline

Definition at line 1381 of file variable_and_expressions.h.

◆ operator>=() [6/17]

UpperBoundedLinearExpression operator>= ( double  constant,
LinearExpression  expression 
)
inline

Definition at line 1371 of file variable_and_expressions.h.

◆ operator>=() [7/17]

UpperBoundedLinearExpression operator>= ( double  constant,
Variable  variable 
)
inline

Definition at line 1391 of file variable_and_expressions.h.

◆ operator>=() [8/17]

BoundedLinearExpression operator>= ( double  lhs,
LowerBoundedLinearExpression  rhs 
)
inline

Definition at line 1403 of file variable_and_expressions.h.

◆ operator>=() [9/17]

LowerBoundedLinearExpression operator>= ( LinearExpression  expression,
double  constant 
)
inline

Definition at line 1336 of file variable_and_expressions.h.

◆ operator>=() [10/17]

BoundedLinearExpression operator>= ( LinearExpression  lhs,
const LinearExpression rhs 
)
inline

Definition at line 1432 of file variable_and_expressions.h.

◆ operator>=() [11/17]

BoundedLinearExpression operator>= ( LinearExpression  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1448 of file variable_and_expressions.h.

◆ operator>=() [12/17]

BoundedLinearExpression operator>= ( LinearExpression  lhs,
Variable  rhs 
)
inline

Definition at line 1476 of file variable_and_expressions.h.

◆ operator>=() [13/17]

BoundedLinearExpression operator>= ( UpperBoundedLinearExpression  lhs,
double  rhs 
)
inline

Definition at line 1410 of file variable_and_expressions.h.

◆ operator>=() [14/17]

BoundedLinearExpression operator>= ( Variable  lhs,
const LinearTerm rhs 
)
inline

Definition at line 1515 of file variable_and_expressions.h.

◆ operator>=() [15/17]

BoundedLinearExpression operator>= ( Variable  lhs,
LinearExpression  rhs 
)
inline

Definition at line 1484 of file variable_and_expressions.h.

◆ operator>=() [16/17]

BoundedLinearExpression operator>= ( Variable  lhs,
Variable  rhs 
)
inline

Definition at line 1523 of file variable_and_expressions.h.

◆ operator>=() [17/17]

LowerBoundedLinearExpression operator>= ( Variable  variable,
double  constant 
)
inline

Definition at line 1356 of file variable_and_expressions.h.

◆ PrimalRayIsNear()

testing::Matcher< PrimalRay > PrimalRayIsNear ( VariableMap< double >  expected_var_values,
const double  tolerance 
)

Definition at line 410 of file matchers.cc.

◆ PrinterMessageCallback()

MessageCallback PrinterMessageCallback ( std::ostream &  output_stream,
const absl::string_view  prefix 
)

Definition at line 52 of file message_callback.cc.

◆ PrintTo() [1/14]

void PrintTo ( const Basis basis,
std::ostream *const  os 
)

Definition at line 110 of file matchers.cc.

◆ PrintTo() [2/14]

void PrintTo ( const DualRay dual_ray,
std::ostream *const  os 
)

Definition at line 105 of file matchers.cc.

◆ PrintTo() [3/14]

void PrintTo ( const DualSolution dual_solution,
std::ostream *const  os 
)

Definition at line 93 of file matchers.cc.

◆ PrintTo() [4/14]

void PrintTo ( const FeasibilityStatusProto &  proto,
std::ostream *  os 
)

Definition at line 56 of file enum_sets.cc.

◆ PrintTo() [5/14]

void operations_research::math_opt::PrintTo ( const IdMap< K, V > &  id_map,
std::ostream *const  os 
)

Definition at line 385 of file matchers.h.

◆ PrintTo() [6/14]

void PrintTo ( const PrimalRay primal_ray,
std::ostream *const  os 
)

Definition at line 101 of file matchers.cc.

◆ PrintTo() [7/14]

void PrintTo ( const PrimalSolution primal_solution,
std::ostream *const  os 
)

Definition at line 86 of file matchers.cc.

◆ PrintTo() [8/14]

void PrintTo ( const Solution solution,
std::ostream *const  os 
)

Definition at line 117 of file matchers.cc.

◆ PrintTo() [9/14]

void PrintTo ( const SolutionStatusProto &  proto,
std::ostream *  os 
)

Definition at line 52 of file enum_sets.cc.

◆ PrintTo() [10/14]

void PrintTo ( const SolveResult result,
std::ostream *const  os 
)

Definition at line 123 of file matchers.cc.

◆ PrintTo() [11/14]

void PrintTo ( const std::tuple< FeasibilityStatusProto, FeasibilityStatusProto > &  proto,
std::ostream *  os 
)

Definition at line 66 of file enum_sets.cc.

◆ PrintTo() [12/14]

void PrintTo ( const std::tuple< SolutionStatusProto, FeasibilityStatusProto > &  proto,
std::ostream *  os 
)

Definition at line 73 of file enum_sets.cc.

◆ PrintTo() [13/14]

void PrintTo ( const std::tuple< SolutionStatusProto, SolutionStatusProto > &  proto,
std::ostream *  os 
)

Definition at line 60 of file enum_sets.cc.

◆ PrintTo() [14/14]

void PrintTo ( const Termination termination,
std::ostream *  os 
)

Definition at line 78 of file matchers.cc.

◆ ReadMpsFile()

absl::StatusOr< ModelProto > ReadMpsFile ( const absl::string_view  filename)

Definition at line 28 of file mps_converter.cc.

◆ RemoveSparseDoubleVectorZeros()

void RemoveSparseDoubleVectorZeros ( SparseDoubleVectorProto &  sparse_vector)

Definition at line 32 of file math_opt_proto_utils.cc.

◆ Solve()

absl::StatusOr< SolveResult > Solve ( const Model model,
const SolverType  solver_type,
const SolveArguments solve_args,
const SolverInitArguments init_args 
)

Definition at line 94 of file solve.cc.

◆ SparseBasisStatusVectorIsValid()

absl::Status operations_research::math_opt::SparseBasisStatusVectorIsValid ( const SparseVectorView< int > &  status_vector_view)

Definition at line 226 of file solution_validator.cc.

◆ SparseMatrixIdsAreKnown()

absl::Status SparseMatrixIdsAreKnown ( const SparseDoubleMatrixProto &  matrix,
const absl::Span< const int64_t >  row_ids,
const absl::Span< const int64_t >  column_ids 
)

Definition at line 91 of file sparse_matrix_validator.cc.

◆ SparseMatrixValid()

absl::Status SparseMatrixValid ( const SparseDoubleMatrixProto &  matrix,
const bool  enforce_upper_triangular 
)

Definition at line 30 of file sparse_matrix_validator.cc.

◆ SparseSubmatrixByRows()

SparseSubmatrixRowsView SparseSubmatrixByRows ( const SparseDoubleMatrixProto &  matrix,
const int64_t  start_row_id,
const std::optional< int64_t >  end_row_id,
const int64_t  start_col_id,
const std::optional< int64_t >  end_col_id 
)

Definition at line 46 of file sparse_submatrix.cc.

◆ Sum()

LinearExpression Sum ( const Iterable &  items)
inline

Definition at line 1220 of file variable_and_expressions.h.

◆ swap() [1/2]

void operations_research::math_opt::swap ( IdMap< K, V > &  a,
IdMap< K, V > &  b 
)

Definition at line 262 of file id_map.h.

◆ swap() [2/2]

void operations_research::math_opt::swap ( IdSet< K > &  a,
IdSet< K > &  b 
)

Definition at line 172 of file id_set.h.

◆ TerminateForLimit()

TerminationProto TerminateForLimit ( const LimitProto  limit,
const bool  feasible,
const absl::string_view  detail 
)

Definition at line 79 of file math_opt_proto_utils.cc.

◆ TerminateForReason()

TerminationProto TerminateForReason ( const TerminationReasonProto  reason,
const absl::string_view  detail 
)

Definition at line 104 of file math_opt_proto_utils.cc.

◆ TerminatesWith()

testing::Matcher< SolveResult > TerminatesWith ( const TerminationReason  expected)

Definition at line 481 of file matchers.cc.

◆ TerminatesWithLimit()

testing::Matcher< SolveResult > TerminatesWithLimit ( const Limit  expected,
const bool  allow_limit_undetermined 
)

Definition at line 500 of file matchers.cc.

◆ TerminatesWithOneOf()

testing::Matcher< SolveResult > TerminatesWithOneOf ( const std::vector< TerminationReason > &  allowed)

Definition at line 475 of file matchers.cc.

◆ TerminatesWithReasonFeasible()

testing::Matcher< SolveResult > TerminatesWithReasonFeasible ( const Limit  expected,
const bool  allow_limit_undetermined 
)

Definition at line 509 of file matchers.cc.

◆ TerminatesWithReasonNoSolutionFound()

testing::Matcher< SolveResult > TerminatesWithReasonNoSolutionFound ( const Limit  expected,
const bool  allow_limit_undetermined 
)

Definition at line 517 of file matchers.cc.

◆ ToGlopBasisStatus()

ValueType operations_research::math_opt::ToGlopBasisStatus ( const BasisStatusProto  basis_status)

Definition at line 457 of file glop_solver.cc.

◆ TransposeSparseSubmatrix()

std::vector< std::pair< int64_t, SparseVector< double > > > TransposeSparseSubmatrix ( const SparseSubmatrixRowsView submatrix_by_rows)

Definition at line 107 of file sparse_submatrix.cc.

◆ UpdateIdIndexMap()

void operations_research::math_opt::UpdateIdIndexMap ( glop::StrictITIVector< IndexType, bool >  indices_to_delete,
IndexType  num_indices,
absl::flat_hash_map< int64_t, IndexType > &  id_index_map 
)

Definition at line 152 of file glop_solver.cc.

◆ ValidateBasis()

absl::Status ValidateBasis ( const BasisProto &  basis,
const ModelSummary model_summary,
const bool  check_dual_feasibility 
)

Definition at line 242 of file solution_validator.cc.

◆ ValidateCallbackDataProto()

absl::Status ValidateCallbackDataProto ( const CallbackDataProto &  cb_data,
const CallbackRegistrationProto &  callback_registration,
const ModelSummary model_summary 
)

Definition at line 152 of file callback_validator.cc.

◆ ValidateCallbackRegistration()

absl::Status ValidateCallbackRegistration ( const CallbackRegistrationProto &  callback_registration,
const ModelSummary model_summary 
)

Definition at line 107 of file callback_validator.cc.

◆ ValidateCallbackResultProto()

absl::Status ValidateCallbackResultProto ( const CallbackResultProto &  callback_result,
const CallbackEventProto  callback_event,
const CallbackRegistrationProto &  callback_registration,
const ModelSummary model_summary 
)

Definition at line 258 of file callback_validator.cc.

◆ ValidateDualRay()

absl::Status ValidateDualRay ( const DualRayProto &  dual_ray,
const ModelSolveParametersProto &  parameters,
const ModelSummary model_summary 
)

Definition at line 208 of file solution_validator.cc.

◆ ValidateDualSolution()

absl::Status ValidateDualSolution ( const DualSolutionProto &  dual_solution,
const ModelSolveParametersProto &  parameters,
const ModelSummary model_summary 
)

Definition at line 190 of file solution_validator.cc.

◆ ValidateModel()

absl::Status ValidateModel ( const ModelProto &  model,
const bool  check_names 
)

Definition at line 206 of file math_opt/validators/model_validator.cc.

◆ ValidateModelSolveParameters()

absl::Status ValidateModelSolveParameters ( const ModelSolveParametersProto &  parameters,
const ModelSummary model_summary 
)

Definition at line 74 of file model_parameters_validator.cc.

◆ ValidateModelUpdate()

absl::Status ValidateModelUpdate ( const ModelUpdateProto &  model_update,
const bool  check_names 
)

Definition at line 227 of file math_opt/validators/model_validator.cc.

◆ ValidateModelUpdateAndSummary()

absl::Status ValidateModelUpdateAndSummary ( const ModelUpdateProto &  model_update,
const ModelSummary model_summary,
const bool  check_names 
)

Definition at line 253 of file math_opt/validators/model_validator.cc.

◆ ValidatePrimalRay()

absl::Status ValidatePrimalRay ( const PrimalRayProto &  primal_ray,
const SparseVectorFilterProto &  filter,
const ModelSummary model_summary 
)

Definition at line 181 of file solution_validator.cc.

◆ ValidatePrimalSolution()

absl::Status ValidatePrimalSolution ( const PrimalSolutionProto &  primal_solution,
const SparseVectorFilterProto &  filter,
const ModelSummary model_summary 
)

Definition at line 168 of file solution_validator.cc.

◆ ValidatePrimalSolutionVector()

absl::Status ValidatePrimalSolutionVector ( const SparseDoubleVectorProto &  vector,
const SparseVectorFilterProto &  filter,
const ModelSummary model_summary 
)

Definition at line 160 of file solution_validator.cc.

◆ ValidateProblemStatus()

absl::Status ValidateProblemStatus ( const ProblemStatusProto &  status)

Definition at line 46 of file solve_stats_validator.cc.

◆ ValidateResult()

absl::Status ValidateResult ( const SolveResultProto &  result,
const ModelSolveParametersProto &  parameters,
const ModelSummary model_summary 
)

Definition at line 281 of file result_validator.cc.

◆ ValidateSolution()

absl::Status ValidateSolution ( const SolutionProto &  solution,
const ModelSolveParametersProto &  parameters,
const ModelSummary model_summary 
)

Definition at line 116 of file solution_validator.cc.

◆ ValidateSolveParameters()

absl::Status ValidateSolveParameters ( const SolveParametersProto &  parameters)

Definition at line 32 of file solve_parameters_validator.cc.

◆ ValidateSolveStats()

absl::Status ValidateSolveStats ( const SolveStatsProto &  solve_stats)

Definition at line 167 of file solve_stats_validator.cc.

◆ ValidateSparseVectorFilter()

absl::Status ValidateSparseVectorFilter ( const SparseVectorFilterProto &  v,
const IdNameBiMap valid_ids 
)

Definition at line 59 of file model_parameters_validator.cc.

◆ ValidateTerminationConsistency()

absl::Status operations_research::math_opt::ValidateTerminationConsistency ( const SolveResultProto &  result)

Definition at line 185 of file result_validator.cc.

Variable Documentation

◆ kInf

constexpr double kInf = std::numeric_limits<double>::infinity()
constexpr

Definition at line 29 of file variable_and_expressions.cc.

◆ kMatcherDefaultTolerance

constexpr double kMatcherDefaultTolerance = 1e-5
constexpr

Definition at line 106 of file matchers.h.

◆ kMaxInvertedBounds

constexpr std::size_t kMaxInvertedBounds = 10
constexpr

Definition at line 25 of file inverted_bounds.h.