00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CSP_HEURISTICS_CONSTRAINT_Random_H
00025 #define _CSP_HEURISTICS_CONSTRAINT_Random_H
00026
00027
00028 CSP_NAMESPACE_BEGIN(csp);
00029 CSP_NAMESPACE_BEGIN(heuristics);
00030 CSP_NAMESPACE_BEGIN(constraints);
00031
00032
00037 class CSP_API Random :
00038 public ConstraintOH
00039 {
00040 public:
00052 Random(
00053 Decomposition& decomposition,
00054 Randomizer& randomizer,
00055 const vector<pair<double, double> >& intervals,
00056 double quality = 1);
00057
00064 virtual void select(clist_type& selectable, clist_type& selected);
00065
00066 private:
00068 Random(const Random&);
00069
00071 Random& operator=(const Random&);
00072
00074 Randomizer& m_randomizer;
00075 };
00076
00077
00078 CSP_NAMESPACE_END(constraints);
00079 CSP_NAMESPACE_END(heuristics);
00080 CSP_NAMESPACE_END(csp);
00081
00082
00083 #endif // _CSP_HEURISTICS_CONSTRAINT_Random_H
00084
00085
00086
00087