Generated on Thu Apr 11 13:59:50 2019 for Gecode by doxygen 1.6.3

Gecode::FlatZinc Namespace Reference

Interpreter for the FlatZinc language. More...

Namespaces

namespace  AST
 

Abstract syntax trees for the FlatZinc interpreter.


Classes

class  IntBoolVarBranch
 Which integer or Boolean variable to select for branching. More...
class  MeritMaxAFC
 Select by maximal AFC. More...
class  MeritMaxAFCSize
 Select by maximal AFC over size. More...
class  MeritMaxAction
 Select by maximal Action. More...
class  MeritMaxActionSize
 Select by maximal Action over size. More...
class  MeritMaxCHB
 Select by maximal CHB. More...
class  MeritMaxCHBSize
 Select by maximal CHB over size. More...
class  PosIntChoice
 Choice storing position and value More...
class  IntBoolBrancherBase
 Base-class for brancher for integer and Boolean views. More...
class  IntBoolBrancher
 Brancher for integer and Boolean views. More...
class  ConExpr
 Abstract representation of a constraint. More...
class  AuxVarBrancher
 Branching on the introduced variables. More...
class  BranchInformationO
class  FlatZincSpaceInitData
class  GistEngine
 Traits class for search engines. More...
class  GistEngine< DFS< S > >
 Specialization for DFS. More...
class  GistEngine< BAB< S > >
 Specialization for BAB. More...
class  FZPrintingInspector
 An inspector for printing simple text output. More...
class  FZPrintingComparator
class  FlatZincGetInfo
struct  Option
 Optional value. More...
class  OutputOrder
 Strict weak ordering for output items. More...
class  SymbolEntry
 Entries in the symbol table. More...
class  ParserState
 State of the FlatZinc parser More...
class  Registry
 Map from constraint identifier to constraint posting functions. More...
class  SymbolTable
 Symbol table mapping identifiers (strings) to values. More...
class  Alias
 Alias for a variable specification More...
class  VarSpec
 Base class for variable specifications. More...
class  IntVarSpec
 Specification for integer variables. More...
class  BoolVarSpec
 Specification for Boolean variables. More...
class  FloatVarSpec
 Specification for floating point variables. More...
class  SetVarSpec
 Specification for set variables. More...
class  Printer
 Output support class for FlatZinc interpreter. More...
class  FlatZincOptions
 Options for running FlatZinc models More...
class  BranchInformation
class  FlatZincSpace
 A space that can be initialized with a FlatZinc model. More...
class  Error
 Exception class for FlatZinc errors More...

Typedefs

typedef std::pair< std::string,
Option< std::vector< int > * > > 
intvartype
typedef std::pair< std::string,
VarSpec * > 
varspec

Enumerations

enum  SymbolType {
  ST_INTVAR, ST_BOOLVAR, ST_FLOATVAR, ST_SETVAR,
  ST_INTVARARRAY, ST_BOOLVARARRAY, ST_SETVARARRAY, ST_FLOATVARARRAY,
  ST_INTVALARRAY, ST_BOOLVALARRAY, ST_SETVALARRAY, ST_FLOATVALARRAY,
  ST_INT, ST_BOOL, ST_SET, ST_FLOAT
}
 

Types of symbols.

More...

Functions

void branch (Home home, const IntVarArgs &x, const BoolVarArgs &y, IntBoolVarBranch vars, IntValBranch vals)
 Branch function for integer and Boolean variables.
BoolValBranch i2b (const IntValBranch &ivb)
 Map respective integer value selection to Boolean value selection.
template<class Var >
void varValPrint (const Space &home, const Brancher &b, unsigned int a, Var, int i, const int &n, std::ostream &o)
void varValPrintF (const Space &home, const Brancher &b, unsigned int a, FloatVar, int i, const FloatNumBranch &nl, std::ostream &o)
IntSet vs2is (IntVarSpec *vs)
int vs2bsl (BoolVarSpec *bs)
int vs2bsh (BoolVarSpec *bs)
TieBreak< IntVarBranchann2ivarsel (AST::Node *ann, Rnd rnd, double decay)
IntValBranch ann2ivalsel (AST::Node *ann, std::string &r0, std::string &r1, Rnd rnd)
IntAssign ann2asnivalsel (AST::Node *ann, Rnd rnd)
TieBreak< BoolVarBranchann2bvarsel (AST::Node *ann, Rnd rnd, double decay)
BoolValBranch ann2bvalsel (AST::Node *ann, std::string &r0, std::string &r1, Rnd rnd)
BoolAssign ann2asnbvalsel (AST::Node *ann, Rnd rnd)
SetVarBranch ann2svarsel (AST::Node *ann, Rnd rnd, double decay)
SetValBranch ann2svalsel (AST::Node *ann, std::string r0, std::string r1, Rnd rnd)
TieBreak< FloatVarBranchann2fvarsel (AST::Node *ann, Rnd rnd, double decay)
FloatValBranch ann2fvalsel (AST::Node *ann, std::string r0, std::string r1)
void flattenAnnotations (AST::Array *ann, std::vector< AST::Node * > &out)
void printIntVar (std::ostream &os, const std::string name, const Int::IntView &x)
void printBoolVar (std::ostream &os, const std::string name, const BoolVar &b)
void printFloatVar (std::ostream &os, const std::string name, const Float::FloatView &f)
SymbolEntry se_iv (int i)
 Construct integer variable entry.
