Generated on for Gecode by doxygen 1.17.0
Gecode::FlatZinc Namespace Reference

Interpreter for the FlatZinc language. More...

Namespaces

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

Classes

class  Alias
 Alias for a variable specification More...
class  BlackBoxAccess
 Access to the model-local blackbox context while posting and searching. More...
class  BlackBoxBackend
 Backend for a deterministic FlatZinc blackbox function. More...
struct  BlackBoxCall
 Inputs and pre-sized output buffers for one backend call. More...
class  BlackBoxContextHandle
 Model-local context shared by blackbox propagators and search support. More...
class  BlackBoxExec
 Persistent-process backend shared by equal executable configurations. More...
class  BlackBoxLibrary
 Dynamic-library backend owned by one blackbox constraint. More...
class  BlackBoxProcessSession
 Platform process session used by the executable blackbox backend. More...
class  BoolVarSpec
 Specification for Boolean variables. More...
class  BranchInformation
class  Complete
class  ConExpr
 Abstract representation of a constraint. More...
class  Error
 Exception class for FlatZinc errors More...
class  FlatZincOptions
 Options for running FlatZinc models More...
class  FlatZincSpace
 A space that can be initialized with a FlatZinc model. More...
class  FloatVarSpec
 Specification for floating point variables. More...
class  IntBoolBrancher
 Brancher for integer and Boolean views. More...
class  IntBoolBrancherBase
 Base-class for brancher for integer and Boolean views. More...
class  IntBoolVarBranch
 Which integer or Boolean variable to select for branching. More...
class  IntVarSpec
 Specification for integer variables. More...
class  LastVal
class  MeritMaxAction
 Select by maximal Action. More...
class  MeritMaxActionSize
 Select by maximal Action over size. More...
class  MeritMaxAFC
 Select by maximal AFC. More...
class  MeritMaxAFCSize
 Select by maximal AFC over size. More...
class  MeritMaxCHB
 Select by maximal CHB. More...
class  MeritMaxCHBSize
 Select by maximal CHB over size. More...
struct  Option
 Optional value. More...
class  OutputOrder
 Strict weak ordering for output items. More...
class  ParserState
 State of the FlatZinc parser More...
class  PosIntChoice
 Choice storing position and value More...
class  Printer
 Output support class for FlatZinc interpreter. More...
class  Registry
 Map from constraint identifier to constraint posting functions. More...
class  SetBoolLastVal
class  SetFloatLastVal
class  SetIntLastVal
class  SetIntSetLastVal
class  SetVarSpec
 Specification for set variables. More...
class  SymbolEntry
 Entries in the symbol table. More...
class  SymbolTable
 Symbol table mapping identifiers (strings) to values. More...
class  VarSpec
 Base class for variable specifications. More...

Typedefs

typedef LastVal< IntView, SetIntLastValLastValInt
typedef LastVal< BoolView, SetBoolLastValLastValBool
typedef LastVal< Float::FloatView, SetFloatLastValLastValFloat
typedef LastVal< Set::SetView, SetIntSetLastValLastValSet
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 FlatZincSpaceparse (const std::string &fileName, Printer &p, std::ostream &err=std::cerr, FlatZincSpace *fzs=nullptr, Rnd &rnd=defrnd)
 Parse FlatZinc file fileName into fzs and return it.
GECODE_FLATZINC_EXPORT FlatZincSpaceparse (std::istream &is, Printer &p, std::ostream &err=std::cerr, FlatZincSpace *fzs=nullptr, Rnd &rnd=defrnd)
 Parse FlatZinc from is into fzs and return it.
GECODE_FLATZINC_EXPORT std::string encode_blackbox_request (const BlackBoxCall &call)
 Encode one request for the executable backend's line protocol.
GECODE_FLATZINC_EXPORT void decode_blackbox_response (const std::string &response, BlackBoxCall &call)
 Decode and validate one response from the executable backend.
BlackBoxProcessSessioncreate_blackbox_process (const std::string &program, const std::vector< std::string > &args)
 Create the process implementation selected for the target platform.
void blackbox (Home home, BlackBoxContextHandle &context, const IntVarArgs &int_in, const IntVarArgs &int_out, const FloatVarArgs &float_in, const FloatVarArgs &float_out, const std::string &mode, const std::string &target, const std::vector< std::string > &args)
void blackbox_bounds (Home home, BlackBoxContextHandle &context, const IntVarArgs &ivar, const FloatVarArgs &fvar, const std::string &mode, const std::string &target, const std::vector< std::string > &args, const std::vector< int > &reason)
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.
GECODE_FLATZINC_EXPORT void branch (Home home, const IntVarArgs &x, const BoolVarArgs &y, IntBoolVarBranch vars, IntValBranch vals)
 Branch function for integer and Boolean variables.
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.
GECODE_FLATZINC_EXPORT Registryregistry (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

◆ LastValInt

◆ LastValBool

◆ LastValFloat

◆ LastValSet

◆ intvartype

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

Definition at line 70 of file parser.hh.

◆ varspec

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

Definition at line 73 of file parser.hh.

Enumeration Type Documentation

◆ 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 86 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 = nullptr,
Rnd & rnd = defrnd )

Parse FlatZinc file fileName into fzs and return it.

Creates a new empty FlatZincSpace if fzs is nullptr.

◆ parse() [2/2]

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

Parse FlatZinc from is into fzs and return it.

Creates a new empty FlatZincSpace if fzs is nullptr.

◆ encode_blackbox_request()

GECODE_FLATZINC_EXPORT std::string Gecode::FlatZinc::encode_blackbox_request ( const BlackBoxCall & call)

Encode one request for the executable backend's line protocol.

◆ decode_blackbox_response()

GECODE_FLATZINC_EXPORT void Gecode::FlatZinc::decode_blackbox_response ( const std::string & response,
BlackBoxCall & call )

Decode and validate one response from the executable backend.

◆ create_blackbox_process()

BlackBoxProcessSession * Gecode::FlatZinc::create_blackbox_process ( const std::string & program,
const std::vector< std::string > & args )

Create the process implementation selected for the target platform.

◆ blackbox()

void Gecode::FlatZinc::blackbox ( Home home,
BlackBoxContextHandle & context,
const IntVarArgs & int_in,
const IntVarArgs & int_out,
const FloatVarArgs & float_in,
const FloatVarArgs & float_out,
const std::string & mode,
const std::string & target,
const std::vector< std::string > & args )

◆ blackbox_bounds()

void Gecode::FlatZinc::blackbox_bounds ( Home home,
BlackBoxContextHandle & context,
const IntVarArgs & ivar,
const FloatVarArgs & fvar,
const std::string & mode,
const std::string & target,
const std::vector< std::string > & args,
const std::vector< int > & reason )

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

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

◆ se_iv()

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

Construct integer variable entry.

Definition at line 117 of file parser.hh.

◆ se_bv()

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

Construct Boolean variable entry.

Definition at line 121 of file parser.hh.

◆ se_fv()

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

Construct float variable entry.

Definition at line 125 of file parser.hh.

◆ se_sv()

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

Construct set variable entry.

Definition at line 129 of file parser.hh.

◆ se_iva()

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

Construct integer variable array entry.

Definition at line 134 of file parser.hh.

◆ se_bva()

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

Construct Boolean variable array entry.

Definition at line 138 of file parser.hh.

◆ se_fva()

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

Construct float variable array entry.

Definition at line 142 of file parser.hh.

◆ se_sva()

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

Construct set variable array entry.

Definition at line 146 of file parser.hh.

◆ se_i()

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

Construct integer entry.

Definition at line 151 of file parser.hh.

◆ se_b()

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

Construct Boolean entry.

Definition at line 155 of file parser.hh.

◆ se_s()

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

Construct set entry.

Definition at line 159 of file parser.hh.

◆ se_f()

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

Construct float entry.

Definition at line 163 of file parser.hh.

◆ se_ia()

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

Construct integer array entry.

Definition at line 168 of file parser.hh.

◆ se_ba()

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

Construct Boolean array entry.

Definition at line 172 of file parser.hh.

◆ se_sa()

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

Construct set array entry.

Definition at line 176 of file parser.hh.

◆ se_fa()

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

Construct float array entry.

Definition at line 180 of file parser.hh.

◆ registry()

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

Return global registry object.

Variable Documentation

◆ defrnd

GECODE_FLATZINC_EXPORT Rnd Gecode::FlatZinc::defrnd
extern

Uninitialized default random number generator.