Gecode::FlatZinc::FlatZincSpace Class Reference
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 (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::Space * | copy (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
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.
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] |
Member Data Documentation
int Gecode::FlatZinc::FlatZincSpace::intVarCount [protected] |
Number of integer variables.
Definition at line 220 of file flatzinc.hh.
int Gecode::FlatZinc::FlatZincSpace::boolVarCount [protected] |
Number of Boolean variables.
Definition at line 222 of file flatzinc.hh.
int Gecode::FlatZinc::FlatZincSpace::setVarCount [protected] |
Number of set variables.
Definition at line 224 of file flatzinc.hh.
int Gecode::FlatZinc::FlatZincSpace::_optVar [protected] |
Index of the integer variable to optimize.
Definition at line 227 of file flatzinc.hh.
Meth Gecode::FlatZinc::FlatZincSpace::_method [protected] |
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.
std::vector<bool> Gecode::FlatZinc::FlatZincSpace::iv_introduced |
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.
std::vector<bool> Gecode::FlatZinc::FlatZincSpace::bv_introduced |
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.
std::vector<bool> Gecode::FlatZinc::FlatZincSpace::sv_introduced |
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:
- gecode/flatzinc.hh (Revision: 9995)
- gecode/flatzinc/flatzinc.cpp (Revision: 9995)