14#ifndef OR_TOOLS_SET_COVER_ASSIGNMENT_H_
15#define OR_TOOLS_SET_COVER_ASSIGNMENT_H_
40 : model_(m), constraint_(nullptr), side_constraints_({}) {
60 void SetValue(SubsetIndex subset,
bool is_selected,
100 std::vector<CapacityInvariant*> side_constraints_;
const SubsetBoolVector & assignment() const
Returns the subset assignment vector.
bool CheckConsistency() const
void LoadAssignment(const SubsetBoolVector &solution)
void ImportSolutionFromProto(const SetCoverSolutionResponse &message)
Cost cost() const
Returns the cost of current solution.
SetCoverAssignment(const SetCoverModel &m)
void Clear()
Clears the current assignment.
void SetValue(SubsetIndex subset, bool is_selected, SetCoverInvariant::ConsistencyLevel set_cover_consistency)
Sets the subset's assignment to the given bool.
SetCoverSolutionResponse ExportSolutionAsProto() const
Returns the current solution as a proto.
void AttachInvariant(SetCoverInvariant *i)
Main class for describing a weighted set-covering problem.
In SWIG mode, we don't want anything besides these top-level includes.
Select next search node to expand Select next item_i to add this new search node to the search Generate a new search node where item_i is not in the knapsack Check validity of this new partial solution(using propagators) - If valid
util_intops::StrongVector< SubsetIndex, bool > SubsetBoolVector
double Cost
Basic non-strict type for cost. The speed penalty for using double is ~2%.