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 (PerfectSquare &s) | |
Constructor for cloning s. | |
virtual Space * | copy (void) |
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 185 of file perfect-square.cpp.
Member Enumeration Documentation
anonymous enum |
Propagation to use for model.
Definition at line 193 of file perfect-square.cpp.
Constructor & Destructor Documentation
PerfectSquare::PerfectSquare | ( | const SizeOptions & | opt | ) | [inline] |
Actual model.
Definition at line 198 of file perfect-square.cpp.
PerfectSquare::PerfectSquare | ( | PerfectSquare & | s | ) | [inline] |
Constructor for cloning s.
Definition at line 273 of file perfect-square.cpp.
Member Function Documentation
virtual Space* PerfectSquare::copy | ( | void | ) | [inline, virtual] |
Copy during cloning.
Definition at line 279 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 284 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 57 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 61 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 65 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 69 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 73 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 77 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 81 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 85 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 89 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 93 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 97 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 101 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 105 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 109 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 113 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 117 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 121 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 125 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 129 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 133 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 137 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 141 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 145 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 149 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 153 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 157 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 161 of file perfect-square.cpp.
const int* specs[] [related] |
Definition at line 175 of file perfect-square.cpp.
Member Data Documentation
IntVarArray PerfectSquare::x [protected] |
Array of x-coordinates of squares.
Definition at line 188 of file perfect-square.cpp.
IntVarArray PerfectSquare::y [protected] |
Array of y-coordinates of squares.
Definition at line 190 of file perfect-square.cpp.
The documentation for this class was generated from the following file:
- examples/perfect-square.cpp