@Override public void notifyIterationStarts(IterationStartsEvent event) { this.iteration = event.getIteration(); } }
@Override public void notifyIterationStarts(final IterationStartsEvent event) { this.histogram.reset(event.getIteration()); }
@Override public void notifyIterationStarts(IterationStartsEvent event) { if (this.sensorManager != null) this.sensorManager.reset(event.getIteration()); }
@Override public void notifyIterationStarts( final IterationStartsEvent event ) { this.eventsToScore.beginIteration( event.getIteration() ); }
@Override public void notifyIterationStarts(final IterationStartsEvent event) { this.histogram.reset(event.getIteration()); }
@Override public void notifyIterationStarts(IterationStartsEvent event) { if (determineIfQSimIter(event.getIteration())) { Logger.getLogger(this.getClass()).warn("Running full queue simulation"); } else { Logger.getLogger(this.getClass()).info("Running PSim"); plancatcher.init(); for (Person person : scenario.getPopulation().getPersons().values()) { plancatcher.addPlansForPsim(person.getSelectedPlan()); } } }
@Override public void notifyIterationStarts(IterationStartsEvent event) { if (event.getIteration() == scenario.getConfig().controler().getFirstIteration()) { /* * do all the stuff that is needed only once a simulation: - calculating coordinations for the via file - getting the signals data out of the scenario */ init(); } String signalCSVFilename = scenario.getConfig().controler().getOutputDirectory() + "/ITERS/it." + event.getIteration() + "/signalEvents2Via.csv"; // log.info("Initializing SignalsCSVWriter ..."); signalsCSVWriter = IOUtils.getBufferedWriter(signalCSVFilename); log.info("Writing signal events of iteration " + event.getIteration() + " as csv file for via to " + signalCSVFilename + " ..."); // create header try { signalsCSVWriter.write(SIGNAL_ID + ";" + X_COORD + ";" + Y_COORD + ";" + TIME + ";" + SIGNAL_STATE); signalsCSVWriter.newLine(); } catch (IOException e) { e.printStackTrace(); log.error("Something went wrong while writing the header of the signals csv file."); } }
@Override public void notifyIterationStarts(IterationStartsEvent event) { this.currentIteration = event.getIteration(); if (innovationEndsAtIter > 0 && event.getIteration() > innovationEndsAtIter) return; //wait for previous transmissions to complete, if necessary waitForSlaveThreads(); //start receiving plans from slaveHandlerTreeMap as the QSim runs int firstIteration = config.controler().getFirstIteration(); if (SelectedSimulationMode.equals(SimulationMode.PARALLEL)) startSlaveHandlersInMode(CommunicationsMode.TRANSMIT_PLANS_TO_MASTER); IterationStopWatch stopwatch = event.getServices().getStopwatch(); }
void notifyIterationStarts(IterationStartsEvent event) { this.strategyManager.updateStrategies(event.getIteration()); // Adapt number of operators this.handleBankruptOperators(event.getIteration()); // Replan all operators for (Operator operator : this.operators) { operator.replan(this.strategyManager, event.getIteration()); } // Collect current lines offered // why is the following done twice (see notifyScoring)? this.pTransitSchedule = new TransitScheduleFactoryImpl().createTransitSchedule(); for (TransitStopFacility stop : this.pStopsOnly.getFacilities().values()) { this.pTransitSchedule.addStopFacility(stop); } for (Operator operator : this.operators) { this.pTransitSchedule.addTransitLine(operator.getCurrentTransitLine()); } // Reset the franchise system this.franchise.reset(this.operators); }
@Override public void notifyIterationStarts(IterationStartsEvent event) { if (event.getIteration() != scenario.getConfig().controler().getLastIteration()) return; delegate = new EventsToTravelDiaries(scenario); eventsManager.addHandler(delegate); }
@Override public void notifyIterationStarts(IterationStartsEvent event) { if (numberOfIterations >= 0 || initialRouting) iterationTimes.add(System.currentTimeMillis() - lastIterationStartTime); // send plans only after the previous iteration has completed if (initialRouting || (numberOfIterations > 0 && numberOfIterations % numberOfPSimIterationsPerCycle == 0)) { this.totalIterationTime = getTotalIterationTime(); communications(); if (somethingWentWrong) Runtime.getRuntime().halt(0); initialRouting = false; } this.currentIteration = event.getIteration(); lastIterationStartTime = System.currentTimeMillis(); travelTime.setTravelTime(linkTravelTimes); pSimProvider.setTravelTime(linkTravelTimes); if (config.transit().isUseTransit()) { pSimProvider.setStopStopTime(stopStopTimes); pSimProvider.setWaitTime(waitTimes); pSimProvider.setTransitPerformance(transitPerformance); if (transitRouterEventsWSFactory != null) { // transitRouterEventsWSFactory.setStopStopTimeCalculator(stopStopTimes); // transitRouterEventsWSFactory.setWaitTimeCalculator(waitTimes); } } plancatcher.init(); numberOfIterations++; }
if (event.getIteration() == this.congestionInfo.getScenario().getConfig().controler().getFirstIteration()) { if (event.getIteration() == this.nextDisableInnovativeStrategiesIteration) { log.warn("Strategy weight adjustment (set to zero) in iteration " + event.getIteration()); log.info("next disable innovative strategies iteration: " + this.nextDisableInnovativeStrategiesIteration); } else if (event.getIteration() == this.nextEnableInnovativeStrategiesIteration) { if (event.getIteration() >= congestionInfo.getScenario().getConfig().strategy().getFractionOfIterationsToDisableInnovation() * (congestionInfo.getScenario().getConfig().controler().getLastIteration() - congestionInfo.getScenario().getConfig().controler().getFirstIteration())) { log.info("Strategy weight adjustment (set back to original value) in iteration " + event.getIteration());
public void testEvents() { Config config = loadConfig(getClassInputDirectory() + "config.xml"); TestController controler = new TestController(config); ControlerEventsTestListener listener = new ControlerEventsTestListener(1, this); controler.addControlerListener(listener); controler.run(config); //test for startup events StartupEvent startup = listener.getStartupEvent(); assertNotNull("No ControlerStartupEvent fired!", startup); //test for shutdown ShutdownEvent shutdown = listener.getShutdownEvent(); assertNotNull("No ControlerShutdownEvent fired!", shutdown); //test for iterations //setup List<IterationStartsEvent> setupIt = listener.getIterationStartsEvents(); assertEquals(1, setupIt.size()); assertEquals(0, setupIt.get(0).getIteration()); //shutdown List<IterationEndsEvent> finishIt = listener.getIterationEndsEvents(); assertEquals(1, finishIt.size()); assertEquals(0, finishIt.get(0).getIteration()); }
@Override public void notifyIterationStarts(IterationStartsEvent event) { PBox pBox = (PBox) operators ; final MatsimServices controler = event.getServices(); if(event.getIteration() == controler.getConfig().controler().getFirstIteration()){ log.info("This is the first iteration. All lines were added by notifyStartup event."); } else { pBox.notifyIterationStarts(event); removePreviousPTransitScheduleFromOriginalOne(event.getServices().getScenario().getTransitSchedule()); addPTransitScheduleToOriginalOne(event.getServices().getScenario().getTransitSchedule(), pBox.getpTransitSchedule()); removePreviousPVehiclesFromScenario(event.getServices().getScenario().getTransitVehicles()); addPVehiclesToOriginalOnes(event.getServices().getScenario().getTransitVehicles(), this.pVehiclesFactory.createVehicles(pBox.getpTransitSchedule())); event.getServices().getEvents().processEvent(new TransitScheduleChangedEvent(0.0)); if(this.agentsStuckHandler != null){ ParallelPersonAlgorithmUtils.run(controler.getScenario().getPopulation(), controler.getConfig().global().getNumberOfThreads(), new ParallelPersonAlgorithmUtils.PersonAlgorithmProvider() { @Override public AbstractPersonAlgorithm getPersonAlgorithm() { return stuckFactory.getReRouteStuck(new PlanRouter( controler.getTripRouterProvider().get(), controler.getScenario().getActivityFacilities() ), ((MutableScenario)controler.getScenario()), agentsStuckHandler.getAgentsStuck()); } }); } } this.dumpTransitScheduleAndVehicles(event.getServices(), event.getIteration()); }