public static TravelDisutility createFreespeedTravelTimeAndDisutility(PlanCalcScoreConfigGroup cnScoringGroup) { return new FreespeedTravelTimeAndDisutility(cnScoringGroup) ; }
public UmlaufInterpolator(Network network, final PlanCalcScoreConfigGroup config) { super(); this.network = network; FreespeedTravelTimeAndDisutility travelTimes = new FreespeedTravelTimeAndDisutility(config); this.routingAlgo = new DijkstraFactory().createPathCalculator(network, travelTimes, travelTimes); }
public SimpleCircleScheduleProvider(String pIdentifier, TransitSchedule scheduleWithStopsOnly, Network network, RandomStopProvider randomStopProvider, double vehicleMaximumVelocity, double driverRestTime, final String transportMode) { this.pIdentifier = pIdentifier; this.net = network; this.scheduleWithStopsOnly = scheduleWithStopsOnly; this.randomStopProvider = randomStopProvider; this.transportMode = transportMode; FreespeedTravelTimeAndDisutility tC = new FreespeedTravelTimeAndDisutility(-6.0, 0.0, 0.0); this.routingAlgo = new DijkstraFactory().createPathCalculator(this.net, tC, tC); @SuppressWarnings("serial") Set<String> modes = new HashSet<String>(){{ // this is the networkmode and explicitly not the transportmode add(TransportMode.car); }}; ((Dijkstra)this.routingAlgo).setModeRestriction(modes); this.vehicleMaximumVelocity = vehicleMaximumVelocity; this.driverRestTime = driverRestTime; }
public ComplexCircleScheduleProvider(TransitSchedule scheduleWithStopsOnly, Network network, RandomStopProvider randomStopProvider, double vehicleMaximumVelocity, double planningSpeedFactor, double driverRestTime, final String transportMode) { this.net = network; this.scheduleWithStopsOnly = scheduleWithStopsOnly; FreespeedTravelTimeAndDisutility tC = new FreespeedTravelTimeAndDisutility(-6.0, 0.0, 0.0); // Here, it may make sense to use the variable cost parameters given in the config. Ihab/Daniel may'14 this.routingAlgo = new DijkstraFactory().createPathCalculator(this.net, tC, tC); @SuppressWarnings("serial") Set<String> modes = new HashSet<String>(){{ // this is the networkmode and explicitly not the transportmode add(TransportMode.car); }}; ((Dijkstra)this.routingAlgo).setModeRestriction(modes); // register all stops by their corresponding link id this.linkId2StopFacilityMap = new LinkedHashMap<>(); for (TransitStopFacility stop : this.scheduleWithStopsOnly.getFacilities().values()) { if (stop.getLinkId() == null) { log.warn("There is a potential paratransit stop without a corresponding link id. Shouldn't be possible. Check stop " + stop.getId()); } else { this.linkId2StopFacilityMap.put(stop.getLinkId(), stop); } } this.randomStopProvider = randomStopProvider; this.vehicleMaximumVelocity = vehicleMaximumVelocity; this.planningSpeedFactor = planningSpeedFactor; this.driverRestTime = driverRestTime; this.transportMode = transportMode; }
public TimeAwareComplexCircleScheduleProvider(TransitSchedule scheduleWithStopsOnly, Network network, RandomStopProvider randomStopProvider, double vehicleMaximumVelocity, double planningSpeedFactor, double driverRestTime, String pIdentifier, EventsManager eventsManager, final String transportMode) { this.net = network; this.scheduleWithStopsOnly = scheduleWithStopsOnly; FreespeedTravelTimeAndDisutility tC = new FreespeedTravelTimeAndDisutility(-6.0, 0.0, 0.0); // Here, it may make sense to use the variable cost parameters given in the config. Ihab/Daniel may'14 this.routingAlgo = new DijkstraFactory().createPathCalculator(this.net, tC, tC); @SuppressWarnings("serial")
@Override protected LeastCostPathCalculator getLeastCostPathCalculator(final Network network) { FreespeedTravelTimeAndDisutility travelTimeCostCalculator = new FreespeedTravelTimeAndDisutility(new PlanCalcScoreConfigGroup()); return new Dijkstra(network, travelTimeCostCalculator, travelTimeCostCalculator); }
@Override public void install() { install(new TripRouterModule()); install(new ScenarioByInstanceModule(scenario)); addTravelTimeBinding("car").toInstance(new FreespeedTravelTimeAndDisutility(config.planCalcScore())); addTravelDisutilityFactoryBinding("car").toInstance(new OnlyTimeDependentTravelDisutilityFactory()); } });
@Override protected LeastCostPathCalculator getLeastCostPathCalculator(Network network) { FreespeedTravelTimeAndDisutility travelTimeCostCalculator = new FreespeedTravelTimeAndDisutility(new PlanCalcScoreConfigGroup()); PreProcessEuclidean preProcessData = new PreProcessEuclidean(travelTimeCostCalculator); preProcessData.run(network); return new AStarEuclidean(network, preProcessData, travelTimeCostCalculator); }
private TransitRoute createRoute(Id<TransitRoute> routeID, TransitStopFacility startStop, TransitStopFacility endStop){ FreespeedTravelTimeAndDisutility tC = new FreespeedTravelTimeAndDisutility(-6.0, 0.0, 0.0); LeastCostPathCalculator routingAlgo = new DijkstraFactory().createPathCalculator(this.net, tC, tC); @SuppressWarnings("serial")
@Override protected LeastCostPathCalculator getLeastCostPathCalculator(Network network) { FreespeedTravelTimeAndDisutility travelTimeCostCalculator = new FreespeedTravelTimeAndDisutility(new PlanCalcScoreConfigGroup()); PreProcessLandmarks preProcessData = new PreProcessLandmarks(travelTimeCostCalculator); preProcessData.run(network); return new AStarLandmarks(network, preProcessData, travelTimeCostCalculator); }
private static List<Person> createPersons(Id<Link> homeId, Id<Link> workId,Scenario scenario) { LeastCostPathCalculator lcpa = new DijkstraFactory().createPathCalculator(scenario.getNetwork(), new FreespeedTravelTimeAndDisutility(-1.0, -1.0, -1.0), new FreespeedTravelTimeAndDisutility(-1.0, -1.0, -1.0)); PopulationFactory popFactory = (PopulationFactory) scenario.getPopulation().getFactory(); List<Person> persons = new ArrayList<Person>();
new FreespeedTravelTimeAndDisutility( scenario.getConfig().planCalcScore() ); final LeastCostPathCalculatorFactory factory1 = provider.getFactory(
Gbl.assertNotNull(this.plansfile); plansWriter.startStreaming(this.plansfile); final FreespeedTravelTimeAndDisutility timeCostCalc = new FreespeedTravelTimeAndDisutility(config.planCalcScore()); com.google.inject.Injector injector = Injector.createInjector(scenario.getConfig(), new AbstractModule() { @Override
@Test public void testRouteLeg() { Fixture f = new Fixture(); FreespeedTravelTimeAndDisutility freespeed = new FreespeedTravelTimeAndDisutility(-6.0/3600, +6.0/3600, 0.0); LeastCostPathCalculator routeAlgo = new Dijkstra(f.s.getNetwork(), freespeed, freespeed); Person person = PopulationUtils.getFactory().createPerson(Id.create(1, Person.class)); Activity fromAct = PopulationUtils.createActivityFromCoord("h", new Coord(0, 0)); fromAct.setLinkId(Id.create("1", Link.class)); Activity toAct = PopulationUtils.createActivityFromCoord("h", new Coord(0, 3000)); toAct.setLinkId(Id.create("3", Link.class)); final NetworkRoutingModule routingModule = new NetworkRoutingModule( TransportMode.car, f.s.getPopulation().getFactory(), f.s.getNetwork(), routeAlgo); Facility fromFacility = new ActivityWrapperFacility( fromAct ) ; Facility toFacility = new ActivityWrapperFacility( toAct ) ; List<? extends PlanElement> result = routingModule.calcRoute(fromFacility, toFacility, 7.0*3600, person) ; Assert.assertEquals(1, result.size() ); Leg leg = (Leg)result.get(0) ; Assert.assertEquals(100.0, leg.getTravelTime(), 1e-8); Assert.assertTrue(leg.getRoute() instanceof NetworkRoute); }
public void testRouteLeg() { final Fixture f = new Fixture(); FreespeedTravelTimeAndDisutility freespeed = new FreespeedTravelTimeAndDisutility(-6.0/3600, +6.0/3600, 0.0); LeastCostPathCalculator routeAlgo = new Dijkstra(f.s.getNetwork(), freespeed, freespeed);