SymbolEntry se_bv (int i)
 Construct Boolean variable entry.
SymbolEntry se_fv (int i)
 Construct float variable entry.
SymbolEntry se_sv (int i)
 Construct set variable entry.
SymbolEntry se_iva (int i)
 Construct integer variable array entry.
SymbolEntry se_bva (int i)
 Construct Boolean variable array entry.
SymbolEntry se_fva (int i)
 Construct float variable array entry.
SymbolEntry se_sva (int i)
 Construct set variable array entry.
SymbolEntry se_i (int i)
 Construct integer entry.
SymbolEntry se_b (bool b)
 Construct Boolean entry.
SymbolEntry se_s (int i)
 Construct set entry.
SymbolEntry se_f (int i)
 Construct float entry.
SymbolEntry se_ia (int i)
 Construct integer array entry.
SymbolEntry se_ba (int i)
 Construct Boolean array entry.
SymbolEntry se_sa (int i)
 Construct set array entry.
SymbolEntry se_fa (int i)
 Construct float array entry.
Registryregistry (void)
 Return global registry object.
GECODE_FLATZINC_EXPORT
FlatZincSpace
parse (const std::string &fileName, Printer &p, std::ostream &err=std::cerr, FlatZincSpace *fzs=NULL, Rnd &rnd=defrnd)
 Parse FlatZinc file fileName into fzs and return it.
GECODE_FLATZINC_EXPORT
FlatZincSpace
parse (std::istream &is, Printer &p, std::ostream &err=std::cerr, FlatZincSpace *fzs=NULL, Rnd &rnd=defrnd)
 Parse FlatZinc from is into fzs and return it.

Variables

Rnd defrnd (0)
 Uninitialized default random number generator.



IntBoolVarBranch INTBOOL_VAR_AFC_MAX (double d=1.0)
 Variable selection for both integer and Boolean variables.
IntBoolVarBranch INTBOOL_VAR_AFC_MAX (IntAFC ia, BoolAFC ba)
 Select variable with largest accumulated failure count.
IntBoolVarBranch INTBOOL_VAR_ACTION_MAX (double d=1.0)
 Select variable with highest action.
IntBoolVarBranch INTBOOL_VAR_ACTION_MAX (IntAction ia, BoolAction ba)
 Select variable with highest action.
IntBoolVarBranch INTBOOL_VAR_CHB_MAX (double d=1.0)
 Select variable with largest CHB Q-score.
IntBoolVarBranch INTBOOL_VAR_CHB_MAX (IntCHB ic, BoolCHB bc)
 Select variable with largest CHB Q-score.
IntBoolVarBranch INTBOOL_VAR_AFC_SIZE_MAX (double d=1.0)
 Select variable with largest accumulated failure count divided by domain size.
IntBoolVarBranch INTBOOL_VAR_AFC_SIZE_MAX (IntAFC ia, BoolAFC ba)
 Select variable with largest accumulated failure count divided by domain size.
IntBoolVarBranch INTBOOL_VAR_ACTION_SIZE_MAX (double d=1.0)
 Select variable with largest action divided by domain size.
IntBoolVarBranch INTBOOL_VAR_ACTION_SIZE_MAX (IntAction ia, BoolAction ba)
 Select variable with largest action divided by domain size.
IntBoolVarBranch INTBOOL_VAR_CHB_SIZE_MAX (double d=1.0)
 Select variable with largest CHB Q-score divided by domain size.
IntBoolVarBranch INTBOOL_VAR_CHB_SIZE_MAX (IntCHB ic, BoolCHB bc)
 Select variable with largest CHB Q-score divided by domain size.

Detailed Description

Interpreter for the FlatZinc language.

The Gecode::FlatZinc namespace contains all functionality required to parse and solve constraint models written in the FlatZinc language.


Typedef Documentation

typedef std::pair<std::string,Option<std::vector<int>* > > Gecode::FlatZinc::intvartype

Definition at line 68 of file parser.hh.

typedef std::pair<std::string, VarSpec*> Gecode::FlatZinc::varspec

Definition at line 70 of file parser.hh.


