Generated on Sat Feb 7 2015 02:01:38 for Gecode by doxygen 1.8.9.1
DominatingQueens Class Reference

Example: Dominating Queens More...

Public Member Functions

 DominatingQueens (const SizeOptions &opt)
 The actual problem. More...
 
virtual IntVar cost (void) const
 Return cost. More...
 
 DominatingQueens (bool share, DominatingQueens &s)
 Constructor for cloning s. More...
 
virtual Spacecopy (bool share)
 Perform copying during cloning. More...
 
virtual void print (std::ostream &os) const
 Print solution. More...
 
- Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
 ScriptBase (void)
 Default constructor. More...
 
 ScriptBase (bool share, ScriptBase &e)
 Constructor used for cloning. More...
 
virtual void compare (const Space &, std::ostream &os) const
 Compare with s. More...
 

Protected Member Functions

int xy (int x, int y) const
 Compute coordinate pair from x and y. More...
 
int x (int xy) const
 Compute x coordinate from pair xy. More...
 
int y (int xy) const
 Compute y coordinate from pair xy. More...
 
IntSet attacked (int xy)
 Compute set of fields that can be attacked by xy. More...
 

Protected Attributes

const int n
 Size of the board. More...
 
IntVarArray b
 Fields on the board. More...
 
IntVar q
 Number of queens. More...
 

Related Functions

(Note that these are not member functions.)

int main (int argc, char *argv[])
 Main-function. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
static std::ostream & select_ostream (const char *name, std::ofstream &ofs)
 Choose output stream according to name. More...
 
template<class Script , template< class > class Engine, class Options >
static void run (const Options &opt, Script *s=NULL)
 

Detailed Description

Example: Dominating Queens

Place a number of queens on a n times n chessboard such that each squares is either attacked or occupied by a queen.

The model is taken from: C. Bessiere, E. Hebrard, B. Hnich, Z. Kiziltan, and T. Walsh, Filtering Algorithms for the NValue Constraint, Constraints, 11(4), 271-293, 2006.

Definition at line 57 of file dominating-queens.cpp.

Constructor & Destructor Documentation

DominatingQueens::DominatingQueens ( const SizeOptions opt)
inline

The actual problem.

Definition at line 90 of file dominating-queens.cpp.

DominatingQueens::DominatingQueens ( bool  share,
DominatingQueens s 
)
inline

Constructor for cloning s.

Definition at line 120 of file dominating-queens.cpp.

Member Function Documentation

int DominatingQueens::xy ( int  x,
int  y 
) const
inlineprotected

Compute coordinate pair from x and y.

Definition at line 66 of file dominating-queens.cpp.

int DominatingQueens::x ( int  xy) const
inlineprotected

Compute x coordinate from pair xy.

Definition at line 70 of file dominating-queens.cpp.

int DominatingQueens::y ( int  xy) const
inlineprotected

Compute y coordinate from pair xy.

Definition at line 74 of file dominating-queens.cpp.

IntSet DominatingQueens::attacked ( int  xy)
inlineprotected

Compute set of fields that can be attacked by xy.

Definition at line 78 of file dominating-queens.cpp.

virtual IntVar DominatingQueens::cost ( void  ) const
inlinevirtual

Return cost.

Definition at line 115 of file dominating-queens.cpp.

virtual Space* DominatingQueens::copy ( bool  share)
inlinevirtual

Perform copying during cloning.

Definition at line 128 of file dominating-queens.cpp.

virtual void DominatingQueens::print ( std::ostream &  os) const
inlinevirtual

Print solution.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 134 of file dominating-queens.cpp.

Friends And Related Function Documentation

int main ( int  argc,
char *  argv[] 
)
related

Main-function.

Definition at line 160 of file dominating-queens.cpp.

Member Data Documentation

const int DominatingQueens::n
protected

Size of the board.

Definition at line 60 of file dominating-queens.cpp.

IntVarArray DominatingQueens::b
protected

Fields on the board.

Definition at line 62 of file dominating-queens.cpp.

IntVar DominatingQueens::q
protected

Number of queens.

Definition at line 64 of file dominating-queens.cpp.


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