Base-class for monotone 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 | |
| FmonotoneBoolGq (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. | |
| FmonotoneBoolGq (Space &home, bool share, FmonotoneBoolGq &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 monotone function boolean propagators.
This class NEEDS a global function: monotone_function(int pos_total, int pos, int neg_total, int neg, int precision)
Definition at line 50 of file constraint_Fmonotone.cpp.
| FmonotoneBool::FmonotoneBoolGq< VA, VC >::FmonotoneBoolGq | ( | 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_Fmonotone.cpp.
References FmonotoneBool::FmonotoneBoolGq< VA, VC >::c, FmonotoneBool::FmonotoneBoolGq< VA, VC >::x, and FmonotoneBool::FmonotoneBoolGq< VA, VC >::y.
| forceinline FmonotoneBool::FmonotoneBoolGq< VA, VC >::FmonotoneBoolGq | ( | Space & | home, | |
| bool | share, | |||
| FmonotoneBoolGq< VA, VC > & | p | |||
| ) | [inline, protected] |
Constructor for cloning p.
Definition at line 114 of file constraint_Fmonotone.cpp.
References FmonotoneBool::FmonotoneBoolGq< VA, VC >::c, FmonotoneBool::FmonotoneBoolGq< VA, VC >::x, and FmonotoneBool::FmonotoneBoolGq< VA, VC >::y.
| Actor * FmonotoneBool::FmonotoneBoolGq< VA, VC >::copy | ( | Space & | home, | |
| bool | share | |||
| ) | [inline, virtual] |
Create copy during cloning.
Reimplemented in FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >.
Definition at line 139 of file constraint_Fmonotone.cpp.
| PropCost FmonotoneBool::FmonotoneBoolGq< 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_Fmonotone.cpp.
References FmonotoneBool::FmonotoneBoolGq< VA, VC >::x.
| forceinline size_t FmonotoneBool::FmonotoneBoolGq< VA, VC >::dispose | ( | Space & | home | ) | [inline, virtual] |
Delete propagator and return its size.
Reimplemented in FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >.
Definition at line 103 of file constraint_Fmonotone.cpp.
References FmonotoneBool::FmonotoneBoolGq< VA, VC >::c, FmonotoneBool::FmonotoneBoolGq< VA, VC >::x, and FmonotoneBool::FmonotoneBoolGq< VA, VC >::y.
| void FmonotoneBool::FmonotoneBoolGq< VA, VC >::eliminate | ( | ViewArray< VA > & | v, | |
| int & | l, | |||
| int & | u | |||
| ) | [inline] |
Eliminate assigned vars and update bounds.
Definition at line 169 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
| ExecStatus FmonotoneBool::FmonotoneBoolGq< 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.
Definition at line 130 of file constraint_Fmonotone.cpp.
| ExecStatus FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate | ( | Space & | home, | |
| const ModEventDelta & | med | |||
| ) | [inline, virtual] |
Perform propagation.
Reimplemented in FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >.
Definition at line 145 of file constraint_Fmonotone.cpp.
References FmonotoneBool::FmonotoneBoolGq< VA, VC >::c, FmonotoneBool::FmonotoneBoolGq< VA, VC >::eliminate(), FmonotoneBool::FmonotoneBoolGq< VA, VC >::l_x, FmonotoneBool::FmonotoneBoolGq< VA, VC >::l_y, monotone_function(), FmonotoneBool::FmonotoneBoolGq< VA, VC >::precision, FmonotoneBool::FmonotoneBoolGq< VA, VC >::X, FmonotoneBool::FmonotoneBoolGq< VA, VC >::x, FmonotoneBool::FmonotoneBoolGq< VA, VC >::Y, and FmonotoneBool::FmonotoneBoolGq< VA, VC >::y.
VC FmonotoneBool::FmonotoneBoolGq< VA, VC >::c [protected] |
Righthandside, the treshold.
Definition at line 65 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::FmonotoneBoolGq< VA, VC >::dispose(), FmonotoneBool::FmonotoneBoolGq< VA, VC >::FmonotoneBoolGq(), FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::l_x [protected] |
lower bound class 1 (part from class1 views assigned to 1)
Definition at line 57 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::l_y [protected] |
lower bound class 2 (part from class2 views assigned to 1)
Definition at line 63 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::precision [protected] |
Precision of treshold-integer conversion (eg. 1000).
Definition at line 67 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
ViewArray<VA> FmonotoneBool::FmonotoneBoolGq< VA, VC >::x [protected] |
Boolean views class 1.
Definition at line 55 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::FmonotoneBoolGq< VA, VC >::cost(), FmonotoneBool::FmonotoneBoolGq< VA, VC >::dispose(), FmonotoneBool::FmonotoneBoolGq< VA, VC >::FmonotoneBoolGq(), FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::X [protected] |
total class 1
Definition at line 53 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
ViewArray<VA> FmonotoneBool::FmonotoneBoolGq< VA, VC >::y [protected] |
Boolean views class y.
Definition at line 61 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::FmonotoneBoolGq< VA, VC >::dispose(), FmonotoneBool::FmonotoneBoolGq< VA, VC >::FmonotoneBoolGq(), FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::Y [protected] |
total class 2
Definition at line 59 of file constraint_Fmonotone.cpp.
Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().
1.6.3