-
-
- }
-
-}
-
-long long MultiTuner::evaluate(Problem *problem, TunerRecord *tuner) {
- char buffer[512];
- {
- snprintf(buffer, sizeof(buffer), "problem%u", execnum);
-
- ofstream myfile;
- myfile.open (buffer, ios::out);
-
-
- if (myfile.is_open()) {
- myfile << problem->getProblem() << endl;
- myfile << problem->problemnumber << endl;
- myfile.close();
- }
- }
-
- {
- snprintf(buffer, sizeof(buffer), "tunernum%u", execnum);
-
- ofstream myfile;
- myfile.open (buffer, ios::out);
-
-
- if (myfile.is_open()) {
- myfile << tuner->tunernumber << endl;
- myfile.close();
- }
- }
-
- //Write out the tuner
- snprintf(buffer, sizeof(buffer), "tuner%u", execnum);
- tuner->getTuner()->serialize(buffer);
-
- //Do run
- snprintf(buffer, sizeof(buffer), "./run.sh deserializerun %s %u tuner%u result%u > log%u", problem->getProblem(), timeout, execnum, execnum, execnum);
- int status = system(buffer);
-
- long long metric = -1;
- int sat = IS_INDETER;
-
- if (status == 0) {
- //Read data in from results file
- snprintf(buffer, sizeof(buffer), "result%u", execnum);
-
- ifstream myfile;
- myfile.open (buffer, ios::in);
-
-
- if (myfile.is_open()) {
- myfile >> metric;
- myfile >> sat;
- myfile.close();