snprintf(buffer, sizeof(buffer), "result%u", i);
myfile.open (buffer, ios::in);
-
+
if (myfile.is_open()) {
myfile >> metric;
model_print("*****************************\n");
if (metric != -1)
tuner->setTime(problem, metric);
+ else
+ tuner->setTime(problem, -2);
}
- if (metric != -1) {
+ if (metric >= 0) {
uint k = 0;
for (; k < places.getSize(); k++) {
if (metric < places.get(k)->getTime(problem))
metric = evaluate(problem, tuner);
if (metric != -1)
tuner->setTime(problem, metric);
+ else
+ tuner->setTime(problem, -2);
}
- if ((bestTuner == NULL && metric != -1) ||
- (metric < bestscore && metric != -1)) {
+ if ((bestTuner == NULL && metric >= 0) ||
+ (metric < bestscore && metric >= 0)) {
bestTuner = tuner;
bestscore = metric;
}
metric = evaluate(problem, tuner);
if (metric != -1)
tuner->setTime(problem, metric);
+ else
+ tuner->setTime(problem, -2);
}
double score = metric;
+ if (metric < 0)
+ score = timeout;
product *= score;
}
return pow(product, 1 / ((double)tuner->problems.getSize()));
StaticSearchTuner *StaticAutoTuner::mutateTuner(StaticSearchTuner *oldTuner) {
StaticSearchTuner *newTuner = oldTuner->copyUsed();
result = newTuner->nextStaticTuner();
- if( result == EXIT_FAILURE) {
+ if ( result == EXIT_FAILURE) {
return newTuner;
- }else {
+ } else {
delete newTuner;
return NULL;
}
evaluateAll(oldTuner);
while (true) {
StaticSearchTuner *newTuner = mutateTuner(oldTuner);
- if (newTuner == NULL){
+ if (newTuner == NULL) {
break;
}
double newScore = evaluateAll(newTuner);