PerfectSquare Class Reference
[Example scripts (models)]
Example: Packing squares into a rectangle More...
Public Types | |
enum | { PROP_REIFIED, PROP_CUMULATIVES } |
Propagation to use for model. More... | |
Public Member Functions | |
PerfectSquare (const SizeOptions &opt) | |
Actual model. | |
PerfectSquare (bool share, PerfectSquare &s) | |
Constructor for cloning s. | |
virtual Space * | copy (bool share) |
Copy during cloning. | |
virtual void | print (std::ostream &os) const |
Print solution. | |
Protected Attributes | |
IntVarArray | x |
Array of x-coordinates of squares. | |
IntVarArray | y |
Array of y-coordinates of squares. | |
Specifications for perfect square problems | |
The first element is the number of squares to be placed, the second the size of the master square, and the remaining the sizes of the squares to be packed. The data is taken from: C. J. Bouwkamp and A. J. W. Duijvestijn, Catalogue of Simple Perfect Squared Squares of Orders 21 Through 25, Eindhoven Univ. Technology, Dept. of Math., Report 92-WSK-03, Nov. 1992. | |
const int | s00 [] |
const int | s01 [] |
const int | s02 [] |
const int | s03 [] |
const int | s04 [] |
const int | s05 [] |
const int | s06 [] |
const int | s07 [] |
const int | s08 [] |
const int | s09 [] |
const int | s10 [] |
const int | s11 [] |
const int | s12 [] |
const int | s13 [] |
const int | s14 [] |
const int | s15 [] |
const int | s16 [] |
const int | s17 [] |
const int | s18 [] |
const int | s19 [] |
const int | s20 [] |
const int | s21 [] |
const int | s22 [] |
const int | s23 [] |
const int | s24 [] |
const int | s25 [] |
const int | s26 [] |
const int * | specs [] |
const unsigned int | n_specs = sizeof(specs) / sizeof(int*) |
Detailed Description
Example: Packing squares into a rectangle
See problem 9 at http://www.csplib.org/.
Definition at line 189 of file perfect-square.cpp.
Member Enumeration Documentation
anonymous enum |
Propagation to use for model.
Definition at line 197 of file perfect-square.cpp.
Constructor & Destructor Documentation
PerfectSquare::PerfectSquare | ( | const SizeOptions & | opt | ) | [inline] |
Actual model.
Definition at line 202 of file perfect-square.cpp.
PerfectSquare::PerfectSquare | ( | bool | share, | |
PerfectSquare & | s | |||
) | [inline] |
Constructor for cloning s.
Definition at line 276 of file perfect-square.cpp.
Member Function Documentation
virtual Space* PerfectSquare::copy | ( | bool | share | ) | [inline, virtual] |
Copy during cloning.
Definition at line 282 of file perfect-square.cpp.
virtual void PerfectSquare::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
Definition at line 287 of file perfect-square.cpp.
Friends And Related Function Documentation
const int s00[] [related] |
{ 21, 112, 50,42,37,35,33,29,27,25,24,19,18,17,16,15,11,9,8,7,6,4,2 }
Definition at line 61 of file perfect-square.cpp.
const int s01[] [related] |
{ 22, 110, 60,50,28,27,26,24,23,22,21,18,17,16,15,14,13,12,8,7,6,4,3,2 }
Definition at line 65 of file perfect-square.cpp.
const int s02[] [related] |
{ 22, 192, 86,71,62,59,57,49,47,41,37,36,35,31,28,26,19,17,14,12,10,9,8,4 }
Definition at line 69 of file perfect-square.cpp.
const int s03[] [related] |
{ 23, 110, 44,41,38,37,32,31,29,28,21,19,16,15,14,13,12,10,8,7,5,4,3,2,1 }
Definition at line 73 of file perfect-square.cpp.
const int s04[] [related] |
{ 23, 332, 129,123,120,112,91,89,83,68,58,56,53,50,49,48,47,38,31,30,26,24,17,15,1 }
Definition at line 77 of file perfect-square.cpp.
const int s05[] [related] |
{ 24, 120, 47,46,41,40,34,33,32,25,23,20,19,17,16,15,14,13,12,10,9,8,6,5,4,3 }
Definition at line 81 of file perfect-square.cpp.
const int s06[] [related] |
{ 24, 479, 175,174,164,160,155,150,140,130,86,77,68,60,52,44,43,35,29,28,26,24,23,17,6,5 }
Definition at line 85 of file perfect-square.cpp.
const int s07[] [related] |
{ 25, 147, 74,73,41,40,34,33,32,27,25,23,20,19,17,16,15,14,13,12,10,9,8,6,5,4,3 }
Definition at line 89 of file perfect-square.cpp.
const int s08[] [related] |
{ 25, 661, 262,248,238,210,203,196,175,161,111,106,102,84,83,77,73,64,41,38,36,31,23,18,17,7,5 }
Definition at line 93 of file perfect-square.cpp.
const int s09[] [related] |
{ 26, 212, 99,85,65,62,57,56,55,48,39,38,32,28,26,24,23,20,19,17,16,12,7,6,5,4,2,1 }
Definition at line 97 of file perfect-square.cpp.
const int s10[] [related] |
{ 26, 214, 86,72,67,64,61,56,55,44,43,39,36,35,34,32,30,29,27,26,23,20,19,10,9,8,6,5 }
Definition at line 101 of file perfect-square.cpp.
const int s11[] [related] |
{ 26, 825, 304,302,288,277,246,235,233,189,157,135,127,117,109,92,90,83,81,76,57,53,49,37,26,25,8,5 }
Definition at line 105 of file perfect-square.cpp.
const int s12[] [related] |
{ 27, 180, 89,56,51,50,48,43,41,40,39,36,34,31,29,25,23,21,19,16,15,13,12,10,9,7,6,4,1 }
Definition at line 109 of file perfect-square.cpp.
const int s13[] [related] |
{ 27, 1179, 484,440,387,379,360,352,316,308,198,194,168,149,145,119,114,108,82,80,69,66,63,50,42,35,29,24,18 }
Definition at line 113 of file perfect-square.cpp.
const int s14[] [related] |
{ 28, 201, 77,70,68,67,64,56,54,39,38,36,34,32,30,24,22,21,18,17,16,13,12,11,10,6,4,3,2,1 }
Definition at line 117 of file perfect-square.cpp.
const int s15[] [related] |
{ 28, 1544, 649,615,510,473,456,439,419,385,260,216,214,208,203,175,147,135,125,116,104,94,81,55,49,17,12,7,6,4 }
Definition at line 121 of file perfect-square.cpp.
const int s16[] [related] |
{ 29, 255, 112,107,84,75,68,64,59,51,49,43,37,36,31,29,28,27,26,25,24,22,17,15,13,11,8,7,6,2,1 }
Definition at line 125 of file perfect-square.cpp.
const int s17[] [related] |
{ 29, 2134, 855,769,761,717,648,604,562,518,338,293,292,286,265,226,224,204,186,179,174,165,161,109,100,91,69,45,43,17,9 }
Definition at line 129 of file perfect-square.cpp.
const int s18[] [related] |
{ 30, 237, 88,82,79,76,73,56,53,46,45,43,40,39,36,34,33,32,29,27,25,24,23,21,20,16,11,10,9,5,3,1 }
Definition at line 133 of file perfect-square.cpp.
const int s19[] [related] |
{ 30, 2710, 992,981,948,936,826,782,781,737,465,440,418,289,272,264,260,242,227,210,208,154,140,124,122,108,92,64,29,16,15,4 }
Definition at line 137 of file perfect-square.cpp.
const int s20[] [related] |
{ 40, 510, 219,173,156,135,134,128,124,118,114,95,81,79,71,65,63,59,58,55,54,51,49,46,34,33,32,31,28,24,21,20,19,18,17,16,14,10,8,4,3,1 }
Definition at line 141 of file perfect-square.cpp.
const int s21[] [related] |
{ 40, 1121, 409,408,396,345,317,316,242,238,221,198,166,159,157,143,130,123,120,117,109,102,101,93,87,79,76,67,64,55,53,49,46,44,39,33,21,19,14,13,5,3 }
Definition at line 145 of file perfect-square.cpp.
const int s22[] [related] |
{ 50, 788, 301,300,246,242,187,182,177,168,145,139,135,128,114,110,103,93,87,84,82,81,79,73,69,63,58,57,52,51,49,47,41,40,34,33,26,23,22,21,20,19,18,15,13,11,10,9,8,7,4,2 }
Definition at line 149 of file perfect-square.cpp.
const int s23[] [related] |
{ 50, 1034, 588,446,305,283,175,163,160,138,132,130,128,124,120,116,110,107,106,103,101,100,94,86,85,82,80,77,74,64,63,62,61,60,57,54,47,46,45,43,40,39,32,30,28,27,26,25,22,7,6,1 }
Definition at line 153 of file perfect-square.cpp.
const int s24[] [related] |
{ 60, 1097, 645,452,268,264,204,188,184,176,172,165,161,143,132,127,116,114,108,104,100,94,92,90,88,84,75,74,72,71,69,68,67,64,62,61,56,51,46,36,34,30,29,28,26,25,21,20,19,18,17,16,15,14,12,10,9,7,5,4,2,1 }
Definition at line 157 of file perfect-square.cpp.
const int s25[] [related] |
{ 60, 1192, 638,554,335,303,285,271,219,180,174,159,149,148,136,125,110,98,94,85,77,76,75,74,72,71,69,65,63,62,61,60,59,57,55,51,50,49,48,47,46,45,44,43,40,39,37,35,32,31,25,16,15,14,12,10,9,8,6,4,2,1 }
Definition at line 161 of file perfect-square.cpp.
const int s26[] [related] |
{ 75, 1412, 793,619,473,320,287,207,188,181,179,170,167,153,151,149,142,140,132,127,121,117,116,106,105,103,97,93,92,91,90,87,84,83,82,76,74,73,72,71,70,69,67,66,65,64,63,61,54,53,49,45,39,38,35,34,33,32,30,29,28,27,26,24,21,20,19,18,15,14,13,11,10,9,6,5,3 }
Definition at line 165 of file perfect-square.cpp.
const int* specs[] [related] |
Definition at line 179 of file perfect-square.cpp.
Member Data Documentation
IntVarArray PerfectSquare::x [protected] |
Array of x-coordinates of squares.
Definition at line 192 of file perfect-square.cpp.
IntVarArray PerfectSquare::y [protected] |
Array of y-coordinates of squares.
Definition at line 194 of file perfect-square.cpp.
The documentation for this class was generated from the following file:
- examples/perfect-square.cpp (Revision: 12188)