Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0

A space that can be initialized with a FlatZinc model. More...

#include <flatzinc.hh>

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::ArraysolveAnnotations (void) const
 Return the solve item annotations.
virtual void constrain (const Space &s)
 Implement optimization.
virtual Gecode::Spacecopy (void)
 Copy function.
virtual bool slave (const MetaInfo &mi)
 Slave function for restarts.
 Space (void)
 Default constructor.
 Space (Space &s)
 Constructor for cloning.
Spaceoperator= (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=unused_status)
 Query space status.
const Choicechoice (void)
 Create new choice for current brancher.
const Choicechoice (Archive &e) const
 Create new choice from e.
Spaceclone (CloneStatistics &stat=unused_clone) const
 Clone space.
void commit (const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit)
 Commit choice c for alternative a.
void trycommit (const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit)
 If possible, commit choice c for alternative a.
NGLngl (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.
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 NULL 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.

Detailed Description

A space that can be initialized with a FlatZinc model.

Definition at line 430 of file flatzinc.hh.

Member Enumeration Documentation

◆ Meth

Enumerator
SAT 
MIN 
MAX 

Definition at line 432 of file flatzinc.hh.

Constructor & Destructor Documentation

◆ FlatZincSpace() [1/2]

Gecode::FlatZinc::FlatZincSpace::FlatZincSpace ( FlatZincSpace & f)
protected

Copy constructor.

Definition at line 774 of file flatzinc.cpp.

◆ FlatZincSpace() [2/2]

Gecode::FlatZinc::FlatZincSpace::FlatZincSpace ( Rnd & random = defrnd)

Construct empty space.

Definition at line 846 of file flatzinc.cpp.

◆ ~FlatZincSpace()

Gecode::FlatZinc::FlatZincSpace::~FlatZincSpace ( void )

Destructor.

Definition at line 1623 of file flatzinc.cpp.

Member Function Documentation

◆ init()

void Gecode::FlatZinc::FlatZincSpace::init ( int intVars,
int boolVars,
int setVars,
int floatVars )

Initialize space with given number of variables.

Definition at line 856 of file flatzinc.cpp.

◆ newIntVar()

void Gecode::FlatZinc::FlatZincSpace::newIntVar ( IntVarSpec * vs)

Create new integer variable from specification.

Definition at line 881 of file flatzinc.cpp.

◆ aliasBool2Int() [1/2]

void Gecode::FlatZinc::FlatZincSpace::aliasBool2Int ( int iv,
int bv )

Link integer variable iv to Boolean variable bv.

Definition at line 899 of file flatzinc.cpp.

◆ aliasBool2Int() [2/2]

int Gecode::FlatZinc::FlatZincSpace::aliasBool2Int ( int iv)

Return linked Boolean variable for integer variable iv.

Definition at line 903 of file flatzinc.cpp.

◆ newBoolVar()

void Gecode::FlatZinc::FlatZincSpace::newBoolVar ( BoolVarSpec * vs)

Create new Boolean variable from specification.

Definition at line 908 of file flatzinc.cpp.

◆ newSetVar()

void Gecode::FlatZinc::FlatZincSpace::newSetVar ( SetVarSpec * vs)

Create new set variable from specification.

Definition at line 920 of file flatzinc.cpp.

◆ newFloatVar()

void Gecode::FlatZinc::FlatZincSpace::newFloatVar ( FloatVarSpec * vs)

Create new float variable from specification.

Definition at line 967 of file flatzinc.cpp.

◆ postConstraints()

void Gecode::FlatZinc::FlatZincSpace::postConstraints ( std::vector< ConExpr * > & ces)

Post a constraint specified by ce.

Definition at line 1004 of file flatzinc.cpp.

◆ solve()

void Gecode::FlatZinc::FlatZincSpace::solve ( AST::Array * annotation)

Post the solve item.

Definition at line 1602 of file flatzinc.cpp.

◆ minimize()

void Gecode::FlatZinc::FlatZincSpace::minimize ( int var,
bool isInt,
AST::Array * annotation )

Post that integer variable var should be minimized.

Definition at line 1608 of file flatzinc.cpp.

◆ maximize()

void Gecode::FlatZinc::FlatZincSpace::maximize ( int var,
bool isInt,
AST::Array * annotation )

Post that integer variable var should be maximized.

Definition at line 1616 of file flatzinc.cpp.

◆ run()

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 1967 of file flatzinc.cpp.

◆ print()

void Gecode::FlatZinc::FlatZincSpace::print ( std::ostream & out,
const Printer & p ) const

Produce output on out using p.

Definition at line 2046 of file flatzinc.cpp.

◆ getDomains()

std::string Gecode::FlatZinc::FlatZincSpace::getDomains ( const Printer & p) const

Get string representing the domains of variables (for cpprofiler)

Definition at line 1795 of file flatzinc.cpp.

◆ compare() [1/2]

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 2058 of file flatzinc.cpp.

◆ compare() [2/2]

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 2098 of file flatzinc.cpp.

◆ shrinkArrays()

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 2111 of file flatzinc.cpp.

◆ method()

FlatZincSpace::Meth Gecode::FlatZinc::FlatZincSpace::method ( void ) const

Return whether to solve a satisfaction or optimization problem.

Definition at line 2031 of file flatzinc.cpp.

◆ optVar()

int Gecode::FlatZinc::FlatZincSpace::optVar ( void ) const

Return index of variable used for optimization.

Definition at line 2036 of file flatzinc.cpp.

◆ optVarIsInt()

bool Gecode::FlatZinc::FlatZincSpace::optVarIsInt ( void ) const

Return whether variable used for optimization is integer (or float)

Definition at line 2041 of file flatzinc.cpp.

◆ createBranchers()

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 1037 of file flatzinc.cpp.

◆ solveAnnotations()

AST::Array * Gecode::FlatZinc::FlatZincSpace::solveAnnotations ( void ) const

Return the solve item annotations.

Definition at line 1597 of file flatzinc.cpp.

◆ constrain()

void Gecode::FlatZinc::FlatZincSpace::constrain ( const Space & s)
virtual

Implement optimization.

Reimplemented from Gecode::Space.

Definition at line 1981 of file flatzinc.cpp.

◆ copy()

Space * Gecode::FlatZinc::FlatZincSpace::copy ( void )
virtual

Copy function.

Implements Gecode::Space.

Definition at line 2026 of file flatzinc.cpp.

◆ slave()

bool Gecode::FlatZinc::FlatZincSpace::slave ( const MetaInfo & mi)
virtual

Slave function for restarts.

Reimplemented from Gecode::Space.

Definition at line 2002 of file flatzinc.cpp.

◆ arg2intargs()

IntArgs Gecode::FlatZinc::FlatZincSpace::arg2intargs ( AST::Node * arg,
int offset = 0 )

Convert arg (array of integers) to IntArgs.

Definition at line 2123 of file flatzinc.cpp.

◆ arg2intsharedarray()

IntSharedArray Gecode::FlatZinc::FlatZincSpace::arg2intsharedarray ( AST::Node * arg,
int offset = 0 )

Convert arg (array of integers) to IntSharedArray.

Definition at line 2159 of file flatzinc.cpp.

◆ arg2boolargs()

IntArgs Gecode::FlatZinc::FlatZincSpace::arg2boolargs ( AST::Node * arg,
int offset = 0 )

Convert arg (array of Booleans) to IntArgs.

Definition at line 2173 of file flatzinc.cpp.

◆ arg2boolsharedarray()

IntSharedArray Gecode::FlatZinc::FlatZincSpace::arg2boolsharedarray ( AST::Node * arg,
int offset = 0 )

Convert arg (array of integers) to IntSharedArray.

Definition at line 2183 of file flatzinc.cpp.

◆ arg2intset()

IntSet Gecode::FlatZinc::FlatZincSpace::arg2intset ( AST::Node * n)

Convert n to IntSet.

Definition at line 2197 of file flatzinc.cpp.

◆ arg2intsetargs()

IntSetArgs Gecode::FlatZinc::FlatZincSpace::arg2intsetargs ( AST::Node * arg,
int offset = 0 )

Convert arg to IntSetArgs.

Definition at line 2212 of file flatzinc.cpp.

◆ arg2intvarargs()

IntVarArgs Gecode::FlatZinc::FlatZincSpace::arg2intvarargs ( AST::Node * arg,
int offset = 0 )

Convert arg to IntVarArgs.

Definition at line 2227 of file flatzinc.cpp.

◆ arg2boolvarargs()

BoolVarArgs Gecode::FlatZinc::FlatZincSpace::arg2boolvarargs ( AST::Node * arg,
int offset = 0,
int siv = -1 )

Convert arg to BoolVarArgs.

Definition at line 2248 of file flatzinc.cpp.

◆ arg2BoolVar()

BoolVar Gecode::FlatZinc::FlatZincSpace::arg2BoolVar ( AST::Node * n)

Convert n to BoolVar.

Definition at line 2274 of file flatzinc.cpp.

◆ arg2IntVar()

IntVar Gecode::FlatZinc::FlatZincSpace::arg2IntVar ( AST::Node * n)

Convert n to IntVar.

Definition at line 2285 of file flatzinc.cpp.

◆ arg2tupleset()

TupleSet Gecode::FlatZinc::FlatZincSpace::arg2tupleset ( const IntArgs & a,
int noOfVars )

Convert a to TupleSet.

Definition at line 2133 of file flatzinc.cpp.

◆ isBoolArray()

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 2295 of file flatzinc.cpp.

◆ arg2SetVar()

SetVar Gecode::FlatZinc::FlatZincSpace::arg2SetVar ( AST::Node * n)

Convert n to SetVar.

Definition at line 2317 of file flatzinc.cpp.

◆ arg2setvarargs()

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 2328 of file flatzinc.cpp.

◆ arg2floatargs()

FloatValArgs Gecode::FlatZinc::FlatZincSpace::arg2floatargs ( AST::Node * arg,
int offset = 0 )

Convert n to FloatValArgs.

Definition at line 2344 of file flatzinc.cpp.

◆ arg2FloatVar()

FloatVar Gecode::FlatZinc::FlatZincSpace::arg2FloatVar ( AST::Node * n)

Convert n to FloatVar.

Definition at line 2375 of file flatzinc.cpp.

◆ arg2floatvarargs()

FloatVarArgs Gecode::FlatZinc::FlatZincSpace::arg2floatvarargs ( AST::Node * arg,
int offset = 0 )

Convert n to FloatVarArgs.

Definition at line 2354 of file flatzinc.cpp.

◆ ann2ipl()

IntPropLevel Gecode::FlatZinc::FlatZincSpace::ann2ipl ( AST::Node * ann)

Convert ann to integer propagation level.

Definition at line 2386 of file flatzinc.cpp.

◆ getSharedDFA()

DFA Gecode::FlatZinc::FlatZincSpace::getSharedDFA ( DFA & a)

Share DFA a if possible.

Definition at line 2402 of file flatzinc.cpp.

Member Data Documentation

◆ _initData

FlatZincSpaceInitData* Gecode::FlatZinc::FlatZincSpace::_initData
protected

Initialisation data (only used for posting constraints)

Definition at line 439 of file flatzinc.hh.

◆ intVarCount

int Gecode::FlatZinc::FlatZincSpace::intVarCount
protected

Number of integer variables.

Definition at line 441 of file flatzinc.hh.

◆ boolVarCount

int Gecode::FlatZinc::FlatZincSpace::boolVarCount
protected

Number of Boolean variables.

Definition at line 443 of file flatzinc.hh.

◆ floatVarCount

int Gecode::FlatZinc::FlatZincSpace::floatVarCount
protected

Number of float variables.

Definition at line 445 of file flatzinc.hh.

◆ setVarCount

int Gecode::FlatZinc::FlatZincSpace::setVarCount
protected

Number of set variables.

Definition at line 447 of file flatzinc.hh.

◆ _optVar

int Gecode::FlatZinc::FlatZincSpace::_optVar
protected

Index of the variable to optimize.

Definition at line 450 of file flatzinc.hh.

◆ _optVarIsInt

bool Gecode::FlatZinc::FlatZincSpace::_optVarIsInt
protected

Whether variable to optimize is integer (or float)

Definition at line 452 of file flatzinc.hh.

◆ _method

Meth Gecode::FlatZinc::FlatZincSpace::_method
protected

Whether to solve as satisfaction or optimization problem.

Definition at line 455 of file flatzinc.hh.

◆ _lns

unsigned int Gecode::FlatZinc::FlatZincSpace::_lns
protected

Percentage of variables to keep in LNS (or 0 for no LNS)

Definition at line 458 of file flatzinc.hh.

◆ _lnsInitialSolution

IntSharedArray Gecode::FlatZinc::FlatZincSpace::_lnsInitialSolution
protected

Initial solution to start the LNS (or NULL for no LNS)

Definition at line 461 of file flatzinc.hh.

◆ _random

Rnd Gecode::FlatZinc::FlatZincSpace::_random
protected

Random number generator.

Definition at line 464 of file flatzinc.hh.

◆ _solveAnnotations

AST::Array* Gecode::FlatZinc::FlatZincSpace::_solveAnnotations
protected

Annotations on the solve item.

Definition at line 467 of file flatzinc.hh.

◆ iv

Gecode::IntVarArray Gecode::FlatZinc::FlatZincSpace::iv

The integer variables.

Definition at line 487 of file flatzinc.hh.

◆ iv_aux

Gecode::IntVarArray Gecode::FlatZinc::FlatZincSpace::iv_aux

The introduced integer variables.

Definition at line 489 of file flatzinc.hh.

◆ iv_lns

Gecode::IntVarArray Gecode::FlatZinc::FlatZincSpace::iv_lns

The integer variables used in LNS.

Definition at line 492 of file flatzinc.hh.

◆ iv_introduced

std::vector<bool> Gecode::FlatZinc::FlatZincSpace::iv_introduced

Indicates whether an integer variable is introduced by mzn2fzn.

Definition at line 495 of file flatzinc.hh.

◆ iv_boolalias

int* Gecode::FlatZinc::FlatZincSpace::iv_boolalias

Indicates whether an integer variable aliases a Boolean variable.

Definition at line 497 of file flatzinc.hh.

◆ bv

Gecode::BoolVarArray Gecode::FlatZinc::FlatZincSpace::bv

The Boolean variables.

Definition at line 499 of file flatzinc.hh.

◆ bv_aux

Gecode::BoolVarArray Gecode::FlatZinc::FlatZincSpace::bv_aux

The introduced Boolean variables.

Definition at line 501 of file flatzinc.hh.

◆ bv_introduced

std::vector<bool> Gecode::FlatZinc::FlatZincSpace::bv_introduced

Indicates whether a Boolean variable is introduced by mzn2fzn.

Definition at line 503 of file flatzinc.hh.

◆ sv

Gecode::SetVarArray Gecode::FlatZinc::FlatZincSpace::sv

The set variables.

Definition at line 506 of file flatzinc.hh.

◆ sv_aux

Gecode::SetVarArray Gecode::FlatZinc::FlatZincSpace::sv_aux

The introduced set variables.

Definition at line 508 of file flatzinc.hh.

◆ sv_introduced

std::vector<bool> Gecode::FlatZinc::FlatZincSpace::sv_introduced

Indicates whether a set variable is introduced by mzn2fzn.

Definition at line 510 of file flatzinc.hh.

◆ fv

Gecode::FloatVarArray Gecode::FlatZinc::FlatZincSpace::fv

The float variables.

Definition at line 514 of file flatzinc.hh.

◆ fv_aux

Gecode::FloatVarArray Gecode::FlatZinc::FlatZincSpace::fv_aux

The introduced float variables.

Definition at line 516 of file flatzinc.hh.

◆ fv_introduced

std::vector<bool> Gecode::FlatZinc::FlatZincSpace::fv_introduced

Indicates whether a float variable is introduced by mzn2fzn.

Definition at line 518 of file flatzinc.hh.

◆ step

Gecode::FloatNum Gecode::FlatZinc::FlatZincSpace::step

Step by which a next solution has to have lower cost.

Definition at line 520 of file flatzinc.hh.

◆ needAuxVars

bool Gecode::FlatZinc::FlatZincSpace::needAuxVars

Whether the introduced variables still need to be copied.

Definition at line 523 of file flatzinc.hh.

◆ branchInfo

BranchInformation Gecode::FlatZinc::FlatZincSpace::branchInfo

Information for printing branches.

Definition at line 609 of file flatzinc.hh.


The documentation for this class was generated from the following files: