Generated on Mon Nov 30 23:53:48 2009 for Gecode by doxygen 1.6.1

Gecode::FlatZinc::FlatZincSpace Class Reference

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

#include <flatzinc.hh>

List of all members.

Public Types

enum  Meth { SAT, MIN, MAX }

Public Member Functions

 FlatZincSpace (int intVars, int boolVars, int setVars)
 Construct problem with given number of variables.
void newIntVar (IntVarSpec *vs)
 Create new integer variable from specification.
void newBoolVar (BoolVarSpec *vs)
 Create new Boolean variable from specification.
void newSetVar (SetVarSpec *vs)
 Create new set variable from specification.
void postConstraint (const ConExpr &ce, AST::Node *annotation)
 Post a constraint specified by ce.
void solve (AST::Array *annotation)
 Post the solve item.
void minimize (int var, AST::Array *annotation)
 Post that integer variable var should be minimized.
void maximize (int var, 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.
Meth method (void)
 Return whether to solve a satisfaction or optimization problem.
virtual void constrain (const Space &s)
 Implement optimization.
virtual Gecode::Spacecopy (bool share)
 Copy function.

Public Attributes

Gecode::IntVarArray iv
 The integer variables.
std::vector< bool > iv_introduced
 Indicates whether an integer variable is introduced by mzn2fzn.
Gecode::BoolVarArray bv
 The Boolean variables.
std::vector< bool > bv_introduced
 Indicates whether a Boolean variable is introduced by mzn2fzn.
Gecode::SetVarArray sv
 The set variables.
std::vector< bool > sv_introduced
 Indicates whether a set variable is introduced by mzn2fzn.

Protected Member Functions

void parseSolveAnn (AST::Array *ann)
 Parse the solve annotations and create corresponding branchings.
 FlatZincSpace (bool share, FlatZincSpace &)
 Copy constructor.

Protected Attributes

int intVarCount
 Number of integer variables.
int boolVarCount
 Number of Boolean variables.
int setVarCount
 Number of set variables.
int _optVar
 Index of the integer variable to optimize.
Meth _method
 Whether to solve as satisfaction or optimization problem.

Detailed Description

A Space that can be initialized with a FlatZinc model.

Definition at line 211 of file flatzinc.hh.


Member Enumeration Documentation

Enumerator:
SAT 
MIN 
MAX 

Definition at line 213 of file flatzinc.hh.


Constructor & Destructor Documentation

Gecode::FlatZinc::FlatZincSpace::FlatZincSpace ( bool  share,
FlatZincSpace f 
) [protected]

Copy constructor.

Definition at line 182 of file flatzinc.cpp.

Gecode::FlatZinc::FlatZincSpace::FlatZincSpace ( int  intVars,
int  boolVars,
int  setVars 
)

Construct problem with given number of variables.

Definition at line 193 of file flatzinc.cpp.


Member Function Documentation

void Gecode::FlatZinc::FlatZincSpace::parseSolveAnn ( AST::Array ann  )  [protected]

Parse the solve annotations and create corresponding branchings.

Definition at line 301 of file flatzinc.cpp.

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

Create new integer variable from specification.

Definition at line 210 of file flatzinc.cpp.

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

Create new Boolean variable from specification.

Definition at line 220 of file flatzinc.cpp.

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

Create new set variable from specification.

Definition at line 231 of file flatzinc.cpp.

void Gecode::FlatZinc::FlatZincSpace::postConstraint ( const ConExpr ce,
AST::Node annotation 
)

Post a constraint specified by ce.

Definition at line 276 of file flatzinc.cpp.

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

Post the solve item.

Definition at line 391 of file flatzinc.cpp.

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

Post that integer variable var should be minimized.

Definition at line 397 of file flatzinc.cpp.

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

Post that integer variable var should be maximized.

Definition at line 408 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 554 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 588 of file flatzinc.cpp.

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

Return whether to solve a satisfaction or optimization problem.

Definition at line 583 of file flatzinc.cpp.

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

Implement optimization.

Definition at line 568 of file flatzinc.cpp.

Space * Gecode::FlatZinc::FlatZincSpace::copy ( bool  share  )  [virtual]

Copy function.

Implements Gecode::Space.

Definition at line 578 of file flatzinc.cpp.


Member Data Documentation

Number of integer variables.

Definition at line 220 of file flatzinc.hh.

Number of Boolean variables.

Definition at line 222 of file flatzinc.hh.

Number of set variables.

Definition at line 224 of file flatzinc.hh.

Index of the integer variable to optimize.

Definition at line 227 of file flatzinc.hh.

Whether to solve as satisfaction or optimization problem.

Definition at line 230 of file flatzinc.hh.

The integer variables.

Definition at line 245 of file flatzinc.hh.

Indicates whether an integer variable is introduced by mzn2fzn.

Definition at line 247 of file flatzinc.hh.

The Boolean variables.

Definition at line 249 of file flatzinc.hh.

Indicates whether a Boolean variable is introduced by mzn2fzn.

Definition at line 251 of file flatzinc.hh.

The set variables.

Definition at line 254 of file flatzinc.hh.

Indicates whether a set variable is introduced by mzn2fzn.

Definition at line 256 of file flatzinc.hh.


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