
#include <climits>#include <cfloat>#include <iostream>#include <vector>#include <unordered_map>#include <functional>#include <utility>#include <initializer_list>#include <gecode/kernel.hh>#include <gecode/search.hh>#include <gecode/iter.hh>#include <gecode/support/auto-link.hpp>#include <gecode/int/exception.hpp>#include <gecode/int/limits.hpp>#include <gecode/int/int-set-1.hpp>#include <gecode/int/var-imp.hpp>#include <gecode/int/view.hpp>#include <gecode/int/propagator.hpp>#include <gecode/int/array-traits.hpp>#include <gecode/int/int-set-2.hpp>#include <gecode/int/array.hpp>#include <gecode/int/reify.hpp>#include <gecode/int/irt.hpp>#include <gecode/int/ipl.hpp>#include <gecode/int/channel.hpp>#include <gecode/int/extensional/dfa.hpp>#include <gecode/int/extensional/tuple-set.hpp>#include <gecode/int/extensional.hpp>#include <gecode/int/branch/traits.hpp>#include <gecode/int/branch/afc.hpp>#include <gecode/int/branch/action.hpp>#include <gecode/int/branch/chb.hpp>#include <gecode/int/branch/var.hpp>#include <gecode/int/branch/val.hpp>#include <gecode/int/branch/assign.hpp>#include <gecode/int/branch.hpp>#include <gecode/int/trace/int-trace-view.hpp>#include <gecode/int/trace/bool-trace-view.hpp>#include <gecode/int/trace/int-delta.hpp>#include <gecode/int/trace/bool-delta.hpp>#include <gecode/int/trace/traits.hpp>#include <gecode/int/trace.hpp>Go to the source code of this file.
Classes | |
| class | Gecode::IntSet |
| Integer sets. More... | |
| class | Gecode::IntSetRanges |
| Range iterator for integer sets. More... | |
| class | Gecode::IntSetValues |
| Value iterator for integer sets. More... | |
| class | Gecode::IntVar |
| Integer variables. More... | |
| class | Gecode::IntVarRanges |
| Range iterator for integer variables More... | |
| class | Gecode::IntVarValues |
| Value iterator for integer variables. More... | |
| class | Gecode::BoolVar |
| Boolean integer variables. More... | |
| class | Gecode::IntArgs |
| Passing integer arguments. More... | |
| class | Gecode::IntVarArgs |
| Passing integer variables. More... | |
| class | Gecode::BoolVarArgs |
| Passing Boolean variables. More... | |
| class | Gecode::IntVarArray |
| Integer variable array. More... | |
| class | Gecode::BoolVarArray |
| Boolean variable array. More... | |
| class | Gecode::Reify |
| Reification specification. More... | |
| class | Gecode::ArrayTraits< ArgArray< TaskType > > |
| Traits of TaskTypeArgs. More... | |
| class | Gecode::DFA |
| Deterministic finite automaton (DFA) More... | |
| class | Gecode::DFA::Transition |
| Specification of a DFA transition. More... | |
| class | Gecode::DFA::Transitions |
| Iterator for DFA transitions (sorted by symbols) More... | |
| class | Gecode::DFA::Symbols |
| Iterator for DFA symbols. More... | |
| class | Gecode::TupleSet |
| Class represeting a set of tuples. More... | |
| class | Gecode::TupleSet::Range |
| Range information. More... | |
| class | Gecode::TupleSet::ValueData |
| Data about values in the table. More... | |
| class | Gecode::TupleSet::Data |
| Data stored for a Table. More... | |
| class | Gecode::TupleSet::Ranges |
| Iterator over ranges. More... | |
| class | Gecode::IntAFC |
| Recording AFC information for integer variables. More... | |
| class | Gecode::BoolAFC |
| Recording AFC information for Boolean variables. More... | |
| class | Gecode::IntAction |
| Recording actions for integer variables. More... | |
| class | Gecode::BoolAction |
| Recording actions for Boolean variables. More... | |
| class | Gecode::IntCHB |
| Recording CHB for integer variables. More... | |
| class | Gecode::BoolCHB |
| Recording CHB for Boolean variables. More... | |
| class | Gecode::IntVarBranch |
| Which integer variable to select for branching. More... | |
| class | Gecode::BoolVarBranch |
| Which Boolean variable to select for branching. More... | |
| class | Gecode::IntValBranch |
| Which values to select for branching first. More... | |
| class | Gecode::BoolValBranch |
| Which values to select for branching first. More... | |
| class | Gecode::IntAssign |
| Which values to select for assignment. More... | |
| class | Gecode::BoolAssign |
| Which values to select for assignment. More... | |
| class | Gecode::SymmetryHandle |
| A reference-counted pointer to a SymmetryObject. More... | |
| class | Gecode::ArrayTraits< ArgArray< SymmetryHandle > > |
| Traits of Symmetries. More... | |
| class | Gecode::Symmetries |
| Collection of symmetries. More... | |
| class | Gecode::IntTraceDelta |
| Trace delta information for integer variables. More... | |
| class | Gecode::BoolTraceDelta |
| Trace delta information for Boolean variables. More... | |
| class | Gecode::StdIntTracer |
| Standard integer variable tracer. More... | |
| class | Gecode::StdBoolTracer |
| Standard Boolean variable tracer. More... | |
Namespaces | |
| Gecode::Int | |
| Finite domain integers. | |
| Gecode::Int::Limits | |
| Numerical limits for integer variables. | |
| Gecode::Int::LDSB | |
| Symmetry breaking for integer variables. | |
Macros | |
| #define | GECODE_INT_EXPORT |
| #define | GECODE_LIBRARY_NAME "Int" |
Typedefs | |
| typedef ArgArray< IntSet > | Gecode::IntSetArgs |
| Passing set arguments. More... | |
| typedef ArgArray< TaskType > | Gecode::TaskTypeArgs |
| Argument arrays for passing task type arguments. More... | |
| typedef SharedArray< int > | Gecode::IntSharedArray |
| Arrays of integers that can be shared among several element constraints. More... | |
| typedef std::function< bool(const Space &home, IntVar x, int i)> | Gecode::IntBranchFilter |
| Branch filter function type for integer variables. More... | |
| typedef std::function< bool(const Space &home, BoolVar x, int i)> | Gecode::BoolBranchFilter |
| Branch filter function type for Boolean variables. More... | |
| typedef std::function< double(const Space &home, IntVar x, int i)> | Gecode::IntBranchMerit |
| Branch merit function type for integer variables. More... | |
| typedef std::function< double(const Space &home, BoolVar x, int i)> | Gecode::BoolBranchMerit |
| Branch merit function type for Boolean variables. More... | |
| typedef std::function< int(const Space &home, IntVar x, int i)> | Gecode::IntBranchVal |
| Branch value function type for integer variables. More... | |
| typedef std::function< int(const Space &home, BoolVar x, int i)> | Gecode::BoolBranchVal |
| Branch value function type for Boolean variables. More... | |
| typedef std::function< void(Space &home, unsigned int a, IntVar x, int i, int n)> | Gecode::IntBranchCommit |
| Branch commit function type for integer variables. More... | |
| typedef std::function< void(Space &home, unsigned int a, BoolVar x, int i, int n)> | Gecode::BoolBranchCommit |
| Branch commit function type for Boolean variables. More... | |
| typedef std::function< void(const Space &home, const Brancher &b, unsigned int a, IntVar x, int i, const int &n, std::ostream &o)> | Gecode::IntVarValPrint |
| Function type for printing branching alternatives for integer variables. More... | |
| typedef std::function< void(const Space &home, const Brancher &b, unsigned int a, BoolVar x, int i, const int &n, std::ostream &o)> | Gecode::BoolVarValPrint |
| Function type for printing branching alternatives for Boolean variables. More... | |
| typedef ViewTracer< Int::IntView > | Gecode::IntTracer |
| Tracer for integer variables. More... | |
| typedef ViewTraceRecorder< Int::IntView > | Gecode::IntTraceRecorder |
| Trace recorder for integer variables. More... | |
| typedef ViewTracer< Int::BoolView > | Gecode::BoolTracer |
| Tracer for Boolean variables. More... | |
| typedef ViewTraceRecorder< Int::BoolView > | Gecode::BoolTraceRecorder |
| Trace recorder for Boolean variables. More... | |
Enumerations | |
| enum | Gecode::ReifyMode { Gecode::RM_EQV , Gecode::RM_IMP , Gecode::RM_PMI } |
| Mode for reification. More... | |
| enum | Gecode::IntRelType { Gecode::IRT_EQ , Gecode::IRT_NQ , Gecode::IRT_LQ , Gecode::IRT_LE , Gecode::IRT_GQ , Gecode::IRT_GR } |
| Relation types for integers. More... | |
| enum | Gecode::BoolOpType { Gecode::BOT_AND , Gecode::BOT_OR , Gecode::BOT_IMP , Gecode::BOT_EQV , Gecode::BOT_XOR } |
| Operation types for Booleans. More... | |
| enum | Gecode::IntPropLevel { Gecode::IPL_DEF = 0 , Gecode::IPL_VAL = 1 , Gecode::IPL_BND = 2 , Gecode::IPL_DOM = 3 , Gecode::IPL_BASIC = 4 , Gecode::IPL_ADVANCED = 8 , Gecode::IPL_BASIC_ADVANCED = IPL_BASIC | IPL_ADVANCED , Gecode::_IPL_BITS = 4 } |
| Propagation levels for integer propagators. More... | |
| enum | Gecode::TaskType { Gecode::TT_FIXP , Gecode::TT_FIXS , Gecode::TT_FIXE } |
| Type of task for scheduling constraints. More... | |
Functions | |
| bool | Gecode::Int::Limits::valid (int n) |
| Return whether n is in range. More... | |
| bool | Gecode::Int::Limits::valid (long long int n) |
| Return whether n is in range. More... | |
| void | Gecode::Int::Limits::check (int n, const char *l) |
| Check whether n is in range, otherwise throw out of limits with information l. More... | |
| void | Gecode::Int::Limits::check (long long int n, const char *l) |
| Check whether n is in range, otherwise throw out of limits with information l. More... | |
| void | Gecode::Int::Limits::positive (int n, const char *l) |
| Check whether n is in range and strictly positive, otherwise throw out of limits with information l. More... | |
| void | Gecode::Int::Limits::positive (long long int n, const char *l) |
| Check whether n is in range and strictly positive, otherwise throw out of limits with information l. More... | |
| void | Gecode::Int::Limits::nonnegative (int n, const char *l) |
| Check whether n is in range and nonnegative, otherwise throw out of limits with information l. More... | |
| void | Gecode::Int::Limits::nonnegative (long long int n, const char *l) |
| Check whether n is in integer range and nonnegative, otherwise throw out of limits exception with information l. More... | |
| bool | Gecode::Int::Limits::overflow_add (int n, int m) |
| Check whether adding n and m would overflow. More... | |
| bool | Gecode::Int::Limits::overflow_add (long long int n, long long int m) |
| Check whether adding n and m would overflow. More... | |
| bool | Gecode::Int::Limits::overflow_sub (int n, int m) |
| Check whether subtracting m from n would overflow. More... | |
| bool | Gecode::Int::Limits::overflow_sub (long long int n, long long int m) |
| Check whether subtracting m from n would overflow. More... | |
| bool | Gecode::Int::Limits::overflow_mul (int n, int m) |
| Check whether multiplying n and m would overflow. More... | |
| bool | Gecode::Int::Limits::overflow_mul (long long int n, long long int m) |
| Check whether multiplying n and m would overflow. More... | |
| Reify | Gecode::eqv (BoolVar x) |
| Use equivalence for reification. More... | |
| Reify | Gecode::imp (BoolVar x) |
| Use implication for reification. More... | |
| Reify | Gecode::pmi (BoolVar x) |
| Use reverse implication for reification. More... | |
| IntRelType | Gecode::swap (IntRelType irt) |
| Return swapped relation type of irt. More... | |
| IntRelType | Gecode::neg (IntRelType irt) |
| Return negated relation type of irt. More... | |
| IntPropLevel | Gecode::vbd (IntPropLevel ipl) |
| Extract value, bounds, or domain propagation from propagation level. More... | |
| IntPropLevel | Gecode::ba (IntPropLevel ipl) |
| Extract basic or advanced from propagation level. More... | |
| void | Gecode::dom (Home home, IntVar x, int n, IntPropLevel ipl=IPL_DEF) |
Propagates . More... | |
| void | Gecode::dom (Home home, const IntVarArgs &x, int n, IntPropLevel ipl=IPL_DEF) |
Propagates for all . More... | |
| void | Gecode::dom (Home home, IntVar x, int l, int m, IntPropLevel ipl=IPL_DEF) |
Propagates . More... | |
| void | Gecode::dom (Home home, const IntVarArgs &x, int l, int m, IntPropLevel ipl=IPL_DEF) |
Propagates for all . More... | |
| void | Gecode::dom (Home home, IntVar x, const IntSet &s, IntPropLevel ipl=IPL_DEF) |
Propagates . More... | |
| void | Gecode::dom (Home home, const IntVarArgs &x, const IntSet &s, IntPropLevel ipl=IPL_DEF) |
Propagates for all . More... | |
| void | Gecode::dom (Home home, IntVar x, int n, Reify r, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::dom (Home home, IntVar x, int l, int m, Reify r, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::dom (Home home, IntVar x, const IntSet &s, Reify r, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::dom (Home home, IntVar x, IntVar d, IntPropLevel ipl=IPL_DEF) |
| Constrain domain of x according to domain of d. More... | |
| void | Gecode::dom (Home home, BoolVar x, BoolVar d, IntPropLevel ipl=IPL_DEF) |
| Constrain domain of x according to domain of d. More... | |
| void | Gecode::dom (Home home, const IntVarArgs &x, const IntVarArgs &d, IntPropLevel ipl=IPL_DEF) |
Constrain domain of according to domain of for all . More... | |
| void | Gecode::dom (Home home, const BoolVarArgs &x, const BoolVarArgs &d, IntPropLevel ipl=IPL_DEF) |
Constrain domain of according to domain of for all . More... | |
| void | Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for for all . More... | |
| void | Gecode::rel (Home home, IntVar x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
Propagates . More... | |
| void | Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
Propagates for all . More... | |
| void | Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::rel (Home home, IntVar x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation among elements in x. More... | |
| void | Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation between x and y. More... | |
| void | Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, const IntArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation between x and y. More... | |
| void | Gecode::rel (Home home, const IntArgs &x, IntRelType irt, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation between x and y. More... | |
| void | Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, BoolVar y, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for for all . More... | |
| void | Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF) |
Propagates . More... | |
| void | Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, Reify r, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF) |
Propagates for all . More... | |
| void | Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, const BoolVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for relation between x and y. More... | |
| void | Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, const IntArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for relation between x and y. More... | |
| void | Gecode::rel (Home home, const IntArgs &x, IntRelType irt, const BoolVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for relation between x and y. More... | |
| void | Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for relation between elements in x. More... | |
| void | Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean operation on x0 and x1. More... | |
| void | Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, int n, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean operation on x0 and x1. More... | |
| void | Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean operation on x. More... | |
| void | Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean operation on x. More... | |
| void | Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean clause with positive variables x and negative variables y. More... | |
| void | Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, int n, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean clause with positive variables x and negative variables y. More... | |
| void | Gecode::ite (Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for if-then-else constraint. More... | |
| void | Gecode::ite (Home home, BoolVar b, BoolVar x, BoolVar y, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for if-then-else constraint. More... | |
| void | Gecode::precede (Home home, const IntVarArgs &x, int s, int t, IntPropLevel=IPL_DEF) |
| Post propagator that s precedes t in x. More... | |
| void | Gecode::precede (Home home, const IntVarArgs &x, const IntArgs &c, IntPropLevel=IPL_DEF) |
| Post propagator that successive values in c precede each other in x. More... | |
| void | Gecode::member (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::member (Home home, const IntVarArgs &x, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, IntSharedArray n, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, IntSharedArray n, IntVar x0, BoolVar x1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, IntSharedArray n, IntVar x0, int x1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, const IntVarArgs &x, IntVar y0, IntVar y1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::element (Home home, const IntVarArgs &x, IntVar y0, int y1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, BoolVar y1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, int y1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, IntVar z, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, BoolVar z, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::element (Home home, const IntVarArgs &a, IntVar x, int w, IntVar y, int h, IntVar z, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::element (Home home, const BoolVarArgs &a, IntVar x, int w, IntVar y, int h, BoolVar z, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for . More... | |
| void | Gecode::distinct (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
Post propagator for for all . More... | |
| void | Gecode::distinct (Home home, const IntArgs &n, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
Post propagator for for all . More... | |
| void | Gecode::distinct (Home home, const BoolVarArgs &b, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
Post propagator for for all . More... | |
| void | Gecode::distinct (Home home, const IntVarArgs &x, int c, IntPropLevel ipl=IPL_DEF) |
Post propagator for for all . More... | |
| void | Gecode::channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
Post propagator for for all . More... | |
| void | Gecode::channel (Home home, const IntVarArgs &x, int xoff, const IntVarArgs &y, int yoff, IntPropLevel ipl=IPL_DEF) |
Post propagator for for all . More... | |
| void | Gecode::channel (Home home, BoolVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for channeling a Boolean and an integer variable . More... | |
| void | Gecode::channel (Home home, IntVar x0, BoolVar x1, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for channeling an integer and a Boolean variable . More... | |
| void | Gecode::channel (Home home, const BoolVarArgs &x, IntVar y, int o=0, IntPropLevel ipl=IPL_DEF) |
Post domain consistent propagator for channeling Boolean and integer variables . More... | |
| void | Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator that y is x sorted in increasing order. More... | |
| void | Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, const IntVarArgs &z, IntPropLevel ipl=IPL_DEF) |
| Post propagator that y is x sorted in increasing order. More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. More... | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. More... | |
| void | Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType irt, int y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType irt, int y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::sequence (Home home, const IntVarArgs &x, const IntSet &s, int q, int l, int u, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::sequence (Home home, const BoolVarArgs &x, const IntSet &s, int q, int l, int u, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. More... | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. More... | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . More... | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . More... | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . More... | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for or . More... | |
| void | Gecode::min (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::min (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::max (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::max (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmin (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmin (Home home, const IntVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmax (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmax (Home home, const IntVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmin (Home home, const BoolVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmin (Home home, const BoolVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmax (Home home, const BoolVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::argmax (Home home, const BoolVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::abs (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::mult (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::divmod (Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::div (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::mod (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::sqr (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::sqrt (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::pow (Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::nroot (Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
Post propagator for . More... | |
| void | Gecode::binpacking (Home home, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, IntPropLevel ipl=IPL_DEF) |
| Post propagator for bin packing. More... | |
| IntSet | Gecode::binpacking (Home home, int d, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, const IntArgs &c, IntPropLevel) |
| void | Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel ipl=IPL_DEF) |
| Post propagator for rectangle packing. More... | |
| void | Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, const BoolVarArgs &o, IntPropLevel ipl=IPL_DEF) |
| Post propagator for rectangle packing. More... | |
| void | Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for rectangle packing. More... | |
| void | Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, const BoolVarArgs &o, IntPropLevel ipl=IPL_DEF) |
| Post propagator for rectangle packing. More... | |
| void | Gecode::order (Home home, IntVar s0, int p0, IntVar s1, int p1, BoolVar b, IntPropLevel ipl=IPL_DEF) |
| Post propagators for ordering two tasks. More... | |
| void | Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF) |
| Post propagators for the cumulatives constraint. More... | |
| void | Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on unary resources. More... | |
| void | Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on unary resources. More... | |
| void | Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on unary resources. More... | |
| void | Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on unary resources. More... | |
| void | Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on unary resources. More... | |
| void | Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on unary resources. More... | |
| void | Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on cumulative resources. More... | |
| void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling optional tasks on cumulative resources. More... | |
| void | Gecode::circuit (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit. More... | |
| void | Gecode::circuit (Home home, int offset, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit. More... | |
| void | Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit with costs y and z. More... | |
| void | Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit with costs y and z. More... | |
| void | Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit with cost z. More... | |
| void | Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit with cost z. More... | |
| void | Gecode::path (Home home, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a Hamiltonian path. More... | |
| void | Gecode::path (Home home, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a Hamiltonian path. More... | |
| void | Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a Hamiltonian path with costs y and z. More... | |
| void | Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a Hamiltonian path with costs y and z. More... | |
| void | Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a Hamiltonian path with cost z. More... | |
| void | Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a Hamiltonian path with cost z. More... | |
| void | Gecode::wait (Home home, IntVar x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF) |
| Execute c when x becomes assigned. More... | |
| void | Gecode::wait (Home home, BoolVar x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF) |
| Execute c when x becomes assigned. More... | |
| void | Gecode::wait (Home home, const IntVarArgs &x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF) |
| Execute c when all variables in x become assigned. More... | |
| void | Gecode::wait (Home home, const BoolVarArgs &x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF) |
| Execute c when all variables in x become assigned. More... | |
| void | Gecode::when (Home home, BoolVar x, std::function< void(Space &home)> t, std::function< void(Space &home)> e, IntPropLevel ipl=IPL_DEF) |
| Execute t (then) when x is assigned one, and e (else) otherwise. More... | |
| void | Gecode::when (Home home, BoolVar x, std::function< void(Space &home)> t, IntPropLevel ipl=IPL_DEF) |
| Execute t (then) when x is assigned one. More... | |
| void | Gecode::unshare (Home home, IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Replace multiple variable occurences in x by fresh variables. More... | |
| void | Gecode::unshare (Home home, BoolVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Replace multiple variable occurences in x by fresh variables. More... | |
| IntVarBranch | Gecode::INT_VAR_NONE (void) |
| Select first unassigned variable. More... | |
| IntVarBranch | Gecode::INT_VAR_RND (Rnd r) |
| Select random variable (uniform distribution, for tie breaking) More... | |
| IntVarBranch | Gecode::INT_VAR_MERIT_MIN (IntBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with least merit according to branch merit function bm. More... | |
| IntVarBranch | Gecode::INT_VAR_MERIT_MAX (IntBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with highest merit according to branch merit function bm. More... | |
| IntVarBranch | Gecode::INT_VAR_DEGREE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree. More... | |
| IntVarBranch | Gecode::INT_VAR_DEGREE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_MIN (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_MAX (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with lowest action with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_MIN (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with lowest action. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with highest action with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_MAX (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with highest action. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_MIN (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_MIN (BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_MAX (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. More... | |
| IntVarBranch | Gecode::INT_VAR_MIN_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest min. More... | |
| IntVarBranch | Gecode::INT_VAR_MIN_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest min. More... | |
| IntVarBranch | Gecode::INT_VAR_MAX_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest max. More... | |
| IntVarBranch | Gecode::INT_VAR_MAX_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest max. More... | |
| IntVarBranch | Gecode::INT_VAR_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_SIZE_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count divided by domain size with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_SIZE_MIN (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_SIZE_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count divided by domain size with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_AFC_SIZE_MAX (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_SIZE_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest action divided by domain size with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_SIZE_MIN (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with smallest action divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_SIZE_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest action divided by domain size with decay factor d. More... | |
| IntVarBranch | Gecode::INT_VAR_ACTION_SIZE_MAX (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with largest action divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_SIZE_MIN (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_SIZE_MAX (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_CHB_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. More... | |
| IntVarBranch | Gecode::INT_VAR_REGRET_MIN_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest min-regret. More... | |
| IntVarBranch | Gecode::INT_VAR_REGRET_MIN_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest min-regret. More... | |
| IntVarBranch | Gecode::INT_VAR_REGRET_MAX_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest max-regret. More... | |
| IntVarBranch | Gecode::INT_VAR_REGRET_MAX_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest max-regret. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_NONE (void) |
| Select first unassigned variable. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_RND (Rnd r) |
| Select random variable (uniform distribution, for tie breaking) More... | |
| BoolVarBranch | Gecode::BOOL_VAR_MERIT_MIN (BoolBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with least merit according to branch merit function bm. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_MERIT_MAX (BoolBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with highest merit according to branch merit function bm. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_DEGREE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_DEGREE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count with decay factor d. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_AFC_MIN (BoolAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count with decay factor d. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_AFC_MAX (BoolAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with lowest action with decay factor d. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_ACTION_MIN (BoolAction a, BranchTbl tbl=nullptr) |
| Select variable with lowest action. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with highest action with decay factor d. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_ACTION_MAX (BoolAction a, BranchTbl tbl=nullptr) |
| Select variable with highest action. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_CHB_MIN (BoolCHB c, BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_CHB_MIN (BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_CHB_MAX (BoolCHB c, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. More... | |
| BoolVarBranch | Gecode::BOOL_VAR_CHB_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. More... | |
| IntValBranch | Gecode::INT_VAL_MIN (void) |
| Select smallest value. More... | |
| IntValBranch | Gecode::INT_VAL_MED (void) |
| Select greatest value not greater than the median. More... | |
| IntValBranch | Gecode::INT_VAL_MAX (void) |
| Select largest value. More... | |
| IntValBranch | Gecode::INT_VAL_RND (Rnd r) |
| Select random value. More... | |
| IntValBranch | Gecode::INT_VAL_SPLIT_MIN (void) |
| Select values not greater than mean of smallest and largest value. More... | |
| IntValBranch | Gecode::INT_VAL_SPLIT_MAX (void) |
| Select values greater than mean of smallest and largest value. More... | |
| IntValBranch | Gecode::INT_VAL_RANGE_MIN (void) |
| Select the smallest range of the variable domain if it has several ranges, otherwise select values not greater than mean of smallest and largest value. More... | |
| IntValBranch | Gecode::INT_VAL_RANGE_MAX (void) |
| Select the largest range of the variable domain if it has several ranges, otherwise select values greater than mean of smallest and largest value. More... | |
| IntValBranch | Gecode::INT_VAL (IntBranchVal v, IntBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c Uses a commit function as default that posts the constraints that a variable x must be equal to a value n for the first alternative and that x must be different from n for the second alternative. More... | |
| IntValBranch | Gecode::INT_VALUES_MIN (void) |
| Try all values starting from smallest. More... | |
| IntValBranch | Gecode::INT_VALUES_MAX (void) |
| Try all values starting from largest. More... | |
| BoolValBranch | Gecode::BOOL_VAL_MIN (void) |
| Select smallest value. More... | |
| BoolValBranch | Gecode::BOOL_VAL_MAX (void) |
| Select largest value. More... | |
| BoolValBranch | Gecode::BOOL_VAL_RND (Rnd r) |
| Select random value. More... | |
| BoolValBranch | Gecode::BOOL_VAL (BoolBranchVal v, BoolBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c Uses a commit function as default that posts the constraints that a variable x must be equal to a value n for the first alternative and that x must be different from n for the second alternative. More... | |
| IntAssign | Gecode::INT_ASSIGN_MIN (void) |
| Select smallest value. More... | |
| IntAssign | Gecode::INT_ASSIGN_MED (void) |
| Select greatest value not greater than the median. More... | |
| IntAssign | Gecode::INT_ASSIGN_MAX (void) |
| Select largest value. More... | |
| IntAssign | Gecode::INT_ASSIGN_RND (Rnd r) |
| Select random value. More... | |
| IntAssign | Gecode::INT_ASSIGN (IntBranchVal v, IntBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c. More... | |
| BoolAssign | Gecode::BOOL_ASSIGN_MIN (void) |
| Select smallest value. More... | |
| BoolAssign | Gecode::BOOL_ASSIGN_MAX (void) |
| Select largest value. More... | |
| BoolAssign | Gecode::BOOL_ASSIGN_RND (Rnd r) |
| Select random value. More... | |
| BoolAssign | Gecode::BOOL_ASSIGN (BoolBranchVal v, BoolBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c. More... | |
| void | Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals. More... | |
| void | Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals. More... | |
| void | Gecode::branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. More... | |
| void | Gecode::branch (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals. More... | |
| void | Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals. More... | |
| void | Gecode::branch (Home home, BoolVar x, BoolValBranch vals, BoolVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. More... | |
| void | Gecode::assign (Home home, const IntVarArgs &x, IntVarBranch vars, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Assign all x with variable selection vars with value selection vals. More... | |
| void | Gecode::assign (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Assign all x with tie-breaking variable selection vars and value selection vals. More... | |
| void | Gecode::assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=nullptr) |
| Assign x with value selection vals. More... | |
| void | Gecode::assign (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolAssign vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Assign all x with variable selection vars with value selection vals. More... | |
| void | Gecode::assign (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Assign all x with tie-breaking variable selection vars and value selection vals. More... | |
| void | Gecode::assign (Home home, BoolVar x, BoolAssign vals, BoolVarValPrint vvp=nullptr) |
| Assign x with value selection vals. More... | |
| void | Gecode::branch (Home home, const IntVarArgs &x, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. More... | |
| void | Gecode::branch (Home home, const BoolVarArgs &x, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. More... | |
| void | Gecode::assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Assign all x with value selection vals. More... | |
| void | Gecode::assign (Home home, const BoolVarArgs &x, BoolAssign vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Assign all x with value selection vals. More... | |
| SymmetryHandle | Gecode::VariableSymmetry (const IntVarArgs &x) |
| Variables in x are interchangeable. More... | |
| SymmetryHandle | Gecode::VariableSymmetry (const BoolVarArgs &x) |
| Variables in x are interchangeable. More... | |
| SymmetryHandle | Gecode::VariableSymmetry (const IntVarArgs &x, const IntArgs &indices) |
| Specified variables in x are interchangeable. More... | |
| SymmetryHandle | Gecode::ValueSymmetry (const IntArgs &v) |
| Values in v are interchangeable. More... | |
| SymmetryHandle | Gecode::ValueSymmetry (const IntSet &v) |
| Values in v are interchangeable. More... | |
| SymmetryHandle | Gecode::ValueSymmetry (IntVar vars) |
| All values in the domain of the given variable are interchangeable. More... | |
| SymmetryHandle | Gecode::VariableSequenceSymmetry (const IntVarArgs &x, int ss) |
| Variable sequences in x of size ss are interchangeable. More... | |
| SymmetryHandle | Gecode::VariableSequenceSymmetry (const BoolVarArgs &x, int ss) |
| Variable sequences in x of size ss are interchangeable. More... | |
| SymmetryHandle | Gecode::ValueSequenceSymmetry (const IntArgs &v, int ss) |
| Value sequences in v of size ss are interchangeable. More... | |
| SymmetryHandle | Gecode::values_reflect (int lower, int upper) |
| The values from lower to upper (inclusive) can be reflected. More... | |
| SymmetryHandle | Gecode::values_reflect (IntVar x) |
| The values in the domain of \x can be reflected. More... | |
| void | Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals with symmetry breaking. More... | |
| void | Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. More... | |
| void | Gecode::branch (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals with symmetry breaking. More... | |
| void | Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. More... | |
| void | Gecode::relax (Home home, const IntVarArgs &x, const IntVarArgs &sx, Rnd r, double p) |
| void | Gecode::relax (Home home, const BoolVarArgs &x, const BoolVarArgs &sx, Rnd r, double p) |
| void | Gecode::trace (Home home, const IntVarArgs &x, TraceFilter tf, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), IntTracer &t=StdIntTracer::def) |
| Create a tracer for integer variables. More... | |
| void | Gecode::trace (Home home, const IntVarArgs &x, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), IntTracer &t=StdIntTracer::def) |
| Create a tracer for integer variables. More... | |
| void | Gecode::trace (Home home, const BoolVarArgs &x, TraceFilter tf, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), BoolTracer &t=StdBoolTracer::def) |
| Create a tracer for Boolean Variables. More... | |
| void | Gecode::trace (Home home, const BoolVarArgs &x, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), BoolTracer &t=StdBoolTracer::def) |
| Create a tracer for Boolean Variables. More... | |
Variables | |
| const int | Gecode::Int::Limits::max = INT_MAX - 1 |
| Largest allowed integer value. More... | |
| const int | Gecode::Int::Limits::min = -max |
| Smallest allowed integer value. More... | |
| const int | Gecode::Int::Limits::infinity = max + 1 |
| Infinity for integers. More... | |
| const long long int | Gecode::Int::Limits::llmax = LLONG_MAX - 1 |
| Largest allowed long long integer value. More... | |
| const long long int | Gecode::Int::Limits::llmin = -llmax |
| Smallest allowed long long integer value. More... | |
| const long long int | Gecode::Int::Limits::llinfinity = llmax + 1 |
| Infinity for long long integers. More... | |
| typedef ArgArray<IntSet> Gecode::IntSetArgs |
| typedef SharedArray<int> Gecode::IntSharedArray |
| typedef std::function<void(const Space &home, const Brancher& b, unsigned int a, IntVar x, int i, const int& n, std::ostream& o)> Gecode::IntVarValPrint |
| typedef std::function<void(const Space &home, const Brancher& b, unsigned int a, BoolVar x, int i, const int& n, std::ostream& o)> Gecode::BoolVarValPrint |
|
inline |
|
inline |
|
inline |
|
inline |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | n, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | n, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | min, | ||
| int | max, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | min, | ||
| int | max, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| const IntSet & | is, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | is, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | n, | ||
| Reify | r, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | min, | ||
| int | max, | ||
| Reify | r, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| const IntSet & | is, | ||
| Reify | r, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| IntVar | d, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| BoolVar | x, | ||
| BoolVar | d, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | d, | ||
| IntPropLevel | |||
| ) |
| void Gecode::dom | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| const BoolVarArgs & | d, | ||
| IntPropLevel | |||
| ) |
| void Gecode::member | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntPropLevel | |||
| ) |
Post domain consistent propagator for
.
Definition at line 39 of file member.cpp.
| void Gecode::member | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| BoolVar | y, | ||
| IntPropLevel | |||
| ) |
Post domain consistent propagator for
.
Definition at line 49 of file member.cpp.
| void Gecode::member | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| Reify | r, | ||
| IntPropLevel | |||
| ) |
Post domain consistent propagator for
.
Definition at line 59 of file member.cpp.
| void Gecode::member | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| BoolVar | y, | ||
| Reify | r, | ||
| IntPropLevel | |||
| ) |
Post domain consistent propagator for
.
Definition at line 84 of file member.cpp.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post domain consistent propagator for
.
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
Definition at line 39 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| BoolVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post domain consistent propagator for
.
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
Definition at line 51 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| int | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post domain consistent propagator for
.
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
Definition at line 63 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y0, | ||
| IntVar | y1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).
Definition at line 78 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y0, | ||
| int | y1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).
Definition at line 95 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | c, | ||
| IntVar | x0, | ||
| BoolVar | x1, | ||
| IntPropLevel | |||
| ) |
Post domain consistent propagator for
.
Definition at line 114 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | c, | ||
| IntVar | x0, | ||
| int | x1, | ||
| IntPropLevel | |||
| ) |
Post domain consistent propagator for
.
Definition at line 126 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | a, | ||
| IntVar | x, | ||
| int | w, | ||
| IntVar | y, | ||
| int | h, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post domain consistent propagator for
.
If a is regarded as a two-dimensional array in row-major order of width w and height h, then z is constrained to be the element in column x and row y.
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
Throws an exception of type Int::ArgumentSizeMismatch, if
.
Definition at line 150 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | a, | ||
| IntVar | x, | ||
| int | w, | ||
| IntVar | y, | ||
| int | h, | ||
| BoolVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post domain consistent propagator for
.
If a is regarded as a two-dimensional array in row-major order of width w and height h, then z is constrained to be the element in column x and row y.
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
Throws an exception of type Int::ArgumentSizeMismatch, if
.
Definition at line 161 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | a, | ||
| IntVar | x, | ||
| int | w, | ||
| IntVar | y, | ||
| int | h, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
If a is regarded as a two-dimensional array in row-major order of width w and height h, then z is constrained to be the element in column x and row y.
Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
Throws an exception of type Int::ArgumentSizeMismatch, if
.
Definition at line 172 of file element.cpp.
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | a, | ||
| IntVar | x, | ||
| int | w, | ||
| IntVar | y, | ||
| int | h, | ||
| BoolVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post domain consistent propagator for
.
If a is regarded as a two-dimensional array in row-major order of width w and height h, then z is constrained to be the element in column x and row y.
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
Throws an exception of type Int::ArgumentSizeMismatch, if
.
Definition at line 183 of file element.cpp.
| void Gecode::distinct | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
for all
.
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Definition at line 46 of file distinct.cpp.
| void Gecode::distinct | ( | Home | home, |
| const IntArgs & | n, | ||
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
for all
.
Definition at line 65 of file distinct.cpp.
| void Gecode::distinct | ( | Home | home, |
| const BoolVarArgs & | b, | ||
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
for all
.
and
does not exceed the limits in Int::Limits. Definition at line 97 of file distinct.cpp.
| void Gecode::distinct | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | c, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
for all
.
and
does not exceed the limits in Int::Limits. Definition at line 154 of file distinct.cpp.
| void Gecode::channel | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | y, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
for all
.
Definition at line 143 of file channel.cpp.
| void Gecode::channel | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | xoff, | ||
| const IntVarArgs & | y, | ||
| int | yoff, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
for all
.
Definition at line 41 of file channel.cpp.
| void Gecode::channel | ( | Home | home, |
| BoolVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | |||
| ) |
Post domain consistent propagator for channeling a Boolean and an integer variable
.
Definition at line 148 of file channel.cpp.
|
inline |
Post domain consistent propagator for channeling an integer and a Boolean variable
.
Definition at line 37 of file channel.hpp.
| void Gecode::channel | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y, | ||
| int | o = 0, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post domain consistent propagator for channeling Boolean and integer variables
.
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Definition at line 155 of file channel.cpp.
| void Gecode::sorted | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | y, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator that y is x sorted in increasing order.
Might throw the following exceptions:
Definition at line 58 of file sorted.cpp.
| void Gecode::sorted | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | y, | ||
| const IntVarArgs & | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator that y is x sorted in increasing order.
The values in z describe the sorting permutation, that is
.
Might throw the following exceptions:
Definition at line 39 of file sorted.cpp.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | n, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | y, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntArgs & | y, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | n, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | y, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntArgs & | y, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | c, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that
and
(no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSetArgs & | c, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that
and
(no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | c, | ||
| const IntArgs & | v, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that
and
(no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSetArgs & | c, | ||
| const IntArgs & | v, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that
and
(no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | c, | ||
| const IntArgs & | v, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that
and
(no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.
| void Gecode::nvalues | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntRelType | irt, | ||
| int | y, | ||
| IntPropLevel | |||
| ) |
Post propagator for
.
Definition at line 40 of file nvalues.cpp.
| void Gecode::nvalues | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntRelType | irt, | ||
| IntVar | y, | ||
| IntPropLevel | |||
| ) |
Post propagator for
.
Definition at line 90 of file nvalues.cpp.
| void Gecode::nvalues | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntRelType | irt, | ||
| int | y, | ||
| IntPropLevel | |||
| ) |
Post propagator for
.
Definition at line 141 of file nvalues.cpp.
| void Gecode::nvalues | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntRelType | irt, | ||
| IntVar | y, | ||
| IntPropLevel | |||
| ) |
Post propagator for
.
Definition at line 189 of file nvalues.cpp.
| void Gecode::sequence | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | s, | ||
| int | q, | ||
| int | l, | ||
| int | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Posts a domain consistent propagator for the constraint
where the among constraint is defined as
.
Throws the following exceptions:
.
. Definition at line 47 of file sequence.cpp.
| void Gecode::sequence | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| const IntSet & | s, | ||
| int | q, | ||
| int | l, | ||
| int | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Posts a domain consistent propagator for the constraint
where the among constraint is defined as
.
Throws the following exceptions:
.
. Definition at line 112 of file sequence.cpp.
| void Gecode::min | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntVar | x2, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Definition at line 78 of file arithmetic.cpp.
| void Gecode::min | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
If x is empty, an exception of type Int::TooFewArguments is thrown.
Definition at line 91 of file arithmetic.cpp.
| void Gecode::max | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntVar | x2, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Definition at line 51 of file arithmetic.cpp.
| void Gecode::max | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
If x is empty, an exception of type Int::TooFewArguments is thrown.
Definition at line 63 of file arithmetic.cpp.
| void Gecode::argmin | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 163 of file arithmetic.cpp.
| void Gecode::argmin | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 189 of file arithmetic.cpp.
| void Gecode::argmax | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 110 of file arithmetic.cpp.
| void Gecode::argmax | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 136 of file arithmetic.cpp.
| void Gecode::argmin | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 265 of file arithmetic.cpp.
| void Gecode::argmin | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 289 of file arithmetic.cpp.
| void Gecode::argmax | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 216 of file arithmetic.cpp.
| void Gecode::argmax | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, |
||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
In case of ties, the smallest value for y is chosen (provided tiebreak is true).
If x is empty, an exception of type Int::TooFewArguments is thrown. If y occurs in x, an exception of type Int::ArgumentSame is thrown.
Definition at line 240 of file arithmetic.cpp.
| void Gecode::abs | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Definition at line 39 of file arithmetic.cpp.
| void Gecode::mult | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntVar | x2, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Definition at line 314 of file arithmetic.cpp.
| void Gecode::divmod | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntVar | x2, | ||
| IntVar | x3, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports bounds consistency (ipl = IPL_BND, default).
Definition at line 327 of file arithmetic.cpp.
| void Gecode::div | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntVar | x2, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports bounds consistency (ipl = IPL_BND, default).
Definition at line 351 of file arithmetic.cpp.
| void Gecode::mod | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntVar | x2, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports bounds consistency (ipl = IPL_BND, default).
Definition at line 360 of file arithmetic.cpp.
| void Gecode::sqr | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Definition at line 369 of file arithmetic.cpp.
| void Gecode::sqrt | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Definition at line 383 of file arithmetic.cpp.
| void Gecode::pow | ( | Home | home, |
| IntVar | x0, | ||
| int | n, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::OutOfLimits, if n is negative.
Definition at line 397 of file arithmetic.cpp.
| void Gecode::nroot | ( | Home | home, |
| IntVar | x0, | ||
| int | n, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator for
.
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::OutOfLimits, if n is not strictly positive.
Definition at line 416 of file arithmetic.cpp.
| IntSet Gecode::binpacking | ( | Home | home, |
| int | d, | ||
| const IntVarArgs & | l, | ||
| const IntVarArgs & | b, | ||
| const IntArgs & | s, | ||
| const IntArgs & | c, | ||
| IntPropLevel | |||
| ) |
Definition at line 66 of file bin-packing.cpp.
| void Gecode::order | ( | Home | home, |
| IntVar | s0, | ||
| int | p0, | ||
| IntVar | s1, | ||
| int | p1, | ||
| BoolVar | b, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for ordering two tasks.
Order two tasks with start times
and
with processing times
and
according to Boolean variable b (if b is zero
starts before
).
Throws an exception of Int::OutOfLimits, if the durations or the sum of durations and start times are too large.
| void Gecode::cumulatives | ( | Home | home, |
| const IntVarArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntVarArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 110 of file cumulatives.cpp.
| void Gecode::cumulatives | ( | Home | home, |
| const IntArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntVarArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 119 of file cumulatives.cpp.
| void Gecode::cumulatives | ( | Home | home, |
| const IntVarArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntVarArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 128 of file cumulatives.cpp.
| void Gecode::cumulatives | ( | Home | home, |
| const IntArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntVarArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 137 of file cumulatives.cpp.
| void Gecode::cumulatives | ( | Home | home, |
| const IntVarArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 146 of file cumulatives.cpp.
| void Gecode::cumulatives | ( | Home | home, |
| const IntArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 155 of file cumulatives.cpp.
| void Gecode::cumulatives | ( | Home | home, |
| const IntVarArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 164 of file cumulatives.cpp.
| void Gecode::cumulatives | ( | Home | home, |
| const IntArgs & | m, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| const IntArgs & | c, | ||
| bool | at_most, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for the cumulatives constraint.
Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.
The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).
| home | current space |
| m | is the machine assigned to task |
| s | is the start time assigned to task |
| p | is the processing time of task |
| e | is the end time assigned to task |
| u | is the amount of resources consumed by task |
| c | is the capacity, the amount of resource available for machine |
| at_most | at_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false) |
| ipl | Supports value-consistency only (ipl = IPL_VAL, default). |
| Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
| Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 173 of file cumulatives.cpp.
| void Gecode::unary | ( | Home | home, |
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on unary resources.
Schedule tasks with start times s and processing times p on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
Posting the constraint might throw the following exceptions:
| void Gecode::unary | ( | Home | home, |
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on unary resources.
Schedule optional tasks with start times s, processing times p, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
Posting the constraint might throw the following exceptions:
| void Gecode::unary | ( | Home | home, |
| const TaskTypeArgs & | t, | ||
| const IntVarArgs & | flex, | ||
| const IntArgs & | fix, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on unary resources.
Schedule tasks with flexible times flex and fixed times fix on a unary resource. For each task, it depends on t how the flexible and fix times are interpreted:
t[i] is TT_FIXP, then flex[i] is the start time and fix[i] is the processing time.t[i] is TT_FIXS, then flex[i] is the end time and fix[i] is the start time.t[i] is TT_FIXE, then flex[i] is the start time and fix[i] is the end time.The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
Posting the constraint might throw the following exceptions:
TT_FIXP or that could generate an overflow. | void Gecode::unary | ( | Home | home, |
| const TaskTypeArgs & | t, | ||
| const IntVarArgs & | flex, | ||
| const IntArgs & | fix, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on unary resources.
Schedule optional tasks with flexible times flex, fixed times fix, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a unary resource. For each task, it depends on t how the flexible and fix times are interpreted:
t[i] is TT_FIXP, then flex[i] is the start time and fix[i] is the processing time.t[i] is TT_FIXS, then flex[i] is the end time and fix[i] is the start time.t[i] is TT_FIXE, then flex[i] is the start time and fix[i] is the end time.The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
Posting the constraint might throw the following exceptions:
TT_FIXP or that could generate an overflow. | void Gecode::unary | ( | Home | home, |
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on unary resources.
Schedule tasks with start times s, processing times p, and end times e on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
The processing times are constrained to be non-negative.
Throws an exception of type Int::ArgumentSizeMismatch, if s and p are of different size.
| void Gecode::unary | ( | Home | home, |
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on unary resources.
Schedule optional tasks with start times s, processing times p, end times e, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The processing times are constrained to be non-negative.
Throws an exception of type Int::ArgumentSizeMismatch, if s, p, or m are of different size.
| void Gecode::cumulative | ( | Home | home, |
| int | c, | ||
| const TaskTypeArgs & | t, | ||
| const IntVarArgs & | flex, | ||
| const IntArgs & | fix, | ||
| const IntArgs & | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on cumulative resources.
Schedule tasks with flexible times flex, fixed times fix, and use capacity u on a cumulative resource with capacity c. For each task, it depends on t how the flexible and fix times are interpreted:
t[i] is TT_FIXP, then flex[i] is the start time and fix[i] is the processing time.t[i] is TT_FIXS, then flex[i] is the end time and fix[i] is the start time.t[i] is TT_FIXE, then flex[i] is the start time and fix[i] is the end time.The propagator performs propagation that depends on the integer propagation level ipl as follows:
The propagator uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 354 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| IntVar | c, | ||
| const TaskTypeArgs & | t, | ||
| const IntVarArgs & | flex, | ||
| const IntArgs & | fix, | ||
| const IntArgs & | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on cumulative resources.
Definition at line 362 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| int | c, | ||
| const TaskTypeArgs & | t, | ||
| const IntVarArgs & | flex, | ||
| const IntArgs & | fix, | ||
| const IntArgs & | u, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on cumulative resources.
Schedule tasks with flexible times flex, fixed times fix, use capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c. For each task, it depends on t how the flexible and fix times are interpreted:
t[i] is TT_FIXP, then flex[i] is the start time and fix[i] is the processing time.t[i] is TT_FIXS, then flex[i] is the end time and fix[i] is the start time.t[i] is TT_FIXE, then flex[i] is the start time and fix[i] is the end time.The propagator performs propagation that depends on the integer propagation level ipl as follows:
The propagator uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 373 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| IntVar | c, | ||
| const TaskTypeArgs & | t, | ||
| const IntVarArgs & | flex, | ||
| const IntArgs & | fix, | ||
| const IntArgs & | u, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on cumulative resources.
Definition at line 381 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| int | c, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntArgs & | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on cumulative resources.
Schedule tasks with start times s, processing times p, and use capacity u on a cumulative resource with capacity c.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
The propagator uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 392 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| IntVar | c, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntArgs & | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on cumulative resources.
Definition at line 399 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| int | c, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntArgs & | u, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on cumulative resources.
Schedule optional tasks with start times s, processing times p, used capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
The propagator uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 409 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| IntVar | c, | ||
| const IntVarArgs & | s, | ||
| const IntArgs & | p, | ||
| const IntArgs & | u, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on cumulative resources.
Definition at line 416 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| int | c, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on cumulative resources.
Schedule tasks with start times s, processing times p, end times e, and use capacity u on a cumulative resource with capacity c.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
The propagator uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 426 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| IntVar | c, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling tasks on cumulative resources.
Definition at line 434 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| int | c, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on cumulative resources.
Schedule optional tasks with start times s, processing times p, end times e, used capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c.
The propagator does not enforce
, this constraint has to be posted in addition to ensure consistency of the task bounds.
The propagator performs propagation that depends on the integer propagation level ipl as follows:
The propagator uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 445 of file cumulative.cpp.
| void Gecode::cumulative | ( | Home | home, |
| IntVar | c, | ||
| const IntVarArgs & | s, | ||
| const IntVarArgs & | p, | ||
| const IntVarArgs & | e, | ||
| const IntArgs & | u, | ||
| const BoolVarArgs & | m, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagators for scheduling optional tasks on cumulative resources.
Definition at line 453 of file cumulative.cpp.
| void Gecode::circuit | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a circuit.
x forms a circuit if the graph with edges
where
has a single cycle covering all nodes.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.
Throws the following exceptions:
Definition at line 73 of file circuit.cpp.
| void Gecode::circuit | ( | Home | home, |
| int | offset, | ||
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a circuit.
x forms a circuit if the graph with edges
where
has a single cycle covering all nodes.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.
Throws the following exceptions:
Definition at line 41 of file circuit.cpp.
| void Gecode::circuit | ( | Home | home, |
| const IntArgs & | c, | ||
| const IntVarArgs & | x, | ||
| const IntVarArgs & | y, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a circuit with costs y and z.
x forms a circuit if the graph with edges
where
has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire circuit. The variables y define the cost of the edge in x: that is, if
then
.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
. Definition at line 102 of file circuit.cpp.
| void Gecode::circuit | ( | Home | home, |
| const IntArgs & | c, | ||
| int | offset, | ||
| const IntVarArgs & | x, | ||
| const IntVarArgs & | y, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a circuit with costs y and z.
x forms a circuit if the graph with edges
where
has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire circuit. The variables y define the cost of the edge in x: that is, if
then
.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
.Definition at line 78 of file circuit.cpp.
| void Gecode::circuit | ( | Home | home, |
| const IntArgs & | c, | ||
| const IntVarArgs & | x, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a circuit with cost z.
x forms a circuit if the graph with edges
where
has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire circuit.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
. Definition at line 117 of file circuit.cpp.
| void Gecode::circuit | ( | Home | home, |
| const IntArgs & | c, | ||
| int | offset, | ||
| const IntVarArgs & | x, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a circuit with cost z.
x forms a circuit if the graph with edges
where
has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire circuit.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
.Definition at line 108 of file circuit.cpp.
| void Gecode::path | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | s, | ||
| IntVar | e, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a Hamiltonian path.
x forms a Hamiltonian path if the graph with edges
where
visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to
.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.
Throws the following exceptions:
Definition at line 169 of file circuit.cpp.
| void Gecode::path | ( | Home | home, |
| int | offset, | ||
| const IntVarArgs & | x, | ||
| IntVar | s, | ||
| IntVar | e, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a Hamiltonian path.
x forms a Hamiltonian path if the graph with edges
where
visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to
.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.
Throws the following exceptions:
Definition at line 124 of file circuit.cpp.
| void Gecode::path | ( | Home | home, |
| const IntArgs & | c, | ||
| const IntVarArgs & | x, | ||
| IntVar | s, | ||
| IntVar | e, | ||
| const IntVarArgs & | y, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a Hamiltonian path with costs y and z.
x forms a Hamiltonian path if the graph with edges
where
visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to
. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire path. The variables y define the cost of the edge in x: that is, if
then
.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
. Definition at line 201 of file circuit.cpp.
| void Gecode::path | ( | Home | home, |
| const IntArgs & | c, | ||
| int | offset, | ||
| const IntVarArgs & | x, | ||
| IntVar | s, | ||
| IntVar | e, | ||
| const IntVarArgs & | y, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a Hamiltonian path with costs y and z.
x forms a Hamiltonian path if the graph with edges
where
visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to
. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire path. The variables y define the cost of the edge in x: that is, if
then
.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
.Definition at line 175 of file circuit.cpp.
| void Gecode::path | ( | Home | home, |
| const IntArgs & | c, | ||
| const IntVarArgs & | x, | ||
| IntVar | s, | ||
| IntVar | e, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a Hamiltonian path with cost z.
x forms a Hamiltonian path if the graph with edges
where
visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to
. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire path.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
. Definition at line 217 of file circuit.cpp.
| void Gecode::path | ( | Home | home, |
| const IntArgs & | c, | ||
| int | offset, | ||
| const IntVarArgs & | x, | ||
| IntVar | s, | ||
| IntVar | e, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Post propagator such that x forms a Hamiltonian path with cost z.
x forms a Hamiltonian path if the graph with edges
where
visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to
. The integer array c gives the costs of all possible edges where
is the cost of the edge
. The variable z is the cost of the entire circuit.
Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.
Throws the following exceptions:
.Definition at line 208 of file circuit.cpp.
| void Gecode::wait | ( | Home | home, |
| IntVar | x, | ||
| std::function< void(Space &home)> | c, | ||
| IntPropLevel | |||
| ) |
| void Gecode::wait | ( | Home | home, |
| BoolVar | x, | ||
| std::function< void(Space &home)> | c, | ||
| IntPropLevel | |||
| ) |
| void Gecode::wait | ( | Home | home, |
| const IntVarArgs & | x, | ||
| std::function< void(Space &home)> | c, | ||
| IntPropLevel | |||
| ) |
| void Gecode::wait | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| std::function< void(Space &home)> | c, | ||
| IntPropLevel | |||
| ) |
| void Gecode::when | ( | Home | home, |
| BoolVar | x, | ||
| std::function< void(Space &home)> | t, | ||
| std::function< void(Space &home)> | e, | ||
| IntPropLevel | |||
| ) |
| void Gecode::when | ( | Home | home, |
| BoolVar | x, | ||
| std::function< void(Space &home)> | t, | ||
| IntPropLevel | |||
| ) |
| void Gecode::unshare | ( | Home | home, |
| IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF |
||
| ) |
Replace multiple variable occurences in x by fresh variables.
Supports domain consistency (ipl = IPL_DOM, default) and bounds consistency (ipl = IPL_BND).
Definition at line 136 of file unshare.cpp.
| void Gecode::unshare | ( | Home | home, |
| BoolVarArgs & | x, | ||
| IntPropLevel | |||
| ) |
Replace multiple variable occurences in x by fresh variables.
Definition at line 141 of file unshare.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Select value as defined by the value function v and commit function c Uses a commit function as default that posts the constraints that a variable x must be equal to a value n for the first alternative and that x must be different from n for the second alternative.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Select value as defined by the value function v and commit function c Uses a commit function as default that posts the constraints that a variable x must be equal to a value n for the first alternative and that x must be different from n for the second alternative.
|
inline |
Select smallest value.
Definition at line 55 of file assign.hpp.
|
inline |
Select greatest value not greater than the median.
Definition at line 60 of file assign.hpp.
|
inline |
Select largest value.
Definition at line 65 of file assign.hpp.
|
inline |
Select random value.
Definition at line 70 of file assign.hpp.
|
inline |
Select value as defined by the value function v and commit function c.
Uses a commit function as default that posts the constraint that a variable x must be equal to the value n.
Definition at line 75 of file assign.hpp.
|
inline |
Select smallest value.
Definition at line 100 of file assign.hpp.
|
inline |
Select largest value.
Definition at line 105 of file assign.hpp.
|
inline |
Select random value.
Definition at line 110 of file assign.hpp.
|
inline |
Select value as defined by the value function v and commit function c.
Uses a commit function as default that posts the constraint that a variable x must be equal to the value n.
Definition at line 115 of file assign.hpp.
| SymmetryHandle Gecode::VariableSymmetry | ( | const IntVarArgs & | vars | ) |
| SymmetryHandle Gecode::VariableSymmetry | ( | const BoolVarArgs & | vars | ) |
| SymmetryHandle Gecode::VariableSymmetry | ( | const IntVarArgs & | x, |
| const IntArgs & | indices | ||
| ) |
| SymmetryHandle Gecode::ValueSymmetry | ( | const IntArgs & | vs | ) |
| SymmetryHandle Gecode::ValueSymmetry | ( | const IntSet & | vs | ) |
| SymmetryHandle Gecode::ValueSymmetry | ( | IntVar | x | ) |
| SymmetryHandle Gecode::VariableSequenceSymmetry | ( | const IntVarArgs & | x, |
| int | ss | ||
| ) |
| SymmetryHandle Gecode::VariableSequenceSymmetry | ( | const BoolVarArgs & | x, |
| int | ss | ||
| ) |
| SymmetryHandle Gecode::ValueSequenceSymmetry | ( | const IntArgs & | v, |
| int | ss | ||
| ) |
| SymmetryHandle Gecode::values_reflect | ( | int | lower, |
| int | upper | ||
| ) |
| SymmetryHandle Gecode::values_reflect | ( | IntVar | x | ) |
The values in the domain of \x can be reflected.
| void Gecode::relax | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | sx, | ||
| Rnd | r, | ||
| double | p | ||
| ) |
| void Gecode::relax | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| const BoolVarArgs & | sx, | ||
| Rnd | r, | ||
| double | p | ||
| ) |