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