budget(_budget), result(UNSETVALUE) {
}
+AutoTuner::~AutoTuner() {}
+
void AutoTuner::addProblem(CSolver *solver) {
solvers.push(solver);
}
return newTuner;
}
-#ifdef STATICENCGEN
-SearchTuner *AutoTuner::mutateTuner(SearchTuner *oldTuner) {
- SearchTuner *newTuner = oldTuner->copyUsed();
- result = newTuner->nextStaticTuner();
- return result==EXIT_FAILURE? newTuner: NULL;
-}
-#endif
-
void AutoTuner::tune() {
SearchTuner *bestTuner = NULL;
double bestScore = DBL_MAX;
double base_temperature = evaluateAll(oldTuner);
double oldScore = base_temperature;
-#ifdef STATICENCGEN
- while(true){
- SearchTuner *newTuner = mutateTuner(oldTuner);
- if(newTuner == NULL)
- return;
- double newScore = evaluateAll(newTuner);
- newTuner->printUsed();
- model_print("Received score %f\n", newScore);
- delete oldTuner;
- oldScore = newScore;
- oldTuner = newTuner;
- }
-#endif
-
for (uint i = 0; i < budget; i++) {
SearchTuner *newTuner = mutateTuner(oldTuner, i);
double newScore = evaluateAll(newTuner);
}
model_print("Best tuner:\n");
bestTuner->print();
- bestTuner->serialize();
+ bestTuner->serialize("TUNER.conf");
model_print("Received score %f\n", bestScore);
if (bestTuner != NULL)
delete bestTuner;