public static OneToManyPathSearch createForwardSearch(Network network, TravelTime travelTime, TravelDisutility travelDisutility) { return create((MultiNodePathCalculator)new FastMultiNodeDijkstraFactory(true).createPathCalculator(network, travelDisutility, travelTime)); }
private MultiNodeDijkstra makeMultiNodeDikstra(Network network, TravelDisutility travelDisutility, TravelTime travelTime, boolean fastRouter) { if (fastRouter) { return (MultiNodeDijkstra) new FastMultiNodeDijkstraFactory().createPathCalculator(network, travelDisutility, travelTime); } else return (MultiNodeDijkstra) new MultiNodeDijkstraFactory().createPathCalculator(network, travelDisutility, travelTime); }
public BestReplyDestinationChoice(Provider<TripRouter> tripRouterProvider, DestinationChoiceContext lcContext, ObjectAttributes personsMaxDCScoreUnscaled, ScoringFunctionFactory scoringFunctionFactory, Map<String, TravelTime> travelTimes, Map<String, TravelDisutilityFactory> travelDisutilities) { super(lcContext.getScenario().getConfig().global()); this.tripRouterProvider = tripRouterProvider; this.scoringFunctionFactory = scoringFunctionFactory; this.travelTimes = travelTimes; this.travelDisutilities = travelDisutilities; this.dccg = (DestinationChoiceConfigGroup) lcContext.getScenario().getConfig().getModule(DestinationChoiceConfigGroup.GROUP_NAME); if (!DestinationChoiceConfigGroup.Algotype.bestResponse.equals(this.dccg.getAlgorithm())) { throw new RuntimeException("wrong class for selected location choice algorithm type; aborting ...") ; } this.lcContext = lcContext; this.scenario = lcContext.getScenario(); this.personsMaxEpsUnscaled = personsMaxDCScoreUnscaled; this.forwardMultiNodeDijsktaFactory = new FastMultiNodeDijkstraFactory(true); this.backwardMultiNodeDijsktaFactory = new BackwardFastMultiNodeDijkstraFactory(true); // create cache which is used in ChoiceSet // instead of just the nearest link we probably should check whether the facility is attached to a link? cdobler, oct'14 this.nearestLinks = new HashMap<>(); for (ActivityFacility facility : this.scenario.getActivityFacilities().getFacilities().values()) { if (facility.getLinkId() != null) this.nearestLinks.put(facility.getId(), facility.getLinkId()); else this.nearestLinks.put(facility.getId(), NetworkUtils.getNearestLink(scenario.getNetwork(), facility.getCoord()).getId()); } initLocal(); }
FastMultiNodeDijkstra dijkstra = (FastMultiNodeDijkstra) new FastMultiNodeDijkstraFactory(). createPathCalculator(scenario.getNetwork(), travelDisutility, travelTime);
FastMultiNodeDijkstra dijkstra = (FastMultiNodeDijkstra) new FastMultiNodeDijkstraFactory(false). createPathCalculator(scenario.getNetwork(), travelDisutility, travelTime);
FastMultiNodeDijkstra dijkstra = (FastMultiNodeDijkstra) new FastMultiNodeDijkstraFactory(true). createPathCalculator(scenario.getNetwork(), travelDisutility, travelTime);