PerfectSquare Class Reference
[Scripts for problems]
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 rectangleSee problem 9 at http://www.csplib.org/.
Definition at line 189 of file perfect-square.cpp.
Member Enumeration Documentation
| anonymous enum |
Constructor & Destructor Documentation
| PerfectSquare::PerfectSquare | ( | const SizeOptions & | opt | ) | [inline] |
| PerfectSquare::PerfectSquare | ( | bool | share, | |
| PerfectSquare & | s | |||
| ) | [inline] |
Member Function Documentation
| virtual Space* PerfectSquare::copy | ( | bool | share | ) | [inline, virtual] |
| 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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
Initial value:
{
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] |
IntVarArray PerfectSquare::y [protected] |
The documentation for this class was generated from the following file:
- examples/perfect-square.cpp (Revision: 8649)
