/** * @return A unmodifiable {@link List} containing the results sorted by its * comparator. */ public List<SimulationResult> sortedResults() { final List<SimulationResult> list = newArrayList(getResults()); Collections.sort(list); return Collections.unmodifiableList(list); }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof ExperimentResults) { ExperimentResults that = (ExperimentResults) o; return (this.configurations.equals(that.getConfigurations())) && (this.scenarios.equals(that.getScenarios())) && (this.showGui == that.isShowGui()) && (this.repetitions == that.getRepetitions()) && (this.masterSeed == that.getMasterSeed()) && (this.results.equals(that.getResults())); } return false; }
"===================== RinSim Experiment finished dry run ===============" + "======"); return ExperimentResults.create(builder, ImmutableSet.<Experiment.SimulationResult>of());
@Test public void testCustomPostProcessor() { TestUtil.testEnum(Experiment.Computers.class); final Scenario scenario = ScenarioTestUtil.createRandomScenario(123L, StatsTracker.builder()); final Experiment.Builder builder = Experiment.builder() .addScenario(scenario) .addConfiguration(ExperimentTestUtil.testConfig("test")) .usePostProcessor(ExperimentTestUtil.testPostProcessor()) .addResultListener(new CommandLineProgress(System.out)) .withRandomSeed(123); final ExperimentResults er = builder.perform(); assertEquals(123, er.getMasterSeed()); assertEquals(123, er.getResults().asList().get(0).getSimArgs().getRandomSeed()); @SuppressWarnings("unchecked") final List<Point> positions = (List<Point>) er.getResults().asList().get(0).getResultObject(); assertEquals(10, positions.size()); }
/** * @return A unmodifiable {@link List} containing the results sorted by its * comparator. */ public List<SimulationResult> sortedResults() { final List<SimulationResult> list = newArrayList(getResults()); Collections.sort(list); return Collections.unmodifiableList(list); }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof ExperimentResults) { ExperimentResults that = (ExperimentResults) o; return (this.configurations.equals(that.getConfigurations())) && (this.scenarios.equals(that.getScenarios())) && (this.showGui == that.isShowGui()) && (this.repetitions == that.getRepetitions()) && (this.masterSeed == that.getMasterSeed()) && (this.results.equals(that.getResults())); } return false; }
"===================== RinSim Experiment finished dry run ===============" + "======"); return ExperimentResults.create(builder, ImmutableSet.<Experiment.SimulationResult>of());
@Test public void testRetryPostProcessor() { final Experiment.Builder builder = Experiment.builder() .addScenario(scenario) .computeDistributed() .addConfiguration(ExperimentTestUtil.testConfig("test")) .usePostProcessor(ExperimentTestUtil.retryOncePostProcessor()) .repeat(3) .withRandomSeed(123); final ExperimentResults er = builder.perform(); for (int i = 0; i < er.getResults().size(); i++) { assertThat(er.getResults().asList().get(0).getResultObject()) .isEqualTo("SUCCESS"); } }
/** * Tests default processor. */ @Test public void testDefaultPostProcessor() { final Scenario scenario = ScenarioTestUtil.createRandomScenario(123L, StatsTracker.builder()); final Experiment.Builder builder = Experiment .builder() .addScenario(scenario) .addConfiguration(ExperimentTestUtil.testConfig("test")) .withRandomSeed(123); final ExperimentResults er = builder.perform(); assertThat(er.getResults().asList().get(0).getResultObject()) .isInstanceOf(String.class); assertThat(er.getResults().asList().get(0).getResultObject()) .isEqualTo("simulation duration: 10801000"); }
/** * Tests whether the SolverConfigurator works. */ @Test public void testConfigurator() { final Gendreau06Scenario scenario = Gendreau06Parser.parse( new File(ScenarioPaths.GENDREAU)); final StochasticSupplier<Solver> s = new StochasticSupplier<Solver>() { @Override public Solver get(long seed) { return SolverValidator.wrap(new MultiVehicleSolverAdapter( ArraysSolverValidator.wrap(new RandomMVArraysSolver( new MersenneTwister(seed))), SI.MILLI(SI.SECOND))); } }; final Experiment.Builder builder = Experiment.builder() .addScenario(scenario) .addConfiguration(Central.solverConfiguration(s)) .withRandomSeed(123); final ExperimentResults res1 = builder.perform(); final ExperimentResults res2 = builder.perform(); assertEquals(res1.getResults(), res2.getResults()); }
ExperimentResults.create(builder, res.buildResults()); for (final ResultListener l : listeners) { l.doneComputing(results);
final List<SimulationResult> results = new ArrayList<>(er.getResults());
ExperimentResults.create(builder, res.buildResults()); for (final ResultListener l : listeners) { l.doneComputing(results);
for (final SimulationResult sr : results.get().getResults()) {
for (final SimulationResult sr : results.get().getResults()) {
final List<SimulationResult> results = new ArrayList<>(er.getResults());
/** * Checks determinism of a local experiment and a JPPF experiment, both with * identical settings. Using a Gendreau scenario. */ @SuppressWarnings("unchecked") @Test public void determinismLocalVsJppf() { final Experiment.Builder experimentBuilder = Experiment.builder() .computeDistributed() .addScenario(scenario) .withRandomSeed(123) .repeat(1) .usePostProcessor(ExperimentTestUtil.testPostProcessor()) .addConfiguration(ExperimentTestUtil.testConfig("A")); final ExperimentResults results3 = experimentBuilder.perform(); experimentBuilder.computeLocal(); final ExperimentResults results4 = experimentBuilder.perform(); assertEquals(results3, results4); assertThat(results3.getResults().asList().get(0).getResultObject()) .isInstanceOf(ImmutableList.class); assertThat( (List<Point>) results3.getResults().asList().get(0).getResultObject()) .hasSize(10); }
@Test public void composite() { final Experiment.Builder builder = Experiment.builder() .addScenario(scenario) .computeDistributed() .setCompositeTaskSize(2) .addConfiguration(ExperimentTestUtil.testConfig("test")) .usePostProcessor(ExperimentTestUtil.testPostProcessor()) .repeat(3) .withRandomSeed(123); final ExperimentResults er = builder.perform(); assertThat(er.getResults()).hasSize(3); }