Base-class for convex function boolean propagators. More...
Public Member Functions | |
| virtual PropCost | cost (const Space &home, const ModEventDelta &med) const |
| Cost function (defined as low linear). | |
| virtual size_t | dispose (Space &home) |
| Delete propagator and return its size. | |
| virtual Actor * | copy (Space &home, bool share) |
| Create copy during cloning. | |
| virtual ExecStatus | propagate (Space &home, const ModEventDelta &med) |
| Perform propagation. | |
| void | eliminate (ViewArray< VA > &v, int &l, int &u) |
| Eliminate assigned vars and update bounds. | |
Static Public Member Functions | |
| static ExecStatus | post (Space &home, int X, ViewArray< VA > &x, int l_x, int Y, ViewArray< VA > &y, int l_y, VC c, int precision) |
| Post propagator but. | |
Protected Member Functions | |
| FconvexBoolGq (Space &home, int X, ViewArray< VA > &x, int l_x, int Y, ViewArray< VA > &y, int l_y, VC c, int precision) | |
| Constructor for creation. | |
| FconvexBoolGq (Space &home, bool share, FconvexBoolGq &p) | |
| Constructor for cloning p. | |
Protected Attributes | |
| int | X |
| total class 1 | |
| ViewArray< VA > | x |
| Boolean views class 1. | |
| int | l_x |
| lower bound class 1 (part from class1 views assigned to 1) | |
| int | Y |
| total class 2 | |
| ViewArray< VA > | y |
| Boolean views class y. | |
| int | l_y |
| lower bound class 2 (part from class2 views assigned to 1) | |
| VC | c |
| Righthandside, the treshold. | |
| int | precision |
| Precision of treshold-integer conversion (eg. 1000). | |
Base-class for convex function boolean propagators.
This class NEEDS a global function: convex_function(int pos_total, int pos, int neg_total, int neg, int precision)
Definition at line 50 of file constraint_Fconvex.cpp.
| FconvexBool::FconvexBoolGq< VA, VC >::FconvexBoolGq | ( | Space & | home, | |
| int | X, | |||
| ViewArray< VA > & | x, | |||
| int | l_x, | |||
| int | Y, | |||
| ViewArray< VA > & | y, | |||
| int | l_y, | |||
| VC | c, | |||
| int | precision | |||
| ) | [inline, protected] |
Constructor for creation.
Definition at line 93 of file constraint_Fconvex.cpp.
References FconvexBool::FconvexBoolGq< VA, VC >::c, FconvexBool::FconvexBoolGq< VA, VC >::x, and FconvexBool::FconvexBoolGq< VA, VC >::y.
| forceinline FconvexBool::FconvexBoolGq< VA, VC >::FconvexBoolGq | ( | Space & | home, | |
| bool | share, | |||
| FconvexBoolGq< VA, VC > & | p | |||
| ) | [inline, protected] |
Constructor for cloning p.
Definition at line 114 of file constraint_Fconvex.cpp.
References FconvexBool::FconvexBoolGq< VA, VC >::c, FconvexBool::FconvexBoolGq< VA, VC >::x, and FconvexBool::FconvexBoolGq< VA, VC >::y.
| Actor * FconvexBool::FconvexBoolGq< VA, VC >::copy | ( | Space & | home, | |
| bool | share | |||
| ) | [inline, virtual] |
Create copy during cloning.
Reimplemented in FconvexBool::FconvexBoolLq< VA, VC >, FconvexBool::ReifiedFconvexBoolGq< VA, VC >, and FconvexBool::ImplyFconvexBoolGq< VA, VC >.
Definition at line 139 of file constraint_Fconvex.cpp.
| PropCost FconvexBool::FconvexBoolGq< VA, VC >::cost | ( | const Space & | home, | |
| const ModEventDelta & | med | |||
| ) | const [inline, virtual] |
Cost function (defined as low linear).
Definition at line 124 of file constraint_Fconvex.cpp.
References FconvexBool::FconvexBoolGq< VA, VC >::x.
| forceinline size_t FconvexBool::FconvexBoolGq< VA, VC >::dispose | ( | Space & | home | ) | [inline, virtual] |
Delete propagator and return its size.
Reimplemented in FconvexBool::ReifiedFconvexBoolGq< VA, VC >, and FconvexBool::ImplyFconvexBoolGq< VA, VC >.
Definition at line 103 of file constraint_Fconvex.cpp.
References FconvexBool::FconvexBoolGq< VA, VC >::c, FconvexBool::FconvexBoolGq< VA, VC >::x, and FconvexBool::FconvexBoolGq< VA, VC >::y.
| void FconvexBool::FconvexBoolGq< VA, VC >::eliminate | ( | ViewArray< VA > & | v, | |
| int & | l, | |||
| int & | u | |||
| ) | [inline] |
Eliminate assigned vars and update bounds.
Definition at line 169 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
| ExecStatus FconvexBool::FconvexBoolGq< VA, VC >::post | ( | Space & | home, | |
| int | X, | |||
| ViewArray< VA > & | x, | |||
| int | l_x, | |||
| int | Y, | |||
| ViewArray< VA > & | y, | |||
| int | l_y, | |||
| VC | c, | |||
| int | precision | |||
| ) | [inline, static] |
Post propagator but.
Reimplemented in FconvexBool::FconvexBoolLq< VA, VC >.
Definition at line 130 of file constraint_Fconvex.cpp.
| ExecStatus FconvexBool::FconvexBoolGq< VA, VC >::propagate | ( | Space & | home, | |
| const ModEventDelta & | med | |||
| ) | [inline, virtual] |
Perform propagation.
Reimplemented in FconvexBool::FconvexBoolLq< VA, VC >, FconvexBool::ReifiedFconvexBoolGq< VA, VC >, and FconvexBool::ImplyFconvexBoolGq< VA, VC >.
Definition at line 145 of file constraint_Fconvex.cpp.
References FconvexBool::FconvexBoolGq< VA, VC >::c, convex_function(), FconvexBool::FconvexBoolGq< VA, VC >::eliminate(), FconvexBool::FconvexBoolGq< VA, VC >::l_x, FconvexBool::FconvexBoolGq< VA, VC >::l_y, FconvexBool::FconvexBoolGq< VA, VC >::precision, FconvexBool::FconvexBoolGq< VA, VC >::X, FconvexBool::FconvexBoolGq< VA, VC >::x, FconvexBool::FconvexBoolGq< VA, VC >::Y, and FconvexBool::FconvexBoolGq< VA, VC >::y.
VC FconvexBool::FconvexBoolGq< VA, VC >::c [protected] |
Righthandside, the treshold.
Definition at line 65 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::FconvexBoolGq< VA, VC >::dispose(), FconvexBool::FconvexBoolGq< VA, VC >::FconvexBoolGq(), FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
int FconvexBool::FconvexBoolGq< VA, VC >::l_x [protected] |
lower bound class 1 (part from class1 views assigned to 1)
Definition at line 57 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
int FconvexBool::FconvexBoolGq< VA, VC >::l_y [protected] |
lower bound class 2 (part from class2 views assigned to 1)
Definition at line 63 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
int FconvexBool::FconvexBoolGq< VA, VC >::precision [protected] |
Precision of treshold-integer conversion (eg. 1000).
Definition at line 67 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
ViewArray<VA> FconvexBool::FconvexBoolGq< VA, VC >::x [protected] |
Boolean views class 1.
Definition at line 55 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::FconvexBoolGq< VA, VC >::cost(), FconvexBool::FconvexBoolGq< VA, VC >::dispose(), FconvexBool::FconvexBoolGq< VA, VC >::FconvexBoolGq(), FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
int FconvexBool::FconvexBoolGq< VA, VC >::X [protected] |
total class 1
Definition at line 53 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
ViewArray<VA> FconvexBool::FconvexBoolGq< VA, VC >::y [protected] |
Boolean views class y.
Definition at line 61 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::FconvexBoolGq< VA, VC >::dispose(), FconvexBool::FconvexBoolGq< VA, VC >::FconvexBoolGq(), FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
int FconvexBool::FconvexBoolGq< VA, VC >::Y [protected] |
total class 2
Definition at line 59 of file constraint_Fconvex.cpp.
Referenced by FconvexBool::ImplyFconvexBoolGq< VA, VC >::propagate(), FconvexBool::ReifiedFconvexBoolGq< VA, VC >::propagate(), FconvexBool::FconvexBoolLq< VA, VC >::propagate(), and FconvexBool::FconvexBoolGq< VA, VC >::propagate().
1.6.3