e9c7b40d608258ede13ddfbca78270deb393c536
[satune.git] / src / Tuner / autotuner.h
1 #ifndef AUTOTUNER_H
2 #define AUTOTUNER_H
3 #include "classlist.h"
4 #include "structs.h"
5
6 #define AUTOTUNERFACTOR 0.3
7
8
9 class AutoTuner {
10 public:
11         AutoTuner(uint budget);
12         virtual ~AutoTuner();
13         void addProblem(CSolver *solver);
14         virtual void tune();
15         CMEMALLOC;
16 protected:
17         long long evaluate(CSolver *problem, SearchTuner *tuner);
18         double evaluateAll(SearchTuner *tuner);
19         SearchTuner *mutateTuner(SearchTuner *oldTuner, uint k);
20         Vector<CSolver *> solvers;
21         uint budget;
22         int result;
23 };
24 #endif