class TunerRecord {
public:
TunerRecord(SearchTuner *_tuner) : tuner(_tuner), tunernumber(-1) {}
+ TunerRecord(SearchTuner *_tuner, int _tunernumber) : tuner(_tuner), tunernumber(_tunernumber) {}
SearchTuner *getTuner() {return tuner;}
TunerRecord *changeTuner(SearchTuner *_newtuner);
void updateTuner(SearchTuner *_newtuner) {tuner = _newtuner;}
void tuneK();
void tuneComp();
void printData();
+ void findBestThreeTuners();
CMEMALLOC;
protected:
long long evaluate(Problem *problem, TunerRecord *tuner);
void mapProblemsToTuners(Vector<TunerRecord *> *tunerV);
void improveTuners(Vector<TunerRecord *> *tunerV);
TunerRecord *tune(TunerRecord *tuner);
-
Vector<TunerRecord *> allTuners;
Vector<Problem *> problems;
Vector<TunerRecord *> tuners;
uint timeout;
int execnum;
};
+
+inline long long min(long long num1, long long num2, long long num3) {
+ return num1 < num2 && num1 < num3 ? num1 :
+ num2 < num3 ? num2 : num3;
+}
+
#endif