.
|
Public Member Functions |
| Pack (Solver *const s, const IntVar *const *vars, int vsize, int64 number_of_bins) |
| Pack.
|
virtual | ~Pack () |
void | AddWeightedSumLessOrEqualConstantDimension (const std::vector< int64 > &weights, const std::vector< int64 > &bounds) |
| Public API.
|
void | AddWeightedSumEqualVarDimension (const std::vector< int64 > &weights, const std::vector< IntVar * > &loads) |
| This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned to 'b' is equal to loads[b].
|
void | AddSumVariableWeightsLessOrEqualConstantDimension (const std::vector< IntVar * > &weights, const std::vector< int64 > &capacities) |
| This dimension imposes: forall b in bins, sum (i in items: weight[i] * is_assigned(i, b)) <= capacities[b] where is_assigned(i, b) is true if and only if item i is assigned to the bin b.
|
void | AddWeightedSumOfAssignedDimension (const std::vector< int64 > &weights, IntVar *const cost_var) |
| This dimension enforces that cost_var == sum of weights[i] for all objects 'i' assigned to a bin.
|
void | AddCountUsedBinDimension (IntVar *const count_var) |
| This dimension links 'count_var' to the actual number of bins used in the pack.
|
void | AddCountAssignedItemsDimension (IntVar *const count_var) |
| This dimension links 'count_var' to the actual number of items assigned to a bin in the pack.
|
virtual void | Post () |
| Internal API.
|
void | ClearAll () |
void | PropagateDelayed () |
virtual void | InitialPropagate () |
| namespace
|
void | Propagate () |
void | OneDomain (int var_index) |
virtual string | DebugString () const |
| Constraint class.
|
bool | IsUndecided (int64 var_index, int64 bin_index) const |
void | SetImpossible (int64 var_index, int64 bin_index) |
void | Assign (int64 var_index, int64 bin_index) |
bool | IsAssignedStatusKnown (int64 var_index) const |
bool | IsPossible (int64 var_index, int64 bin_index) const |
IntVar * | AssignVar (int64 var_index, int64 bin_index) const |
void | SetAssigned (int64 var_index) |
void | SetUnassigned (int64 var_index) |
void | RemoveAllPossibleFromBin (int64 bin_index) |
void | AssignAllPossibleToBin (int64 bin_index) |
void | AssignFirstPossibleToBin (int64 bin_index) |
void | AssignAllRemainingItems () |
void | UnassignAllRemainingItems () |
virtual void | Accept (ModelVisitor *const visitor) const |
| Accepts the given visitor.
|
.
void operations_research::Pack::AddSumVariableWeightsLessOrEqualConstantDimension |
( |
const std::vector< IntVar * > & |
weights, |
|
|
const std::vector< int64 > & |
capacities | |
|
) |
| | |
This dimension imposes: forall b in bins, sum (i in items: weight[i] * is_assigned(i, b)) <= capacities[b] where is_assigned(i, b) is true if and only if item i is assigned to the bin b.
This can be used to model shapes of items by linking variables of the same item on parallel dimensions with an allowed assignment constraint.
Definition at line 1315 of file pack.cc.