38 template<
class OptTask,
class PL>
43 template<
class OptTask,
class PL>
48 template<
class OptTask,
class PL>
52 for (
int i=0; i<
t.size(); i++) {
55 else if (
t[i].optional())
60 for (
int i=0; i<m; i++)
69 template<
class OptTask,
class PL>
75 template<
class OptTask,
class PL>
95 while ((i < n) &&
t[i].mandatory()) i++;
96 while ((j >= 0) && !
t[j].mandatory()) j--;
void init(void)
Initialize links (self-linked)
Base-class for both propagators and branchers.
Home class for posting propagators
TaskProp(Home home, TaskArray< OptTask > &t)
Scheduling propagator for unary resource with mandatory tasks
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, TaskArray< OptTask > &t)
Post propagator that schedules tasks on unary resource.
OptProp(Home home, TaskArray< OptTask > &t)
Constructor for creation.
virtual Actor * copy(Space &home)
Perform copying during cloning.
ModEventDelta med
A set of modification events (used during propagation)
static ModEvent me(const ModEventDelta &med)
int ModEventDelta
Modification event deltas.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
ExecStatus timetabling(Space &home, Propagator &p, TaskArray< Task > &t)
Perform time-tabling propagation.
ExecStatus overload(TaskArray< ManTask > &t)
Check mandatory tasks t for overload.
ExecStatus subsumed(Space &home, Propagator &p, TaskArray< Task > &t)
Check tasks t for subsumption.
ExecStatus detectable(Space &home, TaskArray< ManTask > &t)
Propagate detectable precedences.
ExecStatus notfirstnotlast(Space &home, TaskArray< ManTask > &t)
Propagate not-first and not-last.
ExecStatus edgefinding(Space &home, TaskArray< Task > &t)
Propagate by edge-finding.
ExecStatus purge(Space &home, Propagator &p, TaskArray< OptTask > &t)
Purge optional tasks that are excluded and possibly rewrite propagator.
const Gecode::ModEvent ME_BOOL_VAL
Domain operation has resulted in a value (assigned variable)
Gecode toplevel namespace
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
@ ES_OK
Execution is okay.
@ ES_NOFIX
Propagation has not computed fixpoint.