private static CharyparNagelLegScoring createScoring( final int seed, final Network network) { final Random random = new Random( seed ); final PlanCalcScoreConfigGroup conf = new PlanCalcScoreConfigGroup(); conf.setMarginalUtlOfWaitingPt_utils_hr( random.nextDouble() * 1000 ); conf.getModes().get(TransportMode.pt).setMonetaryDistanceRate(random.nextDouble() * 1000); conf.getModes().get(TransportMode.pt).setMarginalUtilityOfTraveling(random.nextDouble() * 1000); conf.setUtilityOfLineSwitch( random.nextDouble() * 1000 ); final ScenarioConfigGroup scenarioConfig = new ScenarioConfigGroup(); return new CharyparNagelLegScoring( new ScoringParameters.Builder(conf, conf.getScoringParameters(null), scenarioConfig).build(), network); }
private CharyparNagelLegScoring createDefaultPlusConstants(Network network) { final PlanCalcScoreConfigGroup conf = new PlanCalcScoreConfigGroup(); conf.getModes().get(TransportMode.car).setDailyUtilityConstant(-10000.); conf.getModes().get(TransportMode.car).setDailyMonetaryConstant(-2345.); conf.getModes().get(TransportMode.bike).setDailyUtilityConstant(-.078); conf.getModes().get(TransportMode.bike).setDailyMonetaryConstant(-0.6); final ScenarioConfigGroup scenarioConfig = new ScenarioConfigGroup(); return new CharyparNagelLegScoring( new ScoringParameters.Builder(conf, conf.getScoringParameters(null), scenarioConfig).build(), network); }
private static CharyparNagelLegScoring createScoringOnlyConstants(final Network network) { final PlanCalcScoreConfigGroup conf = new PlanCalcScoreConfigGroup(); conf.getModes().get(TransportMode.car).setMarginalUtilityOfTraveling(0.); conf.getModes().get(TransportMode.car).setDailyUtilityConstant(-10000.); conf.getModes().get(TransportMode.car).setDailyMonetaryConstant(-2345.); conf.getModes().get(TransportMode.bike).setMarginalUtilityOfTraveling(0.); conf.getModes().get(TransportMode.bike).setDailyUtilityConstant(-.078); conf.getModes().get(TransportMode.bike).setDailyMonetaryConstant(-0.6); final ScenarioConfigGroup scenarioConfig = new ScenarioConfigGroup(); return new CharyparNagelLegScoring( new ScoringParameters.Builder(conf, conf.getScoringParameters(null), scenarioConfig).build(), network); }
@Override public ScoringFunction createNewScoringFunction(Person person) { SumScoringFunction scoringFunctionAccumulator = new SumScoringFunction(); SumScoringFunction.BasicScoring scoringFunction; if (this.usingConfigParamsForScoring) { scoringFunction = new DCActivityWOFacilitiesScoringFunction(person, this.lcContext); scoringFunctionAccumulator.addScoringFunction(new CharyparNagelActivityScoring(this.lcContext.getParams())); // forgetting the previous line (which we did at some point) is not picked up by any test within the locationchoice contrib. kai, oct'14 } else { scoringFunction = new DCActivityScoringFunction(person.getSelectedPlan(), this.lcContext); } scoringFunctionAccumulator.addScoringFunction(scoringFunction); if (this.usingIndividualScoringParameters) { ScoringParameters scoringParameters = new ScoringParameters.Builder(this.scenario, person.getId()).build(); scoringFunctionAccumulator.addScoringFunction(new CharyparNagelLegScoring(scoringParameters, this.scenario.getNetwork())); scoringFunctionAccumulator.addScoringFunction(new CharyparNagelAgentStuckScoring(scoringParameters)); } else { scoringFunctionAccumulator.addScoringFunction(new CharyparNagelLegScoring(this.nonPersonalizedScoringParameters, this.scenario.getNetwork())); scoringFunctionAccumulator.addScoringFunction(new CharyparNagelAgentStuckScoring(this.nonPersonalizedScoringParameters)); } return scoringFunctionAccumulator; } }
@Override public ScoringFunction createNewScoringFunction(Person person) { final ScoringParameters parameters = params.getScoringParameters( person ); SumScoringFunction sumScoringFunction = new SumScoringFunction(); sumScoringFunction.addScoringFunction(new CharyparNagelActivityScoring(parameters, new FacilityOpeningIntervalCalculator(scenario.getActivityFacilities()))); sumScoringFunction.addScoringFunction(new CharyparNagelLegScoring(parameters, scenario.getNetwork())); sumScoringFunction.addScoringFunction(new CharyparNagelMoneyScoring(parameters)); sumScoringFunction.addScoringFunction(new CharyparNagelAgentStuckScoring(parameters)); return sumScoringFunction; }
sumScoringFunction.addScoringFunction(new CharyparNagelLegScoring( parameters , this.network)); sumScoringFunction.addScoringFunction(new CharyparNagelMoneyScoring( parameters )); sumScoringFunction.addScoringFunction(new CharyparNagelAgentStuckScoring( 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; } }) ;