Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::LinearProgrammingConstraint Class Reference

Detailed Description

Definition at line 137 of file linear_programming_constraint.h.

#include <linear_programming_constraint.h>

Inheritance diagram for operations_research::sat::LinearProgrammingConstraint:
operations_research::sat::PropagatorInterface operations_research::ReversibleInterface

Public Types

typedef glop::RowIndex ConstraintIndex

Public Member Functions

 LinearProgrammingConstraint (Model *model, absl::Span< const IntegerVariable > vars)
 ~LinearProgrammingConstraint () override
bool AddLinearConstraint (LinearConstraint ct)
void SetObjectiveCoefficient (IntegerVariable ivar, IntegerValue coeff)
void SetMainObjectiveVariable (IntegerVariable ivar)
IntegerVariable ObjectiveVariable () const
void AddCutGenerator (CutGenerator generator)
bool HasSolution () const
double GetSolutionValue (IntegerVariable variable) const
bool SolutionIsInteger () const
bool AtOptimal () const
double ObjectiveLpLowerBound () const
bool Propagate () override
bool IncrementalPropagate (const std::vector< int > &watch_indices) override
void RegisterWith (Model *model)
void SetLevel (int level) override
int NumVariables () const
const std::vector< IntegerVariable > & integer_variables () const
std::string DimensionString () const
std::function< IntegerLiteral()> HeuristicLpReducedCostAverageBranching ()
double average_degeneracy () const
int64_t total_num_simplex_iterations () const
int64_t total_num_cut_propagations () const
int64_t total_num_eq_propagations () const
int64_t num_solves () const
int64_t num_adjusts () const
int64_t num_cut_overflows () const
int64_t num_bad_cuts () const
int64_t num_scaling_issues () const
int64_t num_lp_changes () const
const std::vector< int64_t > & num_solves_by_status () const
const LinearConstraintManagerconstraint_manager () const
IntegerSumLE128LatestOptimalConstraintOrNull () const
const std::vector< std::unique_ptr< IntegerSumLE128 > > & OptimalConstraints () const
void EnablePropagation (bool enable)
bool PropagationIsEnabled () const
const glop::BasisStateGetBasisState () const
void LoadBasisState (const glop::BasisState &state)
template<bool check_overflow>
bool ComputeNewLinearConstraint (absl::Span< const std::pair< RowIndex, IntegerValue > > integer_multipliers, ScatteredIntegerVector *scattered_vector, IntegerValue *upper_bound) const
Public Member Functions inherited from operations_research::sat::PropagatorInterface
 PropagatorInterface ()=default
virtual ~PropagatorInterface ()=default

Member Typedef Documentation

◆ ConstraintIndex

Constructor & Destructor Documentation

◆ LinearProgrammingConstraint()

operations_research::sat::LinearProgrammingConstraint::LinearProgrammingConstraint ( Model * model,
absl::Span< const IntegerVariable > vars )

Definition at line 281 of file linear_programming_constraint.cc.

◆ ~LinearProgrammingConstraint()

operations_research::sat::LinearProgrammingConstraint::~LinearProgrammingConstraint ( )
override

Definition at line 380 of file linear_programming_constraint.cc.

Member Function Documentation

◆ AddCutGenerator()

void operations_research::sat::LinearProgrammingConstraint::AddCutGenerator ( CutGenerator generator)

Definition at line 846 of file linear_programming_constraint.cc.

◆ AddLinearConstraint()

bool operations_research::sat::LinearProgrammingConstraint::AddLinearConstraint ( LinearConstraint ct)

Definition at line 390 of file linear_programming_constraint.cc.

◆ AtOptimal()

bool operations_research::sat::LinearProgrammingConstraint::AtOptimal ( ) const
inline

Definition at line 187 of file linear_programming_constraint.h.

◆ average_degeneracy()

double operations_research::sat::LinearProgrammingConstraint::average_degeneracy ( ) const
inline

Definition at line 216 of file linear_programming_constraint.h.

◆ ComputeNewLinearConstraint()

template<bool check_overflow>
bool operations_research::sat::LinearProgrammingConstraint::ComputeNewLinearConstraint ( absl::Span< const std::pair< RowIndex, IntegerValue > > integer_multipliers,
ScatteredIntegerVector * scattered_vector,
IntegerValue * upper_bound ) const

Definition at line 2423 of file linear_programming_constraint.cc.

◆ constraint_manager()

const LinearConstraintManager & operations_research::sat::LinearProgrammingConstraint::constraint_manager ( ) const
inline

Definition at line 243 of file linear_programming_constraint.h.

◆ DimensionString()

std::string operations_research::sat::LinearProgrammingConstraint::DimensionString ( ) const

Definition at line 3008 of file linear_programming_constraint.cc.

◆ EnablePropagation()

void operations_research::sat::LinearProgrammingConstraint::EnablePropagation ( bool enable)
inline

Definition at line 260 of file linear_programming_constraint.h.

◆ GetBasisState()

const glop::BasisState & operations_research::sat::LinearProgrammingConstraint::GetBasisState ( ) const
inline

Definition at line 266 of file linear_programming_constraint.h.

◆ GetSolutionValue()

double operations_research::sat::LinearProgrammingConstraint::GetSolutionValue ( IntegerVariable variable) const

Definition at line 921 of file linear_programming_constraint.cc.

◆ HasSolution()

