/** * Parses the files which are added to this parser. In case * {@link #filter(GendreauProblemClass...)} has been called, only files in one * of these problem classes will be parsed. * @return A list of scenarios in order of adding them to the parser. */ public ImmutableList<Gendreau06Scenario> parse() { final ImmutableList.Builder<Gendreau06Scenario> scenarios = ImmutableList .builder(); for (final Entry<String, ParcelsSupplier> entry : parcelsSuppliers.build() .entrySet()) { boolean include = false; if (!problemClasses.isPresent()) { include = true; } else { for (final ProblemClass pc : problemClasses.get()) { if (entry.getKey().endsWith(pc.getId())) { include = true; break; } } } if (include) { scenarios.add( parse(entry.getValue(), entry.getKey(), numVehicles, numParcels, tickSize, allowDiversion, online, realtime)); } } return scenarios.build(); }
/** * @return A very compact string representation. */ public String toShortString() { return new StringBuilder(getScenario().getProblemClass().getId()) .append(DASH) .append(getScenario().getProblemInstanceId()) .append(DASH) .append(getMasConfig().getName()) .append("-s") .append(getRandomSeed()) .append(DASH) .append("r") .append(getRepetition()) .toString(); }
/** * @return A very compact string representation. */ public String toShortString() { return new StringBuilder(getScenario().getProblemClass().getId()) .append(DASH) .append(getScenario().getProblemInstanceId()) .append(DASH) .append(getMasConfig().getName()) .append("-s") .append(getRandomSeed()) .append(DASH) .append("r") .append(getRepetition()) .toString(); }
@Override public int compareTo(@Nullable SimulationResult o) { assert o != null; return ComparisonChain.start() .compare(getSimArgs().getScenario().getProblemClass().getId(), o.getSimArgs().getScenario().getProblemClass().getId()) .compare(getSimArgs().getScenario().getProblemInstanceId(), o.getSimArgs().getScenario().getProblemInstanceId()) .result(); }
/** * Tests for {@link SimpleProblemClass}. */ @Test public void testSimpleProblemClass() { final ProblemClass pc = SimpleProblemClass.create("hello world"); assertEquals("hello world", pc.getId()); assertTrue(pc.toString().contains("hello world")); }
@Override public int compareTo(@Nullable SimulationResult o) { assert o != null; return ComparisonChain.start() .compare(getSimArgs().getScenario().getProblemClass().getId(), o.getSimArgs().getScenario().getProblemClass().getId()) .compare(getSimArgs().getScenario().getProblemInstanceId(), o.getSimArgs().getScenario().getProblemInstanceId()) .result(); }