
Gecode toplevel namespace More...
Namespaces | |
| namespace | CPProfiler |
| Code that is specific to the CPProfiler. | |
| namespace | Driver |
| Script commandline driver. | |
| namespace | FlatZinc |
| Interpreter for the FlatZinc language. | |
| namespace | Float |
| Floating point numbers. | |
| namespace | Gist |
| The Gecode Interactive Search Tool. | |
| namespace | Int |
| Finite domain integers. | |
| namespace | Iter |
| Range and value iterators. | |
| namespace | Kernel |
| Kernel functionality | |
| namespace | MiniModel |
| Minimalistic modeling support. | |
| namespace | Search |
| Search engines | |
| namespace | Set |
| Finite integer sets. | |
| namespace | Support |
| Support algorithms and datastructures | |
Classes | |
| class | Action |
| Class for action management. More... | |
| class | Actor |
| Base-class for both propagators and branchers. More... | |
| class | ActorLink |
| Double-linked list for actors. More... | |
| class | Advisor |
| Base-class for advisors. More... | |
| class | Advisors |
| Class to iterate over advisors of a council. More... | |
| class | AFC |
| Class for AFC (accumulated failure count) management. More... | |
| class | AllVarConf |
| Configuration for all variable implementations. More... | |
| class | Archive |
| Archive representation More... | |
| class | ArgArray |
| Argument array for non-primitive types. More... | |
| class | ArgArrayBase |
| Base-class for argument arrays. More... | |
| class | ArrayTraits |
| Traits of arrays in Gecode. More... | |
| class | ArrayTraits< ArgArray< FloatVal > > |
| Traits of FloatValArgs. More... | |
| class | ArrayTraits< ArgArray< int > > |
| Traits of IntArgs. More... | |
| class | ArrayTraits< ArgArray< IntSet > > |
| Traits of IntSetArgs. More... | |
| class | ArrayTraits< ArgArray< SEB > > |
| Traits of SEBs. More... | |
| class | ArrayTraits< ArgArray< SymmetryHandle > > |
| Traits of Symmetries. More... | |
| class | ArrayTraits< ArgArray< TaskType > > |
| Traits of TaskTypeArgs. More... | |
| class | ArrayTraits< ArgArray< VarImpBase * > > |
| Traits of ArgArray<VarImpBase*>. More... | |
| class | ArrayTraits< BoolVarArgs > |
| Traits of BoolVarArgs. More... | |
| class | ArrayTraits< BoolVarArray > |
| Traits of BoolVarArray. More... | |
| class | ArrayTraits< FloatValArgs > |
| Traits of FloatValArgs. More... | |
| class | ArrayTraits< FloatVarArgs > |
| Traits of FloatVarArgs. More... | |
| class | ArrayTraits< FloatVarArray > |
| Traits of FloatVarArray. More... | |
| class | ArrayTraits< IntArgs > |
| Traits of IntArgs. More... | |
| class | ArrayTraits< IntVarArgs > |
| Traits of IntVarArgs. More... | |
| class | ArrayTraits< IntVarArray > |
| Traits of IntVarArray. More... | |
| class | ArrayTraits< LiteralArgs > |
| Traits of LiteralArgs. More... | |
| class | ArrayTraits< SEBs > |
| Traits of SEBs. More... | |
| class | ArrayTraits< SetVarArgs > |
| Traits of SetVarArgs. More... | |
| class | ArrayTraits< SetVarArray > |
| Traits of SetVarArray. More... | |
| class | ArrayTraits< VarArgArray< BoolVar > > |
| Traits of BoolVarArgs. More... | |
| class | ArrayTraits< VarArgArray< FloatVar > > |
| Traits of FloatVarArgs. More... | |
| class | ArrayTraits< VarArgArray< IntVar > > |
| Traits of IntVarArgs. More... | |
| class | ArrayTraits< VarArgArray< SetVar > > |
| Traits of VarArgArray<SetVar>. More... | |
| class | ArrayTraits< VarArray< BoolVar > > |
| Traits of BoolVarArray. More... | |
| class | ArrayTraits< VarArray< FloatVar > > |
| Traits of FloatVarArray. More... | |
| class | ArrayTraits< VarArray< IntVar > > |
| Traits of IntVarArray. More... | |
| class | ArrayTraits< VarArray< SetVar > > |
| Traits of VarArray<SetVar>. More... | |
| class | BAB |
| Depth-first branch-and-bound search engine. More... | |
| class | BaseOptions |
| Base class for script options. More... | |
| class | BinaryPropagator |
| Binary propagator. More... | |
| class | BoolAction |
| Recording actions for Boolean variables. More... | |
| class | BoolAFC |
| Recording AFC information for Boolean variables. More... | |
| class | BoolAssign |
| Which values to select for assignment. More... | |
| class | BoolCHB |
| Recording CHB for Boolean variables. More... | |
| class | BoolExpr |
| Boolean expressions. More... | |
| class | BoolTraceDelta |
| Trace delta information for Boolean variables. More... | |
| class | BoolValBranch |
| Which values to select for branching first. More... | |
| class | BoolVar |
| Boolean integer variables. More... | |
| class | BoolVarArgs |
| Passing Boolean variables. More... | |
| class | BoolVarArray |
| Boolean variable array. More... | |
| class | BoolVarBranch |
| Which Boolean variable to select for branching. More... | |
| class | Brancher |
| Base-class for branchers. More... | |
| class | BrancherFilter |
| Class storing a branch filter function. More... | |
| class | BrancherGroup |
| Group of branchers. More... | |
| class | BrancherNoFilter |
| Class without a branch filter function. More... | |
| class | BrancherNoPrint |
| Class without print function. More... | |
| class | BrancherPrint |
| Class storing a print function. More... | |
| class | Branchers |
| Class to iterate over branchers in a group. More... | |
| class | BranchTraits |
| Traits for branching. More... | |
| class | BranchTraits< BoolVar > |
| Traits of BoolVar for branching. More... | |
| class | BranchTraits< FloatVar > |
| Traits of FloatVar for branching. More... | |
| class | BranchTraits< IntVar > |
| Traits of IntVar for branching. More... | |
| class | BranchTraits< SetVar > |
| Traits of SetVar for branching. More... | |
| class | CHB |
| Class for CHB management. More... | |
| class | Choice |
| Choice for performing commit More... | |
| class | ChooseMax |
| Choose views with larger merit values. More... | |
| class | ChooseMin |
| Choose views with smaller merit values. More... | |
| class | CloneStatistics |
| Statistics for execution of clone More... | |
| class | CommitStatistics |
| Statistics for execution of commit More... | |
| class | CommitTraceInfo |
| Commit trace information. More... | |
| class | ConstView |
| Base-class for constant views. More... | |
| class | Council |
| Council of advisors More... | |
| class | CPProfilerSearchTracer |
| Class to record search trace info for CPProfiler. More... | |
| class | Delta |
| Generic domain change information to be supplied to advisors. More... | |
| class | DerivedView |
| Base-class for derived views. More... | |
| class | DFA |
| Deterministic finite automaton (DFA). More... | |
| class | DFS |
| Depth-first search engine. More... | |
| class | DynamicCastFailed |
| Exception: dynamic cast failed More... | |
| class | Exception |
| Exception: Base-class for exceptions More... | |
| class | FloatAction |
| Recording actions for float variables. More... | |
| class | FloatAFC |
| Recording AFC information for float variables. More... | |
| class | FloatAssign |
| Which values to select for assignment. More... | |
| class | FloatCHB |
| Recording CHB for float variables. More... | |
| class | FloatMaximizeSpace |
| Class for maximizing float cost. More... | |
| class | FloatMinimizeSpace |
| Class for minimizing float cost. More... | |
| class | FloatNumBranch |
| Value description class for branching. More... | |
| class | FloatTraceDelta |
| Trace delta information for float variables. More... | |
| class | FloatVal |
| Float value type. More... | |
| class | FloatValArgs |
| Passing float arguments. More... | |
| class | FloatValBranch |
| Which values to select for branching first. More... | |
| class | FloatVar |
| Float variables. More... | |
| class | FloatVarArgs |
| Passing float variables. More... | |
| class | FloatVarArray |
| Float variable array. More... | |
| class | FloatVarBranch |
| Which variable to select for branching. More... | |
| class | FreeList |
| Base-class for freelist-managed objects. More... | |
| class | Group |
| Group baseclass for controlling actors. More... | |
| class | Heap |
| Heap memory management class More... | |
| class | HeapAllocated |
| Base class for heap allocated objects. More... | |
| class | Home |
| Home class for posting propagators More... | |
| class | IllegalDecay |
| Exception: illegal decay factor More... | |
| class | InstanceOptions |
| Options for scripts with additional instance parameter More... | |
| class | IntAction |
| Recording actions for integer variables. More... | |
| class | IntAFC |
| Recording AFC information for integer variables. More... | |
| class | IntArgs |
| Passing integer arguments. More... | |
| class | IntAssign |
| Which values to select for assignment. More... | |
| class | IntCHB |
| Recording CHB for integer variables. More... | |
| class | IntLexMaximizeSpace |
| Class for lexicographically maximizing integer costs. More... | |
| class | IntLexMinimizeSpace |
| Class for lexicographically minimizing integer costs. More... | |
| class | IntMaximizeSpace |
| Class for maximizing integer cost. More... | |
| class | IntMinimizeSpace |
| Class for minimizing integer cost. More... | |
| class | IntPropLevels |
| Class for specifying integer propagation levels used by minimodel. More... | |
| class | IntSet |
| Integer sets. More... | |
| class | IntSetInit |
| Integer set initialization. More... | |
| class | IntSetInit< IntArgs > |
| Initialize integer set with integer arguments. More... | |
| class | IntSetInit< IntSet > |
| Initialize integer set with integer set. More... | |
| class | IntSetRanges |
| Range iterator for integer sets. More... | |
| class | IntSetValues |
| Value iterator for integer sets. More... | |
| class | IntTraceDelta |
| Trace delta information for integer variables. More... | |
| class | IntValBranch |
| Which values to select for branching first. More... | |
| class | IntVar |
| Integer variables. More... | |
| class | IntVarArgs |
| Passing integer variables. More... | |
| class | IntVarArray |
| Integer variable array. More... | |
| class | IntVarBranch |
| Which integer variable to select for branching. More... | |
| class | IntVarRanges |
| Range iterator for integer variables More... | |
| class | IntVarValues |
| Value iterator for integer variables. More... | |
| class | InvalidFunction |
| Exception: invalid function More... | |
| class | LDS |
| Limited discrepancy search engine. More... | |
| class | LinFloatExpr |
| Float expressions More... | |
| class | LinFloatRel |
| Linear relations. More... | |
| class | LinIntExpr |
| Linear expressions over integer variables. More... | |
| class | LinIntRel |
| Linear relations over integer variables. More... | |
| class | LocalHandle |
| Handles for local (space-shared) objects. More... | |
| class | LocalObject |
| Local (space-shared) object. More... | |
| class | Matrix |
| Matrix-interface for arrays. More... | |
| class | MemoryExhausted |
| Exception: Memory exhausted More... | |
| class | MeritAction |
| Merit class for action. More... | |
| class | MeritAFC |
| Merit class for AFC. More... | |
| class | MeritBase |
| Base-class for merit class. More... | |
| class | MeritCHB |
| Merit class for CHB. More... | |
| class | MeritDegree |
| Merit class for degree. More... | |
| class | MeritFunction |
| Merit class for user-defined merit function. More... | |
| class | MetaInfo |
| Information passed by meta search engines. More... | |
| class | MixBinaryPropagator |
| Mixed binary propagator. More... | |
| class | MixNaryOnePropagator |
| Mixed (n+1)-ary propagator. More... | |
| class | MixTernaryPropagator |
| Mixed ternary propagator. More... | |
| class | MoreThanOneTracer |
| Exception: action has wrong arity More... | |
| class | NaryOnePropagator |
| (n+1)-ary propagator More... | |
| class | NaryPropagator |
| n-ary propagator More... | |
| class | NaryWait |
| Wait propagator for several views. More... | |
| class | NGL |
| No-good literal recorded during search. More... | |
| class | NoGoods |
| No-goods recorded from restarts. More... | |
| class | NoIdxVarImpConf |
| Configuration class for variable implementations without index structure. More... | |
| class | NonLinFloatExpr |
| Base class for non-linear float expressions. More... | |
| class | NonLinIntExpr |
| Base class for non-linear expressions over integer variables. More... | |
| class | OperatingSystemError |
| Exception: operating system error More... | |
| class | Options |
| Options for scripts More... | |
| class | PBS |
| Meta engine using a portfolio of search engines. More... | |
| class | Pos |
| Position information. More... | |
| class | PosChoice |
| Choices storing position More... | |
| class | PostInfo |
| Class to set group information when a post function is executed. More... | |
| class | PostTraceInfo |
| Post trace information. More... | |
| class | PosValChoice |
| Choice storing position and value More... | |
| class | PropagateTraceInfo |
| Propagate trace information. More... | |
| class | Propagator |
| Base-class for propagators. More... | |
| class | PropagatorGroup |
| Group of propagators. More... | |
| class | Propagators |
| Class to iterate over propagators in a group. More... | |
| class | PropCost |
| Propagation cost. More... | |
| class | RangeList |
| Lists of ranges (intervals). More... | |
| class | RBS |
| Meta-engine performing restart-based search. More... | |
| class | REG |
| Regular expressions over integer values. More... | |
| class | Region |
| Handle to region. More... | |
| struct | region_allocator |
| Allocator that allocates memory from a region. More... | |
| struct | region_allocator< void > |
Region allocator - specialization for void. More... | |
| class | Reify |
| Reification specification. More... | |
| class | Rnd |
| Random number generator. More... | |
| class | SearchTracer |
| Support for tracing search. More... | |
| class | SEBs |
| Passing search engine builder arguments. More... | |
| class | SetAction |
| Recording actions for set variables. More... | |
| class | SetAFC |
| Recording AFC information for set variables. More... | |
| class | SetAssign |
| Which value to select for assignment. More... | |
| class | SetCHB |
| Recording CHB for set variables. More... | |
| class | SetCmpRel |
| Comparison relation (for two-sided comparisons). More... | |
| class | SetExpr |
| Set expressions More... | |
| class | SetRel |
| Set relations More... | |
| class | SetTraceDelta |
| Trace delta information for set variables. More... | |
| class | SetValBranch |
| Which values to select for branching first. More... | |
| class | SetVar |
| Set variables More... | |
| class | SetVarArgs |
| Passing set variables. More... | |
| class | SetVarArray |
| Set variable array More... | |
| class | SetVarBranch |
| Which variable to select for branching. More... | |
| class | SetVarGlbRanges |
| Iterator for the greatest lower bound ranges of a set variable. More... | |
| class | SetVarGlbValues |
| Iterator for the values in the greatest lower bound of a set variable. More... | |
| class | SetVarLubRanges |
| Iterator for the least upper bound ranges of a set variable. More... | |
| class | SetVarLubValues |
| Iterator for the values in the least upper bound of a set variable. More... | |
| class | SetVarUnknownRanges |
| Iterator for the unknown ranges of a set variable. More... | |
| class | SetVarUnknownValues |
| Iterator for the values in the unknown set of a set variable. More... | |
| class | SharedArray |
| Shared array with arbitrary number of elements. More... | |
| class | SharedData |
| Class for sharing data between spaces. More... | |
| class | SharedHandle |
| The shared handle. More... | |
| class | SizeOptions |
| Options for scripts with additional size parameter More... | |
| class | Slice |
| A slice of a matrix. More... | |
| class | Space |
| Computation spaces. More... | |
| struct | space_allocator |
| Allocator that allocates memory from a space heap. More... | |
| struct | space_allocator< void > |
Space allocator - specialization for void. More... | |
| class | SpaceFailed |
| Exception: Operation on failed space invoked More... | |
| class | SpaceIllegalAlternative |
| Exception: Commit with illegal alternative More... | |
| class | SpaceNoBrancher |
| Exception: Commit when no brancher present More... | |
| class | SpaceNotCloned |
| Exception: Copy constructor did not call base class copy constructor More... | |
| class | SpaceNotStable |
| Exception: Operation on not stable space invoked More... | |
| class | StatusStatistics |
| Statistics for execution of status More... | |
| class | StdBoolTracer |
| Standard Boolean variable tracer. More... | |
| class | StdFloatTracer |
| Standard float variable tracer. More... | |
| class | StdIntTracer |
| Standard integer variable tracer. More... | |
| class | StdSearchTracer |
| class | StdSetTracer |
| Standard set variable tracer. More... | |
| class | StdTracer |
| Default tracer. More... | |
| class | SubscribedPropagators |
| Iterator over subscribed propagators. More... | |
| class | Symmetries |
| Collection of symmetries. More... | |
| class | SymmetryHandle |
| A reference-counted pointer to a SymmetryObject. More... | |
| class | TernaryPropagator |
| Ternary propagator. More... | |
| class | TFE |
| Trace filter expressions. More... | |
| class | TieBreak |
| Combine variable selection criteria for tie-breaking. More... | |
| class | TooManyBranchers |
| Exception: too many branchers More... | |
| class | TooManyGroups |
| Exception: too many groups More... | |
| class | TraceFilter |
| Trace filters. More... | |
| class | Tracer |
| Tracer. More... | |
| class | TracerBase |
| Class to provide synchronization. More... | |
| class | TraceRecorder |
| Propagator for recording trace information. More... | |
| class | TraceTraits |
| Traits for tracing. More... | |
| class | TraceTraits< Float::FloatView > |
| Trace traits for float views. More... | |
| class | TraceTraits< Int::BoolView > |
| Trace traits for Boolean views. More... | |
| class | TraceTraits< Int::IntView > |
| Trace traits for integer views. More... | |
| class | TraceTraits< Set::SetView > |
| Trace traits for set views. More... | |
| class | TupleSet |
| Class representing a set of tuples. More... | |
| class | UnaryPropagator |
| Unary propagator. More... | |
| class | UnaryWait |
| Wait propagator for single view. More... | |
| class | UninitializedAction |
| Exception: uninitialized action More... | |
| class | UninitializedAFC |
| Exception: uninitialized AFC More... | |
| class | UninitializedCHB |
| Exception: uninitialized CHB More... | |
| class | UninitializedRnd |
| Exception: uninitialized random number generator More... | |
| class | UnknownBrancher |
| Exception: unknown brancher More... | |
| class | UnknownPropagator |
| Exception: unknown propagator More... | |
| class | ValBranch |
| Value branching information. More... | |
| class | ValCommit |
| Base class for value commit. More... | |
| class | ValCommitFunction |
| Class for user-defined value commit. More... | |
| class | ValSel |
| Base class for value selection. More... | |
| class | ValSelCommit |
| Class for value selection and commit. More... | |
| class | ValSelCommitBase |
| Base class for value selection and commit. More... | |
| class | ValSelFunction |
| User-defined value selection. More... | |
| class | Var |
| Base class for variables. More... | |
| class | VarArgArray |
| Argument array for variables. More... | |
| class | VarArray |
| Variable arrays More... | |
| class | VarBranch |
| Variable branching information. More... | |
| class | VarImp |
| Base-class for variable implementations. More... | |
| class | VarImpBase |
| Base-class for variable implementations. More... | |
| class | VarImpDisposer |
| Variable implementation disposer More... | |
| class | VarImpDisposerBase |
| Base class for Variable type disposer. More... | |
| class | VarImpVar |
| Variables as interfaces to variable implementations. More... | |
| class | VarImpView |
| Base-class for variable implementation views. More... | |
| class | ViewAdvisor |
| Advisor storing a single view More... | |
| class | ViewArray |
| View arrays. More... | |
| class | ViewArray< Int::Linear::NoView > |
| View array for no view (empty). More... | |
| class | ViewBrancher |
| Generic brancher by view selection. More... | |
| class | ViewSel |
| Abstract class for view selection. More... | |
| class | ViewSelChoose |
| Choose view according to merit. More... | |
| class | ViewSelChooseTbl |
| Choose view according to merit taking tie-break limit into account. More... | |
| class | ViewSelMax |
| Select view with largest merit. More... | |
| class | ViewSelMaxTbl |
| Select view with largest merit taking tie-break limit into account. More... | |
| class | ViewSelMin |
| Select view with least merit. More... | |
| class | ViewSelMinTbl |
| Select view with least merit taking tie-break limit into account. More... | |
| class | ViewSelNone |
| Select the first unassigned view. More... | |
| class | ViewSelRnd |
| Select a view randomly. More... | |
| class | ViewTraceInfo |
| View trace information. More... | |
| class | ViewTracer |
| Tracer that process view trace information. More... | |
| class | ViewTraceRecorder |
| Propagator for recording view trace information. More... | |
| class | ViewValBrancher |
| Generic brancher by view and value selection. More... | |
| class | ViewValNGL |
| View-value no-good literal. More... | |
Typedefs | |
| typedef Driver::ScriptBase< Driver::IgnoreStepOption< Space > > | Script |
| Base-class for scripts. | |
| typedef Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > > | IntMinimizeScript |
| Base-class for scripts for finding solution of lowest integer cost. | |
| typedef Driver::ScriptBase< Driver::IgnoreStepOption< IntMaximizeSpace > > | IntMaximizeScript |
| Base-class for scripts for finding solution of highest integer cost. | |
| typedef Driver::ScriptBase< Driver::IgnoreStepOption< IntLexMinimizeSpace > > | IntLexMinimizeScript |
| Base-class for scripts for finding solution of lexically lowest integer costs. | |
| typedef Driver::ScriptBase< Driver::IgnoreStepOption< IntLexMaximizeSpace > > | IntLexMaximizeScript |
| Base-class for scripts for finding solution of lexically highest integer costs. | |
| typedef Driver::ScriptBase< Driver::ExtractStepOption< FloatMinimizeSpace > > | FloatMinimizeScript |
| Base-class for scripts for finding solution of lowest float cost. | |
| typedef Driver::ScriptBase< Driver::ExtractStepOption< FloatMaximizeSpace > > | FloatMaximizeScript |
| Base-class for scripts for finding solution of highest float cost. | |
| typedef double | FloatNum |
| Floating point number base type. | |
| typedef std::function< bool(const Space &home, FloatVar x, int i)> | FloatBranchFilter |
| Branch filter function type for float variables. | |
| typedef std::function< double(const Space &home, FloatVar x, int i)> | FloatBranchMerit |
| Branch merit function type for float variables. | |
| typedef std::function< FloatNumBranch(const Space &home, FloatVar x, int i)> | FloatBranchVal |
| Branch value function type for float variables. | |
| typedef std::function< void(Space &home, unsigned int a, FloatVar x, int i, FloatNumBranch nl)> | FloatBranchCommit |
| Branch commit function type for float variables. | |
| typedef std::function< void(const Space &home, const Brancher &b, unsigned int a, FloatVar x, int i, const FloatNumBranch &n, std::ostream &o)> | FloatVarValPrint |
| Function type for explaining branching alternatives for float variables. | |
| typedef ViewTracer< Float::FloatView > | FloatTracer |
| Tracer for float variables. | |
| typedef ViewTraceRecorder< Float::FloatView > | FloatTraceRecorder |
| Trace recorder for float variables. | |
| typedef ArgArray< IntSet > | IntSetArgs |
| Passing set arguments. | |
| typedef ArgArray< TaskType > | TaskTypeArgs |
| Argument arrays for passing task type arguments. | |
| typedef SharedArray< int > | IntSharedArray |
| Arrays of integers that can be shared among several element constraints. | |
| typedef std::function< bool(const Space &home, IntVar x, int i)> | IntBranchFilter |
| Branch filter function type for integer variables. | |
| typedef std::function< bool(const Space &home, BoolVar x, int i)> | BoolBranchFilter |
| Branch filter function type for Boolean variables. | |
| typedef std::function< double(const Space &home, IntVar x, int i)> | IntBranchMerit |
| Branch merit function type for integer variables. | |
| typedef std::function< double(const Space &home, BoolVar x, int i)> | BoolBranchMerit |
| Branch merit function type for Boolean variables. | |
| typedef std::function< int(const Space &home, IntVar x, int i)> | IntBranchVal |
| Branch value function type for integer variables. | |
| typedef std::function< int(const Space &home, BoolVar x, int i)> | BoolBranchVal |
| Branch value function type for Boolean variables. | |
| typedef std::function< void(Space &home, unsigned int a, IntVar x, int i, int n)> | IntBranchCommit |
| Branch commit function type for integer variables. | |
| typedef std::function< void(Space &home, unsigned int a, BoolVar x, int i, int n)> | BoolBranchCommit |
| Branch commit function type for Boolean variables. | |
| typedef std::function< void(const Space &home, const Brancher &b, unsigned int a, IntVar x, int i, const int &n, std::ostream &o)> | IntVarValPrint |
| Function type for printing branching alternatives for integer variables. | |
| typedef std::function< void(const Space &home, const Brancher &b, unsigned int a, BoolVar x, int i, const int &n, std::ostream &o)> | BoolVarValPrint |
| Function type for printing branching alternatives for Boolean variables. | |
| typedef ViewTracer< Int::IntView > | IntTracer |
| Tracer for integer variables. | |
| typedef ViewTraceRecorder< Int::IntView > | IntTraceRecorder |
| Trace recorder for integer variables. | |
| typedef ViewTracer< Int::BoolView > | BoolTracer |
| Tracer for Boolean variables. | |
| typedef ViewTraceRecorder< Int::BoolView > | BoolTraceRecorder |
| Trace recorder for Boolean variables. | |
| typedef ArgArray< Int::LDSB::Literal > | LiteralArgs |
| An array of literals. | |
| template<class Var> | |
| using | BranchFilter |
| Function type for branch filter functions. | |
| template<class Var, class Val> | |
| using | VarValPrint |
| Function type for printing variable and value selection. | |
| typedef std::function< double(const Space &home, double w, double b)> | BranchTbl |
| Tie-break limit function. | |
| typedef int | ModEvent |
| Type for modification events. | |
| typedef int | PropCond |
| Type for propagation conditions. | |
| typedef int | ModEventDelta |
| Modification event deltas. | |
| typedef Search::Builder * | SEB |
| Type for a search engine builder. | |
| typedef std::function< bool(const Space &home, SetVar x, int i)> | SetBranchFilter |
| Branch filter function type for set variables. | |
| typedef std::function< double(const Space &home, SetVar x, int i)> | SetBranchMerit |
| Branch merit function type for set variables. | |
| typedef std::function< int(const Space &home, SetVar x, int i)> | SetBranchVal |
| Branch value function type for set variables. | |
| typedef std::function< void(Space &home, unsigned int a, SetVar x, int i, int n)> | SetBranchCommit |
| Branch commit function type for set variables. | |
| typedef std::function< void(const Space &home, const Brancher &b, unsigned int a, SetVar x, int i, const int &n, std::ostream &o)> | SetVarValPrint |
| Function type for printing branching alternatives for set variables. | |
| typedef ViewTracer< Set::SetView > | SetTracer |
| Tracer for set variables. | |
| typedef ViewTraceRecorder< Set::SetView > | SetTraceRecorder |
| Trace recorder for set variables. | |
Enumerations | |
| enum | ScriptMode { SM_SOLUTION , SM_TIME , SM_STAT , SM_GIST } |
| Different modes for executing scripts. More... | |
| enum | RestartMode { RM_NONE , RM_CONSTANT , RM_LINEAR , RM_LUBY , RM_GEOMETRIC } |
| Different modes for restart-based search. More... | |
| enum | FloatRelType { FRT_EQ , FRT_NQ , FRT_LQ , FRT_LE , FRT_GQ , FRT_GR } |
| Relation types for floats. More... | |
| enum | ReifyMode { RM_EQV , RM_IMP , RM_PMI } |
| Mode for reification. More... | |
| enum | IntRelType { IRT_EQ , IRT_NQ , IRT_LQ , IRT_LE , IRT_GQ , IRT_GR } |
| Relation types for integers. More... | |
| enum | BoolOpType { BOT_AND , BOT_OR , BOT_IMP , BOT_EQV , BOT_XOR } |
| Operation types for Booleans. More... | |
| enum | IntPropLevel { IPL_DEF = 0 , IPL_VAL = 1 , IPL_BND = 2 , IPL_DOM = 3 , IPL_BASIC = 4 , IPL_ADVANCED = 8 , IPL_BASIC_ADVANCED = IPL_BASIC | IPL_ADVANCED , IPL_FULL = IPL_BASIC_ADVANCED , IPL_BITS_ = 4 } |
| Propagation levels for integer propagators. More... | |
| enum | TaskType { TT_FIXP , TT_FIXS , TT_FIXE } |
| Type of task for scheduling constraints. More... | |
| enum class | ExtensionalPropKind { ExtensionalPropKind::EPK_AUTO , ExtensionalPropKind::EPK_DENSE , ExtensionalPropKind::EPK_SPARSE , ExtensionalPropKind::EPK_DENSE_COMPRESSED } |
| Support representation selection for extensional tuple sets. More... | |
| enum | ExecStatus { ES_SUBSUMED_ = -2 , ES_FAILED = -1 , ES_NOFIX = 0 , ES_OK = 0 , ES_FIX = 1 , ES_NOFIX_FORCE = 2 , ES_PARTIAL_ = 2 } |
| enum | ActorProperty { AP_DISPOSE = (1 << 0) , AP_WEAKLY = (1 << 1) , AP_VIEW_TRACE = (1 << 2) , AP_TRACE = (1 << 3) } |
| Actor properties. More... | |
| enum | SpaceStatus { SS_FAILED , SS_SOLVED , SS_BRANCH } |
| Space status More... | |
| enum | TraceEvent { TE_INIT = 1 << 0 , TE_PRUNE = 1 << 1 , TE_FIX = 1 << 2 , TE_FAIL = 1 << 3 , TE_DONE = 1 << 4 , TE_PROPAGATE = 1 << 5 , TE_COMMIT = 1 << 6 , TE_POST = 1 << 7 } |
| Which events to trace. More... | |
| enum | SetRelType { SRT_EQ , SRT_NQ , SRT_SUB , SRT_SUP , SRT_DISJ , SRT_CMPL , SRT_LQ , SRT_LE , SRT_GQ , SRT_GR } |
| Common relation types for sets. More... | |
| enum | SetOpType { SOT_UNION , SOT_DUNION , SOT_INTER , SOT_MINUS } |
| Common operations for sets. More... | |
Functions | |
| FloatNum | pi_half_lower (void) |
| Return lower bound of \(\pi/2\). | |
| FloatNum | pi_half_upper (void) |
| Return upper bound of \(\pi/2\). | |
| FloatNum | pi_lower (void) |
| Return lower bound of \(\pi\). | |
| FloatNum | pi_upper (void) |
| Return upper bound of \(\pi\). | |
| FloatNum | pi_twice_lower (void) |
| Return lower bound of \(2\pi\). | |
| FloatNum | pi_twice_upper (void) |
| Return upper bound of \(2\pi\). | |
| void | dom (Home home, FloatVar x, FloatVal n) |
| Propagates \(x=n\). | |
| void | dom (Home home, const FloatVarArgs &x, FloatVal n) |
| Propagates \( x_i=n\) for all \(0\leq i<|x|\). | |
| void | dom (Home home, FloatVar x, FloatNum l, FloatNum m) |
| Propagates \( l\leq x\leq u\). | |
| void | dom (Home home, const FloatVarArgs &x, FloatNum l, FloatNum u) |
| Propagates \( l\leq x_i\leq u\) for all \(0\leq i<|x|\). | |
| void | dom (Home home, FloatVar x, FloatVal n, Reify r) |
| Post domain consistent propagator for \( (x=n) \equiv r\). | |
| void | dom (Home home, FloatVar x, FloatNum l, FloatNum u, Reify r) |
| Post domain consistent propagator for \( (l\leq x \leq u) \equiv r\). | |
| void | dom (Home home, FloatVar x, FloatVar d) |
| Constrain domain of x according to domain of d. | |
| void | dom (Home home, const FloatVarArgs &x, const FloatVarArgs &d) |
| Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\). | |
| void | rel (Home home, FloatVar x0, FloatRelType frt, FloatVar x1) |
| Post propagator for \( x_0 \sim_{frt} x_1\). | |
| void | rel (Home home, FloatVar x, FloatRelType frt, FloatVal c) |
| Propagates \( x \sim_{frt} c\). | |
| void | rel (Home home, FloatVar x, FloatRelType frt, FloatVal c, Reify r) |
| Post propagator for \((x \sim_{frt} c)\equiv r\). | |
| void | rel (Home home, FloatVar x0, FloatRelType frt, FloatVar x1, Reify r) |
| Post propagator for \((x_0 \sim_{frt} x_1)\equiv r\). | |
| void | rel (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVal c) |
| Propagates \( x_i \sim_{frt} c \) for all \(0\leq i<|x|\). | |
| void | rel (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y) |
| Propagates \( x_i \sim_{frt} y \) for all \(0\leq i<|x|\). | |
| void | ite (Home home, BoolVar b, FloatVar x, FloatVar y, FloatVar z) |
| Post propagator for if-then-else constraint. | |
| void | min (Home home, FloatVar x0, FloatVar x1, FloatVar x2) |
| Post propagator for \( \min\{x_0,x_1\}=x_2\). | |
| void | min (Home home, const FloatVarArgs &x, FloatVar y) |
| Post propagator for \( \min x=y\) If x is empty, an exception of type Float::TooFewArguments is thrown. | |
| void | max (Home home, FloatVar x0, FloatVar x1, FloatVar x2) |
| Post propagator for \( \max\{x_0,x_1\}=x_2\). | |
| void | max (Home home, const FloatVarArgs &x, FloatVar y) |
| Post propagator for \( \max x=y\) If x is empty, an exception of type Float::TooFewArguments is thrown. | |
| void | abs (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( |x_0|=x_1\). | |
| void | mult (Home home, FloatVar x0, FloatVar x1, FloatVar x2) |
| Post propagator for \(x_0\cdot x_1=x_2\). | |
| void | sqr (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \(x_0\cdot x_0=x_1\). | |
| void | sqrt (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \(\sqrt{x_0}=x_1\). | |
| void | pow (Home home, FloatVar x0, int n, FloatVar x1) |
| Post propagator for \({x_0}^{n}=x_1\) for \(n\geq 0\). | |
| void | nroot (Home home, FloatVar x0, int n, FloatVar x1) |
| Post propagator for \({x_0}^{1/n}=x_1\) for \(n\geq 0\). | |
| void | div (Home home, FloatVar x0, FloatVar x1, FloatVar x2) |
| Post propagator for \(x_0\ \mathrm{div}\ x_1=x_2\). | |
| void | exp (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{exp}(x_0)=x_1\). | |
| void | log (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{log}_e(x_0)=x_1\). | |
| void | pow (Home home, FloatNum base, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathit{base}^{x_0}=x_1\). | |
| void | log (Home home, FloatNum base, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{log}_{\mathit{base}}(x_0)=x_1\). | |
| void | asin (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{asin}(x_0)=x_1\). | |
| void | sin (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{sin}(x_0)=x_1\). | |
| void | acos (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{acos}(x_0)=x_1\). | |
| void | cos (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{cos}(x_0)=x_1\). | |
| void | atan (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{atan}(x_0)=x_1\). | |
| void | tan (Home home, FloatVar x0, FloatVar x1) |
| Post propagator for \( \mathrm{tan}(x_0)=x_1\). | |
| void | linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVal c) |
| Post propagator for \(\sum_{i=0}^{|x|-1}x_i\sim_{frt} c\). | |
| void | linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y) |
| Post propagator for \(\sum_{i=0}^{|x|-1}x_i\sim_{frt} y\). | |
| void | linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVal c, Reify r) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} c\right)\equiv r\). | |
| void | linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y, Reify r) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} y\right)\equiv r\). | |
| void | linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVal c) |
| Post propagator for \(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c\). | |
| void | linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVar y) |
| Post propagator for \(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y\). | |
| void | linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVal c, Reify r) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c\right)\equiv r\). | |
| void | linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVar y, Reify r) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y\right)\equiv r\). | |
| void | channel (Home home, FloatVar x0, IntVar x1) |
| Post propagator for channeling a float and an integer variable \( x_0 = x_1\). | |
| void | channel (Home home, IntVar x0, FloatVar x1) |
| Post propagator for channeling a float and an integer variable \( x_0 = x_1\). | |
| void | channel (Home home, FloatVar x0, BoolVar x1) |
| Post propagator for channeling a float and a Boolean variable \( x_0 = x_1\). | |
| void | channel (Home home, BoolVar x0, FloatVar x1) |
| Post propagator for channeling a float and a Boolean variable \( x_0 = x_1\). | |
| void | wait (Home home, FloatVar x, std::function< void(Space &home)> c) |
| Execute c when x becomes assigned. | |
| void | wait (Home home, const FloatVarArgs &x, std::function< void(Space &home)> c) |
| Execute c when all variables in x become assigned. | |
| FloatVarBranch | FLOAT_VAR_NONE (void) |
| Select first unassigned variable. | |
| FloatVarBranch | FLOAT_VAR_RND (Rnd r) |
| Select random variable (uniform distribution, for tie breaking). | |
| FloatVarBranch | FLOAT_VAR_MERIT_MIN (FloatBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with least merit according to branch merit function bm. | |
| FloatVarBranch | FLOAT_VAR_MERIT_MAX (FloatBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with highest merit according to branch merit function bm. | |
| FloatVarBranch | FLOAT_VAR_DEGREE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree. | |
| FloatVarBranch | FLOAT_VAR_DEGREE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree. | |
| FloatVarBranch | FLOAT_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count with decay factor d. | |
| FloatVarBranch | FLOAT_VAR_AFC_MIN (FloatAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count. | |
| FloatVarBranch | FLOAT_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count with decay factor d. | |
| FloatVarBranch | FLOAT_VAR_AFC_MAX (FloatAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count. | |
| FloatVarBranch | FLOAT_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with lowest action with decay factor d. | |
| FloatVarBranch | FLOAT_VAR_ACTION_MIN (FloatAction a, BranchTbl tbl=nullptr) |
| Select variable with lowest action. | |
| FloatVarBranch | FLOAT_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with highest action with decay factor d. | |
| FloatVarBranch | FLOAT_VAR_ACTION_MAX (FloatAction a, BranchTbl tbl=nullptr) |
| Select variable with highest action. | |
| FloatVarBranch | FLOAT_VAR_CHB_MIN (BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| FloatVarBranch | FLOAT_VAR_CHB_MIN (FloatCHB a, BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| FloatVarBranch | FLOAT_VAR_CHB_MAX (BranchTbl tbl=nullptr) |
| Select variable with highest CHB Q-score. | |
| FloatVarBranch | FLOAT_VAR_CHB_MAX (FloatCHB a, BranchTbl tbl=nullptr) |
| Select variable with highest CHB Q-score. | |
| FloatVarBranch | FLOAT_VAR_MIN_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest min. | |
| FloatVarBranch | FLOAT_VAR_MIN_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest min. | |
| FloatVarBranch | FLOAT_VAR_MAX_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest max. | |
| FloatVarBranch | FLOAT_VAR_MAX_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest max. | |
| FloatVarBranch | FLOAT_VAR_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest domain size. | |
| FloatVarBranch | FLOAT_VAR_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest domain size. | |
| FloatVarBranch | FLOAT_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_AFC_SIZE_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smalllest accumulated failure count divided by domain size with decay factor d. | |
| FloatVarBranch | FLOAT_VAR_AFC_SIZE_MIN (FloatAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count divided by domain size. | |
| FloatVarBranch | FLOAT_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. | |
| FloatVarBranch | FLOAT_VAR_AFC_SIZE_MAX (FloatAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_ACTION_SIZE_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest action divided by domain size with decay factor d. | |
| FloatVarBranch | FLOAT_VAR_ACTION_SIZE_MIN (FloatAction a, BranchTbl tbl=nullptr) |
| Select variable with smallest action divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_ACTION_SIZE_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest action divided by domain size with decay factor d. | |
| FloatVarBranch | FLOAT_VAR_ACTION_SIZE_MAX (FloatAction a, BranchTbl tbl=nullptr) |
| Select variable with largest action divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_CHB_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_CHB_SIZE_MIN (FloatCHB c, BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_CHB_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. | |
| FloatVarBranch | FLOAT_VAR_CHB_SIZE_MAX (FloatCHB a, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. | |
| FloatValBranch | FLOAT_VAL_SPLIT_MIN (void) |
| Select values not greater than mean of smallest and largest value. | |
| FloatValBranch | FLOAT_VAL_SPLIT_MAX (void) |
| Select values greater than mean of smallest and largest value. | |
| FloatValBranch | FLOAT_VAL_SPLIT_RND (Rnd r) |
| Select values randomly which are not greater or not smaller than mean of largest and smallest value. | |
| FloatValBranch | FLOAT_VAL (FloatBranchVal v, FloatBranchCommit c=nullptr) |
| FloatAssign | FLOAT_ASSIGN_MIN (void) |
| Select median value of the lower part. | |
| FloatAssign | FLOAT_ASSIGN_MAX (void) |
| Select median value of the upper part. | |
| FloatAssign | FLOAT_ASSIGN_RND (Rnd r) |
| Select median value of a randomly chosen part. | |
| FloatAssign | FLOAT_ASSIGN (FloatBranchVal v, FloatBranchCommit c=nullptr) |
| void | branch (Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatValBranch vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals. | |
| void | branch (Home home, const FloatVarArgs &x, TieBreak< FloatVarBranch > vars, FloatValBranch vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals. | |
| void | branch (Home home, FloatVar x, FloatValBranch vals, FloatVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | assign (Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatAssign vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr) |
| Assign all x with variable selection vars and value selection vals. | |
| void | assign (Home home, const FloatVarArgs &x, TieBreak< FloatVarBranch > vars, FloatAssign vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr) |
| Assign all x with tie-breaking variable selection vars and value selection vals. | |
| void | assign (Home home, FloatVar x, FloatAssign vals, FloatVarValPrint vvp=nullptr) |
| Assign x with value selection vals. | |
| void | branch (Home home, const FloatVarArgs &x, FloatValBranch vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | assign (Home home, const FloatVarArgs &x, FloatAssign vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr) |
| Assign all x with value selection vals. | |
| void | relax (Home home, const FloatVarArgs &x, const FloatVarArgs &sx, Rnd r, double p) |
| void | trace (Home home, const FloatVarArgs &x, TraceFilter tf, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), FloatTracer &t=StdFloatTracer::def) |
| Create a tracer for float variables. | |
| void | trace (Home home, const FloatVarArgs &x, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), FloatTracer &t=StdFloatTracer::def) |
| Create a tracer for float variables. | |
| Archive & | operator<< (Archive &e, FloatNumBranch nl) |
| Archive & | operator>> (Archive &e, FloatNumBranch &nl) |
| FloatVal | operator+ (const FloatVal &x) |
| FloatVal | operator- (const FloatVal &x) |
| FloatVal | operator+ (const FloatVal &x, const FloatVal &y) |
| FloatVal | operator+ (const FloatVal &x, const FloatNum &y) |
| FloatVal | operator+ (const FloatNum &x, const FloatVal &y) |
| FloatVal | operator- (const FloatVal &x, const FloatVal &y) |
| FloatVal | operator- (const FloatVal &x, const FloatNum &y) |
| FloatVal | operator- (const FloatNum &x, const FloatVal &y) |
| FloatVal | operator* (const FloatVal &x, const FloatVal &y) |
| FloatVal | operator* (const FloatVal &x, const FloatNum &y) |
| FloatVal | operator* (const FloatNum &x, const FloatVal &y) |
| FloatVal | operator/ (const FloatVal &x, const FloatVal &y) |
| FloatVal | operator/ (const FloatVal &x, const FloatNum &y) |
| FloatVal | operator/ (const FloatNum &x, const FloatVal &y) |
| bool | operator< (const FloatVal &x, const FloatVal &y) |
| bool | operator< (const FloatVal &x, const FloatNum &y) |
| bool | operator<= (const FloatVal &x, const FloatVal &y) |
| bool | operator<= (const FloatVal &x, const FloatNum &y) |
| bool | operator> (const FloatVal &x, const FloatVal &y) |
| bool | operator> (const FloatVal &x, const FloatNum &y) |
| bool | operator>= (const FloatVal &x, const FloatVal &y) |
| bool | operator>= (const FloatVal &x, const FloatNum &y) |
| bool | operator== (const FloatVal &x, const FloatVal &y) |
| bool | operator== (const FloatVal &x, const FloatNum &y) |
| bool | operator!= (const FloatVal &x, const FloatVal &y) |
| bool | operator!= (const FloatVal &x, const FloatNum &y) |
| bool | operator< (const FloatNum &x, const FloatVal &y) |
| bool | operator<= (const FloatNum &x, const FloatVal &y) |
| bool | operator> (const FloatNum &x, const FloatVal &y) |
| bool | operator>= (const FloatNum &x, const FloatVal &y) |
| bool | operator== (const FloatNum &x, const FloatVal &y) |
| bool | operator!= (const FloatNum &x, const FloatVal &y) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const FloatVal &x) |
| FloatVal | abs (const FloatVal &x) |
| FloatVal | sqrt (const FloatVal &x) |
| FloatVal | sqr (const FloatVal &x) |
| FloatVal | pow (const FloatVal &x, int n) |
| FloatVal | nroot (const FloatVal &x, int n) |
| FloatVal | max (const FloatVal &x, const FloatVal &y) |
| FloatVal | max (const FloatVal &x, const FloatNum &y) |
| FloatVal | max (const FloatNum &x, const FloatVal &y) |
| FloatVal | min (const FloatVal &x, const FloatVal &y) |
| FloatVal | min (const FloatVal &x, const FloatNum &y) |
| FloatVal | min (const FloatNum &x, const FloatVal &y) |
| FloatVal | exp (const FloatVal &x) |
| FloatVal | log (const FloatVal &x) |
| FloatVal | fmod (const FloatVal &x, const FloatVal &y) |
| FloatVal | fmod (const FloatVal &x, const FloatNum &y) |
| FloatVal | fmod (const FloatNum &x, const FloatVal &y) |
| FloatVal | sin (const FloatVal &x) |
| FloatVal | cos (const FloatVal &x) |
| FloatVal | tan (const FloatVal &x) |
| FloatVal | asin (const FloatVal &x) |
| FloatVal | acos (const FloatVal &x) |
| FloatVal | atan (const FloatVal &x) |
| FloatVal | sinh (const FloatVal &x) |
| FloatVal | cosh (const FloatVal &x) |
| FloatVal | tanh (const FloatVal &x) |
| FloatVal | asinh (const FloatVal &x) |
| FloatVal | acosh (const FloatVal &x) |
| FloatVal | atanh (const FloatVal &x) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const FloatVar &x) |
| Reify | eqv (BoolVar x) |
| Use equivalence for reification. | |
| Reify | imp (BoolVar x) |
| Use implication for reification. | |
| Reify | pmi (BoolVar x) |
| Use reverse implication for reification. | |
| IntRelType | swap (IntRelType irt) |
| Return swapped relation type of irt. | |
| IntRelType | neg (IntRelType irt) |
| Return negated relation type of irt. | |
| IntPropLevel | vbd (IntPropLevel ipl) |
| Extract value, bounds, or domain propagation from propagation level. | |
| IntPropLevel | ba (IntPropLevel ipl) |
| Extract basic or advanced from propagation level. | |
| void | dom (Home home, IntVar x, int n, IntPropLevel ipl=IPL_DEF) |
| Propagates \(x=n\). | |
| void | dom (Home home, const IntVarArgs &x, int n, IntPropLevel ipl=IPL_DEF) |
| Propagates \( x_i=n\) for all \(0\leq i<|x|\). | |
| void | dom (Home home, IntVar x, int l, int m, IntPropLevel ipl=IPL_DEF) |
| Propagates \( l\leq x\leq m\). | |
| void | dom (Home home, const IntVarArgs &x, int l, int m, IntPropLevel ipl=IPL_DEF) |
| Propagates \( l\leq x_i\leq m\) for all \(0\leq i<|x|\). | |
| void | dom (Home home, IntVar x, const IntSet &s, IntPropLevel ipl=IPL_DEF) |
| Propagates \( x\in s \). | |
| void | dom (Home home, const IntVarArgs &x, const IntSet &s, IntPropLevel ipl=IPL_DEF) |
| Propagates \( x_i\in s\) for all \(0\leq i<|x|\). | |
| void | dom (Home home, IntVar x, int n, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( (x=n) \equiv r\). | |
| void | dom (Home home, IntVar x, int l, int m, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( (l\leq x \leq m) \equiv r\). | |
| void | dom (Home home, IntVar x, const IntSet &s, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( (x \in s) \equiv r\). | |
| void | dom (Home home, IntVar x, IntVar d, IntPropLevel ipl=IPL_DEF) |
| Constrain domain of x according to domain of d. | |
| void | dom (Home home, BoolVar x, BoolVar d, IntPropLevel ipl=IPL_DEF) |
| Constrain domain of x according to domain of d. | |
| void | dom (Home home, const IntVarArgs &x, const IntVarArgs &d, IntPropLevel ipl=IPL_DEF) |
| Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\). | |
| void | dom (Home home, const BoolVarArgs &x, const BoolVarArgs &d, IntPropLevel ipl=IPL_DEF) |
| Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\). | |
| void | rel (Home home, IntVar x0, IntRelType irt, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_0 \sim_{irt} x_1\). | |
| void | rel (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_i \sim_{irt} y \) for all \(0\leq i<|x|\). | |
| void | rel (Home home, IntVar x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
| Propagates \( x \sim_{irt} c\). | |
| void | rel (Home home, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
| Propagates \( x_i \sim_{irt} c \) for all \(0\leq i<|x|\). | |
| void | rel (Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( (x_0 \sim_{irt} x_1)\equiv r\). | |
| void | rel (Home home, IntVar x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x \sim_{irt} c)\equiv r\). | |
| void | rel (Home home, const IntVarArgs &x, IntRelType irt, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation among elements in x. | |
| void | rel (Home home, const IntVarArgs &x, IntRelType irt, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation between x and y. | |
| void | rel (Home home, const IntVarArgs &x, IntRelType irt, const IntArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation between x and y. | |
| void | rel (Home home, const IntArgs &x, IntRelType irt, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for relation between x and y. | |
| void | rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( x_0 \sim_{irt} x_1\). | |
| void | rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \((x_0 \sim_{irt} x_1)\equiv r\). | |
| void | rel (Home home, const BoolVarArgs &x, IntRelType irt, BoolVar y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( x_i \sim_{irt} y \) for all \(0\leq i<|x|\). | |
| void | rel (Home home, BoolVar x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF) |
| Propagates \( x \sim_{irt} n\). | |
| void | rel (Home home, BoolVar x, IntRelType irt, int n, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \((x \sim_{irt} n)\equiv r\). | |
| void | rel (Home home, const BoolVarArgs &x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF) |
| Propagates \( x_i \sim_{irt} n \) for all \(0\leq i<|x|\). | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | rel (Home home, const BoolVarArgs &x, IntRelType irt, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for relation between elements in x. | |
| void | 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. | |
| void | 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. | |
| void | rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean operation on x. | |
| void | rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for Boolean operation on x. | |
| void | 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. | |
| void | 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. | |
| void | ite (Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for if-then-else constraint. | |
| void | ite (Home home, BoolVar b, BoolVar x, BoolVar y, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for if-then-else constraint. | |
| void | precede (Home home, const IntVarArgs &x, int s, int t, IntPropLevel=IPL_DEF) |
| Post propagator that s precedes t in x. | |
| void | precede (Home home, const IntVarArgs &x, const IntArgs &c, IntPropLevel=IPL_DEF) |
| Post propagator that successive values in c precede each other in x. | |
| void | member (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \(y\in \{x_0,\ldots,x_{|x|-1}\}\). | |
| void | member (Home home, const BoolVarArgs &x, BoolVar y, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \(y\in \{x_0,\ldots,x_{|x|-1}\}\). | |
| void | member (Home home, const IntVarArgs &x, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \(\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r\). | |
| void | member (Home home, const BoolVarArgs &x, BoolVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \(\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r\). | |
| void | element (Home home, IntSharedArray n, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( n_{x_0}=x_1\). | |
| void | element (Home home, IntSharedArray n, IntVar x0, int offset, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( n_{x_0+offset}=x_1\). | |
| void | element (Home home, IntSharedArray n, IntVar x0, BoolVar x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( n_{x_0}=x_1\). | |
| void | element (Home home, IntSharedArray n, IntVar x0, int offset, BoolVar x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( n_{x_0+offset}=x_1\). | |
| void | element (Home home, IntSharedArray n, IntVar x0, int x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( n_{x_0}=x_1\). | |
| void | element (Home home, IntSharedArray n, IntVar x0, int offset, int x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( n_{x_0+offset}=x_1\). | |
| void | element (Home home, const IntVarArgs &x, IntVar y0, IntVar y1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_{y_0}=y_1\). | |
| void | element (Home home, const IntVarArgs &x, IntVar y0, int offset, IntVar y1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_{y_0+offset}=y_1\). | |
| void | element (Home home, const IntVarArgs &x, IntVar y0, int y1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_{y_0}=y_1\). | |
| void | element (Home home, const IntVarArgs &x, IntVar y0, int offset, int y1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_{y_0+offset}=y_1\). | |
| void | element (Home home, const BoolVarArgs &x, IntVar y0, BoolVar y1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( x_{y_0}=y_1\). | |
| void | element (Home home, const BoolVarArgs &x, IntVar y0, int offset, BoolVar y1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( x_{y_0+offset}=y_1\). | |
| void | element (Home home, const BoolVarArgs &x, IntVar y0, int y1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( x_{y_0}=y_1\). | |
| void | element (Home home, const BoolVarArgs &x, IntVar y0, int offset, int y1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( x_{y_0+offset}=y_1\). | |
| void | element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( a_{x+w\cdot y}=z\). | |
| void | element (Home home, IntSharedArray a, IntVar x, int xoff, int w, IntVar y, int yoff, int h, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\). | |
| void | element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( a_{x+w\cdot y}=z\). | |
| void | element (Home home, IntSharedArray a, IntVar x, int xoff, int w, IntVar y, int yoff, int h, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\). | |
| void | element (Home home, const IntVarArgs &a, IntVar x, int w, IntVar y, int h, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( a_{x+w\cdot y}=z\). | |
| void | element (Home home, const IntVarArgs &a, IntVar x, int xoff, int w, IntVar y, int yoff, int h, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\). | |
| void | 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 \( a_{x+w\cdot y}=z\). | |
| void | element (Home home, const BoolVarArgs &a, IntVar x, int xoff, int w, IntVar y, int yoff, int h, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\). | |
| void | distinct (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_i\neq x_j\) for all \(0\leq i\neq j<|x|\). | |
| void | distinct (Home home, const IntArgs &n, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_i+n_i\neq x_j+n_j\) for all \(0\leq i\neq j<|x|\). | |
| void | distinct (Home home, const BoolVarArgs &b, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( b_i=1\wedge b_j=1\to x_i\neq x_j\) for all \(0\leq i\neq j<|x|\). | |
| void | distinct (Home home, const IntVarArgs &x, int c, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_i=c\vee x_j=c\vee x_i\neq x_j\) for all \(0\leq i\neq j<|x|\). | |
| void | channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_i = j\leftrightarrow y_j=i\) for all \(0\leq i<|x|\). | |
| void | channel (Home home, const IntVarArgs &x, int xoff, const IntVarArgs &y, int yoff, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i\) for all \(0\leq i<|x|\). | |
| void | channel (Home home, BoolVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for channeling a Boolean and an integer variable \( x_0 = x_1\). | |
| void | channel (Home home, IntVar x0, BoolVar x1, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for channeling an integer and a Boolean variable \( x_0 = x_1\). | |
| void | 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 \( x_i = 1\leftrightarrow y=i+o\). | |
| void | sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post propagator that y is x sorted in increasing order. | |
| void | 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. | |
| void | count (Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} m\). | |
| void | count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} m\). | |
| void | count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} m\). | |
| void | count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} m\). | |
| void | count (Home home, const IntVarArgs &x, int n, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} z\). | |
| void | count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} z\). | |
| void | count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} z\). | |
| void | count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} z\). | |
| void | count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | nvalues (Home home, const IntVarArgs &x, IntRelType irt, int y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\). | |
| void | nvalues (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\). | |
| void | nvalues (Home home, const BoolVarArgs &x, IntRelType irt, int y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\). | |
| void | nvalues (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\). | |
| void | sequence (Home home, const IntVarArgs &x, const IntSet &s, int q, int l, int u, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\operatorname{sequence}(x,s,q,l,u)\). | |
| void | sequence (Home home, const BoolVarArgs &x, const IntSet &s, int q, int l, int u, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\operatorname{sequence}(x,s,q,l,u)\). | |
| void | extensional (Home home, const IntVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. | |
| void | extensional (Home home, const BoolVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. | |
| void | extensional (Home home, const IntVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\). | |
| void | extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\) or \(x\not\in t\). | |
| void | extensional (Home home, const IntVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\). | |
| void | extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\) or \((x\not\in t)\equiv r\). | |
| void | extensional (Home home, const BoolVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\). | |
| void | extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\) or \(x\not\in t\). | |
| void | extensional (Home home, const BoolVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\). | |
| void | extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\) or \((x\not\in t)\equiv r\). | |
| void | min (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \min\{x_0,x_1\}=x_2\). | |
| void | min (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \min x=y\). | |
| void | max (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \max\{x_0,x_1\}=x_2\). | |
| void | max (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \max x=y\). | |
| void | argmin (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmin}(x)=y\). | |
| void | argmin (Home home, const IntVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmin}(x)+o=y\). | |
| void | argmax (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmax}(x)=y\). | |
| void | argmax (Home home, const IntVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmax}(x)+o=y\). | |
| void | argmin (Home home, const BoolVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmin}(x)=y\). | |
| void | argmin (Home home, const BoolVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmin}(x)-o=y\). | |
| void | argmax (Home home, const BoolVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmax}(x)=y\). | |
| void | argmax (Home home, const BoolVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( \operatorname{argmax}(x)-o=y\). | |
| void | abs (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \( |x_0|=x_1\). | |
| void | mult (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x_0\cdot x_1=x_2\). | |
| void | divmod (Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x_0\ \mathrm{div}\ x_1=x_2 \land x_0\ \mathrm{mod}\ x_1 = x_3\). | |
| void | div (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x_0\ \mathrm{div}\ x_1=x_2\). | |
| void | mod (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x_0\ \mathrm{mod}\ x_1=x_2\). | |
| void | sqr (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x_0^2=x_1\). | |
| void | sqrt (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\lfloor\sqrt{x_0}\rfloor=x_1\). | |
| void | pow (Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x_0^n=x_1\). | |
| void | nroot (Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\lfloor\sqrt[n]{x_0}\rfloor=x_1\). | |
| void | linear (Home home, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\). | |
| void | linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\). | |
| void | linear (Home home, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r\). | |
| void | linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r\). | |
| void | linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\). | |
| void | linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\). | |
| void | linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r\). | |
| void | linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r\). | |
| void | linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\). | |
| void | linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r\). | |
| void | linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\). | |
| void | linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r\). | |
| void | linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\). | |
| void | linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r\). | |
| void | linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\). | |
| void | linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r\). | |
| void | binpacking (Home home, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, IntPropLevel ipl=IPL_DEF) |
| Post propagator for bin packing. | |
| IntSet | binpacking (Home home, int d, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, const IntArgs &c, IntPropLevel ipl=IPL_DEF) |
| void | nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel ipl=IPL_DEF) |
| Post propagator for rectangle packing. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | order (Home home, IntVar s0, int p0, IntVar s1, int p1, BoolVar b, IntPropLevel ipl=IPL_DEF) |
| Post propagators for ordering two tasks. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | unary (Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on unary resources. | |
| void | 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. | |
| void | unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on unary resources. | |
| void | 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. | |
| void | unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, IntPropLevel ipl=IPL_DEF) |
| Post propagators for scheduling tasks on unary resources. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | circuit (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit. | |
| void | circuit (Home home, int offset, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a circuit. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | path (Home home, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF) |
| Post propagator such that x forms a Hamiltonian path. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | wait (Home home, IntVar x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF) |
| Execute c when x becomes assigned. | |
| void | wait (Home home, BoolVar x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF) |
| Execute c when x becomes assigned. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | when (Home home, BoolVar x, std::function< void(Space &home)> t, IntPropLevel ipl=IPL_DEF) |
| Execute t (then) when x is assigned one. | |
| void | unshare (Home home, IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Replace multiple variable occurrences in x by fresh variables. | |
| void | unshare (Home home, BoolVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Replace multiple variable occurrences in x by fresh variables. | |
| IntVarBranch | INT_VAR_NONE (void) |
| Select first unassigned variable. | |
| IntVarBranch | INT_VAR_RND (Rnd r) |
| Select random variable (uniform distribution, for tie breaking). | |
| IntVarBranch | INT_VAR_MERIT_MIN (IntBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with least merit according to branch merit function bm. | |
| IntVarBranch | INT_VAR_MERIT_MAX (IntBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with highest merit according to branch merit function bm. | |
| IntVarBranch | INT_VAR_DEGREE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree. | |
| IntVarBranch | INT_VAR_DEGREE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree. | |
| IntVarBranch | INT_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count with decay factor d. | |
| IntVarBranch | INT_VAR_AFC_MIN (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count. | |
| IntVarBranch | INT_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count with decay factor d. | |
| IntVarBranch | INT_VAR_AFC_MAX (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count. | |
| IntVarBranch | INT_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with lowest action with decay factor d. | |
| IntVarBranch | INT_VAR_ACTION_MIN (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with lowest action. | |
| IntVarBranch | INT_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with highest action with decay factor d. | |
| IntVarBranch | INT_VAR_ACTION_MAX (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with highest action. | |
| IntVarBranch | INT_VAR_CHB_MIN (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| IntVarBranch | INT_VAR_CHB_MIN (BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| IntVarBranch | INT_VAR_CHB_MAX (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. | |
| IntVarBranch | INT_VAR_CHB_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. | |
| IntVarBranch | INT_VAR_MIN_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest min. | |
| IntVarBranch | INT_VAR_MIN_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest min. | |
| IntVarBranch | INT_VAR_MAX_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest max. | |
| IntVarBranch | INT_VAR_MAX_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest max. | |
| IntVarBranch | INT_VAR_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest domain size. | |
| IntVarBranch | INT_VAR_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest domain size. | |
| IntVarBranch | INT_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree divided by domain size. | |
| IntVarBranch | INT_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree divided by domain size. | |
| IntVarBranch | 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. | |
| IntVarBranch | INT_VAR_AFC_SIZE_MIN (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count divided by domain size. | |
| IntVarBranch | 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. | |
| IntVarBranch | INT_VAR_AFC_SIZE_MAX (IntAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count divided by domain size. | |
| IntVarBranch | 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. | |
| IntVarBranch | INT_VAR_ACTION_SIZE_MIN (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with smallest action divided by domain size. | |
| IntVarBranch | 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. | |
| IntVarBranch | INT_VAR_ACTION_SIZE_MAX (IntAction a, BranchTbl tbl=nullptr) |
| Select variable with largest action divided by domain size. | |
| IntVarBranch | INT_VAR_CHB_SIZE_MIN (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. | |
| IntVarBranch | INT_VAR_CHB_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. | |
| IntVarBranch | INT_VAR_CHB_SIZE_MAX (IntCHB c, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. | |
| IntVarBranch | INT_VAR_CHB_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. | |
| IntVarBranch | INT_VAR_REGRET_MIN_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest min-regret. | |
| IntVarBranch | INT_VAR_REGRET_MIN_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest min-regret. | |
| IntVarBranch | INT_VAR_REGRET_MAX_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest max-regret. | |
| IntVarBranch | INT_VAR_REGRET_MAX_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest max-regret. | |
| BoolVarBranch | BOOL_VAR_NONE (void) |
| Select first unassigned variable. | |
| BoolVarBranch | BOOL_VAR_RND (Rnd r) |
| Select random variable (uniform distribution, for tie breaking). | |
| BoolVarBranch | BOOL_VAR_MERIT_MIN (BoolBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with least merit according to branch merit function bm. | |
| BoolVarBranch | BOOL_VAR_MERIT_MAX (BoolBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with highest merit according to branch merit function bm. | |
| BoolVarBranch | BOOL_VAR_DEGREE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree. | |
| BoolVarBranch | BOOL_VAR_DEGREE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree. | |
| BoolVarBranch | BOOL_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count with decay factor d. | |
| BoolVarBranch | BOOL_VAR_AFC_MIN (BoolAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count. | |
| BoolVarBranch | BOOL_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count with decay factor d. | |
| BoolVarBranch | BOOL_VAR_AFC_MAX (BoolAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count. | |
| BoolVarBranch | BOOL_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with lowest action with decay factor d. | |
| BoolVarBranch | BOOL_VAR_ACTION_MIN (BoolAction a, BranchTbl tbl=nullptr) |
| Select variable with lowest action. | |
| BoolVarBranch | BOOL_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with highest action with decay factor d. | |
| BoolVarBranch | BOOL_VAR_ACTION_MAX (BoolAction a, BranchTbl tbl=nullptr) |
| Select variable with highest action. | |
| BoolVarBranch | BOOL_VAR_CHB_MIN (BoolCHB c, BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| BoolVarBranch | BOOL_VAR_CHB_MIN (BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| BoolVarBranch | BOOL_VAR_CHB_MAX (BoolCHB c, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. | |
| BoolVarBranch | BOOL_VAR_CHB_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score. | |
| IntValBranch | INT_VAL_MIN (void) |
| Select smallest value. | |
| IntValBranch | INT_VAL_MED (void) |
| Select greatest value not greater than the median. | |
| IntValBranch | INT_VAL_MAX (void) |
| Select largest value. | |
| IntValBranch | INT_VAL_RND (Rnd r) |
| Select random value. | |
| IntValBranch | INT_VAL_SPLIT_MIN (void) |
| Select values not greater than mean of smallest and largest value. | |
| IntValBranch | INT_VAL_SPLIT_MAX (void) |
| Select values greater than mean of smallest and largest value. | |
| IntValBranch | 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. | |
| IntValBranch | 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. | |
| IntValBranch | 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. | |
| IntValBranch | INT_VALUES_MIN (void) |
| Try all values starting from smallest. | |
| IntValBranch | INT_VALUES_MAX (void) |
| Try all values starting from largest. | |
| BoolValBranch | BOOL_VAL_MIN (void) |
| Select smallest value. | |
| BoolValBranch | BOOL_VAL_MAX (void) |
| Select largest value. | |
| BoolValBranch | BOOL_VAL_RND (Rnd r) |
| Select random value. | |
| BoolValBranch | 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. | |
| IntAssign | INT_ASSIGN_MIN (void) |
| Select smallest value. | |
| IntAssign | INT_ASSIGN_MED (void) |
| Select greatest value not greater than the median. | |
| IntAssign | INT_ASSIGN_MAX (void) |
| Select largest value. | |
| IntAssign | INT_ASSIGN_RND (Rnd r) |
| Select random value. | |
| IntAssign | INT_ASSIGN (IntBranchVal v, IntBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c. | |
| BoolAssign | BOOL_ASSIGN_MIN (void) |
| Select smallest value. | |
| BoolAssign | BOOL_ASSIGN_MAX (void) |
| Select largest value. | |
| BoolAssign | BOOL_ASSIGN_RND (Rnd r) |
| Select random value. | |
| BoolAssign | BOOL_ASSIGN (BoolBranchVal v, BoolBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c. | |
| void | 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. | |
| void | 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. | |
| void | branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | 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. | |
| void | 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. | |
| void | branch (Home home, BoolVar x, BoolValBranch vals, BoolVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | 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. | |
| void | 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. | |
| void | assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=nullptr) |
| Assign x with value selection vals. | |
| void | 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. | |
| void | 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. | |
| void | assign (Home home, BoolVar x, BoolAssign vals, BoolVarValPrint vvp=nullptr) |
| Assign x with value selection vals. | |
| void | branch (Home home, const IntVarArgs &x, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | branch (Home home, const BoolVarArgs &x, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr) |
| Assign all x with value selection vals. | |
| void | assign (Home home, const BoolVarArgs &x, BoolAssign vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr) |
| Assign all x with value selection vals. | |
| SymmetryHandle | VariableSymmetry (const IntVarArgs &x) |
| Variables in x are interchangeable. | |
| SymmetryHandle | VariableSymmetry (const BoolVarArgs &x) |
| Variables in x are interchangeable. | |
| SymmetryHandle | VariableSymmetry (const IntVarArgs &x, const IntArgs &indices) |
| Specified variables in x are interchangeable. | |
| SymmetryHandle | ValueSymmetry (const IntArgs &v) |
| Values in v are interchangeable. | |
| SymmetryHandle | ValueSymmetry (const IntSet &v) |
| Values in v are interchangeable. | |
| SymmetryHandle | ValueSymmetry (IntVar vars) |
| All values in the domain of the given variable are interchangeable. | |
| SymmetryHandle | VariableSequenceSymmetry (const IntVarArgs &x, int ss) |
| Variable sequences in x of size ss are interchangeable. | |
| SymmetryHandle | VariableSequenceSymmetry (const BoolVarArgs &x, int ss) |
| Variable sequences in x of size ss are interchangeable. | |
| SymmetryHandle | ValueSequenceSymmetry (const IntArgs &v, int ss) |
| Value sequences in v of size ss are interchangeable. | |
| SymmetryHandle | values_reflect (int lower, int upper) |
| The values from lower to upper (inclusive) can be reflected. | |
| SymmetryHandle | values_reflect (IntVar x) |
| The values in the domain of x can be reflected. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | relax (Home home, const IntVarArgs &x, const IntVarArgs &sx, Rnd r, double p) |
| void | relax (Home home, const BoolVarArgs &x, const BoolVarArgs &sx, Rnd r, double p) |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const DFA &d) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const TupleSet &ts) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const IntSet &is) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const IntVar &x) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const BoolVar &x) |
| void | branch (Home home, std::function< void(Space &home)> f) |
| Call the function f (with the current space as argument) for branching. | |
| void | trace (Home home, TraceFilter tf, int te=(TE_PROPAGATE|TE_COMMIT|TE_POST), Tracer &t=StdTracer::def) |
| Create tracer. | |
| void | trace (Home home, int te=(TE_PROPAGATE|TE_COMMIT|TE_POST), Tracer &t=StdTracer::def) |
| Create tracer. | |
| Archive & | operator<< (Archive &e, unsigned int i) |
| Archive & | operator<< (Archive &e, int i) |
| Archive & | operator<< (Archive &e, unsigned short i) |
| Archive & | operator<< (Archive &e, short i) |
| Archive & | operator<< (Archive &e, unsigned char i) |
| Archive & | operator<< (Archive &e, char i) |
| Archive & | operator<< (Archive &e, bool i) |
| Archive & | operator<< (Archive &e, float d) |
| Archive & | operator<< (Archive &e, double d) |
| Archive & | operator>> (Archive &e, unsigned int &i) |
| Archive & | operator>> (Archive &e, int &i) |
| Archive & | operator>> (Archive &e, unsigned short &i) |
| Archive & | operator>> (Archive &e, short &i) |
| Archive & | operator>> (Archive &e, unsigned char &i) |
| Archive & | operator>> (Archive &e, char &i) |
| Archive & | operator>> (Archive &e, bool &i) |
| Archive & | operator>> (Archive &e, float &d) |
| Archive & | operator>> (Archive &e, double &d) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Action &a) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const AFC &a) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const CHB &chb) |
| template<class VarBranch> | |
| TieBreak< VarBranch > | tiebreak (VarBranch a, VarBranch b) |
| Combine variable selection criteria a and b for tie-breaking. | |
| template<class VarBranch> | |
| TieBreak< VarBranch > | tiebreak (VarBranch a, VarBranch b, VarBranch c) |
| Combine variable selection criteria a, b, and c for tie-breaking. | |
| template<class VarBranch> | |
| TieBreak< VarBranch > | tiebreak (VarBranch a, VarBranch b, VarBranch c, VarBranch d) |
| Combine variable selection criteria a, b, c, and d for tie-breaking. | |
| template<class View, int n, class Val, unsigned int a> | |
| void | postviewvalbrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter< typename View::VarType > bf, VarValPrint< typename View::VarType, Val > vvp) |
| Post view value brancher. | |
| template<class Var> | |
| ArrayTraits< VarArray< Var > >::ArgsType | operator+ (const VarArray< Var > &x, const VarArray< Var > &y) |
| template<class Var> | |
| ArrayTraits< VarArray< Var > >::ArgsType | operator+ (const VarArray< Var > &x, const VarArgArray< Var > &y) |
| template<class Var> | |
| ArrayTraits< VarArray< Var > >::ArgsType | operator+ (const VarArgArray< Var > &x, const VarArray< Var > &y) |
| template<class Var> | |
| ArrayTraits< VarArray< Var > >::ArgsType | operator+ (const VarArray< Var > &x, const Var &y) |
| template<class Var> | |
| ArrayTraits< VarArray< Var > >::ArgsType | operator+ (const Var &x, const VarArray< Var > &y) |
| template<class ViewX, class ViewY> | |
| bool | shared (ViewArray< ViewX > x, ViewArray< ViewY > y) |
| template<class ViewX, class ViewY> | |
| bool | shared (ViewArray< ViewX > x, ViewY y) |
| template<class ViewX, class ViewY> | |
| bool | shared (ViewX x, ViewArray< ViewY > y) |
| template<class View> | |
| bool | shared (ViewArray< View > x) |
| template<class T> | |
| ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const ArgArray< T > &y) |
| template<class T> | |
| ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const T &y) |
| template<class T> | |
| ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const T &x, const ArgArray< T > &y) |
| template<class Var> | |
| ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const VarArgArray< Var > &x, const VarArgArray< Var > &y) |
| template<class Var> | |
| ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const VarArgArray< Var > &x, const Var &y) |
| template<class Var> | |
| ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const Var &x, const VarArgArray< Var > &y) |
| template<class Var> | |
| bool | same (VarArgArray< Var > x, VarArgArray< Var > y) |
| template<class Var> | |
| bool | same (VarArgArray< Var > x, Var y) |
| template<class Var> | |
| bool | same (Var x, VarArgArray< Var > y) |
| template<class Var> | |
| bool | same (VarArgArray< Var > x) |
| template<class Char, class Traits, class Var> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const VarArray< Var > &x) |
| template<class Char, class Traits, class View> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ViewArray< View > &x) |
| template<class Char, class Traits, class T> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ArgArrayBase< T > &x) |
| template<class Char, class Traits, class T> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SharedArray< T > &x) |
| template<class T1, class T2> | |
| bool | operator== (space_allocator< T1 > const &al1, space_allocator< T2 > const &al2) noexcept |
| Tests two space allocators for equality. | |
| template<class T1, class T2> | |
| bool | operator!= (space_allocator< T1 > const &al1, space_allocator< T2 > const &al2) noexcept |
| Tests two space allocators for inequality. | |
| template<class T1, class T2> | |
| bool | operator== (region_allocator< T1 > const &al1, region_allocator< T2 > const &al2) noexcept |
| template<class T1, class T2> | |
| bool | operator!= (region_allocator< T1 > const &al1, region_allocator< T2 > const &al2) noexcept |
| bool | me_failed (ModEvent me) |
| Check whether modification event me is failed. | |
| bool | me_modified (ModEvent me) |
| Check whether modification event me describes variable modification. | |
| TFE | operator+ (TFE l, const TFE &r) |
| Disjunctive combination of trace filter expressions l and r. | |
| TFE | operator+ (const TFE &e) |
| Positive expression. | |
| TFE | operator- (TFE l, const TFE &r) |
| Combine positive expression l and negative expression r. | |
| TFE | operator- (const TFE &e) |
| Return negative expression of e. | |
| TFE | propagator (PropagatorGroup g) |
| Only propagators (but not post functions) from g are considered. | |
| TFE | post (PropagatorGroup g) |
| Only post functions (but not propagators) from g are considered. | |
| template<class ViewA, class ViewB> | |
| bool | shared (const ConstView< ViewA > &, const ConstView< ViewB > &) |
| Test whether views share same variable. | |
| template<class Var, class View> | |
| bool | shared (const VarImpView< Var > &, const ConstView< View > &) |
| Test whether views share same variable. | |
| template<class ViewA, class ViewB> | |
| bool | shared (const DerivedView< ViewA > &, const ConstView< ViewB > &) |
| Test whether views share same variable. | |
| template<class View, class Var> | |
| bool | shared (const ConstView< View > &, const VarImpView< Var > &) |
| Test whether views share same variable. | |
| template<class ViewA, class ViewB> | |
| bool | shared (const ConstView< ViewA > &, const DerivedView< ViewB > &) |
| Test whether views share same variable. | |
| template<class VarA, class VarB> | |
| bool | shared (const VarImpView< VarA > &, const VarImpView< VarB > &) |
| Test whether views share same variable. | |
| template<class Var, class View> | |
| bool | shared (const VarImpView< Var > &, const DerivedView< View > &) |
| Test whether views share same variable. | |
| template<class View, class Var> | |
| bool | shared (const DerivedView< View > &, const VarImpView< Var > &) |
| Test whether views share same variable. | |
| template<class ViewA, class ViewB> | |
| bool | shared (const DerivedView< ViewA > &, const DerivedView< ViewB > &) |
| Test whether views share same variable. | |
| template<class ViewA, class ViewB> | |
| bool | operator== (const ConstView< ViewA > &, const ConstView< ViewB > &) |
| Test whether two views are the same. | |
| template<class Var, class View> | |
| bool | operator== (const ConstView< View > &, const VarImpView< Var > &) |
| Test whether two views are the same. | |
| template<class ViewA, class ViewB> | |
| bool | operator== (const ConstView< ViewA > &, const DerivedView< ViewB > &) |
| Test whether two views are the same. | |
| template<class Var, class View> | |
| bool | operator== (const VarImpView< Var > &, const ConstView< View > &) |
| Test whether two views are the same. | |
| template<class Var, class View> | |
| bool | operator== (const VarImpView< Var > &, const DerivedView< View > &) |
| Test whether two views are the same. | |
| template<class ViewX, class ViewY> | |
| bool | operator== (const DerivedView< ViewX > &, const ConstView< ViewY > &) |
| Test whether two views are the same. | |
| template<class View, class Var> | |
| bool | operator== (const DerivedView< View > &, const VarImpView< Var > &) |
| Test whether two views are the same. | |
| template<class ViewX, class ViewY> | |
| bool | operator== (const DerivedView< ViewX > &, const DerivedView< ViewY > &) |
| Test whether two views are not the same. | |
| template<class VarX, class VarY> | |
| bool | operator== (const VarImpView< VarX > &x, const VarImpView< VarY > &y) |
| Test whether two views are the same. | |
| template<class ViewA, class ViewB> | |
| bool | operator!= (const ConstView< ViewA > &, const ConstView< ViewB > &) |
| Test whether two views are not the same. | |
| template<class Var, class View> | |
| bool | operator!= (const ConstView< View > &, const VarImpView< Var > &) |
| Test whether two views are not the same. | |
| template<class ViewA, class ViewB> | |
| bool | operator!= (const ConstView< ViewA > &, const DerivedView< ViewB > &) |
| Test whether two views are not the same. | |
| template<class Var, class View> | |
| bool | operator!= (const VarImpView< Var > &, const ConstView< View > &) |
| Test whether two views are not the same. | |
| template<class Var, class View> | |
| bool | operator!= (const VarImpView< Var > &, const DerivedView< View > &) |
| Test whether two views are not the same. | |
| template<class ViewX, class ViewY> | |
| bool | operator!= (const DerivedView< ViewX > &, const ConstView< ViewY > &) |
| Test whether two views are the same. | |
| template<class View, class Var> | |
| bool | operator!= (const DerivedView< View > &, const VarImpView< Var > &) |
| Test whether two views are not the same. | |
| template<class ViewX, class ViewY> | |
| bool | operator!= (const DerivedView< ViewX > &, const DerivedView< ViewY > &) |
| Test whether two views are not the same. | |
| template<class VarX, class VarY> | |
| bool | operator!= (const VarImpView< VarX > &x, const VarImpView< VarY > &y) |
| Test whether two views are not the same. | |
| LinIntExpr | operator+ (int, const IntVar &) |
| Construct linear expression as sum of integer variable and integer. | |
| LinIntExpr | operator+ (int, const BoolVar &) |
| Construct linear expression as sum of Boolean variable and integer. | |
| LinIntExpr | operator+ (int, const LinIntExpr &) |
| Construct linear expression as sum of linear expression and integer. | |
| LinIntExpr | operator+ (const IntVar &, int) |
| Construct linear expression as sum of integer variable and integer. | |
| LinIntExpr | operator+ (const BoolVar &, int) |
| Construct linear expression as sum of Boolean variable and integer. | |
| LinIntExpr | operator+ (const LinIntExpr &, int) |
| Construct linear expression as sum of linear expression and integer. | |
| LinIntExpr | operator+ (const IntVar &, const IntVar &) |
| Construct linear expression as sum of integer variables. | |
| LinIntExpr | operator+ (const IntVar &, const BoolVar &) |
| Construct linear expression as sum of integer and Boolean variable. | |
| LinIntExpr | operator+ (const BoolVar &, const IntVar &) |
| Construct linear expression as sum of Boolean and integer variable. | |
| LinIntExpr | operator+ (const BoolVar &, const BoolVar &) |
| Construct linear expression as sum of Boolean variables. | |
| LinIntExpr | operator+ (const IntVar &, const LinIntExpr &) |
| Construct linear expression as sum of integer variable and linear expression. | |
| LinIntExpr | operator+ (const BoolVar &, const LinIntExpr &) |
| Construct linear expression as sum of Boolean variable and linear expression. | |
| LinIntExpr | operator+ (const LinIntExpr &, const IntVar &) |
| Construct linear expression as sum of linear expression and integer variable. | |
| LinIntExpr | operator+ (const LinIntExpr &, const BoolVar &) |
| Construct linear expression as sum of linear expression and Boolean variable. | |
| LinIntExpr | operator+ (const LinIntExpr &, const LinIntExpr &) |
| Construct linear expression as sum of linear expressions. | |
| LinIntExpr | operator- (int, const IntVar &) |
| Construct linear expression as sum of integer variable and integer. | |
| LinIntExpr | operator- (int, const BoolVar &) |
| Construct linear expression as sum of Boolean variable and integer. | |
| LinIntExpr | operator- (int, const LinIntExpr &) |
| Construct linear expression as sum of integer and linear expression. | |
| LinIntExpr | operator- (const IntVar &, int) |
| Construct linear expression as sum of integer variable and integer. | |
| LinIntExpr | operator- (const BoolVar &, int) |
| Construct linear expression as sum of Boolean variable and integer. | |
| LinIntExpr | operator- (const LinIntExpr &, int) |
| Construct linear expression as sum of linear expression and integer. | |
| LinIntExpr | operator- (const IntVar &, const IntVar &) |
| Construct linear expression as sum of integer variables. | |
| LinIntExpr | operator- (const IntVar &, const BoolVar &) |
| Construct linear expression as sum of integer and Boolean variable. | |
| LinIntExpr | operator- (const BoolVar &, const IntVar &) |
| Construct linear expression as sum of Boolean and integer variable. | |
| LinIntExpr | operator- (const BoolVar &, const BoolVar &) |
| Construct linear expression as sum of Boolean variables. | |
| LinIntExpr | operator- (const IntVar &, const LinIntExpr &) |
| Construct linear expression as sum of integer variable and linear expression. | |
| LinIntExpr | operator- (const BoolVar &, const LinIntExpr &) |
| Construct linear expression as sum of Boolean variable and linear expression. | |
| LinIntExpr | operator- (const LinIntExpr &, const IntVar &) |
| Construct linear expression as sum of linear expression and integer variable. | |
| LinIntExpr | operator- (const LinIntExpr &, const BoolVar &) |
| Construct linear expression as sum of linear expression and Boolean variable. | |
| LinIntExpr | operator- (const LinIntExpr &, const LinIntExpr &) |
| Construct linear expression as sum of linear expressions. | |
| LinIntExpr | operator- (const IntVar &) |
| Construct linear expression as negative of integer variable. | |
| LinIntExpr | operator- (const BoolVar &) |
| Construct linear expression as negative of Boolean variable. | |
| LinIntExpr | operator- (const LinIntExpr &) |
| Construct linear expression as negative of linear expression. | |
| LinIntExpr | operator* (int, const IntVar &) |
| Construct linear expression as product of integer coefficient and integer variable. | |
| LinIntExpr | operator* (int, const BoolVar &) |
| Construct linear expression as product of integer coefficient and Boolean variable. | |
| LinIntExpr | operator* (const IntVar &, int) |
| Construct linear expression as product of integer coefficient and integer variable. | |
| LinIntExpr | operator* (const BoolVar &, int) |
| Construct linear expression as product of integer coefficient and Boolean variable. | |
| LinIntExpr | operator* (const LinIntExpr &, int) |
| Construct linear expression as product of integer coefficient and linear expression. | |
| LinIntExpr | operator* (int, const LinIntExpr &) |
| Construct linear expression as product of integer coefficient and linear expression. | |
| LinIntExpr | sum (const IntVarArgs &x) |
| Construct linear expression as sum of integer variables. | |
| LinIntExpr | sum (const IntArgs &a, const IntVarArgs &x) |
| Construct linear expression as sum of integer variables with coefficients. | |
| LinIntExpr | sum (const BoolVarArgs &x) |
| Construct linear expression as sum of Boolean variables. | |
| LinIntExpr | sum (const IntArgs &a, const BoolVarArgs &x) |
| Construct linear expression as sum of Boolean variables with coefficients. | |
| LinIntExpr | sum (const IntArgs &args) |
| Construct linear expression as sum of IntArgs. | |
| LinIntRel | operator== (int l, const IntVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (int l, const BoolVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (int l, const LinIntExpr &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const IntVar &l, int r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const BoolVar &l, int r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const LinIntExpr &l, int r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const IntVar &l, const IntVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const IntVar &l, const BoolVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const BoolVar &l, const IntVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const BoolVar &l, const BoolVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const IntVar &l, const LinIntExpr &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const BoolVar &l, const LinIntExpr &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const LinIntExpr &l, const IntVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const LinIntExpr &l, const BoolVar &r) |
| Construct linear equality relation. | |
| LinIntRel | operator== (const LinIntExpr &l, const LinIntExpr &r) |
| Construct linear equality relation. | |
| LinIntRel | operator!= (int l, const IntVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (int l, const BoolVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (int l, const LinIntExpr &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const IntVar &l, int r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const BoolVar &l, int r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const LinIntExpr &l, int r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const IntVar &l, const IntVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const IntVar &l, const BoolVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const BoolVar &l, const IntVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const BoolVar &l, const BoolVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const IntVar &l, const LinIntExpr &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const BoolVar &l, const LinIntExpr &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const LinIntExpr &l, const IntVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const LinIntExpr &l, const BoolVar &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator!= (const LinIntExpr &l, const LinIntExpr &r) |
| Construct linear disequality relation. | |
| LinIntRel | operator< (int l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (int l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (int l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const IntVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const BoolVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const LinIntExpr &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const IntVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const IntVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const BoolVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const BoolVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const IntVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const BoolVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const LinIntExpr &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const LinIntExpr &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator< (const LinIntExpr &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (int l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (int l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (int l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const IntVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const BoolVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const LinIntExpr &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const IntVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const IntVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const BoolVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const BoolVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const IntVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const BoolVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const LinIntExpr &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const LinIntExpr &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator<= (const LinIntExpr &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (int l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (int l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (int l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const IntVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const BoolVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const LinIntExpr &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const IntVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const IntVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const BoolVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const BoolVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const IntVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const BoolVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const LinIntExpr &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const LinIntExpr &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator> (const LinIntExpr &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (int l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (int l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (int l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const IntVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const BoolVar &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const LinIntExpr &l, int r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const IntVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const IntVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const BoolVar &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const BoolVar &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const IntVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const BoolVar &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const LinIntExpr &l, const IntVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const LinIntExpr &l, const BoolVar &r) |
| Construct linear inequality relation. | |
| LinIntRel | operator>= (const LinIntExpr &l, const LinIntExpr &r) |
| Construct linear inequality relation. | |
| LinFloatExpr | operator+ (const FloatVal &, const FloatVar &) |
| Construct linear float expression as sum of float variable and float. | |
| LinFloatExpr | operator+ (const FloatVal &, const LinFloatExpr &) |
| Construct linear float expression as sum of linear float expression and float. | |
| LinFloatExpr | operator+ (const FloatVar &, const FloatVal &) |
| Construct linear float expression as sum of float variable and float. | |
| LinFloatExpr | operator+ (const LinFloatExpr &, const FloatVal &) |
| Construct linear float expression as sum of linear float expression and float. | |
| LinFloatExpr | operator+ (const FloatVar &, const FloatVar &) |
| Construct linear float expression as sum of float variables. | |
| LinFloatExpr | operator+ (const FloatVar &, const LinFloatExpr &) |
| Construct linear float expression as sum of float variable and linear float expression. | |
| LinFloatExpr | operator+ (const LinFloatExpr &, const FloatVar &) |
| Construct linear float expression as sum of linear float expression and float variable. | |
| LinFloatExpr | operator+ (const LinFloatExpr &, const LinFloatExpr &) |
| Construct linear float expression as sum of linear float expressions. | |
| LinFloatExpr | operator- (const FloatVal &, const FloatVar &) |
| Construct linear float expression as sum of float variable and float. | |
| LinFloatExpr | operator- (const FloatVal &, const LinFloatExpr &) |
| Construct linear float expression as sum of float and linear float expression. | |
| LinFloatExpr | operator- (const FloatVar &, const FloatVal &) |
| Construct linear float expression as sum of float variable and float. | |
| LinFloatExpr | operator- (const LinFloatExpr &, const FloatVal &) |
| Construct linear float expression as sum of linear float expression and float. | |
| LinFloatExpr | operator- (const FloatVar &, const FloatVar &) |
| Construct linear float expression as sum of float variables. | |
| LinFloatExpr | operator- (const FloatVar &, const LinFloatExpr &) |
| Construct linear float expression as sum of float variable and linear float expression. | |
| LinFloatExpr | operator- (const LinFloatExpr &, const FloatVar &) |
| Construct linear float expression as sum of linear float expression and float variable. | |
| LinFloatExpr | operator- (const LinFloatExpr &, const LinFloatExpr &) |
| Construct linear float expression as sum of linear float expressions. | |
| LinFloatExpr | operator- (const FloatVar &) |
| Construct linear float expression as negative of float variable. | |
| LinFloatExpr | operator- (const LinFloatExpr &) |
| Construct linear float expression as negative of linear float expression. | |
| LinFloatExpr | operator* (const FloatVal &, const FloatVar &) |
| Construct linear float expression as product of float coefficient and float variable. | |
| LinFloatExpr | operator* (const FloatVar &, const FloatVal &) |
| Construct linear float expression as product of float coefficient and float variable. | |
| LinFloatExpr | operator* (const LinFloatExpr &, const FloatVal &) |
| Construct linear float expression as product of float coefficient and linear float expression. | |
| LinFloatExpr | operator* (const FloatVal &, const LinFloatExpr &) |
| Construct linear float expression as product of float coefficient and linear float expression. | |
| LinFloatExpr | sum (const FloatVarArgs &x) |
| Construct linear float expression as sum of float variables. | |
| LinFloatExpr | sum (const FloatValArgs &a, const FloatVarArgs &x) |
| Construct linear float expression as sum of float variables with coefficients. | |
| LinFloatRel | operator== (const FloatVal &l, const FloatVar &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator== (const FloatVal &l, const LinFloatExpr &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator== (const FloatVar &l, const FloatVal &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator== (const LinFloatExpr &l, const FloatVal &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator== (const FloatVar &l, const FloatVar &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator== (const FloatVar &l, const LinFloatExpr &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator== (const LinFloatExpr &l, const FloatVar &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator== (const LinFloatExpr &l, const LinFloatExpr &r) |
| Construct linear float equality relation. | |
| LinFloatRel | operator!= (const FloatVal &l, const FloatVar &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator!= (const FloatVal &l, const LinFloatExpr &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator!= (const FloatVar &l, const FloatVal &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator!= (const LinFloatExpr &l, const FloatVal &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator!= (const FloatVar &l, const FloatVar &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator!= (const FloatVar &l, const LinFloatExpr &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator!= (const LinFloatExpr &l, const FloatVar &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator!= (const LinFloatExpr &l, const LinFloatExpr &r) |
| Construct linear float disequality relation. | |
| LinFloatRel | operator< (const FloatVal &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator< (const FloatVal &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator< (const FloatVar &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator< (const LinFloatExpr &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator< (const FloatVar &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator< (const FloatVar &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator< (const LinFloatExpr &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator< (const LinFloatExpr &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const FloatVal &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const FloatVal &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const FloatVar &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const LinFloatExpr &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const FloatVar &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const FloatVar &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const LinFloatExpr &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator<= (const LinFloatExpr &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const FloatVal &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const FloatVal &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const FloatVar &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const LinFloatExpr &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const FloatVar &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const FloatVar &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const LinFloatExpr &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator> (const LinFloatExpr &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const FloatVal &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const FloatVal &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const FloatVar &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const LinFloatExpr &l, const FloatVal &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const FloatVar &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const FloatVar &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const LinFloatExpr &l, const FloatVar &r) |
| Construct linear float inequality relation. | |
| LinFloatRel | operator>= (const LinFloatExpr &l, const LinFloatExpr &r) |
| Construct linear float inequality relation. | |
| SetExpr | singleton (const LinIntExpr &) |
| Singleton expression. | |
| SetExpr | operator- (const SetExpr &) |
| Complement expression. | |
| SetExpr | operator& (const SetExpr &, const SetExpr &) |
| Intersection of set expressions. | |
| SetExpr | operator| (const SetExpr &, const SetExpr &) |
| Union of set expressions. | |
| SetExpr | operator+ (const SetExpr &, const SetExpr &) |
| Disjoint union of set expressions. | |
| SetExpr | operator- (const SetExpr &, const SetExpr &) |
| Difference of set expressions. | |
| SetExpr | inter (const SetVarArgs &) |
| Intersection of set variables. | |
| SetExpr | setunion (const SetVarArgs &) |
| Union of set variables. | |
| SetExpr | setdunion (const SetVarArgs &) |
| Disjoint union of set variables. | |
| LinIntExpr | cardinality (const SetExpr &) |
| Cardinality of set expression. | |
| LinIntExpr | min (const SetExpr &) |
| Minimum element of set expression. | |
| LinIntExpr | max (const SetExpr &) |
| Minimum element of set expression. | |
| SetRel | operator== (const SetExpr &, const SetExpr &) |
| Equality of set expressions. | |
| SetRel | operator!= (const SetExpr &, const SetExpr &) |
| Disequality of set expressions. | |
| SetCmpRel | operator<= (const SetExpr &, const SetExpr &) |
| Subset of set expressions. | |
| BoolExpr | operator<= (const SetCmpRel &, const SetExpr &) |
| Subset of set expressions. | |
| SetCmpRel | operator>= (const SetExpr &, const SetExpr &) |
| Superset of set expressions. | |
| BoolExpr | operator>= (const SetCmpRel &, const SetExpr &) |
| Superset of set expressions. | |
| SetRel | operator|| (const SetExpr &, const SetExpr &) |
| Disjointness of set expressions. | |
| BoolExpr | operator! (const BoolExpr &) |
| Negated Boolean expression. | |
| BoolExpr | operator&& (const BoolExpr &, const BoolExpr &) |
| BoolExpr | operator|| (const BoolExpr &, const BoolExpr &) |
| BoolExpr | operator^ (const BoolExpr &, const BoolExpr &) |
| Exclusive-or of Boolean expressions. | |
| BoolExpr | operator!= (const BoolExpr &, const BoolExpr &) |
| Non-equivalence of Boolean expressions. | |
| BoolExpr | operator== (const BoolExpr &, const BoolExpr &) |
| Equivalence of Boolean expressions. | |
| BoolExpr | operator>> (const BoolExpr &, const BoolExpr &) |
| Implication of Boolean expressions. | |
| BoolExpr | operator<< (const BoolExpr &, const BoolExpr &) |
| Reverse implication of Boolean expressions. | |
| BoolExpr | dom (const IntVar &x, int n) |
| Return expression for \( x=n\). | |
| BoolExpr | dom (const IntVar &x, int l, int m) |
| Return expression for \( l\leq x \leq m\). | |
| BoolExpr | dom (const IntVar &x, const IntSet &s) |
| Return expression for \( x \in s\). | |
| BoolExpr | dom (const SetVar &x, SetRelType rt, int i) |
| Return expression for \( x \sim_{rt} \{i\}\). | |
| BoolExpr | dom (const SetVar &x, SetRelType rt, int i, int j) |
| Return expression for \( x \sim_{rt} \{i,\dots,j\}\). | |
| BoolExpr | dom (const SetVar &x, SetRelType rt, const IntSet &s) |
| Return expression for \( x \sim_{rt} s\). | |
| BoolExpr | dom (const FloatVar &x, const FloatVal &n) |
| Return expression for \( x=n\). | |
| BoolExpr | dom (const FloatVar &x, FloatNum l, FloatNum u) |
| Return expression for \( l\leq x \leq u\). | |
| BoolExpr | operator== (const SetExpr &s, const LinIntExpr &x) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ i=x\). | |
| BoolExpr | operator== (const LinIntExpr &x, const SetExpr &s) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ x=i\). | |
| BoolExpr | operator== (const LinIntExpr &, IntSet)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator== (IntSet, const LinIntExpr &)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator!= (const SetExpr &s, const LinIntExpr &x) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ i\neq x\). | |
| BoolExpr | operator!= (const LinIntExpr &x, const SetExpr &s) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ x\neq i\). | |
| BoolExpr | operator!= (const LinIntExpr &, IntSet)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator!= (IntSet, const LinIntExpr &)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator<= (const SetExpr &s, const LinIntExpr &x) |
| Return expression for \(|s|\geq 6 \land \forall i\in s:\ i\leq x\). | |
| BoolExpr | operator<= (const LinIntExpr &x, const SetExpr &s) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ x\leq i\). | |
| BoolExpr | operator<= (const LinIntExpr &, IntSet)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator<= (IntSet, const LinIntExpr &)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator< (const SetExpr &s, const LinIntExpr &x) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ i<x\). | |
| BoolExpr | operator< (const LinIntExpr &x, const SetExpr &s) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ x<i\). | |
| BoolExpr | operator< (const LinIntExpr &, IntSet)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator< (IntSet, const LinIntExpr &)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator>= (const SetExpr &s, const LinIntExpr &x) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ i\geq x\). | |
| BoolExpr | operator>= (const LinIntExpr &x, const SetExpr &s) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ x\geq i\). | |
| BoolExpr | operator>= (const LinIntExpr &, IntSet)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator>= (IntSet, const LinIntExpr &)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator> (const SetExpr &s, const LinIntExpr &x) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ i>x\). | |
| BoolExpr | operator> (const LinIntExpr &x, const SetExpr &s) |
| Return expression for \(|s|\geq 1 \land \forall i\in s:\ x>i\). | |
| BoolExpr | operator> (const LinIntExpr &, IntSet)=delete |
| Prevent comparison with IntSet. | |
| BoolExpr | operator> (IntSet, const LinIntExpr &)=delete |
| Prevent comparison with IntSet. | |
| IntVar | expr (Home home, const LinIntExpr &e, const IntPropLevels &ipls=IntPropLevels::def) |
| Post linear expression and return its value. | |
| FloatVar | expr (Home home, const LinFloatExpr &e) |
| Post float expression and return its value. | |
| SetVar | expr (Home home, const SetExpr &e) |
| Post set expression and return its value. | |
| BoolVar | expr (Home home, const BoolExpr &e, const IntPropLevels &ipls=IntPropLevels::def) |
| Post Boolean expression and return its value. | |
| void | rel (Home home, const BoolExpr &e, const IntPropLevels &ipls=IntPropLevels::def) |
| Post Boolean relation. | |
| LinIntExpr | operator* (const LinIntExpr &x, const LinIntExpr &y) |
| Return expression for \(x\cdot y\). | |
| LinIntExpr | operator/ (const LinIntExpr &x, const LinIntExpr &y) |
| Return expression for \(x\ \mathrm{div}\ y\). | |
| LinIntExpr | operator% (const LinIntExpr &x, const LinIntExpr &y) |
| Return expression for \(x\ \mathrm{mod}\ y\). | |
| LinIntExpr | abs (const LinIntExpr &e) |
| Return expression for \(|e|\). | |
| LinIntExpr | min (const LinIntExpr &x, const LinIntExpr &y) |
| Return expression for \(\min(x,y)\). | |
| LinIntExpr | min (const IntVarArgs &x) |
| Return expression for \(\min(x)\). | |
| LinIntExpr | max (const LinIntExpr &x, const LinIntExpr &y) |
| Return expression for \(\max(x,y)\). | |
| LinIntExpr | max (const IntVarArgs &x) |
| Return expression for \(\max(x)\). | |
| LinIntExpr | sqr (const LinIntExpr &x) |
| Return expression for \(x^2\). | |
| LinIntExpr | sqrt (const LinIntExpr &x) |
| Return expression for \(\lfloor\sqrt{x}\rfloor\). | |
| LinIntExpr | pow (const LinIntExpr &x, int n) |
| Return expression for \(x^n\). | |
| LinIntExpr | nroot (const LinIntExpr &x, int n) |
| Return expression for \(\lfloor\sqrt[n]{x}\rfloor\). | |
| LinIntExpr | element (const IntVarArgs &x, const LinIntExpr &y) |
| Return expression for \(x[y]\). | |
| BoolExpr | element (const BoolVarArgs &x, const LinIntExpr &y) |
| Return expression for \(x[y]\). | |
| LinIntExpr | element (const IntArgs &x, const LinIntExpr &y) |
| Return expression for \(x[y]\). | |
| LinIntExpr | ite (const BoolExpr &b, const LinIntExpr &x, const LinIntExpr &y) |
| Return expression for if-then-else \(b?x:y\). | |
| LinFloatExpr | operator* (const FloatVar &, const FloatVar &) |
| Return expression as product of float variables. | |
| LinFloatExpr | operator* (const FloatVar &, const LinFloatExpr &) |
| Return expression as product of float variable and linear float expression. | |
| LinFloatExpr | operator* (const LinFloatExpr &, const FloatVar &) |
| Return expression as product of linear float expression and float variable. | |
| LinFloatExpr | abs (const LinFloatExpr &e) |
| Return expression for \(|e|\). | |
| LinFloatExpr | min (const LinFloatExpr &x, const LinFloatExpr &y) |
| Return expression for \(\min(x,y)\). | |
| LinFloatExpr | min (const FloatVarArgs &x) |
| Return expression for \(\min(x)\). | |
| LinFloatExpr | max (const LinFloatExpr &x, const LinFloatExpr &y) |
| Return expression for \(\max(x,y)\). | |
| LinFloatExpr | max (const FloatVarArgs &x) |
| Return expression for \(\max(x)\). | |
| LinFloatExpr | operator* (const LinFloatExpr &x, const LinFloatExpr &y) |
| Return expression for \(x\cdot y\). | |
| LinFloatExpr | operator/ (const LinFloatExpr &x, const LinFloatExpr &y) |
| Return expression for \(x/y\). | |
| LinFloatExpr | sqr (const LinFloatExpr &x) |
| Return expression for \(x^2\). | |
| LinFloatExpr | sqrt (const LinFloatExpr &x) |
| Return expression for \(\sqrt{x}\). | |
| LinFloatExpr | pow (const LinFloatExpr &x, int n) |
| Return expression for \(x^n\). | |
| LinFloatExpr | nroot (const LinFloatExpr &x, int n) |
| Return expression for \(x^{1/n}\). | |
| LinFloatExpr | exp (const LinFloatExpr &x) |
| Return expression for \( \mathrm{exp}(x)\). | |
| LinFloatExpr | log (const LinFloatExpr &x) |
| Return expression for \( \mathrm{log}(x)\). | |
| LinFloatExpr | asin (const LinFloatExpr &x) |
| Return expression for \( \mathrm{asin}(x)\). | |
| LinFloatExpr | sin (const LinFloatExpr &x) |
| Return expression for \( \mathrm{sin}(x)\). | |
| LinFloatExpr | acos (const LinFloatExpr &x) |
| Return expression for \( \mathrm{acos}(x)\). | |
| LinFloatExpr | cos (const LinFloatExpr &x) |
| Return expression for \( \mathrm{cos}(x)\). | |
| LinFloatExpr | atan (const LinFloatExpr &x) |
| Return expression for \( \mathrm{atan}(x)\). | |
| LinFloatExpr | tan (const LinFloatExpr &x) |
| Return expression for \( \mathrm{tan}(x)\). | |
| BoolVar | channel (Home home, IntVar x, IntPropLevel ipl=IPL_DEF) |
| Return Boolean variable equal to \(x\). | |
| IntVar | channel (Home home, BoolVar b, IntPropLevel ipl=IPL_DEF) |
| Return integer variable equal to \(b\). | |
| IntVar | channel (Home home, FloatVar f) |
| Return integer variable equal to \(f\). | |
| SetVar | channel (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF) |
| Return set variable equal to \(\{x_0,\dots,x_{n-1}\}\). | |
| void | atmost (Home home, const IntVarArgs &x, int n, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq m\). | |
| void | atmost (Home home, const IntVarArgs &x, IntVar y, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq m\). | |
| void | atmost (Home home, const IntVarArgs &x, const IntArgs &y, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq m\). | |
| void | atmost (Home home, const IntVarArgs &x, int n, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq z\). | |
| void | atmost (Home home, const IntVarArgs &x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq z\). | |
| void | atmost (Home home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq z\). | |
| void | atleast (Home home, const IntVarArgs &x, int n, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq m\). | |
| void | atleast (Home home, const IntVarArgs &x, IntVar y, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq m\). | |
| void | atleast (Home home, const IntVarArgs &x, const IntArgs &y, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq m\). | |
| void | atleast (Home home, const IntVarArgs &x, int n, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq z\). | |
| void | atleast (Home home, const IntVarArgs &x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq z\). | |
| void | atleast (Home home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq z\). | |
| void | exactly (Home home, const IntVarArgs &x, int n, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=m\). | |
| void | exactly (Home home, const IntVarArgs &x, IntVar y, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=m\). | |
| void | exactly (Home home, const IntVarArgs &x, const IntArgs &y, int m, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=m\). | |
| void | exactly (Home home, const IntVarArgs &x, int n, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=z\). | |
| void | exactly (Home home, const IntVarArgs &x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=z\). | |
| void | exactly (Home home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=z\). | |
| void | lex (Home home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post lexical order between x and y. | |
| void | lex (Home home, const BoolVarArgs &x, IntRelType r, const BoolVarArgs &y, IntPropLevel ipl=IPL_DEF) |
| Post lexical order between x and y. | |
| void | values (Home home, const IntVarArgs &x, IntSet y, IntPropLevel ipl=IPL_DEF) |
| Post constraint \(\{x_0,\dots,x_{n-1}\}=y\). | |
| void | channel (Home home, const IntVarArgs &x, SetVar y) |
| Post constraint \(\{x_0,\dots,x_{n-1}\}=y\). | |
| void | range (Home home, const IntVarArgs &x, SetVar y, SetVar z) |
| Post constraint \(\bigcup_{i\in y}\{x_i\}=z\). | |
| void | roots (Home home, const IntVarArgs &x, SetVar y, SetVar z) |
| Post constraint \(\bigcup_{i\in z}\{j\ |\ x_j=i\}=z\). | |
| template<class A> | |
| Slice< A >::ArgsType | operator+ (const Slice< A > &x, const Slice< A > &y) |
| Concatenate x and y. | |
| template<class A> | |
| Slice< A >::ArgsType | operator+ (const Slice< A > &x, const typename ArrayTraits< A >::ArgsType &y) |
| Concatenate x and y. | |
| template<class A> | |
| Slice< A >::ArgsType | operator+ (const typename ArrayTraits< A >::ArgsType &x, const Slice< A > &y) |
| Concatenate x and y. | |
| template<class A> | |
| Slice< A >::ArgsType | operator+ (const Slice< A > &x, const typename ArrayTraits< A >::ValueType &y) |
| Concatenate x and y. | |
| template<class A> | |
| Slice< A >::ArgsType | operator+ (const typename ArrayTraits< A >::ValueType &x, const Slice< A > &y) |
| Concatenate x and y. | |
| LinIntExpr | sum (const Slice< IntArgs > &slice) |
| Construct linear expression as sum of IntArgs Slice elements. | |
| LinIntExpr | sum (const Matrix< IntArgs > &matrix) |
| Construct linear expression as sum of IntArgs Matrix elements. | |
| template<class A> | |
| SymmetryHandle | rows_interchange (const Matrix< A > &m) |
| Interchangeable rows symmetry specification. | |
| template<class A> | |
| SymmetryHandle | columns_interchange (const Matrix< A > &m) |
| Interchangeable columns symmetry specification. | |
| template<class A> | |
| SymmetryHandle | rows_reflect (const Matrix< A > &m) |
| Reflect rows symmetry specification. | |
| template<class A> | |
| SymmetryHandle | columns_reflect (const Matrix< A > &m) |
| Reflect columns symmetry specification. | |
| template<class A> | |
| SymmetryHandle | diagonal_reflect (const Matrix< A > &m) |
| Reflect around main diagonal symmetry specification. | |
| template<class Char, class Traits, class A> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Matrix< A > &m) |
| template<class Char, class Traits, class A> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Slice< A > &s) |
| void | element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, IntVar z, IntPropLevel ipl) |
| void | element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, BoolVar z, IntPropLevel ipl) |
| void | element (Home home, const Matrix< IntVarArgs > &m, IntVar x, IntVar y, IntVar z, IntPropLevel ipl) |
| void | element (Home home, const Matrix< BoolVarArgs > &m, IntVar x, IntVar y, BoolVar z, IntPropLevel ipl) |
| void | element (Home home, const Matrix< IntSetArgs > &m, IntVar x, IntVar y, SetVar z) |
| void | element (Home home, const Matrix< SetVarArgs > &m, IntVar x, IntVar y, SetVar z) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const REG &r) |
| template<class T> | |
| T * | dfs (T *s, const Search::Options &o=Search::Options::def) |
| Invoke depth-first search engine for subclass T of space s with options o. | |
| template<class T> | |
| SEB | dfs (const Search::Options &o=Search::Options::def) |
| Return a depth-first search engine builder. | |
| template<class T> | |
| T * | bab (T *s, const Search::Options &o=Search::Options::def) |
| Perform depth-first branch-and-bound search for subclass T of space s and options o. | |
| template<class T> | |
| SEB | bab (const Search::Options &o=Search::Options::def) |
| Return a depth-first branch-and-bound search engine builder. | |
| template<class T> | |
| T * | lds (T *s, const Search::Options &o=Search::Options::def) |
| Invoke limited-discrepancy search for s as root node and optionso. | |
| template<class T> | |
| SEB | lds (const Search::Options &o=Search::Options::def) |
| Return a limited discrepancy search engine builder. | |
| template<class T, template< class > class E> | |
| T * | rbs (T *s, const Search::Options &o) |
| Perform restart-based search. | |
| template<class T, template< class > class E> | |
| SEB | rbs (const Search::Options &o) |
| Return a restart search engine builder. | |
| template<class T, template< class > class E> | |
| T * | pbs (T *s, const Search::Options &o=Search::Options::def) |
| Run a portfolio of search engines. | |
| template<class T> | |
| SEB | pbs (const Search::Options &o=Search::Options::def) |
| Return a portfolio search engine builder. | |
| template<class T, template< class > class E> | |
| SEB | pbs (const Search::Options &o) |
| void | dom (Home home, SetVar x, SetRelType r, int i) |
| Propagates \( x \sim_r \{i\}\). | |
| void | dom (Home home, const SetVarArgs &x, SetRelType r, int i) |
| Propagates \( x_i \sim_r \{i\}\) for all \(0\leq i<|x|\). | |
| void | dom (Home home, SetVar x, SetRelType r, int i, int j) |
| Propagates \( x \sim_r \{i,\dots,j\}\). | |
| void | dom (Home home, const SetVarArgs &x, SetRelType r, int i, int j) |
| Propagates \( x \sim_r \{i,\dots,j\}\) for all \(0\leq i<|x|\). | |
| void | dom (Home home, SetVar x, SetRelType r, const IntSet &s) |
| Propagates \( x \sim_r s\). | |
| void | dom (Home home, const SetVarArgs &x, SetRelType r, const IntSet &s) |
| Propagates \( x \sim_r s\) for all \(0\leq i<|x|\). | |
| void | cardinality (Home home, SetVar x, unsigned int i, unsigned int j) |
| Propagates \( i \leq |s| \leq j \). | |
| void | cardinality (Home home, const SetVarArgs &x, unsigned int i, unsigned int j) |
| Propagates \( i \leq |s| \leq j \) for all \(0\leq i<|x|\). | |
| void | dom (Home home, SetVar x, SetRelType rt, int i, Reify r) |
| Post propagator for \( (x \sim_{rt} \{i\}) \equiv r \). | |
| void | dom (Home home, SetVar x, SetRelType rt, int i, int j, Reify r) |
| Post propagator for \( (x \sim_{rt} \{i,\dots,j\}) \equiv r \). | |
| void | dom (Home home, SetVar x, SetRelType rt, const IntSet &s, Reify r) |
| Post propagator for \( (x \sim_{rt} s) \equiv r \). | |
| void | dom (Home home, SetVar x, SetVar d) |
| Constrain domain of x according to domain of d. | |
| void | dom (Home home, const SetVarArgs &x, const SetVarArgs &d) |
| Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\). | |
| void | rel (Home home, SetVar x, SetRelType r, SetVar y) |
| Post propagator for \( x \sim_r y\). | |
| void | rel (Home home, SetVar x, SetRelType rt, SetVar y, Reify r) |
| Post propagator for \( (x \sim_{rt} y) \equiv r\). | |
| void | rel (Home home, SetVar s, SetRelType r, IntVar x) |
| Post propagator for \( s \sim_r \{x\}\). | |
| void | rel (Home home, IntVar x, SetRelType r, SetVar s) |
| Post propagator for \( \{x\} \sim_r s\). | |
| void | rel (Home home, SetVar s, SetRelType rt, IntVar x, Reify r) |
| Post propagator for \( (s \sim_{rt} \{x\}) \equiv r\). | |
| void | rel (Home home, IntVar x, SetRelType rt, SetVar s, Reify r) |
| Post propagator for \( (\{x\} \sim_{rt} s) \equiv r \). | |
| void | rel (Home home, SetVar s, IntRelType rt, IntVar x) |
| Post propagator for \(|s|\geq 1 \land \forall i\in s:\ i \sim_{rt} x\). | |
| void | rel (Home home, IntVar x, IntRelType rt, SetVar s) |
| Post propagator for \(|s|\geq 1 \land \forall i\in s:\ x \sim_{rt} i\). | |
| void | rel (Home home, SetVar s, IntRelType rt, IntVar x, Reify r) |
| Post reified propagator for \(\left(|s|\geq 1 \land \forall i\in s:\ i \sim_{rt} x\right)\equiv r\). | |
| void | rel (Home home, IntVar x, IntRelType rt, SetVar s, Reify r) |
| Post reified propagator for \(\left(|s|\geq 1 \land \forall i\in s:\ x \sim_{rt} i\right)\equiv r\). | |
| void | rel (Home home, SetVar x, SetOpType op, SetVar y, SetRelType r, SetVar z) |
| Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \). | |
| void | rel (Home home, SetOpType op, const SetVarArgs &x, SetVar y) |
| Post propagator for \( y = \diamond_{\mathit{op}} x\). | |
| void | rel (Home home, SetOpType op, const SetVarArgs &x, const IntSet &z, SetVar y) |
| Post propagator for \( y = \diamond_{\mathit{op}} x \diamond_{\mathit{op}} z\). | |
| void | rel (Home home, SetOpType op, const IntVarArgs &x, const IntSet &z, SetVar y) |
| Post propagator for \( y = \diamond_{\mathit{op}} x \diamond_{\mathit{op}} z\). | |
| void | rel (Home home, SetOpType op, const IntVarArgs &x, SetVar y) |
| Post propagator for \( y = \diamond_{\mathit{op}} x\). | |
| void | rel (Home home, const IntSet &x, SetOpType op, SetVar y, SetRelType r, SetVar z) |
| Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \). | |
| void | rel (Home home, SetVar x, SetOpType op, const IntSet &y, SetRelType r, SetVar z) |
| Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \). | |
| void | rel (Home home, SetVar x, SetOpType op, SetVar y, SetRelType r, const IntSet &z) |
| Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \). | |
| void | rel (Home home, const IntSet &x, SetOpType op, SetVar y, SetRelType r, const IntSet &z) |
| Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \). | |
| void | rel (Home home, SetVar x, SetOpType op, const IntSet &y, SetRelType r, const IntSet &z) |
| Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \). | |
| void | ite (Home home, BoolVar b, SetVar x, SetVar y, SetVar z) |
| Post propagator for if-then-else constraint. | |
| void | convex (Home home, SetVar x) |
| Post propagator that propagates that x is convex. | |
| void | convex (Home home, SetVar x, SetVar y) |
| Post propagator that propagates that y is the convex hull of x. | |
| void | sequence (Home home, const SetVarArgs &x) |
| Post propagator for \(\forall 0\leq i< |x|-1 : \max(x_i)<\min(x_{i+1})\). | |
| void | sequence (Home home, const SetVarArgs &y, SetVar x) |
| Post propagator for \(\forall 0\leq i< |x|-1 : \max(x_i)<\min(x_{i+1})\) and \( x = \bigcup_{i\in\{0,\dots,n-1\}} y_i \). | |
| void | atmostOne (Home home, const SetVarArgs &x, unsigned int c) |
| Post propagator for \(\forall 0\leq i\leq |x| : |x_i|=c\) and \(\forall 0\leq i<j\leq |x| : |x_i\cap x_j|\leq 1\). | |
| void | min (Home home, SetVar s, IntVar x) |
| Post propagator that x is the minimal element of s and that s is not empty. | |
| void | notMin (Home home, SetVar s, IntVar x) |
| Post propagator that x is not the minimal element of s. | |
| void | min (Home home, SetVar s, IntVar x, Reify r) |
| Post reified propagator for b iff x is the minimal element of s. | |
| void | max (Home home, SetVar s, IntVar x) |
| Post propagator that x is the maximal element of s and that s is not empty. | |
| void | notMax (Home home, SetVar s, IntVar x) |
| Post propagator that x is not the maximal element of s. | |
| void | max (Home home, SetVar s, IntVar x, Reify r) |
| Post reified propagator for b iff x is the maximal element of s. | |
| void | cardinality (Home home, SetVar s, IntVar x) |
| Post propagator for \( |s|=x \). | |
| void | cardinality (Home home, SetVar s, IntVar x, Reify r) |
| Post reified propagator for \( |s|=x \equiv r\). | |
| void | weights (Home home, IntSharedArray elements, IntSharedArray weights, SetVar x, IntVar y) |
| Post propagator for \(y = \mathrm{weight}(x)\). | |
| void | channel (Home home, const IntVarArgs &x, const SetVarArgs &y) |
| Post propagator for \(x_i=j \Leftrightarrow i\in y_j\). | |
| void | channelSorted (Home home, const IntVarArgs &x, SetVar y) |
| Post propagator for \(\{x_0,\dots,x_{n-1}\}=y\) and \(x_i<x_{i+1}\). | |
| void | channel (Home home, const BoolVarArgs &x, SetVar y) |
| Post propagator for \(x_i=1 \Leftrightarrow i\in y\). | |
| void | channel (Home home, const SetVarArgs &x, const SetVarArgs &y) |
| Post propagator for \(j\in x_i \Leftrightarrow i\in y_j\). | |
| void | precede (Home home, const SetVarArgs &x, int s, int t) |
| Post propagator that s precedes t in x. | |
| void | precede (Home home, const SetVarArgs &x, const IntArgs &c) |
| Post propagator that successive values in c precede each other in x. | |
| void | element (Home home, SetOpType op, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
| Post propagator for \( z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] \). | |
| void | element (Home home, SetOpType op, const IntVarArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
| Post propagator for \( z=\diamond_{\mathit{op}}\langle \{x_0\},\dots,\{x_{n-1}\}\rangle[y] \). | |
| void | element (Home home, SetOpType op, const IntSetArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
| Post propagator for \( z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] \). | |
| void | element (Home home, SetOpType op, const IntArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
| Post propagator for \( z=\diamond_{\mathit{op}}\langle \{x_0\},\dots,\{x_{n-1}\}\rangle[y] \). | |
| void | element (Home home, const SetVarArgs &x, IntVar y, SetVar z) |
| Post propagator for \( z=\langle x_0,\dots,x_{n-1}\rangle[y] \). | |
| void | element (Home home, const IntSetArgs &s, IntVar y, SetVar z) |
| Post propagator for \( z=\langle s_0,\dots,s_{n-1}\rangle[y] \). | |
| void | element (Home home, const IntSetArgs &a, IntVar x, int w, IntVar y, int h, SetVar z) |
| Post propagator for \( a_{x+w\cdot y}=z\). | |
| void | element (Home home, const SetVarArgs &a, IntVar x, int w, IntVar y, int h, SetVar z) |
| Post propagator for \( a_{x+w\cdot y}=z\). | |
| void | wait (Home home, SetVar x, std::function< void(Space &home)> c) |
| Execute c when x becomes assigned. | |
| void | wait (Home home, const SetVarArgs &x, std::function< void(Space &home)> c) |
| Execute c when all variables in x become assigned. | |
| SetVarBranch | SET_VAR_NONE (void) |
| Select first unassigned variable. | |
| SetVarBranch | SET_VAR_RND (Rnd r) |
| Select random variable (uniform distribution, for tie breaking). | |
| SetVarBranch | SET_VAR_MERIT_MIN (SetBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with least merit according to branch merit function bm. | |
| SetVarBranch | SET_VAR_MERIT_MAX (SetBranchMerit bm, BranchTbl tbl=nullptr) |
| Select variable with highest merit according to branch merit function bm. | |
| SetVarBranch | SET_VAR_DEGREE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree. | |
| SetVarBranch | SET_VAR_DEGREE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree. | |
| SetVarBranch | SET_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count with decay factor d. | |
| SetVarBranch | SET_VAR_AFC_MIN (SetAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count. | |
| SetVarBranch | SET_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count with decay factor d. | |
| SetVarBranch | SET_VAR_AFC_MAX (SetAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count. | |
| SetVarBranch | SET_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with lowest action with decay factor d. | |
| SetVarBranch | SET_VAR_ACTION_MIN (SetAction a, BranchTbl tbl=nullptr) |
| Select variable with lowest action. | |
| SetVarBranch | SET_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with highest action with decay factor d. | |
| SetVarBranch | SET_VAR_ACTION_MAX (SetAction a, BranchTbl tbl=nullptr) |
| Select variable with highest action. | |
| SetVarBranch | SET_VAR_CHB_MIN (BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| SetVarBranch | SET_VAR_CHB_MIN (SetCHB c, BranchTbl tbl=nullptr) |
| Select variable with lowest CHB Q-score. | |
| SetVarBranch | SET_VAR_CHB_MAX (BranchTbl tbl=nullptr) |
| Select variable with highest CHB Q-score. | |
| SetVarBranch | SET_VAR_CHB_MAX (SetCHB c, BranchTbl tbl=nullptr) |
| Select variable with highest CHB Q-score. | |
| SetVarBranch | SET_VAR_MIN_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest minimum unknown element. | |
| SetVarBranch | SET_VAR_MIN_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest minimum unknown element. | |
| SetVarBranch | SET_VAR_MAX_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest maximum unknown element. | |
| SetVarBranch | SET_VAR_MAX_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest maximum unknown element. | |
| SetVarBranch | SET_VAR_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest unknown set. | |
| SetVarBranch | SET_VAR_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest unknown set. | |
| SetVarBranch | SET_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest degree divided by domain size. | |
| SetVarBranch | SET_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest degree divided by domain size. | |
| SetVarBranch | SET_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. | |
| SetVarBranch | SET_VAR_AFC_SIZE_MIN (SetAFC a, BranchTbl tbl=nullptr) |
| Select variable with smallest accumulated failure count divided by domain size. | |
| SetVarBranch | SET_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. | |
| SetVarBranch | SET_VAR_AFC_SIZE_MAX (SetAFC a, BranchTbl tbl=nullptr) |
| Select variable with largest accumulated failure count divided by domain size. | |
| SetVarBranch | SET_VAR_ACTION_SIZE_MIN (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with smallest action divided by domain size with decay factor d. | |
| SetVarBranch | SET_VAR_ACTION_SIZE_MIN (SetAction a, BranchTbl tbl=nullptr) |
| Select variable with smallest action divided by domain size. | |
| SetVarBranch | SET_VAR_ACTION_SIZE_MAX (double d=1.0, BranchTbl tbl=nullptr) |
| Select variable with largest action divided by domain size with decay factor d. | |
| SetVarBranch | SET_VAR_ACTION_SIZE_MAX (SetAction a, BranchTbl tbl=nullptr) |
| Select variable with largest action divided by domain size. | |
| SetVarBranch | SET_VAR_CHB_SIZE_MIN (BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. | |
| SetVarBranch | SET_VAR_CHB_SIZE_MIN (SetCHB c, BranchTbl tbl=nullptr) |
| Select variable with smallest CHB Q-score divided by domain size. | |
| SetVarBranch | SET_VAR_CHB_SIZE_MAX (BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. | |
| SetVarBranch | SET_VAR_CHB_SIZE_MAX (SetCHB c, BranchTbl tbl=nullptr) |
| Select variable with largest CHB Q-score divided by domain size. | |
| SetValBranch | SET_VAL_MIN_INC (void) |
| Include smallest element. | |
| SetValBranch | SET_VAL_MIN_EXC (void) |
| Exclude smallest element. | |
| SetValBranch | SET_VAL_MED_INC (void) |
| Include median element (rounding downwards). | |
| SetValBranch | SET_VAL_MED_EXC (void) |
| Exclude median element (rounding downwards). | |
| SetValBranch | SET_VAL_MAX_INC (void) |
| Include largest element. | |
| SetValBranch | SET_VAL_MAX_EXC (void) |
| Exclude largest element. | |
| SetValBranch | SET_VAL_RND_INC (Rnd r) |
| Include random element. | |
| SetValBranch | SET_VAL_RND_EXC (Rnd r) |
| Exclude random element. | |
| SetValBranch | SET_VAL (SetBranchVal v, SetBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c. | |
| SetAssign | SET_ASSIGN_MIN_INC (void) |
| Include smallest element. | |
| SetAssign | SET_ASSIGN_MIN_EXC (void) |
| Exclude smallest element. | |
| SetAssign | SET_ASSIGN_MED_INC (void) |
| Include median element (rounding downwards). | |
| SetAssign | SET_ASSIGN_MED_EXC (void) |
| Exclude median element (rounding downwards). | |
| SetAssign | SET_ASSIGN_MAX_INC (void) |
| Include largest element. | |
| SetAssign | SET_ASSIGN_MAX_EXC (void) |
| Exclude largest element. | |
| SetAssign | SET_ASSIGN_RND_INC (Rnd r) |
| Include random element. | |
| SetAssign | SET_ASSIGN_RND_EXC (Rnd r) |
| Exclude random element. | |
| SetAssign | SET_ASSIGN (SetBranchVal v, SetBranchCommit c=nullptr) |
| Select value as defined by the value function v and commit function c. | |
| void | branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals. | |
| void | branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals. | |
| void | branch (Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | assign (Home home, const SetVarArgs &x, SetVarBranch vars, SetAssign vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Assign all x with variable selection vars and value selection vals. | |
| void | assign (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetAssign vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Assign all x with tie-breaking variable selection vars and value selection vals. | |
| void | assign (Home home, SetVar x, SetAssign vals, SetVarValPrint vvp=nullptr) |
| Assign x with value selection vals. | |
| void | branch (Home home, const SetVarArgs &x, SetValBranch vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | assign (Home home, const SetVarArgs &x, SetAssign vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Assign all x with value selection vals. | |
| SymmetryHandle | VariableSymmetry (const SetVarArgs &x) |
| Variables in x are interchangeable. | |
| SymmetryHandle | VariableSequenceSymmetry (const SetVarArgs &x, int ss) |
| Variable sequences in x of size ss are interchangeable. | |
| void | branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals with symmetry breaking. | |
| void | branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. | |
| void | relax (Home home, const SetVarArgs &x, const SetVarArgs &sx, Rnd r, double p) |
| void | trace (Home home, const SetVarArgs &x, TraceFilter tf, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), SetTracer &t=StdSetTracer::def) |
| Create a tracer for set variables. | |
| void | trace (Home home, const SetVarArgs &x, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), SetTracer &t=StdSetTracer::def) |
| Create a tracer for set variables. | |
| template<class View0, class View1> | |
| bool | viewarrayshared (const ViewArray< View0 > &va, const View1 &y) |
| template<> | |
| bool | viewarrayshared< Set::SingletonView, Set::SetView > (const ViewArray< Set::SingletonView > &, const Set::SetView &) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SetVar &x) |
| template<class T> | |
| T | ptr_cast (void *p) |
| Cast p into pointer of type T. | |
| template<class T> | |
| void | cmb_hash (std::size_t &seed, const T h) |
| Combine hash value h into seed. | |
| bool | subset (const FloatVal &x, const FloatVal &y) |
| Test whether x is a subset of y. | |
| bool | proper_subset (const FloatVal &x, const FloatVal &y) |
| Test whether x is a proper subset of y. | |
| bool | overlap (const FloatVal &x, const FloatVal &y) |
| Test whether x and y overlap. | |
| FloatVal | intersect (const FloatVal &x, const FloatVal &y) |
| Return intersection of x and y. | |
| FloatVal | hull (const FloatVal &x, const FloatVal &y) |
| Return hull of x and y. | |
| FloatVal | hull (const FloatVal &x, const FloatNum &y) |
| Return hull of x and y. | |
| FloatVal | hull (const FloatNum &x, const FloatVal &y) |
| Return hull of x and y. | |
| FloatVal | hull (const FloatNum &x, const FloatNum &y) |
| Return hull of x and y. | |
| FloatVal | operator+ (const FloatVal &x) |
| Arithmetic operator. | |
| FloatVal | operator- (const FloatVal &x) |
| Arithmetic operator. | |
| FloatVal | operator+ (const FloatVal &x, const FloatVal &y) |
| Arithmetic operator. | |
| FloatVal | operator+ (const FloatVal &x, const FloatNum &y) |
| Arithmetic operator. | |
| FloatVal | operator+ (const FloatNum &x, const FloatVal &y) |
| Arithmetic operator. | |
| FloatVal | operator- (const FloatVal &x, const FloatVal &y) |
| Arithmetic operator. | |
| FloatVal | operator- (const FloatVal &x, const FloatNum &y) |
| Arithmetic operator. | |
| FloatVal | operator- (const FloatNum &x, const FloatVal &y) |
| Arithmetic operator. | |
| FloatVal | operator* (const FloatVal &x, const FloatVal &y) |
| Arithmetic operator. | |
| FloatVal | operator* (const FloatVal &x, const FloatNum &y) |
| Arithmetic operator. | |
| FloatVal | operator* (const FloatNum &x, const FloatVal &y) |
| Arithmetic operator. | |
| FloatVal | operator/ (const FloatVal &x, const FloatVal &y) |
| Arithmetic operator. | |
| FloatVal | operator/ (const FloatVal &x, const FloatNum &y) |
| Arithmetic operator. | |
| FloatVal | operator/ (const FloatNum &r, const FloatVal &x) |
| Arithmetic operator. | |
| bool | operator< (const FloatVal &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator< (const FloatVal &x, const FloatNum &y) |
| Comparison operator. | |
| bool | operator< (const FloatNum &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator<= (const FloatVal &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator<= (const FloatVal &x, const FloatNum &y) |
| Comparison operator. | |
| bool | operator<= (const FloatNum &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator> (const FloatVal &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator> (const FloatVal &x, const FloatNum &y) |
| Comparison operator. | |
| bool | operator> (const FloatNum &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator>= (const FloatVal &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator>= (const FloatVal &x, const FloatNum &y) |
| Comparison operator. | |
| bool | operator>= (const FloatNum &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator== (const FloatVal &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator== (const FloatVal &x, const FloatNum &y) |
| Comparison operator. | |
| bool | operator== (const FloatNum &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator!= (const FloatVal &x, const FloatVal &y) |
| Comparison operator. | |
| bool | operator!= (const FloatVal &x, const FloatNum &y) |
| Comparison operator. | |
| bool | operator!= (const FloatNum &x, const FloatVal &y) |
| Comparison operator. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const FloatVal &x) |
| Print float value x. | |
| FloatVal | abs (const FloatVal &x) |
| Return absolute value of x. | |
| FloatVal | sqrt (const FloatVal &x) |
| Return square root of x. | |
| FloatVal | sqr (const FloatVal &x) |
| Return square of x. | |
| FloatVal | pow (const FloatVal &x, int n) |
| Return n -th power of x. | |
| FloatVal | nroot (const FloatVal &x, int n) |
| Return n -th root of x. | |
| FloatVal | max (const FloatVal &x, const FloatVal &y) |
| Return maximum of x and y. | |
| FloatVal | max (const FloatVal &x, const FloatNum &y) |
| Return maximum of x and y. | |
| FloatVal | max (const FloatNum &x, const FloatVal &y) |
| Return maximum of x and y. | |
| FloatVal | min (const FloatVal &x, const FloatVal &y) |
| Return minimum of x and y. | |
| FloatVal | min (const FloatVal &x, const FloatNum &y) |
| Return minimum of x and y. | |
| FloatVal | min (const FloatNum &x, const FloatVal &y) |
| Return minimum of x and y. | |
| FloatVal | exp (const FloatVal &x) |
| Return exponential of x. | |
| FloatVal | log (const FloatVal &x) |
| Return logarithm of x. | |
| FloatVal | fmod (const FloatVal &x, const FloatVal &y) |
| Trigonometric function argument reduction. | |
| FloatVal | fmod (const FloatVal &x, const FloatNum &y) |
| Trigonometric function argument reduction. | |
| FloatVal | fmod (const FloatNum &x, const FloatVal &y) |
| Trigonometric function argument reduction. | |
| FloatVal | sin (const FloatVal &x) |
| Return sine of x. | |
| FloatVal | cos (const FloatVal &x) |
| Return cosine of x. | |
| FloatVal | tan (const FloatVal &x) |
| Return tangent of x. | |
| FloatVal | asin (const FloatVal &x) |
| Return arcsine of x. | |
| FloatVal | acos (const FloatVal &x) |
| Return arccosine of x. | |
| FloatVal | atan (const FloatVal &x) |
| Return arctangent of x. | |
| FloatVal | sinh (const FloatVal &x) |
| Return hyperbolic of x. | |
| FloatVal | cosh (const FloatVal &x) |
| Return hyperbolic of x. | |
| FloatVal | tanh (const FloatVal &x) |
| Return hyperbolic of x. | |
| FloatVal | asinh (const FloatVal &x) |
| Return hyperbolic of x. | |
| FloatVal | acosh (const FloatVal &x) |
| Return hyperbolic of x. | |
| FloatVal | atanh (const FloatVal &x) |
| Return hyperbolic of x. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const FloatVar &x) |
| Print float variable x. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const IntSet &s) |
| Print integer set s. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const IntVar &x) |
| Print integer variable x. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const BoolVar &x) |
| Print Boolean variable x. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const DFA &d) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const TupleSet &ts) |
| Archive & | operator<< (Archive &e, unsigned int i) |
| Archive & | operator<< (Archive &e, int i) |
| Archive & | operator<< (Archive &e, unsigned short i) |
| Archive & | operator<< (Archive &e, short i) |
| Archive & | operator<< (Archive &e, unsigned char i) |
| Archive & | operator<< (Archive &e, char i) |
| Archive & | operator<< (Archive &e, bool i) |
| Archive & | operator<< (Archive &e, float d) |
| Archive & | operator<< (Archive &e, double d) |
| Archive & | operator>> (Archive &e, unsigned int &i) |
| Archive & | operator>> (Archive &e, int &i) |
| Archive & | operator>> (Archive &e, unsigned short &i) |
| Archive & | operator>> (Archive &e, short &i) |
| Archive & | operator>> (Archive &e, unsigned char &i) |
| Archive & | operator>> (Archive &e, char &i) |
| Archive & | operator>> (Archive &e, bool &i) |
| Archive & | operator>> (Archive &e, float &d) |
| Archive & | operator>> (Archive &e, double &d) |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Action &a) |
| Print action values enclosed in curly brackets. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const AFC &a) |
| Print AFC information (prints nothing). | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const CHB &a) |
| Print chb values enclosed in curly brackets. | |
| template<class T> | |
| ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArray< T > &x, const VarArgArray< T > &y) |
| template<class T> | |
| ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArray< T > &x, const VarArray< T > &y) |
| template<class T> | |
| ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArgArray< T > &x, const VarArray< T > &y) |
| template<class T> | |
| ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArray< T > &x, const T &y) |
| template<class T> | |
| ArrayTraits< VarArray< T > >::ArgsType | operator+ (const T &x, const VarArray< T > &y) |
| template<class ViewX, class ViewY> | |
| bool | shared (ViewArray< ViewX > x, ViewArray< ViewY > y) |
| Test whether array x together with array y contains shared views. | |
| template<class ViewX, class ViewY> | |
| bool | shared (ViewArray< ViewX > x, ViewY y) |
| Test whether array x contains a view shared with y. | |
| template<class ViewX, class ViewY> | |
| bool | shared (ViewX x, ViewArray< ViewY > y) |
| Test whether array y contains a view shared with x. | |
| template<class View> | |
| bool | shared (ViewArray< View > x) |
| Test whether array x contains shared views. | |
| template<class T> | |
| ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const ArgArray< T > &y) |
| template<class T> | |
| ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const T &y) |
| template<class T> | |
| ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const T &x, const ArgArray< T > &y) |
| template<class Var> | |
| ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const VarArgArray< Var > &x, const VarArgArray< Var > &y) |
| template<class Var> | |
| ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const VarArgArray< Var > &x, const Var &y) |
| template<class Var> | |
| ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const Var &x, const VarArgArray< Var > &y) |
| template<class Var> | |
| bool | same (VarArgArray< Var > x, VarArgArray< Var > y) |
| Test whether array x together with array y contains at least one variable being the same. | |
| template<class Var> | |
| bool | same (VarArgArray< Var > x, Var y) |
| Test whether array x contains variable y. | |
| template<class Var> | |
| bool | same (Var x, VarArgArray< Var > y) |
| Test whether array y contains variable x. | |
| template<class Var> | |
| bool | same (VarArgArray< Var > x) |
| Test whether array x contains a variable multiply. | |
| template<class Char, class Traits, class Var> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const VarArray< Var > &x) |
| Print array elements enclosed in curly brackets. | |
| template<class Char, class Traits, class View> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ViewArray< View > &x) |
| Print array elements enclosed in curly brackets. | |
| template<class Char, class Traits, class T> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ArgArrayBase< T > &x) |
| Print array elements enclosed in curly brackets. | |
| template<class Char, class Traits, class T> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SharedArray< T > &x) |
| Print array elements enclosed in curly brackets. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ViewTraceInfo &vti) |
| Print view trace information. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const PropagateTraceInfo &pti) |
| Print propagate trace information. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const CommitTraceInfo &cti) |
| Print commit trace information. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const PostTraceInfo &pti) |
| Print post trace information. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const REG &r) |
| template<class Char, class Traits, class A> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Matrix< A > &m) |
| template<class Char, class Traits, class A> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Slice< A > &s) |
| void | element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< IntVarArgs > &m, IntVar x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< BoolVarArgs > &m, IntVar x, IntVar y, BoolVar z, IntPropLevel ipln=IPL_DEF) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< IntSetArgs > &m, IntVar x, IntVar y, SetVar z) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< SetVarArgs > &m, IntVar x, IntVar y, SetVar z) |
| Element constraint for matrix. | |
| template<class A> | |
| SymmetryHandle | rows_interchange (const Matrix< A > &m) |
| Interchangeable rows symmetry specification. | |
| template<class A> | |
| SymmetryHandle | columns_interchange (const Matrix< A > &m) |
| Interchangeable columns symmetry specification. | |
| template<class A> | |
| SymmetryHandle | rows_reflect (const Matrix< A > &m) |
| Reflect rows symmetry specification. | |
| template<class A> | |
| SymmetryHandle | columns_reflect (const Matrix< A > &m) |
| Reflect columns symmetry specification. | |
| template<class A> | |
| SymmetryHandle | diagonal_reflect (const Matrix< A > &m) |
| Reflect around main diagonal symmetry specification. | |
| template<class Char, class Traits> | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SetVar &x) |
| Print set variable x. | |
Variables | |
| const ModEvent | ME_GEN_FAILED = -1 |
| Generic modification event: failed variable. | |
| const ModEvent | ME_GEN_NONE = 0 |
| Generic modification event: no modification. | |
| const ModEvent | ME_GEN_ASSIGNED = 1 |
| Generic modification event: variable is assigned a value. | |
| const PropCond | PC_GEN_NONE = -1 |
| Propagation condition to be ignored (convenience). | |
| const PropCond | PC_GEN_ASSIGNED = 0 |
| Propagation condition for an assigned variable. | |
| Heap | heap |
| The single global heap. | |
Gecode toplevel namespace
Internal, test-only deterministic fault injection support.
The Gecode namespace contains nested namespaces for the various submodules (for example Int for the definition of integer propagator classes). Functionality that is used for interfacing (search engines, variables, and so on) or belongs to the Gecode Kernel is contained directly in the Gecode namespace.
FailPoint state is process-global. This API is supported only by the dedicated isolated single-threaded fault-test executable; it is not a supported application API and must not be used for concurrent execution.
| typedef std::function<void(const Space &home, const Brancher& b, unsigned int a, FloatVar x, int i, const FloatNumBranch& n, std::ostream& o)> Gecode::FloatVarValPrint |
| 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 |
| using Gecode::BranchFilter |
Function type for branch filter functions.
Definition at line 40 of file filter.hpp.
| using Gecode::VarValPrint |
Function type for printing variable and value selection.
| typedef int Gecode::ModEvent |
| typedef int Gecode::PropCond |
| typedef Search::Builder* Gecode::SEB |
| typedef std::function<void(const Space &home, const Brancher& b, unsigned int a, SetVar x, int i, const int& n, std::ostream& o)> Gecode::SetVarValPrint |
| enum Gecode::ExecStatus |
| Enumerator | |
|---|---|
| ES_SUBSUMED_ | Internal: propagator is subsumed, do not use. |
| ES_FAILED | Execution has resulted in failure. |
| ES_NOFIX | Propagation has not computed fixpoint. |
| ES_OK | Execution is okay. |
| ES_FIX | Propagation has computed fixpoint. |
| ES_NOFIX_FORCE | Advisor forces rescheduling of propagator. |
| ES_PARTIAL_ | Internal: propagator has computed partial fixpoint, do not use. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void Gecode::dom | ( | Home | home, |
| const FloatVarArgs & | x, | ||
| FloatVal | n ) |
Propagates \( x_i=n\) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| const FloatVarArgs & | x, | ||
| FloatNum | l, | ||
| FloatNum | u ) |
Propagates \( l\leq x_i\leq u\) for all \(0\leq i<|x|\).
Post domain consistent propagator for \( (x=n) \equiv r\).
Post domain consistent propagator for \( (l\leq x \leq u) \equiv r\).
Constrain domain of x according to domain of d.
| void Gecode::dom | ( | Home | home, |
| const FloatVarArgs & | x, | ||
| const FloatVarArgs & | d ) |
Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\).
Post propagator for \( \min\{x_0,x_1\}=x_2\).
| void Gecode::min | ( | Home | home, |
| const FloatVarArgs & | x, | ||
| FloatVar | y ) |
Post propagator for \( \min x=y\) If x is empty, an exception of type Float::TooFewArguments is thrown.
Post propagator for \( \max\{x_0,x_1\}=x_2\).
| void Gecode::max | ( | Home | home, |
| const FloatVarArgs & | x, | ||
| FloatVar | y ) |
Post propagator for \( \max x=y\) If x is empty, an exception of type Float::TooFewArguments is thrown.
Post propagator for \(x_0\cdot x_1=x_2\).
Post propagator for \({x_0}^{n}=x_1\) for \(n\geq 0\).
Post propagator for \({x_0}^{1/n}=x_1\) for \(n\geq 0\).
Post propagator for \(x_0\ \mathrm{div}\ x_1=x_2\).
Post propagator for \( \mathrm{exp}(x_0)=x_1\).
Post propagator for \( \mathrm{log}_e(x_0)=x_1\).
Post propagator for \( \mathit{base}^{x_0}=x_1\).
Post propagator for \( \mathrm{log}_{\mathit{base}}(x_0)=x_1\).
Post propagator for \( \mathrm{asin}(x_0)=x_1\).
Post propagator for \( \mathrm{sin}(x_0)=x_1\).
Post propagator for \( \mathrm{acos}(x_0)=x_1\).
Post propagator for \( \mathrm{cos}(x_0)=x_1\).
Post propagator for \( \mathrm{atan}(x_0)=x_1\).
Post propagator for \( \mathrm{tan}(x_0)=x_1\).
Post propagator for channeling a float and an integer variable \( x_0 = x_1\).
Post propagator for channeling a float and an integer variable \( x_0 = x_1\).
Definition at line 39 of file channel.hpp.
Post propagator for channeling a float and a Boolean variable \( x_0 = x_1\).
Post propagator for channeling a float and a Boolean variable \( x_0 = x_1\).
Definition at line 44 of file channel.hpp.
Execute c when x becomes assigned.
| void Gecode::wait | ( | Home | home, |
| const FloatVarArgs & | x, | ||
| std::function< void(Space &home)> | c ) |
Execute c when all variables in x become assigned.
|
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 The default commit function posts the constraint that the float variable x must be less or equal than the value n for the first alternative and that x must be greater or equal than n otherwise.
|
inline |
Select median value of the lower part.
Definition at line 55 of file assign.hpp.
|
inline |
Select median value of the upper part.
Definition at line 60 of file assign.hpp.
|
inline |
Select median value of a randomly chosen part.
Definition at line 65 of file assign.hpp.
|
inline |
Select value as defined by the value function v and commit function c The default commit function posts the constraint that the float variable x must be less or equal than the value n.
Definition at line 70 of file assign.hpp.
| void Gecode::relax | ( | Home | home, |
| const FloatVarArgs & | x, | ||
| const FloatVarArgs & | sx, | ||
| Rnd | r, | ||
| double | p ) |
|
inline |
Definition at line 38 of file val-sel.hpp.
|
inline |
Definition at line 44 of file val-sel.hpp.
|
|
|
|
|
|
inline |
|
inline |
|
inline |
|
inline |
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | n, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Propagates \(x=n\).
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | n, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Propagates \( x_i=n\) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | l, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Propagates \( l\leq x\leq m\).
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | l, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Propagates \( l\leq x_i\leq m\) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| const IntSet & | s, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Propagates \( x\in s \).
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | s, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Propagates \( x_i\in s\) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | n, | ||
| Reify | r, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( (x=n) \equiv r\).
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| int | l, | ||
| int | m, | ||
| Reify | r, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( (l\leq x \leq m) \equiv r\).
Post domain consistent propagator for \( (x \in s) \equiv r\).
| void Gecode::dom | ( | Home | home, |
| IntVar | x, | ||
| IntVar | d, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Constrain domain of x according to domain of d.
| void Gecode::dom | ( | Home | home, |
| BoolVar | x, | ||
| BoolVar | d, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Constrain domain of x according to domain of d.
| void Gecode::dom | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | d, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| const BoolVarArgs & | d, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\).
| void Gecode::member | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \(y\in \{x_0,\ldots,x_{|x|-1}\}\).
| void Gecode::member | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| BoolVar | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \(y\in \{x_0,\ldots,x_{|x|-1}\}\).
| void Gecode::member | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| Reify | r, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \(\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r\).
| void Gecode::member | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| BoolVar | y, | ||
| Reify | r, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \(\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r\).
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( n_{x_0}=x_1\).
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| int | offset, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( n_{x_0+offset}=x_1\).
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| BoolVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( n_{x_0}=x_1\).
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| int | offset, | ||
| BoolVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( n_{x_0+offset}=x_1\).
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| int | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( n_{x_0}=x_1\).
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
| void Gecode::element | ( | Home | home, |
| IntSharedArray | n, | ||
| IntVar | x0, | ||
| int | offset, | ||
| int | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( n_{x_0+offset}=x_1\).
Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits.
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y0, | ||
| IntVar | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_{y_0}=y_1\).
Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y0, | ||
| int | offset, | ||
| IntVar | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_{y_0+offset}=y_1\).
Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y0, | ||
| int | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_{y_0}=y_1\).
Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y0, | ||
| int | offset, | ||
| int | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_{y_0+offset}=y_1\).
Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y0, | ||
| BoolVar | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( x_{y_0}=y_1\).
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y0, | ||
| int | offset, | ||
| BoolVar | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( x_{y_0+offset}=y_1\).
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y0, | ||
| int | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( x_{y_0}=y_1\).
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y0, | ||
| int | offset, | ||
| int | y1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( x_{y_0+offset}=y_1\).
| 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 \( a_{x+w\cdot y}=z\).
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 \( w\cdot h\neq|a|\).
| void Gecode::element | ( | Home | home, |
| IntSharedArray | a, | ||
| IntVar | x, | ||
| int | xoff, | ||
| int | w, | ||
| IntVar | y, | ||
| int | yoff, | ||
| int | h, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\).
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, offset by xoff and yoff.
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 \( w\cdot h\neq|a|\).
| 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 \( a_{x+w\cdot y}=z\).
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 \( w\cdot h\neq|a|\).
| void Gecode::element | ( | Home | home, |
| IntSharedArray | a, | ||
| IntVar | x, | ||
| int | xoff, | ||
| int | w, | ||
| IntVar | y, | ||
| int | yoff, | ||
| int | h, | ||
| BoolVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\).
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, offset by xoff and yoff.
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 \( w\cdot h\neq|a|\).
| 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 \( a_{x+w\cdot y}=z\).
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 \( w\cdot h\neq|a|\).
| void Gecode::element | ( | Home | home, |
| const IntVarArgs & | a, | ||
| IntVar | x, | ||
| int | xoff, | ||
| int | w, | ||
| IntVar | y, | ||
| int | yoff, | ||
| int | h, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\).
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, offset by xoff and yoff.
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 \( w\cdot h\neq|a|\).
| 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 \( a_{x+w\cdot y}=z\).
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 \( w\cdot h\neq|a|\).
| void Gecode::element | ( | Home | home, |
| const BoolVarArgs & | a, | ||
| IntVar | x, | ||
| int | xoff, | ||
| int | w, | ||
| IntVar | y, | ||
| int | yoff, | ||
| int | h, | ||
| BoolVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for \( a_{x+xoff+w\cdot (y+yoff)}=z\).
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, offset by xoff and yoff.
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 \( w\cdot h\neq|a|\).
| void Gecode::distinct | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_i\neq x_j\) for all \(0\leq i\neq j<|x|\).
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::distinct | ( | Home | home, |
| const IntArgs & | n, | ||
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_i+n_i\neq x_j+n_j\) for all \(0\leq i\neq j<|x|\).
| void Gecode::distinct | ( | Home | home, |
| const BoolVarArgs & | b, | ||
| const IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( b_i=1\wedge b_j=1\to x_i\neq x_j\) for all \(0\leq i\neq j<|x|\).
| void Gecode::distinct | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | c, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_i=c\vee x_j=c\vee x_i\neq x_j\) for all \(0\leq i\neq j<|x|\).
| void Gecode::channel | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntVarArgs & | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_i = j\leftrightarrow y_j=i\) for all \(0\leq i<|x|\).
| void Gecode::channel | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | xoff, | ||
| const IntVarArgs & | y, | ||
| int | yoff, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i\) for all \(0\leq i<|x|\).
| 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 \( x_0 = x_1\).
|
inline |
Post domain consistent propagator for channeling an integer and a Boolean variable \( x_0 = x_1\).
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 \( x_i = 1\leftrightarrow y=i+o\).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
| 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:
| 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 \(\forall i\in\{0,\dots,|x|-1\}: x_i=y_{z_i} \).
Might throw the following exceptions:
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | n, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} m\).
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | y, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} m\).
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} m\).
Performs domain propagation (ipl = IPL_DOM, default) and slightly less domain propagation (all other values for ipl), where y is not pruned. Note that in both cases propagation is not domain consistent.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntArgs & | y, | ||
| IntRelType | irt, | ||
| int | m, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} m\).
Performs domain propagation but is not domain consistent.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | n, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} z\).
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | y, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} z\).
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} z\).
Performs domain propagation (ipl = IPL_DOM, default) and slightly less domain propagation (all other values for ipl), where y is not pruned. Note that in both cases propagation is not domain consistent.
| void Gecode::count | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntArgs & | y, | ||
| IntRelType | irt, | ||
| IntVar | z, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} z\).
Performs domain propagation but is not domain consistent.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
| 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 \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=j\}=c_j\) and \( \bigcup_i \{x_i\} \subseteq \{0,\ldots,|c|-1\}\) (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 \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=j\}\in c_j\) and \( \bigcup_i \{x_i\} \subseteq \{0,\ldots,|c|-1\}\) (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 \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=v_j\}=c_j\) and \( \bigcup_i \{x_i\} \subseteq \bigcup_j \{v_j\}\) (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 \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=v_j\}\in c_j\) and \( \bigcup_i \{x_i\} \subseteq \bigcup_j \{v_j\}\) (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 \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=v_j\}\in c\) and \( \bigcup_i \{x_i\} \subseteq \bigcup_j \{v_j\}\) (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 | ipl = IPL_DEF ) |
Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\).
| void Gecode::nvalues | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntRelType | irt, | ||
| IntVar | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\).
| void Gecode::nvalues | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntRelType | irt, | ||
| int | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\).
| void Gecode::nvalues | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntRelType | irt, | ||
| IntVar | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y\).
| void Gecode::sequence | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const IntSet & | s, | ||
| int | q, | ||
| int | l, | ||
| int | u, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\operatorname{sequence}(x,s,q,l,u)\).
Posts a domain consistent propagator for the constraint \(\bigwedge_{i=0}^{|x|-q} \operatorname{among}(\langle x_i,\ldots,x_{i+q-1}\rangle,s,l,u)\) where the among constraint is defined as \(l\leq\#\{j\in\{i,\ldots,i+q-1\}\;|\;x_j\in s\} \leq u\).
Throws the following exceptions:
| void Gecode::sequence | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| const IntSet & | s, | ||
| int | q, | ||
| int | l, | ||
| int | u, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\operatorname{sequence}(x,s,q,l,u)\).
Posts a domain consistent propagator for the constraint \(\bigwedge_{i=0}^{|x|-q} \operatorname{among}(\langle x_i,\ldots,x_{i+q-1}\rangle,s,l,u)\) where the among constraint is defined as \(l\leq\#\{j\in\{i,\ldots,i+q-1\}\;|\;x_j\in s\} \leq u\).
Throws the following exceptions:
Post propagator for \( \min\{x_0,x_1\}=x_2\).
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
| void Gecode::min | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \min x=y\).
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.
Post propagator for \( \max\{x_0,x_1\}=x_2\).
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
| void Gecode::max | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \max x=y\).
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.
| void Gecode::argmin | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmin}(x)=y\).
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.
| void Gecode::argmin | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmin}(x)+o=y\).
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.
| void Gecode::argmax | ( | Home | home, |
| const IntVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmax}(x)=y\).
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.
| void Gecode::argmax | ( | Home | home, |
| const IntVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmax}(x)+o=y\).
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.
| void Gecode::argmin | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmin}(x)=y\).
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.
| void Gecode::argmin | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmin}(x)-o=y\).
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.
| void Gecode::argmax | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmax}(x)=y\).
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.
| void Gecode::argmax | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| int | o, | ||
| IntVar | y, | ||
| bool | tiebreak = true, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( \operatorname{argmax}(x)-o=y\).
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.
| void Gecode::abs | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \( |x_0|=x_1\).
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
Post propagator for \(x_0\cdot x_1=x_2\).
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
| void Gecode::divmod | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntVar | x2, | ||
| IntVar | x3, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(x_0\ \mathrm{div}\ x_1=x_2 \land x_0\ \mathrm{mod}\ x_1 = x_3\).
Supports bounds consistency (ipl = IPL_BND, default).
Post propagator for \(x_0\ \mathrm{div}\ x_1=x_2\).
Supports bounds consistency (ipl = IPL_BND, default).
Post propagator for \(x_0\ \mathrm{mod}\ x_1=x_2\).
Supports bounds consistency (ipl = IPL_BND, default).
| void Gecode::sqr | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(x_0^2=x_1\).
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
| void Gecode::sqrt | ( | Home | home, |
| IntVar | x0, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\lfloor\sqrt{x_0}\rfloor=x_1\).
Supports both bounds consistency (ipl = IPL_BND, default) and domain consistency (ipl = IPL_DOM).
| void Gecode::pow | ( | Home | home, |
| IntVar | x0, | ||
| int | n, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(x_0^n=x_1\).
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.
| void Gecode::nroot | ( | Home | home, |
| IntVar | x0, | ||
| int | n, | ||
| IntVar | x1, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(\lfloor\sqrt[n]{x_0}\rfloor=x_1\).
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.
| IntSet Gecode::binpacking | ( | Home | home, |
| int | d, | ||
| const IntVarArgs & | l, | ||
| const IntVarArgs & | b, | ||
| const IntArgs & | s, | ||
| const IntArgs & | c, | ||
| IntPropLevel | ipl = IPL_DEF ) |
| 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 \(s_0\) and \(s_1\) with processing times \(p_0\) and \(p_1\) according to Boolean variable b (if b is zero \(s_0\) starts before \(s_1\)).
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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 | \( m_i \) is the machine assigned to task \( i \) |
| s | \( s_i \) is the start time assigned to task \( i \) |
| p | \( p_i \) is the processing time of task \( i \) |
| e | \( e_i \) is the end time assigned to task \( i \) |
| u | \( u_i \) is the amount of resources consumed by task \( i \) |
| c | \( c_r \) is the capacity, the amount of resource available for machine \( r \) |
| 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. |
| 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 \(s_i+p_i=e_i\), 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 \(s_i+p_i=e_i\), 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.
| 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.
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.
| 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.
| 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.
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.
| 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.
| 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.
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.
| 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.
| 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.
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.
| 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 \(s_i+p_i=e_i\), 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.
| 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.
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 \(s_i+p_i=e_i\), 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.
| 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 \(s_i+p_i=e_i\), 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.
| 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.
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 \(s_i+p_i=e_i\), 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.
| 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 \(i\to j\) where \(x_i=j\) 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:
| 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 \(i\to j\) where \(x_{i-\text{offset}}=j\) 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:
| 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 \(i\to j\) where \(x_i=j\) has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). The variable z is the cost of the entire circuit. The variables y define the cost of the edge in x: that is, if \(x_i=j\) then \(y_i=c_{i*n+j}\).
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:
| 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 \(i\to j\) where \(x_{i-\text{offset}}=j\) has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). The variable z is the cost of the entire circuit. The variables y define the cost of the edge in x: that is, if \(x_i=j\) then \(y_i=c_{i*n+j}\).
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:
| 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 \(i\to j\) where \(x_i=j\) has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). 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:
| 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 \(i\to j\) where \(x_{i-\text{offset}}=j\) has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). 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:
| 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 \(i\to j\) where \(x_i=j\) visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to \(|x|\).
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:
| 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 \(i\to j\) where \(x_{i-\text{offset}}=j\) visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to \(|x|+\text{offset}\).
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:
| 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 \(i\to j\) where \(x_i=j\) visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to \(|x|\). The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). The variable z is the cost of the entire path. The variables y define the cost of the edge in x: that is, if \(x_i=j\) then \(y_i=c_{i*n+j}\).
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:
| 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 \(i\to j\) where \(x_{i-\text{offset}}=j\) visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to \(|x|+\text{offset}\). The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). The variable z is the cost of the entire path. The variables y define the cost of the edge in x: that is, if \(x_i=j\) then \(y_i=c_{i*n+j}\).
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:
| 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 \(i\to j\) where \(x_i=j\) visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to \(|x|\). The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). 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:
| 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 \(i\to j\) where \(x_{i-\text{offset}}=j\) visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to \(|x|+\text{offset}\). The integer array c gives the costs of all possible edges where \(c_{i*|x|+j}\) is the cost of the edge \(i\to j\). 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:
| void Gecode::wait | ( | Home | home, |
| IntVar | x, | ||
| std::function< void(Space &home)> | c, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Execute c when x becomes assigned.
| void Gecode::wait | ( | Home | home, |
| BoolVar | x, | ||
| std::function< void(Space &home)> | c, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Execute c when x becomes assigned.
| 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.
| 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.
| 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.
| 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.
| void Gecode::unshare | ( | Home | home, |
| IntVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Replace multiple variable occurrences in x by fresh variables.
Supports domain consistency (ipl = IPL_DOM, default) and bounds consistency (ipl = IPL_BND).
| void Gecode::unshare | ( | Home | home, |
| BoolVarArgs & | x, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Replace multiple variable occurrences in x by fresh variables.
|
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 |
|
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.
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 & | x | ) |
Variables in x are interchangeable.
| SymmetryHandle Gecode::VariableSymmetry | ( | const BoolVarArgs & | x | ) |
Variables in x are interchangeable.
| SymmetryHandle Gecode::VariableSymmetry | ( | const IntVarArgs & | x, |
| const IntArgs & | indices ) |
Specified variables in x are interchangeable.
| SymmetryHandle Gecode::ValueSymmetry | ( | const IntArgs & | v | ) |
Values in v are interchangeable.
| SymmetryHandle Gecode::ValueSymmetry | ( | const IntSet & | v | ) |
Values in v are interchangeable.
| SymmetryHandle Gecode::ValueSymmetry | ( | IntVar | vars | ) |
All values in the domain of the given variable are interchangeable.
| SymmetryHandle Gecode::VariableSequenceSymmetry | ( | const IntVarArgs & | x, |
| int | ss ) |
Variable sequences in x of size ss are interchangeable.
The size of x must be a multiple of ss.
| SymmetryHandle Gecode::VariableSequenceSymmetry | ( | const BoolVarArgs & | x, |
| int | ss ) |
Variable sequences in x of size ss are interchangeable.
The size of x must be a multiple of ss.
| SymmetryHandle Gecode::ValueSequenceSymmetry | ( | const IntArgs & | v, |
| int | ss ) |
Value sequences in v of size ss are interchangeable.
The size of v must be a multiple of ss.
| SymmetryHandle Gecode::values_reflect | ( | int | lower, |
| int | upper ) |
The values from lower to upper (inclusive) can be reflected.
| 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 ) |
|
|
Definition at line 355 of file tuple-set.hpp.
|
Definition at line 292 of file int-set-1.hpp.
|
|
Call the function f (with the current space as argument) for branching.
Definition at line 195 of file archive.hpp.
Definition at line 200 of file archive.hpp.
Definition at line 205 of file archive.hpp.
Definition at line 210 of file archive.hpp.
Definition at line 215 of file archive.hpp.
Definition at line 220 of file archive.hpp.
Definition at line 225 of file archive.hpp.
Definition at line 230 of file archive.hpp.
Definition at line 236 of file archive.hpp.
Definition at line 244 of file archive.hpp.
Definition at line 249 of file archive.hpp.
Definition at line 254 of file archive.hpp.
Definition at line 259 of file archive.hpp.
Definition at line 264 of file archive.hpp.
Definition at line 269 of file archive.hpp.
Definition at line 274 of file archive.hpp.
Definition at line 279 of file archive.hpp.
Definition at line 286 of file archive.hpp.
|
Definition at line 364 of file action.hpp.
|
|
Combine variable selection criteria a and b for tie-breaking.
Definition at line 80 of file tiebreak.hpp.
| TieBreak< VarBranch > Gecode::tiebreak | ( | VarBranch | a, |
| VarBranch | b, | ||
| VarBranch | c ) |
Combine variable selection criteria a, b, and c for tie-breaking.
Definition at line 87 of file tiebreak.hpp.
| TieBreak< VarBranch > Gecode::tiebreak | ( | VarBranch | a, |
| VarBranch | b, | ||
| VarBranch | c, | ||
| VarBranch | d ) |
Combine variable selection criteria a, b, c, and d for tie-breaking.
Definition at line 94 of file tiebreak.hpp.
|
inline |
Post view value brancher.
Definition at line 341 of file view-val.hpp.
| ArrayTraits< VarArray< Var > >::ArgsType Gecode::operator+ | ( | const VarArray< Var > & | x, |
| const VarArray< Var > & | y ) |
| ArrayTraits< VarArray< Var > >::ArgsType Gecode::operator+ | ( | const VarArray< Var > & | x, |
| const VarArgArray< Var > & | y ) |
| ArrayTraits< VarArray< Var > >::ArgsType Gecode::operator+ | ( | const VarArgArray< Var > & | x, |
| const VarArray< Var > & | y ) |
| ArrayTraits< VarArray< Var > >::ArgsType Gecode::operator+ | ( | const VarArray< Var > & | x, |
| const Var & | y ) |
| ArrayTraits< VarArray< Var > >::ArgsType Gecode::operator+ | ( | const Var & | x, |
| const VarArray< Var > & | y ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 358 of file shared-array.hpp.
|
noexcept |
Tests two space allocators for equality.
Two allocators are equal when each can release storage allocated from the other.
Definition at line 292 of file allocators.hpp.
|
noexcept |
Tests two space allocators for inequality.
Two allocators are equal when each can release storage allocated from the other.
Definition at line 304 of file allocators.hpp.
|
noexcept |
Definition at line 457 of file allocators.hpp.
|
noexcept |
Definition at line 469 of file allocators.hpp.
Disjunctive combination of trace filter expressions l and r.
Definition at line 229 of file filter.hpp.
Positive expression.
Definition at line 233 of file filter.hpp.
Combine positive expression l and negative expression r.
Definition at line 237 of file filter.hpp.
| TFE Gecode::propagator | ( | PropagatorGroup | g | ) |
Only propagators (but not post functions) from g are considered.
| TFE Gecode::post | ( | PropagatorGroup | g | ) |
Only post functions (but not propagators) from g are considered.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| LinIntExpr Gecode::operator+ | ( | int | , |
| const IntVar & | ) |
Construct linear expression as sum of integer variable and integer.
| LinIntExpr Gecode::operator+ | ( | int | , |
| const BoolVar & | ) |
Construct linear expression as sum of Boolean variable and integer.
| LinIntExpr Gecode::operator+ | ( | int | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of linear expression and integer.
| LinIntExpr Gecode::operator+ | ( | const IntVar & | , |
| int | ) |
Construct linear expression as sum of integer variable and integer.
| LinIntExpr Gecode::operator+ | ( | const BoolVar & | , |
| int | ) |
Construct linear expression as sum of Boolean variable and integer.
| LinIntExpr Gecode::operator+ | ( | const LinIntExpr & | , |
| int | ) |
Construct linear expression as sum of linear expression and integer.
| LinIntExpr Gecode::operator+ | ( | const IntVar & | , |
| const IntVar & | ) |
Construct linear expression as sum of integer variables.
| LinIntExpr Gecode::operator+ | ( | const IntVar & | , |
| const BoolVar & | ) |
Construct linear expression as sum of integer and Boolean variable.
| LinIntExpr Gecode::operator+ | ( | const BoolVar & | , |
| const IntVar & | ) |
Construct linear expression as sum of Boolean and integer variable.
| LinIntExpr Gecode::operator+ | ( | const BoolVar & | , |
| const BoolVar & | ) |
Construct linear expression as sum of Boolean variables.
| LinIntExpr Gecode::operator+ | ( | const IntVar & | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of integer variable and linear expression.
| LinIntExpr Gecode::operator+ | ( | const BoolVar & | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of Boolean variable and linear expression.
| LinIntExpr Gecode::operator+ | ( | const LinIntExpr & | , |
| const IntVar & | ) |
Construct linear expression as sum of linear expression and integer variable.
| LinIntExpr Gecode::operator+ | ( | const LinIntExpr & | , |
| const BoolVar & | ) |
Construct linear expression as sum of linear expression and Boolean variable.
| LinIntExpr Gecode::operator+ | ( | const LinIntExpr & | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of linear expressions.
| LinIntExpr Gecode::operator- | ( | int | , |
| const IntVar & | ) |
Construct linear expression as sum of integer variable and integer.
| LinIntExpr Gecode::operator- | ( | int | , |
| const BoolVar & | ) |
Construct linear expression as sum of Boolean variable and integer.
| LinIntExpr Gecode::operator- | ( | int | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of integer and linear expression.
| LinIntExpr Gecode::operator- | ( | const IntVar & | , |
| int | ) |
Construct linear expression as sum of integer variable and integer.
| LinIntExpr Gecode::operator- | ( | const BoolVar & | , |
| int | ) |
Construct linear expression as sum of Boolean variable and integer.
| LinIntExpr Gecode::operator- | ( | const LinIntExpr & | , |
| int | ) |
Construct linear expression as sum of linear expression and integer.
| LinIntExpr Gecode::operator- | ( | const IntVar & | , |
| const IntVar & | ) |
Construct linear expression as sum of integer variables.
| LinIntExpr Gecode::operator- | ( | const IntVar & | , |
| const BoolVar & | ) |
Construct linear expression as sum of integer and Boolean variable.
| LinIntExpr Gecode::operator- | ( | const BoolVar & | , |
| const IntVar & | ) |
Construct linear expression as sum of Boolean and integer variable.
| LinIntExpr Gecode::operator- | ( | const BoolVar & | , |
| const BoolVar & | ) |
Construct linear expression as sum of Boolean variables.
| LinIntExpr Gecode::operator- | ( | const IntVar & | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of integer variable and linear expression.
| LinIntExpr Gecode::operator- | ( | const BoolVar & | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of Boolean variable and linear expression.
| LinIntExpr Gecode::operator- | ( | const LinIntExpr & | , |
| const IntVar & | ) |
Construct linear expression as sum of linear expression and integer variable.
| LinIntExpr Gecode::operator- | ( | const LinIntExpr & | , |
| const BoolVar & | ) |
Construct linear expression as sum of linear expression and Boolean variable.
| LinIntExpr Gecode::operator- | ( | const LinIntExpr & | , |
| const LinIntExpr & | ) |
Construct linear expression as sum of linear expressions.
| LinIntExpr Gecode::operator- | ( | const IntVar & | ) |
Construct linear expression as negative of integer variable.
| LinIntExpr Gecode::operator- | ( | const BoolVar & | ) |
Construct linear expression as negative of Boolean variable.
| LinIntExpr Gecode::operator- | ( | const LinIntExpr & | ) |
Construct linear expression as negative of linear expression.
| LinIntExpr Gecode::operator* | ( | int | , |
| const IntVar & | ) |
Construct linear expression as product of integer coefficient and integer variable.
| LinIntExpr Gecode::operator* | ( | int | , |
| const BoolVar & | ) |
Construct linear expression as product of integer coefficient and Boolean variable.
| LinIntExpr Gecode::operator* | ( | const IntVar & | , |
| int | ) |
Construct linear expression as product of integer coefficient and integer variable.
| LinIntExpr Gecode::operator* | ( | const BoolVar & | , |
| int | ) |
Construct linear expression as product of integer coefficient and Boolean variable.
| LinIntExpr Gecode::operator* | ( | const LinIntExpr & | , |
| int | ) |
Construct linear expression as product of integer coefficient and linear expression.
| LinIntExpr Gecode::operator* | ( | int | , |
| const LinIntExpr & | ) |
Construct linear expression as product of integer coefficient and linear expression.
| LinIntExpr Gecode::sum | ( | const IntVarArgs & | x | ) |
Construct linear expression as sum of integer variables.
| LinIntExpr Gecode::sum | ( | const IntArgs & | a, |
| const IntVarArgs & | x ) |
Construct linear expression as sum of integer variables with coefficients.
| LinIntExpr Gecode::sum | ( | const BoolVarArgs & | x | ) |
Construct linear expression as sum of Boolean variables.
| LinIntExpr Gecode::sum | ( | const IntArgs & | a, |
| const BoolVarArgs & | x ) |
Construct linear expression as sum of Boolean variables with coefficients.
| LinIntExpr Gecode::sum | ( | const IntArgs & | args | ) |
Construct linear expression as sum of IntArgs.
| LinIntRel Gecode::operator== | ( | int | l, |
| const LinIntExpr & | r ) |
Construct linear equality relation.
| LinIntRel Gecode::operator== | ( | const LinIntExpr & | l, |
| int | r ) |
Construct linear equality relation.
Construct linear equality relation.
Construct linear equality relation.
Construct linear equality relation.
Construct linear equality relation.
| LinIntRel Gecode::operator== | ( | const IntVar & | l, |
| const LinIntExpr & | r ) |
Construct linear equality relation.
| LinIntRel Gecode::operator== | ( | const BoolVar & | l, |
| const LinIntExpr & | r ) |
Construct linear equality relation.
| LinIntRel Gecode::operator== | ( | const LinIntExpr & | l, |
| const IntVar & | r ) |
Construct linear equality relation.
| LinIntRel Gecode::operator== | ( | const LinIntExpr & | l, |
| const BoolVar & | r ) |
Construct linear equality relation.
| LinIntRel Gecode::operator== | ( | const LinIntExpr & | l, |
| const LinIntExpr & | r ) |
Construct linear equality relation.
| LinIntRel Gecode::operator!= | ( | int | l, |
| const IntVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | int | l, |
| const BoolVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | int | l, |
| const LinIntExpr & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const IntVar & | l, |
| int | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const BoolVar & | l, |
| int | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const LinIntExpr & | l, |
| int | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const IntVar & | l, |
| const IntVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const IntVar & | l, |
| const BoolVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const BoolVar & | l, |
| const IntVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const BoolVar & | l, |
| const BoolVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const IntVar & | l, |
| const LinIntExpr & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const BoolVar & | l, |
| const LinIntExpr & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const LinIntExpr & | l, |
| const IntVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const LinIntExpr & | l, |
| const BoolVar & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator!= | ( | const LinIntExpr & | l, |
| const LinIntExpr & | r ) |
Construct linear disequality relation.
| LinIntRel Gecode::operator< | ( | int | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator< | ( | const LinIntExpr & | l, |
| int | r ) |
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
| LinIntRel Gecode::operator< | ( | const IntVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator< | ( | const BoolVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator< | ( | const LinIntExpr & | l, |
| const IntVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator< | ( | const LinIntExpr & | l, |
| const BoolVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator< | ( | const LinIntExpr & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator<= | ( | int | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator<= | ( | const LinIntExpr & | l, |
| int | r ) |
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
| LinIntRel Gecode::operator<= | ( | const IntVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator<= | ( | const BoolVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator<= | ( | const LinIntExpr & | l, |
| const IntVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator<= | ( | const LinIntExpr & | l, |
| const BoolVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator<= | ( | const LinIntExpr & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator> | ( | int | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator> | ( | const LinIntExpr & | l, |
| int | r ) |
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
| LinIntRel Gecode::operator> | ( | const IntVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator> | ( | const BoolVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator> | ( | const LinIntExpr & | l, |
| const IntVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator> | ( | const LinIntExpr & | l, |
| const BoolVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator> | ( | const LinIntExpr & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator>= | ( | int | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator>= | ( | const LinIntExpr & | l, |
| int | r ) |
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
Construct linear inequality relation.
| LinIntRel Gecode::operator>= | ( | const IntVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator>= | ( | const BoolVar & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator>= | ( | const LinIntExpr & | l, |
| const IntVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator>= | ( | const LinIntExpr & | l, |
| const BoolVar & | r ) |
Construct linear inequality relation.
| LinIntRel Gecode::operator>= | ( | const LinIntExpr & | l, |
| const LinIntExpr & | r ) |
Construct linear inequality relation.
| LinFloatExpr Gecode::operator+ | ( | const FloatVal & | , |
| const FloatVar & | ) |
Construct linear float expression as sum of float variable and float.
| LinFloatExpr Gecode::operator+ | ( | const FloatVal & | , |
| const LinFloatExpr & | ) |
Construct linear float expression as sum of linear float expression and float.
| LinFloatExpr Gecode::operator+ | ( | const FloatVar & | , |
| const FloatVal & | ) |
Construct linear float expression as sum of float variable and float.
| LinFloatExpr Gecode::operator+ | ( | const LinFloatExpr & | , |
| const FloatVal & | ) |
Construct linear float expression as sum of linear float expression and float.
| LinFloatExpr Gecode::operator+ | ( | const FloatVar & | , |
| const FloatVar & | ) |
Construct linear float expression as sum of float variables.
| LinFloatExpr Gecode::operator+ | ( | const FloatVar & | , |
| const LinFloatExpr & | ) |
Construct linear float expression as sum of float variable and linear float expression.
| LinFloatExpr Gecode::operator+ | ( | const LinFloatExpr & | , |
| const FloatVar & | ) |
Construct linear float expression as sum of linear float expression and float variable.
| LinFloatExpr Gecode::operator+ | ( | const LinFloatExpr & | , |
| const LinFloatExpr & | ) |
Construct linear float expression as sum of linear float expressions.
| LinFloatExpr Gecode::operator- | ( | const FloatVal & | , |
| const FloatVar & | ) |
Construct linear float expression as sum of float variable and float.
| LinFloatExpr Gecode::operator- | ( | const FloatVal & | , |
| const LinFloatExpr & | ) |
Construct linear float expression as sum of float and linear float expression.
| LinFloatExpr Gecode::operator- | ( | const FloatVar & | , |
| const FloatVal & | ) |
Construct linear float expression as sum of float variable and float.
| LinFloatExpr Gecode::operator- | ( | const LinFloatExpr & | , |
| const FloatVal & | ) |
Construct linear float expression as sum of linear float expression and float.
| LinFloatExpr Gecode::operator- | ( | const FloatVar & | , |
| const FloatVar & | ) |
Construct linear float expression as sum of float variables.
| LinFloatExpr Gecode::operator- | ( | const FloatVar & | , |
| const LinFloatExpr & | ) |
Construct linear float expression as sum of float variable and linear float expression.
| LinFloatExpr Gecode::operator- | ( | const LinFloatExpr & | , |
| const FloatVar & | ) |
Construct linear float expression as sum of linear float expression and float variable.
| LinFloatExpr Gecode::operator- | ( | const LinFloatExpr & | , |
| const LinFloatExpr & | ) |
Construct linear float expression as sum of linear float expressions.
| LinFloatExpr Gecode::operator- | ( | const FloatVar & | ) |
Construct linear float expression as negative of float variable.
| LinFloatExpr Gecode::operator- | ( | const LinFloatExpr & | ) |
Construct linear float expression as negative of linear float expression.
| LinFloatExpr Gecode::operator* | ( | const FloatVal & | , |
| const FloatVar & | ) |
Construct linear float expression as product of float coefficient and float variable.
| LinFloatExpr Gecode::operator* | ( | const FloatVar & | , |
| const FloatVal & | ) |
Construct linear float expression as product of float coefficient and float variable.
| LinFloatExpr Gecode::operator* | ( | const LinFloatExpr & | , |
| const FloatVal & | ) |
Construct linear float expression as product of float coefficient and linear float expression.
| LinFloatExpr Gecode::operator* | ( | const FloatVal & | , |
| const LinFloatExpr & | ) |
Construct linear float expression as product of float coefficient and linear float expression.
| LinFloatExpr Gecode::sum | ( | const FloatVarArgs & | x | ) |
Construct linear float expression as sum of float variables.
| LinFloatExpr Gecode::sum | ( | const FloatValArgs & | a, |
| const FloatVarArgs & | x ) |
Construct linear float expression as sum of float variables with coefficients.
| LinFloatRel Gecode::operator== | ( | const FloatVal & | l, |
| const FloatVar & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator== | ( | const FloatVal & | l, |
| const LinFloatExpr & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator== | ( | const FloatVar & | l, |
| const FloatVal & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator== | ( | const LinFloatExpr & | l, |
| const FloatVal & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator== | ( | const FloatVar & | l, |
| const FloatVar & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator== | ( | const FloatVar & | l, |
| const LinFloatExpr & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator== | ( | const LinFloatExpr & | l, |
| const FloatVar & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator== | ( | const LinFloatExpr & | l, |
| const LinFloatExpr & | r ) |
Construct linear float equality relation.
| LinFloatRel Gecode::operator!= | ( | const FloatVal & | l, |
| const FloatVar & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator!= | ( | const FloatVal & | l, |
| const LinFloatExpr & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator!= | ( | const FloatVar & | l, |
| const FloatVal & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator!= | ( | const LinFloatExpr & | l, |
| const FloatVal & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator!= | ( | const FloatVar & | l, |
| const FloatVar & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator!= | ( | const FloatVar & | l, |
| const LinFloatExpr & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator!= | ( | const LinFloatExpr & | l, |
| const FloatVar & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator!= | ( | const LinFloatExpr & | l, |
| const LinFloatExpr & | r ) |
Construct linear float disequality relation.
| LinFloatRel Gecode::operator< | ( | const FloatVal & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator< | ( | const FloatVal & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator< | ( | const FloatVar & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator< | ( | const LinFloatExpr & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator< | ( | const FloatVar & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator< | ( | const FloatVar & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator< | ( | const LinFloatExpr & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator< | ( | const LinFloatExpr & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const FloatVal & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const FloatVal & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const FloatVar & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const LinFloatExpr & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const FloatVar & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const FloatVar & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const LinFloatExpr & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator<= | ( | const LinFloatExpr & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const FloatVal & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const FloatVal & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const FloatVar & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const LinFloatExpr & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const FloatVar & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const FloatVar & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const LinFloatExpr & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator> | ( | const LinFloatExpr & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const FloatVal & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const FloatVal & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const FloatVar & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const LinFloatExpr & | l, |
| const FloatVal & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const FloatVar & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const FloatVar & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const LinFloatExpr & | l, |
| const FloatVar & | r ) |
Construct linear float inequality relation.
| LinFloatRel Gecode::operator>= | ( | const LinFloatExpr & | l, |
| const LinFloatExpr & | r ) |
Construct linear float inequality relation.
| SetExpr Gecode::singleton | ( | const LinIntExpr & | ) |
Singleton expression.
| SetExpr Gecode::inter | ( | const SetVarArgs & | ) |
Intersection of set variables.
| SetExpr Gecode::setunion | ( | const SetVarArgs & | ) |
Union of set variables.
| SetExpr Gecode::setdunion | ( | const SetVarArgs & | ) |
Disjoint union of set variables.
| LinIntExpr Gecode::cardinality | ( | const SetExpr & | ) |
Cardinality of set expression.
| LinIntExpr Gecode::min | ( | const SetExpr & | ) |
Minimum element of set expression.
| LinIntExpr Gecode::max | ( | const SetExpr & | ) |
Minimum element of set expression.
| SetRel Gecode::operator!= | ( | const SetExpr & | , |
| const SetExpr & | ) |
Disequality of set expressions.
Conjunction of Boolean expressions
A default-constructed BoolExpr is treated as an empty accumulator only when it is a direct operand of this operator, in either operand position. This permits repeated accumulation; an empty expression in any other context remains invalid until materialization.
Disjunction of Boolean expressions
A default-constructed BoolExpr is treated as an empty accumulator only when it is a direct operand of this operator, in either operand position. This permits repeated accumulation; an empty expression in any other context remains invalid until materialization.
Exclusive-or of Boolean expressions.
| BoolExpr Gecode::operator!= | ( | const BoolExpr & | , |
| const BoolExpr & | ) |
Non-equivalence of Boolean expressions.
Equivalence of Boolean expressions.
Implication of Boolean expressions.
Reverse implication of Boolean expressions.
| BoolExpr Gecode::dom | ( | const SetVar & | x, |
| SetRelType | rt, | ||
| int | i ) |
Return expression for \( x \sim_{rt} \{i\}\).
| BoolExpr Gecode::dom | ( | const SetVar & | x, |
| SetRelType | rt, | ||
| int | i, | ||
| int | j ) |
Return expression for \( x \sim_{rt} \{i,\dots,j\}\).
| BoolExpr Gecode::dom | ( | const SetVar & | x, |
| SetRelType | rt, | ||
| const IntSet & | s ) |
Return expression for \( x \sim_{rt} s\).
Return expression for \( l\leq x \leq u\).
| BoolExpr Gecode::operator== | ( | const SetExpr & | s, |
| const LinIntExpr & | x ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ i=x\).
| BoolExpr Gecode::operator== | ( | const LinIntExpr & | x, |
| const SetExpr & | s ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ x=i\).
|
delete |
Prevent comparison with IntSet.
|
delete |
Prevent comparison with IntSet.
| BoolExpr Gecode::operator!= | ( | const SetExpr & | s, |
| const LinIntExpr & | x ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ i\neq x\).
| BoolExpr Gecode::operator!= | ( | const LinIntExpr & | x, |
| const SetExpr & | s ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ x\neq i\).
|
delete |
Prevent comparison with IntSet.
|
delete |
Prevent comparison with IntSet.
| BoolExpr Gecode::operator<= | ( | const SetExpr & | s, |
| const LinIntExpr & | x ) |
Return expression for \(|s|\geq 6 \land \forall i\in s:\ i\leq x\).
| BoolExpr Gecode::operator<= | ( | const LinIntExpr & | x, |
| const SetExpr & | s ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ x\leq i\).
|
delete |
Prevent comparison with IntSet.
|
delete |
Prevent comparison with IntSet.
| BoolExpr Gecode::operator< | ( | const SetExpr & | s, |
| const LinIntExpr & | x ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ i<x\).
| BoolExpr Gecode::operator< | ( | const LinIntExpr & | x, |
| const SetExpr & | s ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ x<i\).
|
delete |
Prevent comparison with IntSet.
|
delete |
Prevent comparison with IntSet.
| BoolExpr Gecode::operator>= | ( | const SetExpr & | s, |
| const LinIntExpr & | x ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ i\geq x\).
| BoolExpr Gecode::operator>= | ( | const LinIntExpr & | x, |
| const SetExpr & | s ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ x\geq i\).
|
delete |
Prevent comparison with IntSet.
|
delete |
Prevent comparison with IntSet.
| BoolExpr Gecode::operator> | ( | const SetExpr & | s, |
| const LinIntExpr & | x ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ i>x\).
| BoolExpr Gecode::operator> | ( | const LinIntExpr & | x, |
| const SetExpr & | s ) |
Return expression for \(|s|\geq 1 \land \forall i\in s:\ x>i\).
|
delete |
Prevent comparison with IntSet.
|
delete |
Prevent comparison with IntSet.
| IntVar Gecode::expr | ( | Home | home, |
| const LinIntExpr & | e, | ||
| const IntPropLevels & | ipls = IntPropLevels::def ) |
Post linear expression and return its value.
| FloatVar Gecode::expr | ( | Home | home, |
| const LinFloatExpr & | e ) |
Post float expression and return its value.
| BoolVar Gecode::expr | ( | Home | home, |
| const BoolExpr & | e, | ||
| const IntPropLevels & | ipls = IntPropLevels::def ) |
Post Boolean expression and return its value.
| void Gecode::rel | ( | Home | home, |
| const BoolExpr & | e, | ||
| const IntPropLevels & | ipls = IntPropLevels::def ) |
Post Boolean relation.
| LinIntExpr Gecode::operator* | ( | const LinIntExpr & | x, |
| const LinIntExpr & | y ) |
Return expression for \(x\cdot y\).
| LinIntExpr Gecode::operator/ | ( | const LinIntExpr & | x, |
| const LinIntExpr & | y ) |
Return expression for \(x\ \mathrm{div}\ y\).
| LinIntExpr Gecode::operator% | ( | const LinIntExpr & | x, |
| const LinIntExpr & | y ) |
Return expression for \(x\ \mathrm{mod}\ y\).
| LinIntExpr Gecode::abs | ( | const LinIntExpr & | e | ) |
Return expression for \(|e|\).
| LinIntExpr Gecode::min | ( | const LinIntExpr & | x, |
| const LinIntExpr & | y ) |
Return expression for \(\min(x,y)\).
| LinIntExpr Gecode::min | ( | const IntVarArgs & | x | ) |
Return expression for \(\min(x)\).
| LinIntExpr Gecode::max | ( | const LinIntExpr & | x, |
| const LinIntExpr & | y ) |
Return expression for \(\max(x,y)\).
| LinIntExpr Gecode::max | ( | const IntVarArgs & | x | ) |
Return expression for \(\max(x)\).
| LinIntExpr Gecode::sqr | ( | const LinIntExpr & | x | ) |
Return expression for \(x^2\).
| LinIntExpr Gecode::sqrt | ( | const LinIntExpr & | x | ) |
Return expression for \(\lfloor\sqrt{x}\rfloor\).
| LinIntExpr Gecode::pow | ( | const LinIntExpr & | x, |
| int | n ) |
Return expression for \(x^n\).
| LinIntExpr Gecode::nroot | ( | const LinIntExpr & | x, |
| int | n ) |
Return expression for \(\lfloor\sqrt[n]{x}\rfloor\).
| LinIntExpr Gecode::element | ( | const IntVarArgs & | x, |
| const LinIntExpr & | y ) |
Return expression for \(x[y]\).
| BoolExpr Gecode::element | ( | const BoolVarArgs & | x, |
| const LinIntExpr & | y ) |
Return expression for \(x[y]\).
| LinIntExpr Gecode::element | ( | const IntArgs & | x, |
| const LinIntExpr & | y ) |
Return expression for \(x[y]\).
| LinIntExpr Gecode::ite | ( | const BoolExpr & | b, |
| const LinIntExpr & | x, | ||
| const LinIntExpr & | y ) |
Return expression for if-then-else \(b?x:y\).
| LinFloatExpr Gecode::operator* | ( | const FloatVar & | , |
| const FloatVar & | ) |
Return expression as product of float variables.
| LinFloatExpr Gecode::operator* | ( | const FloatVar & | , |
| const LinFloatExpr & | ) |
Return expression as product of float variable and linear float expression.
| LinFloatExpr Gecode::operator* | ( | const LinFloatExpr & | , |
| const FloatVar & | ) |
Return expression as product of linear float expression and float variable.
| LinFloatExpr Gecode::abs | ( | const LinFloatExpr & | e | ) |
Return expression for \(|e|\).
| LinFloatExpr Gecode::min | ( | const LinFloatExpr & | x, |
| const LinFloatExpr & | y ) |
Return expression for \(\min(x,y)\).
| LinFloatExpr Gecode::min | ( | const FloatVarArgs & | x | ) |
Return expression for \(\min(x)\).
| LinFloatExpr Gecode::max | ( | const LinFloatExpr & | x, |
| const LinFloatExpr & | y ) |
Return expression for \(\max(x,y)\).
| LinFloatExpr Gecode::max | ( | const FloatVarArgs & | x | ) |
Return expression for \(\max(x)\).
| LinFloatExpr Gecode::operator* | ( | const LinFloatExpr & | x, |
| const LinFloatExpr & | y ) |
Return expression for \(x\cdot y\).
| LinFloatExpr Gecode::operator/ | ( | const LinFloatExpr & | x, |
| const LinFloatExpr & | y ) |
Return expression for \(x/y\).
| LinFloatExpr Gecode::sqr | ( | const LinFloatExpr & | x | ) |
Return expression for \(x^2\).
| LinFloatExpr Gecode::sqrt | ( | const LinFloatExpr & | x | ) |
Return expression for \(\sqrt{x}\).
| LinFloatExpr Gecode::pow | ( | const LinFloatExpr & | x, |
| int | n ) |
Return expression for \(x^n\).
| LinFloatExpr Gecode::nroot | ( | const LinFloatExpr & | x, |
| int | n ) |
Return expression for \(x^{1/n}\).
| LinFloatExpr Gecode::exp | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{exp}(x)\).
| LinFloatExpr Gecode::log | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{log}(x)\).
| LinFloatExpr Gecode::asin | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{asin}(x)\).
| LinFloatExpr Gecode::sin | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{sin}(x)\).
| LinFloatExpr Gecode::acos | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{acos}(x)\).
| LinFloatExpr Gecode::cos | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{cos}(x)\).
| LinFloatExpr Gecode::atan | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{atan}(x)\).
| LinFloatExpr Gecode::tan | ( | const LinFloatExpr & | x | ) |
Return expression for \( \mathrm{tan}(x)\).
|
inline |
Return Boolean variable equal to \(x\).
Definition at line 39 of file channel.hpp.
|
inline |
Return integer variable equal to \(b\).
Definition at line 46 of file channel.hpp.
Return integer variable equal to \(f\).
Definition at line 54 of file channel.hpp.
|
inline |
Return set variable equal to \(\{x_0,\dots,x_{n-1}\}\).
Definition at line 67 of file channel.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq m\).
Supports domain consistent propagation only.
Definition at line 39 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq m\).
Supports domain consistent propagation only.
Definition at line 44 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq m\).
Supports domain consistent propagation only.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
Definition at line 49 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq z\).
Supports domain consistent propagation only.
Definition at line 54 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq z\).
Supports domain consistent propagation only.
Definition at line 59 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq z\).
Supports domain consistent propagation only.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
Definition at line 64 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq m\).
Supports domain consistent propagation only.
Definition at line 70 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq m\).
Supports domain consistent propagation only.
Definition at line 75 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq m\).
Supports domain consistent propagation only.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
Definition at line 80 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq z\).
Supports domain consistent propagation only.
Definition at line 85 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq z\).
Supports domain consistent propagation only.
Definition at line 90 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq z\).
Supports domain consistent propagation only.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
Definition at line 95 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=m\).
Supports domain consistent propagation only.
Definition at line 101 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=m\).
Supports domain consistent propagation only.
Definition at line 106 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=m\).
Supports domain consistent propagation only.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
Definition at line 111 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=z\).
Supports domain consistent propagation only.
Definition at line 116 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=z\).
Supports domain consistent propagation only.
Definition at line 121 of file aliases.hpp.
|
inline |
Post constraint \(\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=z\).
Supports domain consistent propagation only.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
Definition at line 126 of file aliases.hpp.
|
inline |
Post lexical order between x and y.
Definition at line 132 of file aliases.hpp.
|
inline |
Post lexical order between x and y.
Definition at line 137 of file aliases.hpp.
|
inline |
Post constraint \(\{x_0,\dots,x_{n-1}\}=y\).
Definition at line 143 of file aliases.hpp.
|
inline |
Post constraint \(\{x_0,\dots,x_{n-1}\}=y\).
In addition to constraining y to the union of the x, this also posts an nvalue constraint for additional cardinality propagation.
Definition at line 152 of file aliases.hpp.
|
inline |
Post constraint \(\bigcup_{i\in y}\{x_i\}=z\).
Definition at line 158 of file aliases.hpp.
|
inline |
Post constraint \(\bigcup_{i\in z}\{j\ |\ x_j=i\}=z\).
Note that this creates one temporary set variable for each element in the upper bound of z, so make sure that the bound is tight.
Definition at line 163 of file aliases.hpp.
| Slice< A >::ArgsType Gecode::operator+ | ( | const Slice< A > & | x, |
| const Slice< A > & | y ) |
Concatenate x and y.
Definition at line 91 of file matrix.hpp.
| Slice< A >::ArgsType Gecode::operator+ | ( | const Slice< A > & | x, |
| const typename ArrayTraits< A >::ArgsType & | y ) |
Concatenate x and y.
Definition at line 99 of file matrix.hpp.
| Slice< A >::ArgsType Gecode::operator+ | ( | const typename ArrayTraits< A >::ArgsType & | x, |
| const Slice< A > & | y ) |
Concatenate x and y.
Definition at line 106 of file matrix.hpp.
| Slice< A >::ArgsType Gecode::operator+ | ( | const Slice< A > & | x, |
| const typename ArrayTraits< A >::ValueType & | y ) |
Concatenate x and y.
Definition at line 113 of file matrix.hpp.
| Slice< A >::ArgsType Gecode::operator+ | ( | const typename ArrayTraits< A >::ValueType & | x, |
| const Slice< A > & | y ) |
Concatenate x and y.
Definition at line 120 of file matrix.hpp.
| LinIntExpr Gecode::sum | ( | const Slice< IntArgs > & | slice | ) |
| LinIntExpr Gecode::sum | ( | const Matrix< IntArgs > & | matrix | ) |
|
|
|
|
|
|
Definition at line 183 of file matrix.hpp.
|
Definition at line 183 of file matrix.hpp.
|
Definition at line 208 of file matrix.hpp.
|
Definition at line 213 of file matrix.hpp.
|
Definition at line 218 of file matrix.hpp.
|
Definition at line 223 of file matrix.hpp.
Definition at line 230 of file matrix.hpp.
Definition at line 235 of file matrix.hpp.
|
|
inline |
| SEB Gecode::dfs | ( | const Search::Options & | o = Search::Options::def | ) |
| SEB Gecode::bab | ( | const Search::Options & | o = Search::Options::def | ) |
| SEB Gecode::lds | ( | const Search::Options & | o = Search::Options::def | ) |
| SEB Gecode::rbs | ( | const Search::Options & | o | ) |
| SEB Gecode::pbs | ( | const Search::Options & | o = Search::Options::def | ) |
Return a portfolio search engine builder.
|
inline |
| void Gecode::dom | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | r, | ||
| int | i ) |
Propagates \( x \sim_r \{i\}\).
| void Gecode::dom | ( | Home | home, |
| const SetVarArgs & | x, | ||
| SetRelType | r, | ||
| int | i ) |
Propagates \( x_i \sim_r \{i\}\) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | r, | ||
| int | i, | ||
| int | j ) |
Propagates \( x \sim_r \{i,\dots,j\}\).
| void Gecode::dom | ( | Home | home, |
| const SetVarArgs & | x, | ||
| SetRelType | r, | ||
| int | i, | ||
| int | j ) |
Propagates \( x \sim_r \{i,\dots,j\}\) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | r, | ||
| const IntSet & | s ) |
Propagates \( x \sim_r s\).
| void Gecode::dom | ( | Home | home, |
| const SetVarArgs & | x, | ||
| SetRelType | r, | ||
| const IntSet & | s ) |
Propagates \( x \sim_r s\) for all \(0\leq i<|x|\).
Propagates \( i \leq |s| \leq j \).
| void Gecode::cardinality | ( | Home | home, |
| const SetVarArgs & | x, | ||
| unsigned int | i, | ||
| unsigned int | j ) |
Propagates \( i \leq |s| \leq j \) for all \(0\leq i<|x|\).
| void Gecode::dom | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | rt, | ||
| int | i, | ||
| Reify | r ) |
Post propagator for \( (x \sim_{rt} \{i\}) \equiv r \).
| void Gecode::dom | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | rt, | ||
| int | i, | ||
| int | j, | ||
| Reify | r ) |
Post propagator for \( (x \sim_{rt} \{i,\dots,j\}) \equiv r \).
| void Gecode::dom | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | rt, | ||
| const IntSet & | s, | ||
| Reify | r ) |
Post propagator for \( (x \sim_{rt} s) \equiv r \).
| void Gecode::dom | ( | Home | home, |
| const SetVarArgs & | x, | ||
| const SetVarArgs & | d ) |
Constrain domain of \( x_i \) according to domain of \( d_i \) for all \(0\leq i<|x|\).
| void Gecode::rel | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | r, | ||
| SetVar | y ) |
Post propagator for \( x \sim_r y\).
| void Gecode::rel | ( | Home | home, |
| SetVar | x, | ||
| SetRelType | rt, | ||
| SetVar | y, | ||
| Reify | r ) |
Post propagator for \( (x \sim_{rt} y) \equiv r\).
| void Gecode::rel | ( | Home | home, |
| SetVar | s, | ||
| SetRelType | r, | ||
| IntVar | x ) |
Post propagator for \( s \sim_r \{x\}\).
| void Gecode::rel | ( | Home | home, |
| IntVar | x, | ||
| SetRelType | r, | ||
| SetVar | s ) |
Post propagator for \( \{x\} \sim_r s\).
| void Gecode::rel | ( | Home | home, |
| SetVar | s, | ||
| SetRelType | rt, | ||
| IntVar | x, | ||
| Reify | r ) |
Post propagator for \( (s \sim_{rt} \{x\}) \equiv r\).
| void Gecode::rel | ( | Home | home, |
| IntVar | x, | ||
| SetRelType | rt, | ||
| SetVar | s, | ||
| Reify | r ) |
Post propagator for \( (\{x\} \sim_{rt} s) \equiv r \).
| void Gecode::rel | ( | Home | home, |
| SetVar | s, | ||
| IntRelType | rt, | ||
| IntVar | x ) |
Post propagator for \(|s|\geq 1 \land \forall i\in s:\ i \sim_{rt} x\).
|
inline |
| void Gecode::rel | ( | Home | home, |
| SetVar | s, | ||
| IntRelType | rt, | ||
| IntVar | x, | ||
| Reify | r ) |
Post reified propagator for \(\left(|s|\geq 1 \land \forall i\in s:\ i \sim_{rt} x\right)\equiv r\).
|
inline |
Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \).
| void Gecode::rel | ( | Home | home, |
| SetOpType | op, | ||
| const SetVarArgs & | x, | ||
| SetVar | y ) |
Post propagator for \( y = \diamond_{\mathit{op}} x\).
| void Gecode::rel | ( | Home | home, |
| SetOpType | op, | ||
| const SetVarArgs & | x, | ||
| const IntSet & | z, | ||
| SetVar | y ) |
Post propagator for \( y = \diamond_{\mathit{op}} x \diamond_{\mathit{op}} z\).
| void Gecode::rel | ( | Home | home, |
| SetOpType | op, | ||
| const IntVarArgs & | x, | ||
| const IntSet & | z, | ||
| SetVar | y ) |
Post propagator for \( y = \diamond_{\mathit{op}} x \diamond_{\mathit{op}} z\).
| void Gecode::rel | ( | Home | home, |
| SetOpType | op, | ||
| const IntVarArgs & | x, | ||
| SetVar | y ) |
Post propagator for \( y = \diamond_{\mathit{op}} x\).
Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \).
Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \).
Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \).
| void Gecode::rel | ( | Home | home, |
| const IntSet & | x, | ||
| SetOpType | op, | ||
| SetVar | y, | ||
| SetRelType | r, | ||
| const IntSet & | z ) |
Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \).
| void Gecode::rel | ( | Home | home, |
| SetVar | x, | ||
| SetOpType | op, | ||
| const IntSet & | y, | ||
| SetRelType | r, | ||
| const IntSet & | z ) |
Post propagator for \( (x \diamond_{\mathit{op}} y) \sim_r z \).
Post propagator for if-then-else constraint.
Posts propagator for \( z = b ? x : y \)
Post propagator that propagates that y is the convex hull of x.
| void Gecode::sequence | ( | Home | home, |
| const SetVarArgs & | x ) |
Post propagator for \(\forall 0\leq i< |x|-1 : \max(x_i)<\min(x_{i+1})\).
| void Gecode::sequence | ( | Home | home, |
| const SetVarArgs & | y, | ||
| SetVar | x ) |
Post propagator for \(\forall 0\leq i< |x|-1 : \max(x_i)<\min(x_{i+1})\) and \( x = \bigcup_{i\in\{0,\dots,n-1\}} y_i \).
| void Gecode::atmostOne | ( | Home | home, |
| const SetVarArgs & | x, | ||
| unsigned int | c ) |
Post propagator for \(\forall 0\leq i\leq |x| : |x_i|=c\) and \(\forall 0\leq i<j\leq |x| : |x_i\cap x_j|\leq 1\).
| void Gecode::channel | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const SetVarArgs & | y ) |
Post propagator for \(x_i=j \Leftrightarrow i\in y_j\).
| void Gecode::channelSorted | ( | Home | home, |
| const IntVarArgs & | x, | ||
| SetVar | y ) |
Post propagator for \(\{x_0,\dots,x_{n-1}\}=y\) and \(x_i<x_{i+1}\).
| void Gecode::channel | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| SetVar | y ) |
Post propagator for \(x_i=1 \Leftrightarrow i\in y\).
| void Gecode::channel | ( | Home | home, |
| const SetVarArgs & | x, | ||
| const SetVarArgs & | y ) |
Post propagator for \(j\in x_i \Leftrightarrow i\in y_j\).
| void Gecode::element | ( | Home | home, |
| SetOpType | op, | ||
| const SetVarArgs & | x, | ||
| SetVar | y, | ||
| SetVar | z, | ||
| const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) ) |
Post propagator for \( z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] \).
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
| void Gecode::element | ( | Home | home, |
| SetOpType | op, | ||
| const IntVarArgs & | x, | ||
| SetVar | y, | ||
| SetVar | z, | ||
| const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) ) |
Post propagator for \( z=\diamond_{\mathit{op}}\langle \{x_0\},\dots,\{x_{n-1}\}\rangle[y] \).
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
| void Gecode::element | ( | Home | home, |
| SetOpType | op, | ||
| const IntSetArgs & | x, | ||
| SetVar | y, | ||
| SetVar | z, | ||
| const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) ) |
Post propagator for \( z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] \).
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
| void Gecode::element | ( | Home | home, |
| SetOpType | op, | ||
| const IntArgs & | x, | ||
| SetVar | y, | ||
| SetVar | z, | ||
| const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) ) |
Post propagator for \( z=\diamond_{\mathit{op}}\langle \{x_0\},\dots,\{x_{n-1}\}\rangle[y] \).
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
| void Gecode::element | ( | Home | home, |
| const SetVarArgs & | x, | ||
| IntVar | y, | ||
| SetVar | z ) |
Post propagator for \( z=\langle x_0,\dots,x_{n-1}\rangle[y] \).
The indices for y start at 0.
| void Gecode::element | ( | Home | home, |
| const IntSetArgs & | s, | ||
| IntVar | y, | ||
| SetVar | z ) |
Post propagator for \( z=\langle s_0,\dots,s_{n-1}\rangle[y] \).
The indices for y start at 0.
| void Gecode::element | ( | Home | home, |
| const IntSetArgs & | a, | ||
| IntVar | x, | ||
| int | w, | ||
| IntVar | y, | ||
| int | h, | ||
| SetVar | z ) |
Post propagator for \( a_{x+w\cdot y}=z\).
Throws an exception of type Set::ArgumentSizeMismatch, if \( w\cdot h\neq|a|\).
| void Gecode::element | ( | Home | home, |
| const SetVarArgs & | a, | ||
| IntVar | x, | ||
| int | w, | ||
| IntVar | y, | ||
| int | h, | ||
| SetVar | z ) |
Post propagator for \( a_{x+w\cdot y}=z\).
Throws an exception of type Set::ArgumentSizeMismatch, if \( w\cdot h\neq|a|\).
Execute c when x becomes assigned.
| void Gecode::wait | ( | Home | home, |
| const SetVarArgs & | x, | ||
| std::function< void(Space &home)> | c ) |
Execute c when all variables in x become assigned.
|
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 |
Include smallest element.
Definition at line 55 of file assign.hpp.
|
inline |
Exclude smallest element.
Definition at line 60 of file assign.hpp.
|
inline |
Include median element (rounding downwards).
Definition at line 65 of file assign.hpp.
|
inline |
Exclude median element (rounding downwards).
Definition at line 70 of file assign.hpp.
|
inline |
Include largest element.
Definition at line 75 of file assign.hpp.
|
inline |
Exclude largest element.
Definition at line 80 of file assign.hpp.
Include random element.
Definition at line 85 of file assign.hpp.
Exclude random element.
Definition at line 90 of file assign.hpp.
|
inline |
Select value as defined by the value function v and commit function c.
The default commit function posts the constraint that the value n must be included in the set variable x.
Definition at line 95 of file assign.hpp.
| SymmetryHandle Gecode::VariableSymmetry | ( | const SetVarArgs & | x | ) |
Variables in x are interchangeable.
| SymmetryHandle Gecode::VariableSequenceSymmetry | ( | const SetVarArgs & | x, |
| int | ss ) |
Variable sequences in x of size ss are interchangeable.
The size of x must be a multiple of ss.
| void Gecode::relax | ( | Home | home, |
| const SetVarArgs & | x, | ||
| const SetVarArgs & | sx, | ||
| Rnd | r, | ||
| double | p ) |
|
inline |
Definition at line 47 of file common.hpp.
|
inline |
Definition at line 52 of file common.hpp.
|
|
inline |
|
inline |
| const ModEvent Gecode::ME_GEN_FAILED = -1 |
| const ModEvent Gecode::ME_GEN_NONE = 0 |
| const ModEvent Gecode::ME_GEN_ASSIGNED = 1 |
| const PropCond Gecode::PC_GEN_NONE = -1 |