public static void main(String[] args) { final Config config = ConfigUtils.loadConfig( args[0], new CadytsConfigGroup() ) ; final Scenario scenario = ScenarioUtils.loadScenario(config) ; // --- final Controler controler = new Controler( scenario ) ; controler.addOverridingModule(new CadytsCarModule()); // include cadyts into the plan scoring (this will add the cadyts corrections to the scores): controler.setScoringFunctionFactory(new ScoringFunctionFactory() { @Inject CadytsContext cadytsContext; @Inject ScoringParametersForPerson parameters; @Override public ScoringFunction createNewScoringFunction(Person person) { final ScoringParameters params = parameters.getScoringParameters(person); SumScoringFunction scoringFunctionAccumulator = new SumScoringFunction(); scoringFunctionAccumulator.addScoringFunction(new CharyparNagelLegScoring(params, controler.getScenario().getNetwork())); scoringFunctionAccumulator.addScoringFunction(new CharyparNagelActivityScoring(params)) ; scoringFunctionAccumulator.addScoringFunction(new CharyparNagelAgentStuckScoring(params)); final CadytsScoring<Link> scoringFunction = new CadytsScoring<>(person.getSelectedPlan(), config, cadytsContext); scoringFunction.setWeightOfCadytsCorrection(30. * config.planCalcScore().getBrainExpBeta()) ; scoringFunctionAccumulator.addScoringFunction(scoringFunction ); return scoringFunctionAccumulator; } }) ; controler.run() ; }
controler.setScoringFunctionFactory(scoringFunctionFactory);
public static void run(Scenario scenario) { DestinationChoiceContext dcContext = new DestinationChoiceContext(scenario); dcContext.init(); DCScoringFunctionFactory dcScoringFunctionFactory = new DCScoringFunctionFactory(scenario, dcContext); DestinationChoiceConfigGroup dccg = ConfigUtils.addOrGetModule( dcContext.getScenario().getConfig(), DestinationChoiceConfigGroup.class); if (dccg.getPrefsFile() == null && !scenario.getConfig().facilities().getInputFile().equals("null")) { dcScoringFunctionFactory.setUsingConfigParamsForScoring(false); } else { dcScoringFunctionFactory.setUsingConfigParamsForScoring(true); } Controler controler = new Controler(scenario); controler.addControlerListener(new DestinationChoiceInitializer(dcContext)); if (dccg.getRestraintFcnExp() > 0.0 && dccg.getRestraintFcnFactor() > 0.0) { controler.addControlerListener(new FacilitiesLoadCalculator(dcContext.getFacilityPenalties())); } controler.setScoringFunctionFactory(dcScoringFunctionFactory); controler.run(); }
controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setWriteEventsInterval(0); controler.setScoringFunctionFactory(new DummyScoringFunctionFactory());