cf42d9fd07b5843f319050aac3af36433d269881
[satune.git] / src / Tuner / multituner.h
1 #ifndef MULTITUNER_H
2 #define MULTITUNER_H
3 #include "classlist.h"
4 #include "structs.h"
5 #include "basictuner.h"
6
7
8 class MultiTuner : public BasicTuner {
9 public:
10         MultiTuner(uint budget, uint rounds, uint timeout);
11         void readData(uint numRuns);
12         void tuneK();
13         void tune();
14         void findBestThreeTuners();
15 protected:
16         double evaluateAll(TunerRecord *tuner);
17         void mapProblemsToTuners(Vector<TunerRecord *> *tunerV);
18         void improveTuners(Vector<TunerRecord *> *tunerV);
19         TunerRecord *tune(TunerRecord *tuner);
20         uint rounds;
21 };
22
23 inline long long min(long long num1, long long num2, long long num3) {
24         return num1 < num2 && num1 < num3 ? num1 :
25                                  num2 < num3 ? num2 : num3;
26 }
27
28 #endif