From 7af280bf27c5f990715ae0183a46a60ebac07b06 Mon Sep 17 00:00:00 2001 From: Hamed Gorjiara Date: Thu, 21 Mar 2019 13:01:53 -0700 Subject: [PATCH] Bug Fix: when a tuner cannot solve any problems ... --- src/Tuner/basictuner.cc | 1 + src/Tuner/satuner.cc | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Tuner/basictuner.cc b/src/Tuner/basictuner.cc index 889b543..a2d93bf 100644 --- a/src/Tuner/basictuner.cc +++ b/src/Tuner/basictuner.cc @@ -160,6 +160,7 @@ long long BasicTuner::evaluate(Problem *problem, TunerRecord *tuner) { //Do run snprintf(buffer, sizeof(buffer), "./run.sh deserializerun %s %u tuner%u result%u > log%u", problem->getProblem(), maxtime, execnum, execnum, execnum); + model_print("Running: %s\n", buffer); int status = system(buffer); long long metric = -1; diff --git a/src/Tuner/satuner.cc b/src/Tuner/satuner.cc index 61c9c35..0c405ae 100644 --- a/src/Tuner/satuner.cc +++ b/src/Tuner/satuner.cc @@ -153,10 +153,19 @@ void SATuner::tune() { TunerRecord *tuner2 = tunerV->get(tunerNumber + i); ASSERT( tunerNumber + i < tunerV->getSize()); model_print("Tuner1 = %d \tTuner2 = %d\n", tuner1->getTunerNumber(), tuner2->getTunerNumber()); - ASSERT(scores.contains(tuner1)); - ASSERT(scores.contains(tuner2)); - int score1 = scores.get(tuner1); - int score2 = scores.get(tuner2); + + int score1, score2; + if(!scores.contains(tuner1)){ + score1 = 0; + }else { + score1 = scores.get(tuner1); + } + if(!scores.contains(tuner2)){ + score2=0; + }else { + score2= scores.get(tuner2); + } + if( score2 > score1 ){ removeTunerIndex(tunerV, i, allplaces); } else if( score2 < score1){ -- 2.34.1