Class SweepCumulFilter
- java.lang.Object
-
- org.chocosolver.solver.constraints.nary.cumulative.CumulFilter
-
- org.chocosolver.solver.constraints.nary.cumulative.SweepCumulFilter
-
- Direct Known Subclasses:
HeightCumulFilter
,SweepHeiSortCumulFilter
public class SweepCumulFilter extends CumulFilter
Basic implementation of Sweep-based Time-Table for cumulative- Since:
- 16/10/13
- Author:
- Thierry Petit, Jean-Guillaume Fages
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SweepCumulFilter.Event
-
Field Summary
Fields Modifier and Type Field Description protected int[]
dlb
protected static int
ECP
protected int[]
elb
protected int[]
eub
protected Comparator<SweepCumulFilter.Event>
eventComparator
protected SweepCumulFilter.Event[]
events
protected boolean
FIXPOINT
protected int[]
hlb
protected int[]
map
protected int
nbEvents
protected static int
PRU
protected static int
SCP
protected int[]
slb
protected ArraySort<SweepCumulFilter.Event>
sort
protected int[]
sub
protected ISet
tasksToUSe
protected gnu.trove.list.array.TIntArrayList
temp
protected gnu.trove.list.array.TIntArrayList
tprune
-
Fields inherited from class org.chocosolver.solver.constraints.nary.cumulative.CumulFilter
nbMaxTasks
-
-
Constructor Summary
Constructors Constructor Description SweepCumulFilter(int n)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
filter(IntVar[] s, IntVar[] d, IntVar[] e, IntVar[] h, IntVar capa, ISet tasks, Propagator<IntVar> aCause)
Filters the cumulative constraint over the subset of tasks induced by tasksprotected void
generateMinEvents(int nbT)
protected void
pruneMax(IntVar[] e, Propagator<IntVar> aCause)
protected void
pruneMin(IntVar[] s, Propagator<IntVar> aCause)
protected void
removeNullDurations(IntVar[] d, ISet tasks)
protected boolean
sweep(IntVar capamax, IntVar[] h, int nbT, Propagator<IntVar> aCause)
-
-
-
Field Detail
-
slb
protected final int[] slb
-
sub
protected final int[] sub
-
elb
protected final int[] elb
-
eub
protected final int[] eub
-
dlb
protected final int[] dlb
-
hlb
protected final int[] hlb
-
PRU
protected static final int PRU
- See Also:
- Constant Field Values
-
SCP
protected static final int SCP
- See Also:
- Constant Field Values
-
ECP
protected static final int ECP
- See Also:
- Constant Field Values
-
events
protected final SweepCumulFilter.Event[] events
-
nbEvents
protected int nbEvents
-
map
protected final int[] map
-
tasksToUSe
protected final ISet tasksToUSe
-
FIXPOINT
protected boolean FIXPOINT
-
temp
protected gnu.trove.list.array.TIntArrayList temp
-
tprune
protected gnu.trove.list.array.TIntArrayList tprune
-
sort
protected ArraySort<SweepCumulFilter.Event> sort
-
eventComparator
protected Comparator<SweepCumulFilter.Event> eventComparator
-
-
Method Detail
-
filter
public void filter(IntVar[] s, IntVar[] d, IntVar[] e, IntVar[] h, IntVar capa, ISet tasks, Propagator<IntVar> aCause) throws ContradictionException
Description copied from class:CumulFilter
Filters the cumulative constraint over the subset of tasks induced by tasks- Specified by:
filter
in classCumulFilter
- Parameters:
s
- start variablesd
- duration variablese
- end variablesh
- height variablescapa
- maximum capacity variabletasks
- subset of tasks to filteraCause
- a cumulative propagator- Throws:
ContradictionException
-
pruneMin
protected void pruneMin(IntVar[] s, Propagator<IntVar> aCause) throws ContradictionException
- Throws:
ContradictionException
-
pruneMax
protected void pruneMax(IntVar[] e, Propagator<IntVar> aCause) throws ContradictionException
- Throws:
ContradictionException
-
sweep
protected boolean sweep(IntVar capamax, IntVar[] h, int nbT, Propagator<IntVar> aCause) throws ContradictionException
- Throws:
ContradictionException
-
generateMinEvents
protected void generateMinEvents(int nbT)
-
-