Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::LinearConstraintManager::ConstraintInfo Struct Reference

#include <linear_constraint_manager.h>

Public Attributes

LinearConstraint constraint
 
double l2_norm = 0.0
 
double objective_parallelism = 0.0
 
size_t hash
 
double active_count = 0.0
 
uint16_t inactive_count = 0
 
bool objective_parallelism_computed = false
 
bool is_in_lp = false
 
bool ub_is_trivial = false
 
bool lb_is_trivial = false
 
bool is_deletable = false
 

Detailed Description

Definition at line 62 of file linear_constraint_manager.h.

Member Data Documentation

◆ active_count

double operations_research::sat::LinearConstraintManager::ConstraintInfo::active_count = 0.0

Updated only for deletable constraints. This is incremented every time ChangeLp() is called and the constraint is active in the LP or not in the LP and violated.

Definition at line 75 of file linear_constraint_manager.h.

◆ constraint

LinearConstraint operations_research::sat::LinearConstraintManager::ConstraintInfo::constraint
Note
this constraint always contains "tight" lb/ub, some of these bound might be trivial level zero bounds, and one can know this by looking at lb_is_trivial/ub_is_trivial.

Definition at line 66 of file linear_constraint_manager.h.

◆ hash

size_t operations_research::sat::LinearConstraintManager::ConstraintInfo::hash

Definition at line 70 of file linear_constraint_manager.h.

◆ inactive_count

uint16_t operations_research::sat::LinearConstraintManager::ConstraintInfo::inactive_count = 0
Todo
(user): This is the number of time the constraint was consecutively inactive, and go up to 100 with the default param, so we could optimize the space used more.

Definition at line 80 of file linear_constraint_manager.h.

◆ is_deletable

bool operations_research::sat::LinearConstraintManager::ConstraintInfo::is_deletable = false

For now, we mark all the generated cuts as deletable and the problem constraints as undeletable.

Todo
(user): We can have a better heuristics. Some generated good cuts can be marked undeletable and some unused problem specified constraints can be marked deletable.

Definition at line 93 of file linear_constraint_manager.h.

◆ is_in_lp

bool operations_research::sat::LinearConstraintManager::ConstraintInfo::is_in_lp = false

Definition at line 84 of file linear_constraint_manager.h.

◆ l2_norm

double operations_research::sat::LinearConstraintManager::ConstraintInfo::l2_norm = 0.0

Definition at line 68 of file linear_constraint_manager.h.

◆ lb_is_trivial

bool operations_research::sat::LinearConstraintManager::ConstraintInfo::lb_is_trivial = false

Definition at line 86 of file linear_constraint_manager.h.

◆ objective_parallelism

double operations_research::sat::LinearConstraintManager::ConstraintInfo::objective_parallelism = 0.0

Definition at line 69 of file linear_constraint_manager.h.

◆ objective_parallelism_computed

bool operations_research::sat::LinearConstraintManager::ConstraintInfo::objective_parallelism_computed = false
Todo
(user): Pack bool and in general optimize the memory of this class.

Definition at line 83 of file linear_constraint_manager.h.

◆ ub_is_trivial

bool operations_research::sat::LinearConstraintManager::ConstraintInfo::ub_is_trivial = false

Definition at line 85 of file linear_constraint_manager.h.


The documentation for this struct was generated from the following file: