@Override public ScoringFunction createNewScoringFunction(Person person) { ScoringFunctionAccumulator scoringFunctionAccumulator = new ScoringFunctionAccumulator(); // scoringFunctionAccumulator.addScoringFunction(new ActivityScoringFunction(plan, // super.getParams())); scoringFunctionAccumulator.addScoringFunction( new ActivityScoringFunction( person.getSelectedPlan(), CharyparNagelScoringParameters.getBuilder(config.planCalcScore(), config.scenario()) .create(), this.facilityPenalties, this.facilities, this.config)); scoringFunctionAccumulator.addScoringFunction( new LegScoringFunction( person.getSelectedPlan(), CharyparNagelScoringParameters.getBuilder(config.planCalcScore(), config.scenario()) .create(), config, this.network, this.ktiConfigGroup)); scoringFunctionAccumulator.addScoringFunction( new org.matsim.core.scoring.functions.CharyparNagelMoneyScoring( CharyparNagelScoringParameters.getBuilder(config.planCalcScore(), config.scenario()) .create())); scoringFunctionAccumulator.addScoringFunction( new org.matsim.core.scoring.functions.CharyparNagelAgentStuckScoring( CharyparNagelScoringParameters.getBuilder(config.planCalcScore(), config.scenario()) .create())); return scoringFunctionAccumulator; }
@Override public ScoringFunction createNewScoringFunction(Person person) { PlanCalcScoreConfigGroup configGroup = controler.getConfig().planCalcScore(); CharyparNagelScoringParameters params = new CharyparNagelScoringParameters.Builder( configGroup, configGroup.getScoringParameters(null), controler.getConfig().scenario()) .build(); Network network = controler.getScenario().getNetwork(); ScoringFunctionAccumulator accumulator = new ScoringFunctionAccumulator(); accumulator.addScoringFunction(new CharyparNagelActivityScoring(params)); accumulator.addScoringFunction(new CharyparNagelLegScoring(params, network)); accumulator.addScoringFunction(new CharyparNagelAgentStuckScoring(params)); accumulator.addScoringFunction(this.scoringFromEmissions); return accumulator; }