Skip to content
Snippets Groups Projects
Commit 809ee00a authored by Johannes Mey's avatar Johannes Mey
Browse files

revert some timing changes, cleanup

parent 5424f837
No related branches found
No related tags found
No related merge requests found
......@@ -71,6 +71,9 @@ public abstract class ILPExternalSolver extends AbstractILPSolver {
}
protected double solve0(Root model, StopWatch watch, List<IlpVariable> variablesSetToOne) throws SolvingException {
long startOfWriteOutInMillis = watch.time(TimeUnit.MILLISECONDS);
// Create temporary files
try {
lp = Files.createTempFile("ilp", ".lp");
......@@ -81,12 +84,8 @@ public abstract class ILPExternalSolver extends AbstractILPSolver {
logger.info("Writing ILP to {}, solving now", lp.toAbsolutePath());
}
long startOfWriteOutInMillis = watch.time(TimeUnit.MILLISECONDS);
// write out lp file
IlpString output = model.getILP().printIlp();
try (BufferedWriter writer = Files.newBufferedWriter(
lp, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
writer.write(output.toString());
......@@ -96,7 +95,7 @@ public abstract class ILPExternalSolver extends AbstractILPSolver {
this.lastGeneration = watch.time(TimeUnit.MILLISECONDS);
long millisecondsNeededToWriteOut = watch.time(TimeUnit.MILLISECONDS) - startOfWriteOutInMillis;
long remainingTimeInMillis = this.timeoutUnit.toMillis(this.timeoutValue) - lastGeneration;
long remainingTimeForSolvingInMillis = Math.max(0, remainingTimeInMillis - millisecondsNeededToWriteOut);
long remainingTimeForSolvingInMillis = Math.max(0, remainingTimeInMillis - 2*millisecondsNeededToWriteOut);
// take twice the time to have buffer to write out solution afterwards
......
......@@ -3,13 +3,10 @@ package de.tudresden.inf.st.mquat.solving.ilp;
import de.tudresden.inf.st.mquat.jastadd.model.ILP;
import de.tudresden.inf.st.mquat.jastadd.model.IlpVariable;
import de.tudresden.inf.st.mquat.solving.SolvingException;
import org.apache.logging.log4j.LogManager;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
......@@ -23,6 +20,7 @@ public class SCIPSolver extends ILPExternalSolver {
* <li>1 minute timeout</li>
* <li>delete temporary files on exit.</li>
* </ul>
*
* @see SCIPSolver#setDeleteFilesOnExit(boolean)
*/
public SCIPSolver() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment