@Inject RoadPricingTravelDisutilityFactory(Scenario scenario, RoadPricingScheme roadPricingScheme) { this(ControlerDefaults.createDefaultTravelDisutilityFactory(scenario), roadPricingScheme, scenario.getConfig()); }
@Override public TravelDisutilityFactory get() { final Config config = scenario.getConfig(); final TravelDisutilityFactory originalTravelDisutilityFactory = ControlerDefaults.createDefaultTravelDisutilityFactory(scenario); // if (!scheme.getType().equals(RoadPricingScheme.TOLL_TYPE_AREA)) { RoadPricingTravelDisutilityFactory travelDisutilityFactory = new RoadPricingTravelDisutilityFactory( originalTravelDisutilityFactory, scheme, config.planCalcScore().getMarginalUtilityOfMoney() ); travelDisutilityFactory.setSigma(config.plansCalcRoute().getRoutingRandomness()); return travelDisutilityFactory; // } else { // return originalTravelDisutilityFactory; // } }
@Test public void testRouterCreation() { for (ControlerConfigGroup.RoutingAlgorithmType routingAlgorithmType : ControlerConfigGroup.RoutingAlgorithmType.values()) { Config config = ConfigUtils.createConfig(); config.controler().setRoutingAlgorithmType(routingAlgorithmType); Scenario scenario = ScenarioUtils.createScenario(config); LeastCostPathCalculatorFactory defaultLeastCostPathCalculatorFactory = TripRouterFactoryBuilderWithDefaults.createDefaultLeastCostPathCalculatorFactory(scenario); LeastCostPathCalculator pathCalculator = defaultLeastCostPathCalculatorFactory.createPathCalculator( scenario.getNetwork(), ControlerDefaults.createDefaultTravelDisutilityFactory(scenario).createTravelDisutility(new FreeSpeedTravelTime()), new FreeSpeedTravelTime()); Assert.assertNotNull(pathCalculator); } }