37 using namespace Gecode;
50 static const int x_n = 7;
52 static const int e_n = 20;
60 int eqs[e_n][x_n+1] = {
61 {876370, -16105, 62397, -6704, 43340, 95100, -68610, 58301},
62 {533909, 51637, 67761, 95951, 3834, -96722, 59190, 15280},
63 {915683, 1671, -34121, 10763, 80609, 42532, 93520, -33488},
64 {129768, 71202, -11119, 73017, -38875, -14413, -29234, 72370},
65 {752447, 8874, -58412, 73947, 17147, 62335, 16005, 8632},
66 {90614, 85268, 54180, -18810, -48219, 6013, 78169, -79785},
67 {1198280, -45086, 51830, -4578, 96120, 21231, 97919, 65651},
68 {18465, -64919, 80460, 90840, -59624, -75542, 25145, -47935},
69 {1503588, -43277, 43525, 92298, 58630, 92590, -9372, -60227},
70 {1244857, -16835, 47385, 97715, -12640, 69028, 76212, -81102},
71 {1410723, -60301, 31227, 93951, 73889, 81526, -72702, 68026},
72 {25334, 94016, -82071, 35961, 66597, -30705, -44404, -38304},
73 {277271, -67456, 84750, -51553, 21239, 81675, -99395, -4254},
74 {249912, -85698, 29958, 57308, 48789, -78219, 4657, 34539},
75 {373854, 85176, -95332, -1268, 57898, 15883, 50547, 83287},
76 {740061, -10343, 87758, -11782, 19346, 70072, -36991, 44529},
77 {146074, 49149, 52871, -7132, 56728, -33576, -49530, -62089},
78 {251591, -60113, 29475, 34421, -76870, 62646, 29278, -15212},
79 {22167, 87059, -29101, -5513, -21219, 22128, 7276, 57308},
80 {821228, -76706, 98205, 23445, 67921, 24111, -48614, -41906}
83 for (
int i = e_n;
i--; ) {
97 return new Eq20(*
this);
102 os <<
"\tx[] = " <<
x << std::endl;
116 Script::run<Eq20,DFS,Options>(
opt);
Node * x
Pointer to corresponding Boolean expression node.
Example: Solving 20 linear equations
virtual void print(std::ostream &os) const
Print solution.
int main(int argc, char *argv[])
Main-function.
Eq20(const Options &opt)
The actual problem.
Eq20(Eq20 &s)
Constructor for cloning s.
virtual Space * copy(void)
Perform copying during cloning.
void parse(int &argc, char *argv[])
Parse options from arguments argv (number is argc)
Parametric base-class for scripts.
Passing integer arguments.
void iterations(unsigned int i)
Set default number of iterations.
void solutions(unsigned int n)
Set default number of solutions to search for.
void linear(Home home, const FloatVarArgs &x, FloatRelType frt, FloatVal c)
Post propagator for .
IntValBranch INT_VAL_MIN(void)
Select smallest value.
IntVarBranch INT_VAR_NONE(void)
Select first unassigned variable.
Gecode::FloatVal c(-8, 8)
Gecode::IntArgs i({1, 2, 3, 4})