From f0b94113c454309a462f128d36f925885c467bb1 Mon Sep 17 00:00:00 2001 From: j-morag Date: Tue, 24 May 2022 17:11:07 +0300 Subject: [PATCH] make Experiment timeout per instance a constructor argument and public --- src/main/java/Environment/Experiment.java | 15 ++++++++------- .../RunManagers/RunManagerSimpleExample.java | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/Environment/Experiment.java b/src/main/java/Environment/Experiment.java index 45e15862..13605665 100644 --- a/src/main/java/Environment/Experiment.java +++ b/src/main/java/Environment/Experiment.java @@ -14,6 +14,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; /** * Experiment class lets the user to specify the instances it needs for the experiment. @@ -51,19 +52,19 @@ public class Experiment { */ public boolean proactiveGarbageCollection = true; public int sleepTimeAfterGarbageCollection = 100; + public int timeoutEach; public boolean sharedGoals = false; public boolean sharedSources = false; - public Experiment(String experimentName, InstanceManager instanceManager) { + public Experiment(String experimentName, InstanceManager instanceManager, Integer numOfInstances, Integer timeoutEach) { this.experimentName = experimentName; this.instanceManager = instanceManager; - this.numOfInstances = Integer.MAX_VALUE; + this.numOfInstances = Objects.requireNonNullElse(numOfInstances, Integer.MAX_VALUE); + this.timeoutEach = Objects.requireNonNullElse(timeoutEach, 5 * 60 * 1000); } - public Experiment(String experimentName, InstanceManager instanceManager, int numOfInstances) { - this.experimentName = experimentName; - this.instanceManager = instanceManager; - this.numOfInstances = numOfInstances; + public Experiment(String experimentName, InstanceManager instanceManager) { + this(experimentName, instanceManager, null, null); } @@ -168,7 +169,7 @@ protected boolean runInstanceOnSolver(I_Solver solver, Map minN instanceReport.putIntegerValue(InstanceReport.StandardFields.skipped, 0); } - RunParameters runParameters = new RunParameters(5 * 60 * 1000, null, instanceReport, null); + RunParameters runParameters = new RunParameters(timeoutEach, null, instanceReport, null); String instanceName = instance.extendedName; int numAgents = instance.agents.size(); diff --git a/src/main/java/Environment/RunManagers/RunManagerSimpleExample.java b/src/main/java/Environment/RunManagers/RunManagerSimpleExample.java index 11ee621b..c50e26a8 100644 --- a/src/main/java/Environment/RunManagers/RunManagerSimpleExample.java +++ b/src/main/java/Environment/RunManagers/RunManagerSimpleExample.java @@ -44,7 +44,7 @@ private void addExperiment_16_7(){ InstanceManager instanceManager = new InstanceManager(path, new InstanceBuilder_BGU(),properties); /* = Add new experiment = */ - Experiment gridExperiment = new Experiment("Experiment_16_7", instanceManager,numOfInstances); + Experiment gridExperiment = new Experiment("Experiment_16_7", instanceManager,numOfInstances, 60 * 1000); this.experiments.add(gridExperiment); }