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(), controler.getEvents()); controler.getEvents().addHandler(waitTimeCalculator); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(TransitRouter.class).toProvider(new TransitRouterEventsWLFactory(controler, waitTimeCalculator.get())); } }); controler.run(); }
public static void run( Scenario scenario, AbstractModule... modules ) { Controler controler = new Controler(scenario); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(EmissionModule.class).asEagerSingleton(); } }); for ( AbstractModule module : modules ) { controler.addOverridingModule( module ); } controler.run(); } public static void main(String[] args) {
static void run(Config config) { final Scenario scenario = ScenarioUtils.createScenario( config ) ; Controler controler = new Controler( scenario ) ; final EventsManager events = controler.getEvents() ; controler.addOverridingQSimModule( new AbstractQSimModule(){ @Override public void configureQSim() { final ConfigurableQNetworkFactory factory = new ConfigurableQNetworkFactory( events, scenario ) ; factory.setLinkSpeedCalculator(null); // fill with something reasonable factory.setTurnAcceptanceLogic(null); // fill with something reasonable bind( QNetworkFactory.class ).toInstance( factory ) ; // NOTE: Other than when using a provider, this uses the same factory instance over all iterations, re-configuring // it in every iteration via the initializeFactory(...) method. kai, mar'16 } }); controler.run(); }
config.parallelEventHandling().setNumberOfThreads(1); this.matsimControler = new Controler(scenario); matsimControler.addControlerListener(mobSimSwitcher); matsimControler.addOverridingModule(new AbstractModule() { @Override public void install() { transitPerformanceRecorder = new TransitPerformanceRecorder(matsimControler.getScenario(), matsimControler.getEvents(), mobSimSwitcher);
public static void main(String[] args) { String configFile = "input/usecases/chessboard/passenger/config.xml"; Config config = ConfigUtils.loadConfig(configFile); Scenario scenario = ScenarioUtils.loadScenario(config); Controler controler = new Controler(config); final Carriers carriers = new Carriers(); new CarrierPlanXmlReaderV2(carriers).readFile("input/usecases/chessboard/freight/carrierPlans.xml"); CarrierVehicleTypes types = new CarrierVehicleTypes(); new CarrierVehicleTypeReader(types).readFile("input/usecases/chessboard/freight/vehicleTypes.xml"); new CarrierVehicleTypeLoader(carriers).loadVehicleTypes(types); CarrierPlanStrategyManagerFactory strategyManagerFactory = createStrategyManagerFactory(types, controler); CarrierScoringFunctionFactory scoringFunctionFactory = createScoringFunctionFactory(scenario.getNetwork()); CarrierModule carrierController = new CarrierModule(carriers, strategyManagerFactory, scoringFunctionFactory); controler.addOverridingModule(carrierController); prepareFreightOutputDataAndStats(scenario, controler.getEvents(), controler, carriers); controler.run(); }
@Test public final void testLanesInvertedNetworkRouting() { InvertedNetworkRoutingTestFixture f = new InvertedNetworkRoutingTestFixture(false, true, false); f.scenario.getConfig().controler().setOutputDirectory(testUtils.getOutputDirectory()); Controler c = new Controler(f.scenario); c.getConfig().controler().setDumpDataAtEnd(false); c.getConfig().controler().setCreateGraphs(false); final InvertedNetworkRoutingTestEventHandler testHandler = new InvertedNetworkRoutingTestEventHandler(); c.addControlerListener(new StartupListener(){ @Override public void notifyStartup(StartupEvent event) { event.getServices().getEvents().addHandler(testHandler); } }); c.run(); Assert.assertTrue("No traffic on link", testHandler.hadTrafficOnLink25); }
public static void run(boolean otfvis, int lastIteration) { // load config Config config = ConfigUtils.loadConfig(CONFIG_FILE, new DvrpConfigGroup(), new OTFVisConfigGroup()); config.controler().setLastIteration(lastIteration); config.addConfigConsistencyChecker(new DvrpConfigConsistencyChecker()); config.checkConsistency(); // load scenario Scenario scenario = ScenarioUtils.loadScenario(config); // setup controler Controler controler = new Controler(scenario); controler.addOverridingModule(new DvrpModule()); controler.addOverridingModule(new OneTaxiModule(TAXIS_FILE)); controler.configureQSimComponents(DvrpQSimComponents.activateModes(TransportMode.taxi)); if (otfvis) { controler.addOverridingModule(new OTFVisLiveModule()); // OTFVis visualisation } // run simulation controler.run(); }
@Override public void addHandler(final EventHandler handler) { addOverridingModule(new AbstractModule() { @Override public void install() { addEventHandlerBinding().toInstance(handler); } }); }
builder.setNetwork( createTriangularNetwork() ) ; Scenario scenario = builder.build() ; Controler controler = new Controler(scenario); controler.run(); LeastCostPathTreeExtended lcpte = new LeastCostPathTreeExtended(controler.getLinkTravelTimes(), controler.createTravelDisutilityCalculator(), (RoadPricingSchemeImpl) controler.getScenario().getScenarioElement(RoadPricingScheme.ELEMENT_NAME));
public TestControler(final Scenario scenario, final StrategyManager manager) { controler = new Controler( scenario ) ; controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setWriteEventsInterval(1); controler.getConfig().controler().setDumpDataAtEnd(false); this.manager = manager ; controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(StrategyManager.class).toProvider(new com.google.inject.Provider<StrategyManager>() { @Override public StrategyManager get() { return new Provider<StrategyManager>() { @Override public StrategyManager get() { return myLoadStrategyManager(); } }.get(); } }).in(Singleton.class); } }); }
controller = new Controler( scenario ); controller.getEvents().addHandler(eventsMonitors); controller.getEvents().addHandler(handler); controller.addOverridingQSimModule( new AbstractQSimModule() { @Override protected void configureQSim() { this.bind(Replanner.class).in( Singleton.class ) ; controller.addOverridingModule(new AbstractModule(){ @Override public void install() {
@Test public void controlerHandlesExceptionCorrectly() { Config config = utils.loadConfig("test/scenarios/equil/config_plans1.xml"); // config.qsim().setUsingThreadpool(false); Controler controler = new Controler(config); controler.getEvents().addHandler(new LinkLeaveEventHandler() { @Override public void handleEvent(LinkLeaveEvent event) { throw new RuntimeException("Haha, I hope the QSim exits cleanly."); } @Override public void reset(int iteration) { } }); try { controler.run(); } catch (RuntimeException e) { // That's fine. Only timeout is bad, which would mean qsim would hang on an Exception in an EventHandler. } }
public RunSimpleResponsiveSignalExample() { final Config config = defineConfig(); final Scenario scenario = defineScenario(config); controler = new Controler(scenario); // add the general signals module // controler.addOverridingModule(new SignalsModule()); Signals.configure( controler ); // add the responsive signal as a controler listener controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(SimpleResponsiveSignal.class).asEagerSingleton(); addControlerListenerBinding().to(SimpleResponsiveSignal.class); } }); }
@Override public void run() { matsimControler.run(); }
@Test public void testTerminationCriterion() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config.xml")); config.controler().setOutputDirectory(utils.getOutputDirectory()); Controler controler = new Controler(config); controler.setTerminationCriterion(new TerminationCriterion() { @Override public boolean continueIterations(int iteration) { return false; } }); controler.run(); }
public Controler(final String configFilename) { this.controler = new org.matsim.core.controler.Controler(configFilename); }
public Scenario getScenario() { return this.controler.getScenario() ; }
public void setOverwriteFiles(final boolean overwriteFiles) { this.controler.getConfig().controler().setOverwriteFileSetting( overwriteFiles ? OutputDirectoryHierarchy.OverwriteFileSetting.overwriteExistingFiles : OutputDirectoryHierarchy.OverwriteFileSetting.failIfDirectoryExists ); }