@Override public void notifyBeforeMobsim(BeforeMobsimEvent event) { this.eventsToFacilityLoad.resetAll(event.getIteration()); }
@Override public void notifyBeforeMobsim(BeforeMobsimEvent event) { eventsManager.resetHandlers(event.getIteration()); final boolean writingEventsAtAll = this.writeEventsInterval > 0; final boolean regularWriteEvents = writingEventsAtAll && ( event.getIteration()>0 && event.getIteration() % writeEventsInterval == 0 ) ; // (w/o the "writingEventsAtAll && ..." this is a division by zero when writeEventsInterval=0. kai, apr'18) final boolean earlyIteration = event.getIteration() <= writeMoreUntilIteration ; final boolean lastIteration = event.getIteration()==this.lastIteration ; if (writingEventsAtAll && (regularWriteEvents||earlyIteration || lastIteration ) ) { for (EventsFileFormat format : eventsFileFormats) { switch (format) { case xml: this.eventWriters.add(new EventWriterXML(controlerIO.getIterationFilename(event.getIteration(), Controler.FILENAME_EVENTS_XML))); break; default: log.warn("Unknown events file format specified: " + format.toString() + "."); } } for (EventWriter writer : this.eventWriters) { eventsManager.addHandler(writer); } } }
@Override public void notifyBeforeMobsim(final BeforeMobsimEvent event) { if ( !dump( event.getIteration() ) ) return; log.info("dumping joint plans..."); JointPlansXmlWriter.write( sc.getPopulation(), jointPlans, controlerIO.getIterationFilename( event.getIteration(), "jointPlans.xml.gz" )); log.info("finished joint plans dump."); }
@Override public void notifyBeforeMobsim(BeforeMobsimEvent event) { int iter = event.getIteration(); if ( isActiveInThisIteration( iter ) ) { occupancyAnalyzer.reset(iter); eventsManager.addHandler(occupancyAnalyzer); } }
@Override public void notifyBeforeMobsim(final BeforeMobsimEvent event) { final boolean writingPlansAtAll = writePlansInterval > 0; final boolean regularWritePlans = writingPlansAtAll && (event.getIteration()>0 && event.getIteration() % writePlansInterval== 0); final boolean earlyIteration = event.getIteration() <= writeMoreUntilIteration ; if ( writingPlansAtAll && (regularWritePlans || earlyIteration) ) { stopwatch.beginOperation("dump all plans"); log.info("dumping plans..."); final String inputCRS = config.plans().getInputCRS(); final String internalCRS = config.global().getCoordinateSystem(); if ( inputCRS == null ) { new PopulationWriter(population, network).write(controlerIO.getIterationFilename(event.getIteration(), Controler.FILENAME_POPULATION)); } else { log.info( "re-projecting population from "+internalCRS+" back to "+inputCRS+" for export" ); final CoordinateTransformation transformation = TransformationFactory.getCoordinateTransformation( internalCRS, inputCRS ); new PopulationWriter(transformation, population, network).write(controlerIO.getIterationFilename(event.getIteration(), Controler.FILENAME_POPULATION)); } log.info("finished plans dump."); stopwatch.endOperation("dump all plans"); } }
@Override public void notifyBeforeMobsim(final BeforeMobsimEvent event) { this.cadytsPtOccupAnalyzer.reset(event.getIteration()); for (Person person : scenario.getPopulation().getPersons().values()) { this.calibrator.addToDemand(ptStep.getCadytsPlan(person.getSelectedPlan())); } }
@Override public void notifyBeforeMobsim(BeforeMobsimEvent event) { selectedPlanScoreMemory = new HashMap<>(scenario.getPopulation().getPersons().size()); if (event.getIteration() == 0) { plancatcher.init(); for (Person person : scenario.getPopulation().getPersons().values()) { plancatcher.addPlansForPsim(person.getSelectedPlan()); } } else { for (Person person : scenario.getPopulation().getPersons().values()) { selectedPlanScoreMemory.put(person.getId(), person.getSelectedPlan().getScore()); } for (Plan plan : plancatcher.getPlansForPSim()) { selectedPlanScoreMemory.remove(plan.getPerson().getId()); } } executedPlanCount += plancatcher.getPlansForPSim().size(); }