Go to the documentation of this file.
38 namespace Test {
namespace Int {
43 namespace Test {
namespace Int {
namespace Unary {
50 class ManFixPUnary :
public Test {
65 :
Test(
"Unary::Man::Fix::"+
str(o)+
"::"+
str(p0)+
"::"+
str(ipl0),
66 p0.
size(),o,o+
st(p0),false,ipl0),
77 for (
int i=0;
i<
x.size();
i++)
78 for (
int j=
i+1; j<
x.size(); j++)
79 if ((
x[
i]+
p[
i] >
x[j]) && (
x[j]+
p[j] >
x[
i]))
106 :
Test(
"Unary::Opt::Fix::"+
str(o)+
"::"+
str(p0)+
"::"+
str(ipl0),
107 2*p0.
size(),o,o+
st(p0),false,ipl0),
p(p0),
l(o+
st(
p)/2) {
117 int n =
x.size() / 2;
118 for (
int i=0;
i<
n;
i++)
120 for (
int j=
i+1; j<
n; j++)
122 if ((
x[
i]+
p[
i] >
x[j]) && (
x[j]+
p[j] >
x[
i]))
131 for (
int i=0;
i<
n;
i++) {
151 :
Test(
"Unary::Man::Flex::"+
str(o)+
"::"+
str(
n)+
"::"
152 +
str(minP)+
"::"+
str(maxP)+
"::"+
str(ipl0),
166 for (
int i=0;
i<
n;
i++)
167 for (
int j=
i+1; j<
n; j++)
179 for (
int i=s.
size();
i--;) {
181 rel(home, s[
i]+px[
i] == e[
i]);
203 for (
int i=
p.size();
i--; )
210 :
Test(
"Unary::Opt::Flex::"+
str(o)+
"::"+
str(
n)+
"::"
211 +
str(minP)+
"::"+
str(maxP)+
"::"+
str(ipl0),
225 int n =
x.size() / 3;
226 for (
int i=0;
i<
n;
i++)
228 for (
int j=
i+1; j<
n; j++)
230 if ((
x[
i]+
x[2*
n+
i] >
x[j]) && (
x[j]+
x[2*
n+j] >
x[
i]))
243 for (
int i=
n;
i--;) {
246 rel(home, s[
i]+px[
i] == e[
i]);
251 for (
int i=0;
i<
n;
i++)
268 IntArgs p30({4,0,2,9,3,7,5,0});
bool testsearch
Whether to perform search test.
ConTestLevel contest
Whether to test for certain consistency.
int off
Offset for start times.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Gecode::IntPropLevel ipl
Propagation level.
Generate random selection of assignments.
Help class to create and register tests.
Passing integer variables.
unsigned int size(I &i)
Size of all ranges of range iterator i.
Gecode::IntArgs p
The processing times.
virtual Assignment * assignment(void) const
Create and register initial assignment.
IntPropLevel
Propagation levels for integer propagators.
Test for unary constraint with optional tasks
virtual Assignment * assignment(void) const
Create and register initial assignment.
int off
Offset for start times.
int _minP
Minimum processing time.
Gecode toplevel namespace
int _maxP
Maximum processing time.
bool testfix
Whether to perform fixpoint test.
virtual Assignment * assignment(void) const
Create and register initial assignment.
Node * x
Pointer to corresponding Boolean expression node.
OptFixPUnary(const Gecode::IntArgs &p0, int o, Gecode::IntPropLevel ipl0)
Create and register test.
Test for unary constraint
BoolVar expr(Home home, const BoolExpr &e, const IntPropLevels &ipls)
Post Boolean expression and return its value.
Passing Boolean variables.
int l
Threshold for taking a task as optional.
Gecode::IntArgs p
The processing times.
OptFlexUnary(int n, int minP, int maxP, int o, Gecode::IntPropLevel ipl0)
Create and register test.
Test for unary constraint with optional tasks
virtual Assignment * assignment(void) const
Create and register initial assignment.
ManFlexUnary(int n, int minP, int maxP, int o, Gecode::IntPropLevel ipl0)
Create and register test.
const int max
Largest allowed integer value.
Create(void)
Perform creation and registration.
virtual bool solution(const Assignment &x) const
Test whether x is solution
int arity
Number of variables.
Base class for assignments
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVal n)
Propagates .
ManFixPUnary(const Gecode::IntArgs &p0, int o, Gecode::IntPropLevel ipl0)
Create and register test.
Test for unary constraint
virtual bool solution(const Assignment &x) const
Test whether x is solution
int size(void) const
Return size of array (number of elements)
virtual bool solution(const Assignment &x) const
Test whether x is solution
static int st(const Gecode::IntArgs &p)
Get a reasonable maximal start time.
const int min
Smallest allowed integer value.
Generate random selection of assignments.
int l
Threshold for taking a task as optional.
static int st(const Gecode::IntArgs &p)
Get a reasonable maximal start time.
static int st(const Gecode::IntArgs &p)
Get a reasonable maximal start time.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
int _maxP
Maximum processing time.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
int n
Number of negative literals for node type.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Passing integer arguments.
Gecode::IntArgs i({1, 2, 3, 4})
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
void unary(Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl)
Post propagators for scheduling tasks on unary resources.
int p
Number of positive literals for node type.
int _minP
Minimum processing time.
Gecode::IntSet dom
Domain of variables.
Iterator for basic and advanced integer propagation levels.
static std::string str(Gecode::IntPropLevel ipl)
Map integer propagation level to string.