final Scenario scenario) { log.warn( "initializing the \"CharyparNagel\" scoring function: this has no special parameters for joint modes!" ); this.params = new ScoringParameters.Builder(scenario.getConfig().planCalcScore(), scenario.getConfig().planCalcScore().getScoringParameters(null), scenario.getConfig().scenario()).build(); this.scenario = scenario; this.blackList = typesNotToScore;
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); }
builder.build());
@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; } }
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); }
public void setUsingIndividualScoringParameters(boolean val) { this.usingIndividualScoringParameters = val; if (!this.usingIndividualScoringParameters) { Config config = this.scenario.getConfig(); String subPopulationAttributeName = null; this.nonPersonalizedScoringParameters = new ScoringParameters.Builder(config.planCalcScore(), config.planCalcScore().getScoringParameters(subPopulationAttributeName), config.scenario()).build(); } }
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); }
public void init() { this.params = new ScoringParameters.Builder(scenario.getConfig().planCalcScore(), scenario.getConfig().planCalcScore().getScoringParameters(null), scenario.getConfig().scenario()).build(); this.dccg = ConfigUtils.addOrGetModule( this.scenario.getConfig(), DestinationChoiceConfigGroup.class ); ActivitiesHandler defineFlexibleActivities = new ActivitiesHandler(this.dccg); this.scaleEpsilon = defineFlexibleActivities.createScaleEpsilon(); this.actTypeConverter = defineFlexibleActivities.getConverter(); this.flexibleTypes = defineFlexibleActivities.getFlexibleTypes(); this.readOrCreateKVals(dccg.getRandomSeed()); this.readFacilitesAttributesAndBetas(); this.readPrefs(); log.info("dc context initialized"); }