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_VARIABLE_Random_H
00025 #define _CSP_HEURISTICS_VARIABLE_Random_H
00026
00027
00028 CSP_NAMESPACE_BEGIN(csp);
00029 CSP_NAMESPACE_BEGIN(heuristics);
00030 CSP_NAMESPACE_BEGIN(variables);
00031
00032
00036 class CSP_API Random :
00037 public VariableOH
00038 {
00039 public:
00051 Random(
00052 Decomposition& decomposition,
00053 Randomizer& randomizer,
00054 const vector<pair<double, double> >& intervals,
00055 double quality = 1);
00056
00063 virtual void select(vlist_type& selectable, vlist_type& selected);
00064
00065 private:
00067 Random(const Random&);
00068
00070 Random& operator=(const Random&);
00071
00073 Randomizer& m_randomizer;
00074 };
00075
00076
00077 CSP_NAMESPACE_END(variables);
00078 CSP_NAMESPACE_END(heuristics);
00079 CSP_NAMESPACE_END(csp);
00080
00081
00082 #endif // _CSP_HEURISTICS_VARIABLE_Random_H
00083
00084
00085
00086