@Inject PlansDumpingImpl(ControlerConfigGroup config) { this.writePlansInterval = config.getWritePlansInterval(); this.writeMoreUntilIteration = config.getWritePlansUntilIteration() ; }
@Inject public JointPlansDumping( final Scenario sc, final OutputDirectoryHierarchy controlerIO ) { this.sc = sc ; this.jointPlans = (JointPlans) sc.getScenarioElement( JointPlans.ELEMENT_NAME ); this.firstIteration = sc.getConfig().controler().getFirstIteration(); this.writePlansInterval = sc.getConfig().controler().getWritePlansInterval() ; this.controlerIO = controlerIO ; }
/** * Ensure that the write-plans-interval value is correctly stored * and returned with the different setters and getters. * * @author mrieser */ @Test public void testWritePlansInterval() { ControlerConfigGroup cg = new ControlerConfigGroup(); // test initial value Assert.assertEquals(10, cg.getWritePlansInterval()); // test setting with setMobsim cg.setWritePlansInterval(4); Assert.assertEquals(4, cg.getWritePlansInterval()); // test setting with addParam cg.addParam("writePlansInterval", "2"); Assert.assertEquals(2, cg.getWritePlansInterval()); }
@Override public void notifyIterationEnds(final IterationEndsEvent event) { this.experiencedPlansService.finishIteration(); // (currently sets scores to experienced plans) if(planCalcScoreConfigGroup.isWriteExperiencedPlans()) { final int writePlansInterval = controlerConfigGroup.getWritePlansInterval(); if (writePlansInterval > 0 && event.getIteration() % writePlansInterval == 0) { this.experiencedPlansService.writeExperiencedPlans(controlerIO.getIterationFilename(event.getIteration(), "experienced_plans.xml.gz")); this.scoringFunctionsForPopulation.writePartialScores(controlerIO.getIterationFilename(event.getIteration(), "experienced_plans_scores.txt.gz")); } } if (planCalcScoreConfigGroup.isMemorizingExperiencedPlans() ) { for ( Person person : this.population.getPersons().values() ) { Plan experiencedPlan = this.experiencedPlansService.getExperiencedPlans().get( person.getId() ) ; if ( experiencedPlan==null ) { throw new RuntimeException("experienced plan is null; I don't think this should happen") ; } Plan selectedPlan = person.getSelectedPlan() ; selectedPlan.getCustomAttributes().put(PlanCalcScoreConfigGroup.EXPERIENCED_PLAN_KEY, experiencedPlan ) ; } } }