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); } }
this.travelTime = controler.getLinkTravelTimes(); this.network = controler.getScenario().getNetwork(); this.timeSlice = config.travelTimeCalculator().getTraveltimeBinSize();
@Deprecated // use TripRouter instead. kai, dec'13 public PlanRouterAdapter( final MatsimServices controler) { this.planRouter = new PlanRouter( controler.getTripRouterProvider().get(), controler.getScenario().getActivityFacilities() ); TravelTime time = controler.getLinkTravelTimes(); TravelDisutility disutility = controler.getTravelDisutilityFactory().createTravelDisutility( time); LeastCostPathCalculatorFactory factory = controler.getLeastCostPathCalculatorFactory(); Network network = controler.getScenario().getNetwork(); this.routeAlgo = factory.createPathCalculator(network, disutility, time); PopulationFactory populationFactory = controler.getScenario().getPopulation().getFactory(); this.routeFactory = ((PopulationFactory) populationFactory).getRouteFactories(); }
private static CarrierPlanStrategyManagerFactory createStrategyManagerFactory(final CarrierVehicleTypes types, final MatsimServices controler) { return () -> { final GenericStrategyManager<CarrierPlan, Carrier> strategyManager = new GenericStrategyManager<>(); strategyManager.addStrategy(new GenericPlanStrategyImpl<>(new BestPlanSelector<>()), null, 0.95); strategyManager.addStrategy(new SelectBestPlanAndOptimizeItsVehicleRouteFactory(controler.getScenario().getNetwork(), types, controler.getLinkTravelTimes()).createStrategy(), null, 0.05); return strategyManager; }; }
private void computeDelays(AfterMobsimEvent event) { TravelTime travelTime = event.getServices().getLinkTravelTimes(); int timeBinSize = this.congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize();
@Override public TransitRouter get() { return new TransitRouterVariableImpl(config, new TransitRouterNetworkTravelTimeAndDisutilityWW(config, network, routerNetwork, controler.getLinkTravelTimes(), waitTime, controler.getConfig().travelTimeCalculator(), controler.getConfig().qsim(), new PreparedTransitSchedule(controler.getScenario().getTransitSchedule())), routerNetwork); }