14 #ifndef OR_TOOLS_SAT_PSEUDO_COSTS_H_
15 #define OR_TOOLS_SAT_PSEUDO_COSTS_H_
38 void UpdateCost(
const std::vector<VariableBoundChange>& bound_changes,
39 IntegerValue obj_bound_improvement);
46 CHECK_LT(
var, pseudo_costs_.size());
47 return pseudo_costs_[
var].CurrentAverage();
53 CHECK_LT(
var, pseudo_costs_.size());
54 return pseudo_costs_[
var].NumRecords();
60 void InitializeCosts(
double initial_value);
63 void UpdateCostForVar(IntegerVariable
var,
double new_cost);
68 const SatParameters& parameters_;
70 bool pseudo_costs_initialized_ =
false;
78 LiteralIndex decision, Model*
model);
83 #endif // OR_TOOLS_SAT_PSEUDO_COSTS_H_