Ejemplo n.º 1
0
    @Override
    public void run() {
      // gather data from provider
      final DataProvider dataProvider = getDataProvider();
      checkNotNull(
          dataProvider,
          "Probable problem: your MASConfiguration/ObjectiveFunction/"
              + "PostProcessor is not fully serializable.");

      final Supplier<Scenario> scenario = getDataProvider().getParameter(scenarioId);
      final MASConfiguration configuration = getDataProvider().getParameter(configurationId);
      final ObjectiveFunction objectiveFunction =
          getDataProvider().getParameter(objectiveFunctionId);
      final PostProcessor<?> postProcessor = getDataProvider().getParameter(postProcessorId);

      final Scenario s = scenario.get();
      final SimArgs simArgs =
          SimArgs.create(s, configuration, seed, objectiveFunction, false, postProcessor, null);
      final Object simResult = Experiment.perform(simArgs);

      checkArgument(
          simResult instanceof Serializable,
          "Your PostProcessor must generate Serializable objects, found %s.",
          simResult);

      setResult(simResult);
    }