Enumeration Type Documentation

Types of symbols.

Enumerator:
ST_INTVAR 
ST_BOOLVAR 
ST_FLOATVAR 
ST_SETVAR 
ST_INTVARARRAY 
ST_BOOLVARARRAY 
ST_SETVARARRAY 
ST_FLOATVARARRAY 
ST_INTVALARRAY 
ST_BOOLVALARRAY 
ST_SETVALARRAY 
ST_FLOATVALARRAY 
ST_INT 
ST_BOOL 
ST_SET 
ST_FLOAT 

Definition at line 84 of file parser.hh.


Function Documentation

GECODE_FLATZINC_EXPORT void Gecode::FlatZinc::branch ( Home  home,
const IntVarArgs &  x,
const BoolVarArgs &  y,
IntBoolVarBranch  vars,
IntValBranch  vals 
)

Branch function for integer and Boolean variables.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_AFC_MAX ( double  d = 1.0  )  [inline]

Variable selection for both integer and Boolean variables.

Select variable with largest accumulated failure count

Definition at line 114 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_AFC_MAX ( IntAFC  ia,
BoolAFC  ba 
) [inline]

Select variable with largest accumulated failure count.

Definition at line 118 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_ACTION_MAX ( double  d = 1.0  )  [inline]

Select variable with highest action.

Definition at line 122 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_ACTION_MAX ( IntAction  ia,
BoolAction  ba 
) [inline]

Select variable with highest action.

Definition at line 126 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_CHB_MAX ( double  d = 1.0  )  [inline]

Select variable with largest CHB Q-score.

Definition at line 130 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_CHB_MAX ( IntCHB  ic,
BoolCHB  bc 
) [inline]

Select variable with largest CHB Q-score.

Definition at line 134 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_AFC_SIZE_MAX ( double  d = 1.0  )  [inline]

Select variable with largest accumulated failure count divided by domain size.

Definition at line 138 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_AFC_SIZE_MAX ( IntAFC  ia,
BoolAFC  ba 
) [inline]

Select variable with largest accumulated failure count divided by domain size.

Definition at line 142 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_ACTION_SIZE_MAX ( double  d = 1.0  )  [inline]

Select variable with largest action divided by domain size.

Definition at line 146 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_ACTION_SIZE_MAX ( IntAction  ia,
BoolAction  ba 
) [inline]

Select variable with largest action divided by domain size.

Definition at line 150 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_CHB_SIZE_MAX ( double  d = 1.0  )  [inline]

Select variable with largest CHB Q-score divided by domain size.

Definition at line 154 of file branch.hpp.

IntBoolVarBranch Gecode::FlatZinc::INTBOOL_VAR_CHB_SIZE_MAX ( IntCHB  ic,
BoolCHB  bc 
) [inline]

Select variable with largest CHB Q-score divided by domain size.

Definition at line 158 of file branch.hpp.

BoolValBranch Gecode::FlatZinc::i2b ( const IntValBranch &  ivb  )  [inline]

Map respective integer value selection to Boolean value selection.

Definition at line 421 of file branch.hpp.

template<class Var >
void Gecode::FlatZinc::varValPrint ( const Space &  home,
const Brancher &  b,
unsigned int  a,
Var  ,
int  i,
const int &  n,
std::ostream &  o 
) [inline]

Definition at line 340 of file flatzinc.cpp.

void Gecode::FlatZinc::varValPrintF ( const Space &  home,
const Brancher &  b,
unsigned int  a,
FloatVar  ,
int  i,
const FloatNumBranch &  nl,
std::ostream &  o 
)

Definition at line 348 of file flatzinc.cpp.

IntSet Gecode::FlatZinc::vs2is ( IntVarSpec *  vs  ) 

Definition at line 356 of file flatzinc.cpp.

int Gecode::FlatZinc::vs2bsl ( BoolVarSpec *  bs  ) 

Definition at line 376 of file flatzinc.cpp.

int Gecode::FlatZinc::vs2bsh ( BoolVarSpec *  bs  ) 

Definition at line 388 of file flatzinc.cpp.

TieBreak<IntVarBranch> Gecode::FlatZinc::ann2ivarsel ( AST::Node *  ann,
Rnd  rnd,
double  decay 
)

Definition at line 400 of file flatzinc.cpp.

IntValBranch Gecode::FlatZinc::ann2ivalsel ( AST::Node *  ann,
std::string &  r0,
std::string &  r1,
Rnd  rnd 
)

Definition at line 449 of file flatzinc.cpp.

IntAssign Gecode::FlatZinc::ann2asnivalsel ( AST::Node *  ann,
Rnd  rnd 
)

Definition at line 500 of file flatzinc.cpp.

