diff --git a/jastadd-mquat-solver-aco/src/main/java/ir/ac/ui/eng/ACOSolver.java b/jastadd-mquat-solver-aco/src/main/java/ir/ac/ui/eng/ACOSolver.java index 3df22f147fc9e64c198df6d8ca4201acdfb07da3..687bac3a16f37aeeed70ccfd15f7a8dd16fee3a9 100644 --- a/jastadd-mquat-solver-aco/src/main/java/ir/ac/ui/eng/ACOSolver.java +++ b/jastadd-mquat-solver-aco/src/main/java/ir/ac/ui/eng/ACOSolver.java @@ -22,8 +22,8 @@ import java.util.concurrent.TimeUnit; */ public class ACOSolver implements BenchmarkableSolver { - int population_size = 100000; - int iteration_size = 20; + int population_size = 5; + int iteration_size = 1; private static final Logger logger = LogManager.getLogger(ACOSolver.class); @@ -120,6 +120,11 @@ public class ACOSolver implements BenchmarkableSolver { for (int pop = 0; pop < population_size; pop++) { + if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) { + timedOut = true; + break; + } + logger.trace("pop: {}", pop); Solution currentSolution = new Solution(); currentSolution.setModel(model); @@ -197,6 +202,11 @@ public class ACOSolver implements BenchmarkableSolver { } for (int iteration = 0; iteration < iteration_size; iteration++) { + if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) { + timedOut = true; + break; + } + List<Ant> population = new ArrayList<>(); for (int i = 0; i < currentSolutions.size(); i++) { Ant ant = new Ant(i, currentSolutions.get(i), currentPossibleResources.get(i), currentEta.get(i), currentSort.get(i), numAssignments); @@ -227,11 +237,8 @@ public class ACOSolver implements BenchmarkableSolver { antSolution.computeObjective()); } } - ant = null; } }); - population = null; - System.gc(); } logger.info("Number of total software solutions: {}", numTotalSoftwareSolutions);