@Override public Integer getIterationNumber() { return injector.getInstance(ReplanningContext.class).getIteration(); } }
@Override public Integer getIterationNumber() { return injector.getInstance(ReplanningContext.class).getIteration(); } // ******** --------- *******
@Inject KMLSnapshotWriterFactory(Scenario scenario, OutputDirectoryHierarchy controlerIO, ReplanningContext replanningContext) { this.scenario = scenario; this.controlerIO = controlerIO; this.iteration = replanningContext.getIteration(); }
@Inject TransimsSnapshotWriterFactory(OutputDirectoryHierarchy controlerIO, ReplanningContext replanningContext) { this.iteration = replanningContext.getIteration(); this.controlerIO = controlerIO; }
@Inject void setIterationNumberFrom(ReplanningContext replanningContext) { this.iterationNumber = replanningContext.getIteration(); }
@Override public SnapshotWriter get() { String fileName = controlerIO.getIterationFilename(iterationContext.getIteration(), "otfvis.mvi"); OTFFileWriter writer = new OTFFileWriter(scenario, fileName); return writer; }
@Override public final PlanAlgorithm getPlanAlgoInstance() { ReplanningContext replanningContext = this.getReplanningContext(); MultiNodeDijkstra forwardMultiNodeDijkstra = (MultiNodeDijkstra) this.forwardMultiNodeDijsktaFactory.createPathCalculator(this.scenario.getNetwork(), travelDisutilities.get(TransportMode.car).createTravelDisutility(travelTimes.get(TransportMode.car)), travelTimes.get(TransportMode.car)); BackwardFastMultiNodeDijkstra backwardMultiNodeDijkstra = (BackwardFastMultiNodeDijkstra) this.backwardMultiNodeDijsktaFactory.createPathCalculator( this.scenario.getNetwork(), travelDisutilities.get(TransportMode.car).createTravelDisutility(travelTimes.get(TransportMode.car)), travelTimes.get(TransportMode.car)); // this one corresponds to the "frozen epsilon" paper(s) // the random number generators are re-seeded anyway in the dc module. So we do not need a MatsimRandom instance here TripRouter tripRouter = tripRouterProvider.get(); int iteration = replanningContext.getIteration(); return new BestResponseLocationMutator(this.quadTreesOfType, this.facilitiesOfType, this.personsMaxEpsUnscaled, this.lcContext, this.sampler, tripRouter, forwardMultiNodeDijkstra, backwardMultiNodeDijkstra, scoringFunctionFactory, iteration, this.nearestLinks); } }
@Override public MobsimListener get() { if (iterationContext.getIteration() % controlerConfigGroup.getWriteSnapshotsInterval() == 0) { SnapshotWriterManager manager = new SnapshotWriterManager(config); for (com.google.inject.Provider<SnapshotWriter> snapshotWriter : this.snapshotWriters) { manager.addSnapshotWriter(snapshotWriter.get()); } return manager; } else { return new NoopMobsimListener(); } }
@Override public void prepareReplanning(ReplanningContext replanningContext) { this.currentIteration = replanningContext.getIteration(); this.exportPopulation = ScenarioUtils.createScenario(ConfigUtils.createConfig()).getPopulation(); }
final GroupPlanStrategy strategy = registry.chooseStrategy( context.getIteration() , subpop , random.nextDouble() ); final List<ReplanningGroup> alloc = MapUtils.getList( strategy , strategyAllocations ); notifyAlloc( context.getIteration() , g , strategy ); alloc.add( g );
@Override public PlanAlgorithm getPlanAlgoInstance() { final CompositeStageActivityTypes blackList = new CompositeStageActivityTypes(); blackList.addActivityTypes( tripRouterFactory.get().getStageActivityTypes() ); blackList.addActivityTypes( JointActingTypes.JOINT_STAGE_ACTS ); final int iteration = getReplanningContext().getIteration(); final int firstIteration = config.controler().getFirstIteration(); final double nIters = config.controler().getLastIteration() - firstIteration; final double minTemp = 1; final double startMin = (2 / 3.) * nIters; final double progress = (iteration - firstIteration) / startMin; final double temp = minTemp + Math.max(1 - progress , 0) * (maxTemp - minTemp); log.debug( "temperature in iteration "+iteration+": "+temp ); final BlackListedTimeAllocationMutator algo = new BlackListedTimeAllocationMutator( blackList, config.timeAllocationMutator().getMutationRange() * temp, MatsimRandom.getLocalInstance() ); return algo; } }));