TieBreak<BoolVarBranch> Gecode::FlatZinc::ann2bvarsel ( AST::Node *  ann,
Rnd  rnd,
double  decay 
)

Definition at line 518 of file flatzinc.cpp.

BoolValBranch Gecode::FlatZinc::ann2bvalsel ( AST::Node *  ann,
std::string &  r0,
std::string &  r1,
Rnd  rnd 
)

Definition at line 552 of file flatzinc.cpp.

BoolAssign Gecode::FlatZinc::ann2asnbvalsel ( AST::Node *  ann,
Rnd  rnd 
)

Definition at line 603 of file flatzinc.cpp.

SetVarBranch Gecode::FlatZinc::ann2svarsel ( AST::Node *  ann,
Rnd  rnd,
double  decay 
)

Definition at line 621 of file flatzinc.cpp.

SetValBranch Gecode::FlatZinc::ann2svalsel ( AST::Node *  ann,
std::string  r0,
std::string  r1,
Rnd  rnd 
)

Definition at line 659 of file flatzinc.cpp.

TieBreak<FloatVarBranch> Gecode::FlatZinc::ann2fvarsel ( AST::Node *  ann,
Rnd  rnd,
double  decay 
)

Definition at line 689 of file flatzinc.cpp.

FloatValBranch Gecode::FlatZinc::ann2fvalsel ( AST::Node *  ann,
std::string  r0,
std::string  r1 
)

Definition at line 733 of file flatzinc.cpp.

void Gecode::FlatZinc::flattenAnnotations ( AST::Array *  ann,
std::vector< AST::Node * > &  out 
)

Definition at line 1022 of file flatzinc.cpp.

void Gecode::FlatZinc::printIntVar ( std::ostream &  os,
const std::string  name,
const Int::IntView &  x 
)

Definition at line 1760 of file flatzinc.cpp.

void Gecode::FlatZinc::printBoolVar ( std::ostream &  os,
const std::string  name,
const BoolVar &  b 
)

Definition at line 1779 of file flatzinc.cpp.

void Gecode::FlatZinc::printFloatVar ( std::ostream &  os,
const std::string  name,
const Float::FloatView &  f 
)

Definition at line 1786 of file flatzinc.cpp.

SymbolEntry Gecode::FlatZinc::se_iv ( int  i  )  [inline]

Construct integer variable entry.

Definition at line 115 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_bv ( int  i  )  [inline]

Construct Boolean variable entry.

Definition at line 119 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_fv ( int  i  )  [inline]

Construct float variable entry.

Definition at line 123 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_sv ( int  i  )  [inline]

Construct set variable entry.

Definition at line 127 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_iva ( int  i  )  [inline]

Construct integer variable array entry.

Definition at line 132 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_bva ( int  i  )  [inline]

Construct Boolean variable array entry.

Definition at line 136 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_fva ( int  i  )  [inline]

Construct float variable array entry.

Definition at line 140 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_sva ( int  i  )  [inline]

Construct set variable array entry.

Definition at line 144 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_i ( int  i  )  [inline]

Construct integer entry.

Definition at line 149 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_b ( bool  b  )  [inline]

Construct Boolean entry.

Definition at line 153 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_s ( int  i  )  [inline]

Construct set entry.

Definition at line 157 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_f ( int  i  )  [inline]

Construct float entry.

Definition at line 161 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_ia ( int  i  )  [inline]

Construct integer array entry.

Definition at line 166 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_ba ( int  i  )  [inline]

Construct Boolean array entry.

Definition at line 170 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_sa ( int  i  )  [inline]

Construct set array entry.

Definition at line 174 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_fa ( int  i  )  [inline]

Construct float array entry.

Definition at line 178 of file parser.hh.

GECODE_FLATZINC_EXPORT Registry & Gecode::FlatZinc::registry ( void   ) 

Return global registry object.

GECODE_FLATZINC_EXPORT FlatZincSpace* Gecode::FlatZinc::parse ( const std::string &  fileName,
Printer &  p,
std::ostream &  err = std::cerr,
FlatZincSpace *  fzs = NULL,
Rnd &  rnd = defrnd 
)

Parse FlatZinc file fileName into fzs and return it.

Creates a new empty FlatZincSpace if fzs is NULL.

GECODE_FLATZINC_EXPORT FlatZincSpace* Gecode::FlatZinc::parse ( std::istream &  is,
Printer &  p,
std::ostream &  err = std::cerr,
FlatZincSpace *  fzs = NULL,
Rnd &  rnd = defrnd 
)

Parse FlatZinc from is into fzs and return it.

Creates a new empty FlatZincSpace if fzs is NULL.


Variable Documentation

GECODE_FLATZINC_EXPORT Rnd Gecode::FlatZinc::defrnd

Uninitialized default random number generator.

Definition at line 420 of file flatzinc.hh.