51 for (
int i=0;
i<p.
size();
i++) {
58 for (
int i=0;
i<p.
size();
i++) {
91 for (
int i=0;
i<fix.
size();
i++) {
106 unary(home, flex, fix, ipl);
109 for (
int i=0;
i<flex.
size();
i++)
110 tasks[
i].init(t[
i],flex[i],fix[i]);
124 for (
int i=0;
i<p.
size();
i++) {
129 bool allMandatory =
true;
130 for (
int i=0;
i<m.
size();
i++) {
132 allMandatory =
false;
142 t[
i].init(s[
i],p[i],m[i]);
157 for (
int i=0;
i<fix.
size();
i++) {
168 bool allMandatory =
true;
169 for (
int i=0;
i<m.
size();
i++) {
171 allMandatory =
false;
176 unary(home,t,flex,fix,ipl);
180 for (
int i=0;
i<flex.
size();
i++)
181 tasks[
i].init(flex[
i],fix[i],m[i]);
185 for (
int i=0;
i<flex.
size();
i++)
186 tasks[
i].init(t[
i],flex[i],fix[i],m[i]);
200 for (
int i=0;
i<p.
size();
i++) {
205 for (
int i=0;
i<p.
size();
i++) {
215 unary(home,s,pp,ipl);
219 t[
i].init(s[
i],p[i],e[i]);
233 for (
int i=0;
i<p.
size();
i++) {
237 bool allMandatory =
true;
238 for (
int i=0;
i<m.
size();
i++) {
240 allMandatory =
false;
245 unary(home,s,p,e,ipl);
249 t[
i].init(s[
i],p[i],e[i],m[i]);
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
int size(void) const
Return size of array (number of elements)
bool one(const Gecode::FloatValArgs &a)
Check whether has only one coefficients.
ExecStatus manpost(Home home, TaskArray< ManTask > &t, IntPropLevel ipl)
Post mandatory task propagator according to propagation level.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Domain consistent distinct propagator.
void nonnegative(int n, const char *l)
Check whether n is in range and nonnegative, otherwise throw out of limits with information l...
int p
Number of positive literals for node type.
Argument array for non-primitive types.
Gecode::IntArgs i({1, 2, 3, 4})
Passing integer variables.
Passing integer arguments.
Passing Boolean variables.
bool same(VarArgArray< Var > x, VarArgArray< Var > y)
ExecStatus optpost(Home home, TaskArray< OptTask > &t, IntPropLevel ipl)
Post optional task propagator according to propagation level.
IntPropLevel
Propagation levels for integer propagators.
Naive value distinct propagator.
Integer view for integer variables.
bool assigned(View x, int v)
Whether x is assigned to value v.
Exception: Arguments contain same variable multiply
Domain propagation Options: basic versus advanced propagation.
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
Bounds consistent distinct propagator.
Gecode toplevel namespace
#define GECODE_POST
Check for failure in a constraint post function.
void check(int n, const char *l)
Check whether n is in range, otherwise throw out of limits with information l.
Home class for posting propagators
Exception: Arguments are of different size
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
void unary(Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl)
Post propagators for scheduling tasks on unary resources.