bool operations_research::sat::LinearProgrammingConstraint::HasSolution ( ) const
inline

Definition at line 179 of file linear_programming_constraint.h.

◆ HeuristicLpReducedCostAverageBranching()

std::function< IntegerLiteral()> operations_research::sat::LinearProgrammingConstraint::HeuristicLpReducedCostAverageBranching ( )

Definition at line 2936 of file linear_programming_constraint.cc.

◆ IncrementalPropagate()

bool operations_research::sat::LinearProgrammingConstraint::IncrementalPropagate ( const std::vector< int > & watch_indices)
overridevirtual

◆ integer_variables()

const std::vector< IntegerVariable > & operations_research::sat::LinearProgrammingConstraint::integer_variables ( ) const
inline

Definition at line 202 of file linear_programming_constraint.h.

◆ LatestOptimalConstraintOrNull()

IntegerSumLE128 * operations_research::sat::LinearProgrammingConstraint::LatestOptimalConstraintOrNull ( ) const
inline

Definition at line 248 of file linear_programming_constraint.h.

◆ LoadBasisState()

void operations_research::sat::LinearProgrammingConstraint::LoadBasisState ( const glop::BasisState & state)
inline

Definition at line 267 of file linear_programming_constraint.h.

◆ num_adjusts()

int64_t operations_research::sat::LinearProgrammingConstraint::num_adjusts ( ) const
inline

Definition at line 231 of file linear_programming_constraint.h.

◆ num_bad_cuts()

int64_t operations_research::sat::LinearProgrammingConstraint::num_bad_cuts ( ) const
inline

Definition at line 233 of file linear_programming_constraint.h.

◆ num_cut_overflows()

int64_t operations_research::sat::LinearProgrammingConstraint::num_cut_overflows ( ) const
inline

Definition at line 232 of file linear_programming_constraint.h.

◆ num_lp_changes()

int64_t operations_research::sat::LinearProgrammingConstraint::num_lp_changes ( ) const
inline

Definition at line 237 of file linear_programming_constraint.h.

◆ num_scaling_issues()

int64_t operations_research::sat::LinearProgrammingConstraint::num_scaling_issues ( ) const
inline

Definition at line 234 of file linear_programming_constraint.h.

◆ num_solves()

int64_t operations_research::sat::LinearProgrammingConstraint::num_solves ( ) const
inline

Definition at line 230 of file linear_programming_constraint.h.

◆ num_solves_by_status()

const std::vector< int64_t > & operations_research::sat::LinearProgrammingConstraint::num_solves_by_status ( ) const
inline

Definition at line 239 of file linear_programming_constraint.h.

◆ NumVariables()

int operations_research::sat::LinearProgrammingConstraint::NumVariables ( ) const
inline

Definition at line 199 of file linear_programming_constraint.h.

◆ ObjectiveLpLowerBound()

double operations_research::sat::LinearProgrammingConstraint::ObjectiveLpLowerBound ( ) const
inline

Definition at line 188 of file linear_programming_constraint.h.

◆ ObjectiveVariable()

IntegerVariable operations_research::sat::LinearProgrammingConstraint::ObjectiveVariable ( ) const
inline

Definition at line 169 of file linear_programming_constraint.h.

◆ OptimalConstraints()

const std::vector< std::unique_ptr< IntegerSumLE128 > > & operations_research::sat::LinearProgrammingConstraint::OptimalConstraints ( ) const
inline

Definition at line 253 of file linear_programming_constraint.h.

◆ Propagate()

bool operations_research::sat::LinearProgrammingConstraint::Propagate ( )
overridevirtual

◆ PropagationIsEnabled()

bool operations_research::sat::LinearProgrammingConstraint::PropagationIsEnabled ( ) const
inline

Definition at line 264 of file linear_programming_constraint.h.

◆ RegisterWith()

void operations_research::sat::LinearProgrammingConstraint::RegisterWith ( Model * model)

Definition at line 420 of file linear_programming_constraint.cc.

◆ SetLevel()

void operations_research::sat::LinearProgrammingConstraint::SetLevel ( int level)
overridevirtual

◆ SetMainObjectiveVariable()

void operations_research::sat::LinearProgrammingConstraint::SetMainObjectiveVariable ( IntegerVariable ivar)
inline

Definition at line 159 of file linear_programming_constraint.h.

◆ SetObjectiveCoefficient()

void operations_research::sat::LinearProgrammingConstraint::SetObjectiveCoefficient ( IntegerVariable ivar,
IntegerValue coeff )

Definition at line 481 of file linear_programming_constraint.cc.

◆ SolutionIsInteger()

bool operations_research::sat::LinearProgrammingConstraint::SolutionIsInteger ( ) const
inline

Definition at line 181 of file linear_programming_constraint.h.

◆ total_num_cut_propagations()

int64_t operations_research::sat::LinearProgrammingConstraint::total_num_cut_propagations ( ) const
inline

Definition at line 224 of file linear_programming_constraint.h.

◆ total_num_eq_propagations()

int64_t operations_research::sat::LinearProgrammingConstraint::total_num_eq_propagations ( ) const
inline

Definition at line 227 of file linear_programming_constraint.h.

◆ total_num_simplex_iterations()

int64_t operations_research::sat::LinearProgrammingConstraint::total_num_simplex_iterations ( ) const
inline

Definition at line 221 of file linear_programming_constraint.h.


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