public TransitRouterNetworkTravelTimeAndDisutilityWS(final TransitRouterConfig config, TransitRouterNetworkWW routerNetwork, WaitTime waitTime, StopStopTime stopStopTime, TravelTimeCalculatorConfigGroup tTConfigGroup, QSimConfigGroup qSimConfigGroup, PreparedTransitSchedule preparedTransitSchedule) { this(config, routerNetwork, waitTime, stopStopTime, tTConfigGroup, qSimConfigGroup.getStartTime(), qSimConfigGroup.getEndTime(), preparedTransitSchedule); } public TransitRouterNetworkTravelTimeAndDisutilityWS(final TransitRouterConfig config, TransitRouterNetworkWW routerNetwork, WaitTime waitTime, StopStopTime stopStopTime, TravelTimeCalculatorConfigGroup tTConfigGroup, double startTime, double endTime, PreparedTransitSchedule preparedTransitSchedule) {
public TransitRouterNetworkTravelTimeAndDisutilityWSV(final TransitRouterConfig config, TransitRouterNetworkWW routerNetwork, WaitTime waitTime, StopStopTime stopStopTime, VehicleOccupancy vehicleOccupancy, TravelTimeCalculatorConfigGroup tTConfigGroup, QSimConfigGroup qSimConfigGroup, PreparedTransitSchedule preparedTransitSchedule) { this(config, routerNetwork, waitTime, stopStopTime, vehicleOccupancy, tTConfigGroup, qSimConfigGroup.getStartTime(), qSimConfigGroup.getEndTime(), preparedTransitSchedule); } public TransitRouterNetworkTravelTimeAndDisutilityWSV(final TransitRouterConfig config, TransitRouterNetworkWW routerNetwork, WaitTime waitTime, StopStopTime stopStopTime, VehicleOccupancy vehicleOccupancy, TravelTimeCalculatorConfigGroup tTConfigGroup, double startTime, double endTime, PreparedTransitSchedule preparedTransitSchedule) {
@StringGetter(END_TIME) private String getEndTimeAsString() { return Time.writeTime(getEndTime()); }
public TransitRouterNetworkTravelTimeAndDisutilityWW(final TransitRouterConfig config, Network network, TransitRouterNetworkWW routerNetwork, TravelTime travelTime, WaitTime waitTime, TravelTimeCalculatorConfigGroup tTConfigGroup, QSimConfigGroup qSimConfigGroup, PreparedTransitSchedule preparedTransitSchedule) { this(config, network, routerNetwork, travelTime, waitTime, tTConfigGroup, qSimConfigGroup.getStartTime(), qSimConfigGroup.getEndTime(), preparedTransitSchedule); } public TransitRouterNetworkTravelTimeAndDisutilityWW(final TransitRouterConfig config, Network network, TransitRouterNetworkWW routerNetwork, TravelTime travelTime, WaitTime waitTime, TravelTimeCalculatorConfigGroup tTConfigGroup, double startTime, double endTime, PreparedTransitSchedule preparedTransitSchedule) {
public TransitRouterNetworkTravelTimeAndDisutilityWS(final TransitRouterConfig config, TransitRouterNetworkWW routerNetwork, Provider<WaitTime> waitTime, Provider<StopStopTime> stopStopTime, TravelTimeCalculatorConfigGroup tTConfigGroup, QSimConfigGroup qSimConfigGroup, PreparedTransitSchedule preparedTransitSchedule) { this(config, routerNetwork, waitTime.get(), stopStopTime.get(), tTConfigGroup, qSimConfigGroup.getStartTime(), qSimConfigGroup.getEndTime(), preparedTransitSchedule); }
public void computeFinalTimeIntervals() { while (this.noiseContext.getCurrentTimeBinEndTime() <= Math.max(24. * 3600., this.noiseContext.getScenario().getConfig().qsim().getEndTime())) { processTimeBin(); } }
public PSim(Scenario sc, EventsManager eventsManager, Collection<Plan> plans, TravelTime carLinkTravelTimes) { Logger.getLogger(getClass()).warn("Constructing PSim"); this.scenario = sc; this.endTime = sc.getConfig().qsim().getEndTime(); this.eventManager = eventsManager; int numThreads = Integer.parseInt(sc.getConfig().getParam("global", "numberOfThreads")); threads = new SimThread[numThreads]; for (int i = 0; i < numThreads; i++) threads[i] = new SimThread(); PlansCalcRouteConfigGroup pcrConfig = sc.getConfig().plansCalcRoute(); this.beelineDistanceFactor = pcrConfig.getModeRoutingParams().get( TransportMode.walk ).getBeelineDistanceFactor(); this.walkSpeed = pcrConfig.getTeleportedModeSpeeds().get(TransportMode.walk) ; this.carLinkTravelTimes = carLinkTravelTimes; this.plans = plans; }
public StageContainer2AgentMoneyEvent(MatsimServices controler, TicketMachineI ticketMachine) { controler.addControlerListener(this); this.eventsManager = controler.getEvents(); this.mobsimShutdownTime = controler.getConfig().qsim().getEndTime(); this.ticketMachine = ticketMachine; }
@Override public void handleEvent(VehicleAbortsEvent event) { LinkEnterEvent e = this.linkEnterEvents.remove(event.getVehicleId()); if (e != null) { DataContainer data = this.dataContainerProvider.getTravelTimeData(e.getLinkId(), true); data.needsConsolidation = true; this.aggregator.addStuckEventTravelTime(data.ttData, e.getTime(), event.getTime()); if (this.calculateLinkToLinkTravelTimes && event.getTime() < qsimConfig.getEndTime() // (we think that this only makes problems when the abort is not just because of mobsim end time. kai & theresa, jan'17) ){ log.error(ERROR_STUCK_AND_LINKTOLINK); throw new IllegalStateException(ERROR_STUCK_AND_LINKTOLINK); } } // try to remove vehicle from set with filtered vehicles if (filterAnalyzedModes) this.vehiclesToIgnore.remove(event.getVehicleId()); }
@Inject public WaitTimeCalculatorImpl(final TransitSchedule transitSchedule, final Config config, EventsManager eventsManager) { this(transitSchedule, config.travelTimeCalculator().getTraveltimeBinSize(), (int) (config.qsim().getEndTime()-config.qsim().getStartTime())); eventsManager.addHandler(this); } public WaitTimeCalculatorImpl(final TransitSchedule transitSchedule, final int timeSlot, final int totalTime) {
@Inject public WaitTimeStuckCalculator(final Population population, final TransitSchedule transitSchedule, final Config config, final EventsManager eventsManager) { this(population, transitSchedule, config.travelTimeCalculator().getTraveltimeBinSize(), (int) (config.qsim().getEndTime()-config.qsim().getStartTime())); eventsManager.addHandler(this); } public WaitTimeStuckCalculator(final Population population, final TransitSchedule transitSchedule, final int timeSlot, final int totalTime) {
@Inject public StopStopTimeCalculatorImpl(final TransitSchedule transitSchedule, final Config config, EventsManager eventsManager) { this(transitSchedule, config.travelTimeCalculator().getTraveltimeBinSize(), (int) (config.qsim().getEndTime()-config.qsim().getStartTime())); eventsManager.addHandler(this); } public StopStopTimeCalculatorImpl(final TransitSchedule transitSchedule, final int timeSlot, final int totalTime) {
public VehicleOccupancyCalculator(final TransitSchedule transitSchedule, final Vehicles vehicles, final Config config) { this(transitSchedule, vehicles, config.travelTimeCalculator().getTraveltimeBinSize(), (int) (config.qsim().getEndTime()-config.qsim().getStartTime())); } public VehicleOccupancyCalculator(final TransitSchedule transitSchedule, final Vehicles vehicles, final int timeSlot, final int totalTime) {
public WaitTimeCalculatorSerializable(final TransitSchedule transitSchedule, final Config config) { this(transitSchedule, config.travelTimeCalculator().getTraveltimeBinSize(), (int) (config.qsim().getEndTime() - config.qsim().getStartTime())); }
public StopStopTimeCalculatorTuple(final TransitSchedule transitSchedule, final Config config) { this(transitSchedule, config.travelTimeCalculator().getTraveltimeBinSize(), (int) (config.qsim().getEndTime()-config.qsim().getStartTime())); } public StopStopTimeCalculatorTuple(final TransitSchedule transitSchedule, final int timeSlot, final int totalTime) {
public StopStopTimeCalculatorSerializable(final TransitSchedule transitSchedule, final Config config) { this(transitSchedule, config.travelTimeCalculator().getTraveltimeBinSize(), (int) (config.qsim().getEndTime()-config.qsim().getStartTime())); } public static void printCallStatisticsAndReset(){
private void initSimTimer() { QSimConfigGroup qSimConfigGroup = this.scenario.getConfig().qsim(); Double configuredStartTime = qSimConfigGroup.getStartTime(); this.stopTime = qSimConfigGroup.getEndTime(); if (configuredStartTime == Time.UNDEFINED_TIME) { configuredStartTime = 0.0; } if ((this.stopTime == Time.UNDEFINED_TIME) || (this.stopTime == 0)) { this.stopTime = Double.MAX_VALUE; } double simStartTime; if (QSimConfigGroup.StarttimeInterpretation.maxOfStarttimeAndEarliestActivityEnd.equals(qSimConfigGroup.getSimStarttimeInterpretation())) { double firstAgentStartTime = calculateFirstAgentStartTime(); simStartTime = Math.floor(Math.max(configuredStartTime, firstAgentStartTime)); } else if (QSimConfigGroup.StarttimeInterpretation.onlyUseStarttime.equals(qSimConfigGroup.getSimStarttimeInterpretation())) { simStartTime = configuredStartTime; } else { throw new RuntimeException("unkonwn starttimeInterpretation; aborting ..."); } this.simTimer.setSimStartTime(simStartTime); this.simTimer.setTime(simStartTime); }
public static void main(String[] args) { Config config = ConfigUtils.createConfig(); ConfigUtils.loadConfig(config, args[0]); final Controler controler = new Controler(ScenarioUtils.loadScenario(config)); final WaitTimeStuckCalculator waitTimeCalculator = new WaitTimeStuckCalculator(controler.getScenario().getPopulation(), controler.getScenario().getTransitSchedule(), controler.getConfig().travelTimeCalculator().getTraveltimeBinSize(), (int) (controler.getConfig().qsim().getEndTime()-controler.getConfig().qsim().getStartTime())); controler.getEvents().addHandler(waitTimeCalculator); final StopStopTimeCalculatorImpl stopStopTimeCalculator = new StopStopTimeCalculatorImpl(controler.getScenario().getTransitSchedule(), controler.getConfig().travelTimeCalculator().getTraveltimeBinSize(), (int) (controler.getConfig().qsim().getEndTime()-controler.getConfig().qsim().getStartTime())); controler.getEvents().addHandler(stopStopTimeCalculator); final VehicleOccupancyCalculator vehicleOccupancyCalculator = new VehicleOccupancyCalculator(controler.getScenario().getTransitSchedule(), ((MutableScenario)controler.getScenario()).getTransitVehicles(), controler.getConfig().travelTimeCalculator().getTraveltimeBinSize(), (int) (controler.getConfig().qsim().getEndTime()-controler.getConfig().qsim().getStartTime())); controler.getEvents().addHandler(vehicleOccupancyCalculator); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(TransitRouter.class).toProvider(new TransitRouterEventsWSVFactory(controler.getScenario(), waitTimeCalculator.get(), stopStopTimeCalculator.get(), vehicleOccupancyCalculator.getVehicleOccupancy())); } }); // yyyyyy note that in the above script only the router is modified, but not the scoring. With standard matsim, a slower bu // less crowded pt route will only be accepted by the agent when the faster but more crowded option was never presented // to the agent. (Alternatively, e.g. with the Singapore scenario, there may be boarding denials, in which case // routes that avoid crowded sections may also be beneficial.) kai, jul'15 controler.run(); }
public static void main(String[] args) { Config config = ConfigUtils.createConfig(); ConfigUtils.loadConfig(config, args[0]); final Controler controler = new Controler(ScenarioUtils.loadScenario(config)); controler.getConfig().controler().setOverwriteFileSetting(OutputDirectoryHierarchy.OverwriteFileSetting.overwriteExistingFiles); final WaitTimeStuckCalculator waitTimeCalculator = new WaitTimeStuckCalculator(controler.getScenario().getPopulation(), controler.getScenario().getTransitSchedule(), controler.getConfig().travelTimeCalculator().getTraveltimeBinSize(), (int) (controler.getConfig().qsim().getEndTime()-controler.getConfig().qsim().getStartTime())); controler.getEvents().addHandler(waitTimeCalculator); final StopStopTimeCalculatorImpl stopStopTimeCalculator = new StopStopTimeCalculatorImpl(controler.getScenario().getTransitSchedule(), controler.getConfig().travelTimeCalculator().getTraveltimeBinSize(), (int) (controler.getConfig().qsim().getEndTime()-controler.getConfig().qsim().getStartTime())); controler.getEvents().addHandler(stopStopTimeCalculator); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(TransitRouter.class).toProvider(new TransitRouterEventsWSFactory(controler.getScenario(), waitTimeCalculator.get(), stopStopTimeCalculator.get())); } }); controler.run(); }
linkTravelTimes = new SerializableLinkTravelTimes(matsimControler.getLinkTravelTimes(), config.travelTimeCalculator().getTraveltimeBinSize(), config.qsim().getEndTime(), scenario.getNetwork().getLinks().values()); startSlaveHandlersInMode(CommunicationsMode.TRANSMIT_TRAVEL_TIMES);