Module org.maxicp
Class GeneralizedCumulativeConstraint
java.lang.Object
org.maxicp.cp.engine.core.AbstractCPConstraint
org.maxicp.cp.engine.constraints.scheduling.GeneralizedCumulativeConstraint
- All Implemented Interfaces:
CPConstraint,ConcreteConstraint<ConcreteCPModel>
Generalized Cumulative Constraint using Timetabling
TODO Refer paper once published
- Author:
- Roger Kameugne, Charles Thomas, Pierre Schaus
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassRepresents a task event.static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final int[]protected final StateSparseSetfinal int[]final int[]protected booleanprotected booleanprotected booleanprotected booleanprotected final int[]protected final GeneralizedCumulativeConstraint.Event[]protected booleanprotected final boolean[]protected intprotected booleanprotected final longprotected final StateIntprotected final longprotected final StateIntprotected final int[]protected final int[]protected final int[]protected booleanprotected final int[]protected final int[] -
Constructor Summary
ConstructorsConstructorDescriptionGeneralizedCumulativeConstraint(Activity[] activities, int maxCapacity) Creates an new Generalized Cumulative Constraint with only a maximum capacityGeneralizedCumulativeConstraint(Activity[] activities, int minCapacity, int maxCapacity) Creates an new Generalized Cumulative Constraint -
Method Summary
Modifier and TypeMethodDescriptionprotected voidadjustHeightOnFixedPart(int actIdx, int tp) protected voidcheckIfMandatory(int actIdx, int tp) intgetEnd(int idx) voidinitializeTimeline(int n) booleanisIncludedInProfileAt(int tsk, int time) intnMax()voidpost()Initializes the constraint when it is posted to the solver.intpriority()voidPropagates the constraint.voidresetTP(int idx, int time, int profileMin, int profileMax, int nOverlap) protected voidtimeTabling(int n) Methods inherited from class org.maxicp.cp.engine.core.AbstractCPConstraint
getSolver, isActive, isScheduled, registerDelta, setActive, setScheduled, updateDeltas
-
Field Details
-
maxCapacity
protected final long maxCapacity -
minCapacity
protected final long minCapacity -
activeSet
-
active
protected final int[] active -
minStart
-
maxEnd
-
events
-
actToStartMinTp
public final int[] actToStartMinTp -
actToEndMaxTp
public final int[] actToEndMaxTp -
time
protected final int[] time -
profileMin
protected final int[] profileMin -
profileMax
protected final int[] profileMax -
nOverlap
protected final int[] nOverlap -
lastTP
protected int lastTP -
isPresentInProfile
protected final boolean[] isPresentInProfile -
startMaxInProfile
protected final int[] startMaxInProfile -
endMinInProfile
protected final int[] endMinInProfile -
allHeightFixed
protected boolean allHeightFixed -
allLengthFixed
protected boolean allLengthFixed -
allPositive
protected boolean allPositive -
allNegative
protected boolean allNegative -
hasMinCapa
protected boolean hasMinCapa -
mandatoryActive
protected boolean mandatoryActive -
simpleCumulative
protected boolean simpleCumulative
-
-
Constructor Details
-
GeneralizedCumulativeConstraint
Creates an new Generalized Cumulative Constraint- Parameters:
activities- array of activitiesminCapacity- minimum capacitymaxCapacity- maximum capacity
-
GeneralizedCumulativeConstraint
Creates an new Generalized Cumulative Constraint with only a maximum capacity- Parameters:
activities- array of activitiesmaxCapacity- maximum capacity
-
-
Method Details
-
nMax
public int nMax() -
post
public void post()Description copied from interface:CPConstraintInitializes the constraint when it is posted to the solver.- Specified by:
postin interfaceCPConstraint- Overrides:
postin classAbstractCPConstraint
-
priority
public int priority()- Specified by:
priorityin interfaceCPConstraint- Overrides:
priorityin classAbstractCPConstraint
-
propagate
public void propagate()Description copied from interface:CPConstraintPropagates the constraint.- Specified by:
propagatein interfaceCPConstraint- Overrides:
propagatein classAbstractCPConstraint
-
initializeTimeline
public void initializeTimeline(int n) -
timeTabling
protected void timeTabling(int n) -
checkIfMandatory
protected void checkIfMandatory(int actIdx, int tp) -
adjustHeightOnFixedPart
protected void adjustHeightOnFixedPart(int actIdx, int tp) -
getEnd
public int getEnd(int idx) -
resetTP
public void resetTP(int idx, int time, int profileMin, int profileMax, int nOverlap) -
isIncludedInProfileAt
public boolean isIncludedInProfileAt(int tsk, int time)
-