public TimeDiscretizer(TravelTimeCalculatorConfigGroup ttcConfig) { this(ttcConfig.getMaxTime(), ttcConfig.getTraveltimeBinSize(), Type.OPEN_ENDED); }
public TravelTimeCalculator(final Network network, TravelTimeCalculatorConfigGroup ttconfigGroup) { this(network, ttconfigGroup.getTraveltimeBinSize(), ttconfigGroup.getMaxTime(), ttconfigGroup); }
public DvrpOfflineTravelTimeEstimator(TravelTime initialTT, TravelTime observedTT, Network network, TravelTimeCalculatorConfigGroup ttCalcConfig, double travelTimeEstimationAlpha) { this.observedTT = observedTT; this.network = network; alpha = travelTimeEstimationAlpha; if (alpha > 1 || alpha <= 0) { throw new IllegalArgumentException("travelTimeEstimationAlpha must be in (0,1]"); } interval = ttCalcConfig.getTraveltimeBinSize(); intervalCount = TimeBinUtils.getTimeBinCount(ttCalcConfig.getMaxTime(), interval); linkTTs = Maps.newHashMapWithExpectedSize(network.getLinks().size()); init(initialTT); }
BufferedWriter bw = IOUtils.getBufferedWriter(fileName2); int totalNumberOfTimeBins = (int) (congestionInfo.getScenario().getConfig().travelTimeCalculator().getMaxTime() / congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize());
@Inject TravelTimeCalculator(TravelTimeCalculatorConfigGroup ttconfigGroup, EventsManager eventsManager, Network network) { // this injected constructor is not used when getSeparateModes is true this(network, ttconfigGroup.getTraveltimeBinSize(), ttconfigGroup.getMaxTime(), ttconfigGroup.isCalculateLinkTravelTimes(), ttconfigGroup.isCalculateLinkToLinkTravelTimes(), ttconfigGroup.isFilterModes(), CollectionUtils.stringToSet(ttconfigGroup.getAnalyzedModes())); eventsManager.addHandler(this); configure(this, ttconfigGroup, network); }
BufferedWriter bw = new BufferedWriter(new FileWriter(file)); int totalNumberOfTimeBins = (int) (congestionInfo.getScenario().getConfig().travelTimeCalculator().getMaxTime() / congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize()); int totalNumberOfTimeBins = (int) (congestionInfo.getScenario().getConfig().travelTimeCalculator().getMaxTime() / congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize());
BufferedWriter bw = new BufferedWriter(new FileWriter(file2)); int totalNumberOfTimeBins = (int) (congestionInfo.getScenario().getConfig().travelTimeCalculator().getMaxTime() / congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize()); int totalNumberOfTimeBins = (int) (congestionInfo.getScenario().getConfig().travelTimeCalculator().getMaxTime() / congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize());
private void computeDelays(AfterMobsimEvent event) { TravelTime travelTime = event.getServices().getLinkTravelTimes(); int timeBinSize = scenario.getConfig().travelTimeCalculator().getTraveltimeBinSize(); for (Link link : scenario.getNetwork().getLinks().values()){ double freespeedTT = link.getLength() / link.getFreespeed(); int timeBinCounter = 0; double summedDelay = 0.0; for (int endTime = timeBinSize ; endTime <= scenario.getConfig().travelTimeCalculator().getMaxTime(); endTime = endTime + timeBinSize ) { double avgDelay = travelTime.getLinkTravelTime(link, (endTime - timeBinSize/2.), null, null) - freespeedTT; summedDelay += avgDelay; timeBinCounter++; } link2avgDelay.put(link.getId(), summedDelay/timeBinCounter); LOG.info("Link id: " + link.getId() + ", avg delay: " + summedDelay/timeBinCounter); } }
@Override public TravelTimeCalculator get() { TravelTimeCalculator calculator = new TravelTimeCalculator(network, config.getTraveltimeBinSize(), config.getMaxTime(), config.isCalculateLinkTravelTimes(), config.isCalculateLinkToLinkTravelTimes(), true, CollectionUtils.stringToSet(mode)); eventsManager.addHandler(calculator); return TravelTimeCalculator.configure(calculator, config, network); } }
boolean linkHasAtLeastOneTimeBinWithNonZeroAvgDelay = false; for (int endTime = timeBinSize ; endTime <= this.congestionInfo.getScenario().getConfig().travelTimeCalculator().getMaxTime(); endTime = endTime + timeBinSize ) { final double probedTime = endTime - timeBinSize / 2.; double freespeedTravelTime = link.getLength() / link.getFreespeed( probedTime ) ;