@Override public TravelDisutility createTravelDisutility(TravelTime timeCalculator) { if ( this.sigma != 0. ) { if ( previousTravelDisutilityFactory instanceof RandomizingTimeDistanceTravelDisutilityFactory) { ((RandomizingTimeDistanceTravelDisutilityFactory) previousTravelDisutilityFactory).setSigma( this.sigma ); } else { throw new RuntimeException("cannot use sigma!=null together with provided travel disutility factory"); } } return new TravelDisutilityIncludingToll( previousTravelDisutilityFactory.createTravelDisutility(timeCalculator), this.scheme, this.marginalUtilityOfMoney, this.sigma ); }
public static TravelDisutilityFactory createDefaultTravelDisutilityFactory(Scenario scenario) { final RandomizingTimeDistanceTravelDisutilityFactory builder = new RandomizingTimeDistanceTravelDisutilityFactory( TransportMode.car, scenario.getConfig().planCalcScore() ); builder.setSigma(0.); // tendency to set this to 3. right away (i.e. through PlansCalcRouteConfigGroup default). kai/bk, mar'15 return builder; }
TollTimeDistanceTravelDisutility(final TravelTime timeCalculator, PlanCalcScoreConfigGroup cnScoringGroup, double sigma, DecongestionInfo info) { this.info = info; this.marginalUtilityOfMoney = cnScoringGroup.getMarginalUtilityOfMoney(); this.sigma = sigma; final RandomizingTimeDistanceTravelDisutilityFactory builder = new RandomizingTimeDistanceTravelDisutilityFactory( TransportMode.car, cnScoringGroup ); builder.setSigma(sigma); this.delegate = builder.createTravelDisutility(timeCalculator); this.timeBinSize = info.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize(); log.info("Using the toll-adjusted travel disutility (improved version) in the decongestion package."); }
@Override public final TravelDisutility createTravelDisutility(TravelTime timeCalculator) { randomizedTimeDistanceTravelDisutilityFactory.setSigma(sigma); return new NoiseTollTimeDistanceTravelDisutility( randomizedTimeDistanceTravelDisutilityFactory.createTravelDisutility(timeCalculator), this.noiseContext, this.noiseContext.getScenario().getConfig().planCalcScore().getMarginalUtilityOfMoney(), this.sigma ); }
disutilityFactory.setSigma(0.1);