public class Pack extends Constraint
swigCMemOwn
Constructor and Description |
---|
Pack(long cPtr,
boolean cMemoryOwn) |
Pack(Solver s,
IntVar[] vars,
int number_of_bins) |
Modifier and Type | Method and Description |
---|---|
void |
accept(ModelVisitor visitor)
Accepts the given visitor.
|
void |
addCountAssignedItemsDimension(IntVar count_var)
This dimension links 'count_var' to the actual number of items
assigned to a bin in the pack. |
void |
addCountUsedBinDimension(IntVar count_var)
This dimension links 'count_var' to the actual number of bins used in the
pack. |
void |
addSumVariableWeightsLessOrEqualConstantDimension(IntVar[] usage,
long[] capacity)
This dimension imposes:
forall b in bins, sum (i in items: usage[i] * is_assigned(i, b)) <= capacity[b] where is_assigned(i, b) is true if and only if item i is assigned to the bin b. |
void |
addWeightedSumEqualVarDimension(long[] weights,
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 |
addWeightedSumEqualVarDimension(java.util.function.LongBinaryOperator weights,
IntVar[] loads)
This dimension imposes that for all bins b, the weighted sum
(weights->Run(i, b)) of all objects i assigned to 'b' is equal to loads[b]. |
void |
addWeightedSumLessOrEqualConstantDimension(long[] weights,
long[] bounds)
Dimensions are additional constraints than can restrict what is
possible with the pack constraint. |
void |
addWeightedSumLessOrEqualConstantDimension(java.util.function.LongBinaryOperator weights,
long[] bounds)
This dimension imposes that for all bins b, the weighted sum
(weights->Run(i, b) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. |
void |
addWeightedSumLessOrEqualConstantDimension(java.util.function.LongUnaryOperator weights,
long[] bounds)
This dimension imposes that for all bins b, the weighted sum
(weights->Run(i)) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. |
void |
addWeightedSumOfAssignedDimension(long[] weights,
IntVar cost_var)
This dimension enforces that cost_var == sum of weights[i] for
all objects 'i' assigned to a bin. |
void |
assign(int var_index,
int bin_index) |
void |
assignAllPossibleToBin(int bin_index) |
void |
assignAllRemainingItems() |
void |
assignFirstPossibleToBin(int bin_index) |
IntVar |
assignVar(int var_index,
int bin_index) |
void |
clearAll() |
void |
delete() |
protected void |
finalize() |
static long |
getCPtr(Pack obj) |
void |
initialPropagate()
This method performs the initial propagation of the
constraint. |
boolean |
isAssignedStatusKnown(int var_index) |
boolean |
isPossible(int var_index,
int bin_index) |
boolean |
isUndecided(int var_index,
int bin_index) |
void |
oneDomain(int var_index) |
void |
post()
This method is called when the constraint is processed by the
solver. |
void |
propagate() |
void |
propagateDelayed() |
void |
removeAllPossibleFromBin(int bin_index) |
void |
setAssigned(int var_index) |
void |
setImpossible(int var_index,
int bin_index) |
void |
setUnassigned(int var_index) |
static long |
swigRelease(Pack obj) |
java.lang.String |
toString() |
void |
unassignAllRemainingItems() |
getCPtr, isCastConstraint, postAndPropagate, swigRelease, var
baseName, enqueueDelayedDemon, enqueueVar, freezeQueue, getCPtr, hasName, name, reset_action_on_fail, set_variable_to_clean_on_fail, setName, solver, swigRelease, unfreezeQueue
getCPtr, swigRelease
public static long getCPtr(Pack obj)
public static long swigRelease(Pack obj)
protected void finalize()
finalize
in class Constraint
public void delete()
delete
in class Constraint
public void addWeightedSumLessOrEqualConstantDimension(long[] weights, long[] bounds)
public void addWeightedSumLessOrEqualConstantDimension(java.util.function.LongUnaryOperator weights, long[] bounds)
public void addWeightedSumLessOrEqualConstantDimension(java.util.function.LongBinaryOperator weights, long[] bounds)
public void addWeightedSumEqualVarDimension(long[] weights, IntVar[] loads)
public void addWeightedSumEqualVarDimension(java.util.function.LongBinaryOperator weights, IntVar[] loads)
public void addSumVariableWeightsLessOrEqualConstantDimension(IntVar[] usage, long[] capacity)
public void addWeightedSumOfAssignedDimension(long[] weights, IntVar cost_var)
public void addCountUsedBinDimension(IntVar count_var)
public void addCountAssignedItemsDimension(IntVar count_var)
public void post()
Constraint
post
in class Constraint
public void clearAll()
public void propagateDelayed()
public void initialPropagate()
Constraint
initialPropagate
in class Constraint
public void propagate()
public void oneDomain(int var_index)
public java.lang.String toString()
toString
in class Constraint
public boolean isUndecided(int var_index, int bin_index)
public void setImpossible(int var_index, int bin_index)
public void assign(int var_index, int bin_index)
public boolean isAssignedStatusKnown(int var_index)
public boolean isPossible(int var_index, int bin_index)
public IntVar assignVar(int var_index, int bin_index)
public void setAssigned(int var_index)
public void setUnassigned(int var_index)
public void removeAllPossibleFromBin(int bin_index)
public void assignAllPossibleToBin(int bin_index)
public void assignFirstPossibleToBin(int bin_index)
public void assignAllRemainingItems()
public void unassignAllRemainingItems()
public void accept(ModelVisitor visitor)
Constraint
accept
in class Constraint
Copyright © 2025. All rights reserved.