Gecode::FlatZinc Namespace Reference

Interpreter for the FlatZinc language. More...

## Namespaces

namespace | AST
| Abstract syntax trees for the FlatZinc interpreter.

## Classes

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...
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...

## 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

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.
void | branch (Home home, const IntVarArgs &x, const BoolVarArgs &y, IntBoolVarBranch vars, IntValBranch vals)
| Branch function for integer and Boolean variables.
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.
BoolValBranch | i2b (const IntValBranch &ivb)
| Map respective integer value selection to Boolean value selection.
Rnd | defrnd (0)
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< IntVarBranch > | ann2ivarsel (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< BoolVarBranch > | ann2bvarsel (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< FloatVarBranch > | ann2fvarsel (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.
Registry & | registry (void)
| Return global registry object.

## Variables

GECODE_FLATZINC_EXPORT Rnd | defrnd
| Uninitialized default random number generator.

## 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

## intvartype

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

Definition at line 69 of file parser.hh.

## varspec

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

Definition at line 72 of file parser.hh.

## Enumeration Type Documentation

## SymbolType

enum Gecode::FlatZinc::SymbolType

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 85 of file parser.hh.

## Function Documentation

## parse() [1/2]

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.

## parse() [2/2]

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.

## branch()

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.

Definition at line 120 of file branch.cpp.

## INTBOOL_VAR_AFC_MAX() [1/2]

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.

## INTBOOL_VAR_AFC_MAX() [2/2]

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.

## INTBOOL_VAR_ACTION_MAX() [1/2]

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.

## INTBOOL_VAR_ACTION_MAX() [2/2]

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.

## INTBOOL_VAR_CHB_MAX() [1/2]

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.

## INTBOOL_VAR_CHB_MAX() [2/2]

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.

## INTBOOL_VAR_AFC_SIZE_MAX() [1/2]

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.

## INTBOOL_VAR_AFC_SIZE_MAX() [2/2]

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.

## INTBOOL_VAR_ACTION_SIZE_MAX() [1/2]

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.

## INTBOOL_VAR_ACTION_SIZE_MAX() [2/2]

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.

## INTBOOL_VAR_CHB_SIZE_MAX() [1/2]

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.

## INTBOOL_VAR_CHB_SIZE_MAX() [2/2]

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.

## i2b()

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.

## defrnd()

Rnd Gecode::FlatZinc::defrnd | ( | 0 |  | ) |

## varValPrint()

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 )

Definition at line 340 of file flatzinc.cpp.

## varValPrintF()

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.

## vs2is()

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

Definition at line 356 of file flatzinc.cpp.

## vs2bsl()

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

Definition at line 376 of file flatzinc.cpp.

## vs2bsh()

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

Definition at line 388 of file flatzinc.cpp.

## ann2ivarsel()

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

Definition at line 400 of file flatzinc.cpp.

## ann2ivalsel()

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

Definition at line 449 of file flatzinc.cpp.

## ann2asnivalsel()

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

Definition at line 500 of file flatzinc.cpp.

## ann2bvarsel()

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

Definition at line 518 of file flatzinc.cpp.

## ann2bvalsel()

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

Definition at line 552 of file flatzinc.cpp.

## ann2asnbvalsel()

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

Definition at line 603 of file flatzinc.cpp.

## ann2svarsel()

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

Definition at line 621 of file flatzinc.cpp.

## ann2svalsel()

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

Definition at line 659 of file flatzinc.cpp.

## ann2fvarsel()

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

Definition at line 689 of file flatzinc.cpp.

## ann2fvalsel()

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

Definition at line 733 of file flatzinc.cpp.

## flattenAnnotations()

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

Definition at line 1022 of file flatzinc.cpp.

## printIntVar()

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

Definition at line 1760 of file flatzinc.cpp.

## printBoolVar()

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

Definition at line 1779 of file flatzinc.cpp.

## printFloatVar()

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

Definition at line 1786 of file flatzinc.cpp.

## se_iv()

SymbolEntry Gecode::FlatZinc::se_iv | ( | int | i | ) |

inline

Construct integer variable entry.

Definition at line 116 of file parser.hh.

## se_bv()

SymbolEntry Gecode::FlatZinc::se_bv | ( | int | i | ) |

inline

Construct Boolean variable entry.

Definition at line 120 of file parser.hh.

## se_fv()

SymbolEntry Gecode::FlatZinc::se_fv | ( | int | i | ) |

inline

Construct float variable entry.

Definition at line 124 of file parser.hh.

## se_sv()

SymbolEntry Gecode::FlatZinc::se_sv | ( | int | i | ) |

inline

Construct set variable entry.

Definition at line 128 of file parser.hh.

## se_iva()

SymbolEntry Gecode::FlatZinc::se_iva | ( | int | i | ) |

inline

Construct integer variable array entry.

Definition at line 133 of file parser.hh.

## se_bva()

SymbolEntry Gecode::FlatZinc::se_bva | ( | int | i | ) |

inline

Construct Boolean variable array entry.

Definition at line 137 of file parser.hh.

## se_fva()

SymbolEntry Gecode::FlatZinc::se_fva | ( | int | i | ) |

inline

Construct float variable array entry.

Definition at line 141 of file parser.hh.

## se_sva()

SymbolEntry Gecode::FlatZinc::se_sva | ( | int | i | ) |

inline

Construct set variable array entry.

Definition at line 145 of file parser.hh.

## se_i()

SymbolEntry Gecode::FlatZinc::se_i | ( | int | i | ) |

inline

Construct integer entry.

Definition at line 150 of file parser.hh.

## se_b()

SymbolEntry Gecode::FlatZinc::se_b | ( | bool | b | ) |

inline

Construct Boolean entry.

Definition at line 154 of file parser.hh.

## se_s()

SymbolEntry Gecode::FlatZinc::se_s | ( | int | i | ) |

inline

Construct set entry.

Definition at line 158 of file parser.hh.

## se_f()

SymbolEntry Gecode::FlatZinc::se_f | ( | int | i | ) |

inline

Construct float entry.

Definition at line 162 of file parser.hh.

## se_ia()

SymbolEntry Gecode::FlatZinc::se_ia | ( | int | i | ) |

inline

Construct integer array entry.

Definition at line 167 of file parser.hh.

## se_ba()

SymbolEntry Gecode::FlatZinc::se_ba | ( | int | i | ) |

inline

Construct Boolean array entry.

Definition at line 171 of file parser.hh.

## se_sa()

SymbolEntry Gecode::FlatZinc::se_sa | ( | int | i | ) |

inline

Construct set array entry.

Definition at line 175 of file parser.hh.

## se_fa()

SymbolEntry Gecode::FlatZinc::se_fa | ( | int | i | ) |

inline

Construct float array entry.

Definition at line 179 of file parser.hh.

## registry()

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

Return global registry object.

Definition at line 53 of file registry.cpp.

## Variable Documentation

## defrnd

Rnd Gecode::FlatZinc::defrnd(0)

Uninitialized default random number generator.