
A space that can be initialized with a FlatZinc model. More...
#include <gecode/flatzinc.hh>
Classes | |
| class | OnRestartHandle |
Public Types | |
| enum | Meth { SAT , MIN , MAX } |
Public Member Functions | |
| FlatZincSpace (Rnd &random=defrnd) | |
| Construct empty space. | |
| ~FlatZincSpace (void) | |
| Destructor. | |
| void | init (int intVars, int boolVars, int setVars, int floatVars) |
| Initialize space with given number of variables. | |
| void | newIntVar (IntVarSpec *vs) |
| Create new integer variable from specification. | |
| void | aliasBool2Int (int iv, int bv) |
| Link integer variable iv to Boolean variable bv. | |
| int | aliasBool2Int (int iv) |
| Return linked Boolean variable for integer variable iv. | |
| void | newBoolVar (BoolVarSpec *vs) |
| Create new Boolean variable from specification. | |
| void | newSetVar (SetVarSpec *vs) |
| Create new set variable from specification. | |
| void | newFloatVar (FloatVarSpec *vs) |
| Create new float variable from specification. | |
| void | postConstraints (std::vector< ConExpr * > &ces) |
| Post a constraint specified by ce. | |
| void | solve (AST::Array *annotation) |
| Post the solve item. | |
| void | minimize (int var, bool isInt, AST::Array *annotation) |
| Post that integer variable var should be minimized. | |
| void | maximize (int var, bool isInt, AST::Array *annotation) |
| Post that integer variable var should be maximized. | |
| void | run (std::ostream &out, const Printer &p, const FlatZincOptions &opt, Gecode::Support::Timer &t_total) |
| Run the search. | |
| void | print (std::ostream &out, const Printer &p) const |
| Produce output on out using p. | |
| std::string | getDomains (const Printer &p) const |
| Get string representing the domains of variables (for cpprofiler). | |
| void | compare (const Space &s, std::ostream &out) const |
| Compare this space with space s and print the differences on out. | |
| void | compare (const FlatZincSpace &s, std::ostream &out, const Printer &p) const |
| Compare this space with space s and print the differences on out using p. | |
| void | shrinkArrays (Printer &p) |
| Remove all variables not needed for output. | |
| Meth | method (void) const |
| Return whether to solve a satisfaction or optimization problem. | |
| int | optVar (void) const |
| Return index of variable used for optimization. | |
| bool | optVarIsInt (void) const |
| Return whether variable used for optimization is integer (or float). | |
| void | createBranchers (Printer &p, AST::Node *ann, FlatZincOptions &opt, bool ignoreUnknown, std::ostream &err=std::cerr) |
| Create branchers corresponding to the solve item annotations. | |
| AST::Array * | solveAnnotations (void) const |
| Return the solve item annotations. | |
| virtual void | constrain (const Space &s) |
| Implement optimization. | |
| virtual Gecode::Space * | copy (void) |
| Copy function. | |
| virtual bool | slave (const MetaInfo &mi) |
| Slave function for restarts. | |
| Space (void) | |
| Default constructor. | |
| Space (Space &s) | |
| Constructor for cloning. | |
| Space & | operator= (const Space &s)=default |
| Assignment operator. | |
| virtual | ~Space (void) |
| Destructor. | |
| virtual bool | master (const MetaInfo &mi) |
| Master configuration function for meta search engines. | |
| SpaceStatus | status (StatusStatistics &stat) |
| Query space status. | |
| SpaceStatus | status (void) |
| Query space status without collecting statistics. | |
| const Choice * | choice (void) |
| Create new choice for current brancher. | |
| const Choice * | choice (Archive &e) const |
| Create new choice from e. | |
| Space * | clone (void) const |
| Clone space. | |
| Space * | clone (CloneStatistics &stat) const |
| Clone space. | |
| void | commit (const Choice &c, unsigned int a) |
| Commit choice c for alternative a. | |
| void | commit (const Choice &c, unsigned int a, CommitStatistics &stat) |
| Commit choice c for alternative a. | |
| void | trycommit (const Choice &c, unsigned int a) |
| If possible, commit choice c for alternative a. | |
| void | trycommit (const Choice &c, unsigned int a, CommitStatistics &stat) |
| If possible, commit choice c for alternative a. | |
| NGL * | ngl (const Choice &c, unsigned int a) |
| Create no-good literal for choice c and alternative a. | |
| void | print (const Choice &c, unsigned int a, std::ostream &o) const |
| Print branch for choice c and alternative a. | |
| void | notice (Actor &a, ActorProperty p, bool duplicate=false) |
| Notice actor property. | |
| void | ignore (Actor &a, ActorProperty p, bool duplicate=false) |
| Ignore actor property. | |
| ExecStatus | ES_SUBSUMED (Propagator &p) |
| Propagator p is subsumed | |
| ExecStatus | ES_SUBSUMED_DISPOSED (Propagator &p, size_t s) |
| Propagator p is subsumed | |
| ExecStatus | ES_FIX_PARTIAL (Propagator &p, const ModEventDelta &med) |
| Propagator p has computed partial fixpoint | |
| ExecStatus | ES_NOFIX_PARTIAL (Propagator &p, const ModEventDelta &med) |
| Propagator p has not computed partial fixpoint | |
| template<class A> | |
| ExecStatus | ES_FIX_DISPOSE (Council< A > &c, A &a) |
| Advisor a must be disposed | |
| template<class A> | |
| ExecStatus | ES_NOFIX_DISPOSE (Council< A > &c, A &a) |
| Advisor a must be disposed and its propagator must be run | |
| template<class A> | |
| ExecStatus | ES_NOFIX_DISPOSE_FORCE (Council< A > &c, A &a) |
| Advisor a must be disposed and its propagator must be forcefully rescheduled | |
| void | fail (void) |
| Fail space. | |
| bool | failed (void) const |
| Check whether space is failed. | |
| bool | stable (void) const |
| Return if space is stable (at fixpoint or failed). | |
| Home | operator() (Propagator &p) |
| Return a home for this space with the information that p is being rewritten. | |
| Home | operator() (PropagatorGroup pg) |
| Return a home for this space with propagator group information pg. | |
| Home | operator() (BrancherGroup bg) |
| Return a home for this space with brancher group information bg. | |
| template<class T> | |
| T * | alloc (long unsigned int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T> | |
| T * | alloc (long int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T> | |
| T * | alloc (unsigned int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T> | |
| T * | alloc (int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T> | |
| void | free (T *b, long unsigned int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T> | |
| void | free (T *b, long int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T> | |
| void | free (T *b, unsigned int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T> | |
| void | free (T *b, int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T> | |
| T * | realloc (T *b, long unsigned int n, long unsigned int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T> | |
| T * | realloc (T *b, long int n, long int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T> | |
| T * | realloc (T *b, unsigned int n, unsigned int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T> | |
| T * | realloc (T *b, int n, int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T> | |
| T ** | realloc (T **b, long unsigned int n, long unsigned int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| template<class T> | |
| T ** | realloc (T **b, long int n, long int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| template<class T> | |
| T ** | realloc (T **b, unsigned int n, unsigned int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| template<class T> | |
| T ** | realloc (T **b, int n, int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| void * | ralloc (size_t s) |
| Allocate memory on space heap. | |
| void | rfree (void *p, size_t s) |
| Free memory previously allocated with alloc (might be reused later). | |
| void * | rrealloc (void *b, size_t n, size_t m) |
| Reallocate memory block starting at b from size n to size s. | |
| template<size_t> | |
| void * | fl_alloc (void) |
| Allocate from freelist-managed memory. | |
| template<size_t> | |
| void | fl_dispose (FreeList *f, FreeList *l) |
| Return freelist-managed memory to freelist. | |
| template<class T> | |
| T & | construct (void) |
| Construction routines. | |
| template<class T, typename A1> | |
| T & | construct (A1 const &a1) |
| Constructs a single object of type T from space heap using a unary constructor. | |
| template<class T, typename A1, typename A2> | |
| T & | construct (A1 const &a1, A2 const &a2) |
| Constructs a single object of type T from space heap using a binary constructor. | |
| template<class T, typename A1, typename A2, typename A3> | |
| T & | construct (A1 const &a1, A2 const &a2, A3 const &a3) |
| Constructs a single object of type T from space heap using a ternary constructor. | |
| template<class T, typename A1, typename A2, typename A3, typename A4> | |
| T & | construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4) |
| Constructs a single object of type T from space heap using a quaternary constructor. | |
| template<class T, typename A1, typename A2, typename A3, typename A4, typename A5> | |
| T & | construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4, A5 const &a5) |
| Constructs a single object of type T from space heap using a quinary constructor. | |
| void | afc_decay (double d) |
| Set AFC decay factor to d | |
| double | afc_decay (void) const |
| Return AFC decay factor. | |
| void | afc_unshare (void) |
| Unshare AFC information for all propagators. | |
Public Attributes | |
| Gecode::IntVarArray | iv |
| The integer variables. | |
| Gecode::IntVarArray | iv_aux |
| The introduced integer variables. | |
| Gecode::IntVarArray | iv_lns |
| The integer variables used in LNS. | |
| OnRestartHandle | restart_data |
| Gecode::IntVarArray | on_restart_iv |
| On Restart Tracked Integer Variables. | |
| Gecode::BoolVarArray | on_restart_bv |
| On Restart Tracked Boolean Variables. | |
| Gecode::SetVarArray | on_restart_sv |
| On Restart Tracked Set Variables. | |
| Gecode::FloatVarArray | on_restart_fv |
| On Restart Tracked Floating Point Variables. | |
| std::vector< bool > | iv_introduced |
| Indicates whether an integer variable is introduced by mzn2fzn. | |
| int * | iv_boolalias |
| Indicates whether an integer variable aliases a Boolean variable. | |
| Gecode::BoolVarArray | bv |
| The Boolean variables. | |
| Gecode::BoolVarArray | bv_aux |
| The introduced Boolean variables. | |
| std::vector< bool > | bv_introduced |
| Indicates whether a Boolean variable is introduced by mzn2fzn. | |
| Gecode::SetVarArray | sv |
| The set variables. | |
| Gecode::SetVarArray | sv_aux |
| The introduced set variables. | |
| std::vector< bool > | sv_introduced |
| Indicates whether a set variable is introduced by mzn2fzn. | |
| Gecode::FloatVarArray | fv |
| The float variables. | |
| Gecode::FloatVarArray | fv_aux |
| The introduced float variables. | |
| std::vector< bool > | fv_introduced |
| Indicates whether a float variable is introduced by mzn2fzn. | |
| Gecode::FloatNum | step |
| Step by which a next solution has to have lower cost. | |
| bool | needAuxVars |
| Whether the introduced variables still need to be copied. | |
| BranchInformation | branchInfo |
| Information for printing branches. | |
Protected Member Functions | |
| FlatZincSpace (FlatZincSpace &) | |
| Copy constructor. | |
Protected Attributes | |
| FlatZincSpaceInitData * | _initData |
| Initialisation data (only used for posting constraints). | |
| int | intVarCount |
| Number of integer variables. | |
| int | boolVarCount |
| Number of Boolean variables. | |
| int | floatVarCount |
| Number of float variables. | |
| int | setVarCount |
| Number of set variables. | |
| int | _optVar |
| Index of the variable to optimize. | |
| bool | _optVarIsInt |
| Whether variable to optimize is integer (or float). | |
| Meth | _method |
| Whether to solve as satisfaction or optimization problem. | |
| unsigned int | _lns |
| Percentage of variables to keep in LNS (or 0 for no LNS). | |
| IntSharedArray | _lnsInitialSolution |
| Initial solution to start the LNS (or nullptr for no LNS). | |
| Rnd | _random |
| Random number generator. | |
| AST::Array * | _solveAnnotations |
| Annotations on the solve item. | |
AST to variable and value conversion | |
| IntArgs | arg2intargs (AST::Node *arg, int offset=0) |
| Convert arg (array of integers) to IntArgs. | |
| IntSharedArray | arg2intsharedarray (AST::Node *arg, int offset=0) |
| Convert arg (array of integers) to IntSharedArray. | |
| IntArgs | arg2boolargs (AST::Node *arg, int offset=0) |
| Convert arg (array of Booleans) to IntArgs. | |
| IntSharedArray | arg2boolsharedarray (AST::Node *arg, int offset=0) |
| Convert arg (array of integers) to IntSharedArray. | |
| IntSet | arg2intset (AST::Node *n) |
| Convert n to IntSet. | |
| IntSetArgs | arg2intsetargs (AST::Node *arg, int offset=0) |
| Convert arg to IntSetArgs. | |
| IntVarArgs | arg2intvarargs (AST::Node *arg, int offset=0) |
| Convert arg to IntVarArgs. | |
| BoolVarArgs | arg2boolvarargs (AST::Node *arg, int offset=0, int siv=-1) |
| Convert arg to BoolVarArgs. | |
| BoolVar | arg2BoolVar (AST::Node *n) |
| Convert n to BoolVar. | |
| IntVar | arg2IntVar (AST::Node *n) |
| Convert n to IntVar. | |
| TupleSet | arg2tupleset (const IntArgs &a, int noOfVars) |
| Convert a to TupleSet. | |
| bool | isBoolArray (AST::Node *b, int &singleInt) |
| Check if b is array of Booleans (or has a single integer). | |
| SetVar | arg2SetVar (AST::Node *n) |
| Convert n to SetVar. | |
| SetVarArgs | arg2setvarargs (AST::Node *arg, int offset=0, int doffset=0, const IntSet &od=IntSet::empty) |
| Convert n to SetVarArgs. | |
| FloatValArgs | arg2floatargs (AST::Node *arg, int offset=0) |
| Convert n to FloatValArgs. | |
| FloatVar | arg2FloatVar (AST::Node *n) |
| Convert n to FloatVar. | |
| FloatVarArgs | arg2floatvarargs (AST::Node *arg, int offset=0) |
| Convert n to FloatVarArgs. | |
| IntPropLevel | ann2ipl (AST::Node *ann) |
| Convert ann to integer propagation level. | |
| DFA | getSharedDFA (DFA &a) |
| Share DFA a if possible. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from Gecode::HeapAllocated | |
| static void * | operator new (size_t s) |
| Memory management. | |
| static void | operator delete (void *p) |
| Free memory allocated from heap. | |
A space that can be initialized with a FlatZinc model.
Definition at line 424 of file flatzinc.hh.
| Enumerator | |
|---|---|
| SAT | |
| MIN | |
| MAX | |
Definition at line 426 of file flatzinc.hh.
|
protected |
Copy constructor.
Definition at line 781 of file flatzinc.cpp.
Construct empty space.
Definition at line 863 of file flatzinc.cpp.
| Gecode::FlatZinc::FlatZincSpace::~FlatZincSpace | ( | void | ) |
Destructor.
Definition at line 1646 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::init | ( | int | intVars, |
| int | boolVars, | ||
| int | setVars, | ||
| int | floatVars ) |
Initialize space with given number of variables.
Definition at line 879 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::newIntVar | ( | IntVarSpec * | vs | ) |
Create new integer variable from specification.
Definition at line 904 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::aliasBool2Int | ( | int | iv, |
| int | bv ) |
Link integer variable iv to Boolean variable bv.
Definition at line 922 of file flatzinc.cpp.
| int Gecode::FlatZinc::FlatZincSpace::aliasBool2Int | ( | int | iv | ) |
Return linked Boolean variable for integer variable iv.
Definition at line 926 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::newBoolVar | ( | BoolVarSpec * | vs | ) |
Create new Boolean variable from specification.
Definition at line 931 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::newSetVar | ( | SetVarSpec * | vs | ) |
Create new set variable from specification.
Definition at line 943 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::newFloatVar | ( | FloatVarSpec * | vs | ) |
Create new float variable from specification.
Definition at line 990 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::postConstraints | ( | std::vector< ConExpr * > & | ces | ) |
Post a constraint specified by ce.
Definition at line 1027 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::solve | ( | AST::Array * | annotation | ) |
Post the solve item.
Definition at line 1625 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::minimize | ( | int | var, |
| bool | isInt, | ||
| AST::Array * | annotation ) |
Post that integer variable var should be minimized.
Definition at line 1631 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::maximize | ( | int | var, |
| bool | isInt, | ||
| AST::Array * | annotation ) |
Post that integer variable var should be maximized.
Definition at line 1639 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::run | ( | std::ostream & | out, |
| const Printer & | p, | ||
| const FlatZincOptions & | opt, | ||
| Gecode::Support::Timer & | t_total ) |
Run the search.
Definition at line 2040 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::print | ( | std::ostream & | out, |
| const Printer & | p ) const |
Produce output on out using p.
Definition at line 2309 of file flatzinc.cpp.
| std::string Gecode::FlatZinc::FlatZincSpace::getDomains | ( | const Printer & | p | ) | const |
Get string representing the domains of variables (for cpprofiler).
Definition at line 1846 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::compare | ( | const Space & | s, |
| std::ostream & | out ) const |
Compare this space with space s and print the differences on out.
Definition at line 2321 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::compare | ( | const FlatZincSpace & | s, |
| std::ostream & | out, | ||
| const Printer & | p ) const |
Compare this space with space s and print the differences on out using p.
Definition at line 2361 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::shrinkArrays | ( | Printer & | p | ) |
Remove all variables not needed for output.
After calling this function, no new constraints can be posted through FlatZinc variable references, and the createBranchers method must not be called again.
Definition at line 2374 of file flatzinc.cpp.
| FlatZincSpace::Meth Gecode::FlatZinc::FlatZincSpace::method | ( | void | ) | const |
Return whether to solve a satisfaction or optimization problem.
Definition at line 2294 of file flatzinc.cpp.
| int Gecode::FlatZinc::FlatZincSpace::optVar | ( | void | ) | const |
Return index of variable used for optimization.
Definition at line 2299 of file flatzinc.cpp.
| bool Gecode::FlatZinc::FlatZincSpace::optVarIsInt | ( | void | ) | const |
Return whether variable used for optimization is integer (or float).
Definition at line 2304 of file flatzinc.cpp.
| void Gecode::FlatZinc::FlatZincSpace::createBranchers | ( | Printer & | p, |
| AST::Node * | ann, | ||
| FlatZincOptions & | opt, | ||
| bool | ignoreUnknown, | ||
| std::ostream & | err = std::cerr ) |
Create branchers corresponding to the solve item annotations.
If ignoreUnknown is true, unknown solve item annotations will be ignored, otherwise a warning is written to err.
The seed for random branchers is given by the seed parameter.
Definition at line 1060 of file flatzinc.cpp.
| AST::Array * Gecode::FlatZinc::FlatZincSpace::solveAnnotations | ( | void | ) | const |
Return the solve item annotations.
Definition at line 1620 of file flatzinc.cpp.
|
virtual |
Implement optimization.
Reimplemented from Gecode::Space.
Definition at line 2059 of file flatzinc.cpp.
|
virtual |
|
virtual |
Slave function for restarts.
Reimplemented from Gecode::Space.
Definition at line 2080 of file flatzinc.cpp.
Convert arg (array of integers) to IntArgs.
Definition at line 2386 of file flatzinc.cpp.
| IntSharedArray Gecode::FlatZinc::FlatZincSpace::arg2intsharedarray | ( | AST::Node * | arg, |
| int | offset = 0 ) |
Convert arg (array of integers) to IntSharedArray.
Definition at line 2422 of file flatzinc.cpp.
Convert arg (array of Booleans) to IntArgs.
Definition at line 2436 of file flatzinc.cpp.
| IntSharedArray Gecode::FlatZinc::FlatZincSpace::arg2boolsharedarray | ( | AST::Node * | arg, |
| int | offset = 0 ) |
Convert arg (array of integers) to IntSharedArray.
Definition at line 2446 of file flatzinc.cpp.
Convert n to IntSet.
Definition at line 2460 of file flatzinc.cpp.
| IntSetArgs Gecode::FlatZinc::FlatZincSpace::arg2intsetargs | ( | AST::Node * | arg, |
| int | offset = 0 ) |
Convert arg to IntSetArgs.
Definition at line 2475 of file flatzinc.cpp.
| IntVarArgs Gecode::FlatZinc::FlatZincSpace::arg2intvarargs | ( | AST::Node * | arg, |
| int | offset = 0 ) |
Convert arg to IntVarArgs.
Definition at line 2490 of file flatzinc.cpp.
| BoolVarArgs Gecode::FlatZinc::FlatZincSpace::arg2boolvarargs | ( | AST::Node * | arg, |
| int | offset = 0, | ||
| int | siv = -1 ) |
Convert arg to BoolVarArgs.
Definition at line 2511 of file flatzinc.cpp.
Convert n to BoolVar.
Definition at line 2537 of file flatzinc.cpp.
Convert n to IntVar.
Definition at line 2548 of file flatzinc.cpp.
Convert a to TupleSet.
Definition at line 2396 of file flatzinc.cpp.
| bool Gecode::FlatZinc::FlatZincSpace::isBoolArray | ( | AST::Node * | b, |
| int & | singleInt ) |
Check if b is array of Booleans (or has a single integer).
Definition at line 2558 of file flatzinc.cpp.
Convert n to SetVar.
Definition at line 2580 of file flatzinc.cpp.
| SetVarArgs Gecode::FlatZinc::FlatZincSpace::arg2setvarargs | ( | AST::Node * | arg, |
| int | offset = 0, | ||
| int | doffset = 0, | ||
| const IntSet & | od = IntSet::empty ) |
Convert n to SetVarArgs.
Definition at line 2591 of file flatzinc.cpp.
| FloatValArgs Gecode::FlatZinc::FlatZincSpace::arg2floatargs | ( | AST::Node * | arg, |
| int | offset = 0 ) |
Convert n to FloatValArgs.
Definition at line 2607 of file flatzinc.cpp.
Convert n to FloatVar.
Definition at line 2638 of file flatzinc.cpp.
| FloatVarArgs Gecode::FlatZinc::FlatZincSpace::arg2floatvarargs | ( | AST::Node * | arg, |
| int | offset = 0 ) |
Convert n to FloatVarArgs.
Definition at line 2617 of file flatzinc.cpp.
| IntPropLevel Gecode::FlatZinc::FlatZincSpace::ann2ipl | ( | AST::Node * | ann | ) |
Convert ann to integer propagation level.
Definition at line 2649 of file flatzinc.cpp.
Share DFA a if possible.
Definition at line 2666 of file flatzinc.cpp.
|
protected |
Initialisation data (only used for posting constraints).
Definition at line 433 of file flatzinc.hh.
|
protected |
Number of integer variables.
Definition at line 435 of file flatzinc.hh.
|
protected |
Number of Boolean variables.
Definition at line 437 of file flatzinc.hh.
|
protected |
Number of float variables.
Definition at line 439 of file flatzinc.hh.
|
protected |
Number of set variables.
Definition at line 441 of file flatzinc.hh.
|
protected |
Index of the variable to optimize.
Definition at line 444 of file flatzinc.hh.
|
protected |
Whether variable to optimize is integer (or float).
Definition at line 446 of file flatzinc.hh.
|
protected |
Whether to solve as satisfaction or optimization problem.
Definition at line 449 of file flatzinc.hh.
|
protected |
Percentage of variables to keep in LNS (or 0 for no LNS).
Definition at line 452 of file flatzinc.hh.
|
protected |
Initial solution to start the LNS (or nullptr for no LNS).
Definition at line 455 of file flatzinc.hh.
|
protected |
Random number generator.
Definition at line 458 of file flatzinc.hh.
|
protected |
Annotations on the solve item.
Definition at line 461 of file flatzinc.hh.
| Gecode::IntVarArray Gecode::FlatZinc::FlatZincSpace::iv |
The integer variables.
Definition at line 482 of file flatzinc.hh.
| Gecode::IntVarArray Gecode::FlatZinc::FlatZincSpace::iv_aux |
The introduced integer variables.
Definition at line 484 of file flatzinc.hh.
| Gecode::IntVarArray Gecode::FlatZinc::FlatZincSpace::iv_lns |
The integer variables used in LNS.
Definition at line 487 of file flatzinc.hh.
| OnRestartHandle Gecode::FlatZinc::FlatZincSpace::restart_data |
Definition at line 539 of file flatzinc.hh.
| Gecode::IntVarArray Gecode::FlatZinc::FlatZincSpace::on_restart_iv |
On Restart Tracked Integer Variables.
Definition at line 541 of file flatzinc.hh.
| Gecode::BoolVarArray Gecode::FlatZinc::FlatZincSpace::on_restart_bv |
On Restart Tracked Boolean Variables.
Definition at line 543 of file flatzinc.hh.
| Gecode::SetVarArray Gecode::FlatZinc::FlatZincSpace::on_restart_sv |
On Restart Tracked Set Variables.
Definition at line 546 of file flatzinc.hh.
| Gecode::FloatVarArray Gecode::FlatZinc::FlatZincSpace::on_restart_fv |
On Restart Tracked Floating Point Variables.
Definition at line 550 of file flatzinc.hh.
| std::vector<bool> Gecode::FlatZinc::FlatZincSpace::iv_introduced |
Indicates whether an integer variable is introduced by mzn2fzn.
Definition at line 555 of file flatzinc.hh.
| int* Gecode::FlatZinc::FlatZincSpace::iv_boolalias |
Indicates whether an integer variable aliases a Boolean variable.
Definition at line 557 of file flatzinc.hh.
| Gecode::BoolVarArray Gecode::FlatZinc::FlatZincSpace::bv |
The Boolean variables.
Definition at line 559 of file flatzinc.hh.
| Gecode::BoolVarArray Gecode::FlatZinc::FlatZincSpace::bv_aux |
The introduced Boolean variables.
Definition at line 561 of file flatzinc.hh.
| std::vector<bool> Gecode::FlatZinc::FlatZincSpace::bv_introduced |
Indicates whether a Boolean variable is introduced by mzn2fzn.
Definition at line 563 of file flatzinc.hh.
| Gecode::SetVarArray Gecode::FlatZinc::FlatZincSpace::sv |
The set variables.
Definition at line 566 of file flatzinc.hh.
| Gecode::SetVarArray Gecode::FlatZinc::FlatZincSpace::sv_aux |
The introduced set variables.
Definition at line 568 of file flatzinc.hh.
| std::vector<bool> Gecode::FlatZinc::FlatZincSpace::sv_introduced |
Indicates whether a set variable is introduced by mzn2fzn.
Definition at line 570 of file flatzinc.hh.
| Gecode::FloatVarArray Gecode::FlatZinc::FlatZincSpace::fv |
The float variables.
Definition at line 574 of file flatzinc.hh.
| Gecode::FloatVarArray Gecode::FlatZinc::FlatZincSpace::fv_aux |
The introduced float variables.
Definition at line 576 of file flatzinc.hh.
| std::vector<bool> Gecode::FlatZinc::FlatZincSpace::fv_introduced |
Indicates whether a float variable is introduced by mzn2fzn.
Definition at line 578 of file flatzinc.hh.
| Gecode::FloatNum Gecode::FlatZinc::FlatZincSpace::step |
Step by which a next solution has to have lower cost.
Definition at line 580 of file flatzinc.hh.
| bool Gecode::FlatZinc::FlatZincSpace::needAuxVars |
Whether the introduced variables still need to be copied.
Definition at line 583 of file flatzinc.hh.
| BranchInformation Gecode::FlatZinc::FlatZincSpace::branchInfo |
Information for printing branches.
Definition at line 669 of file flatzinc.hh.