Package org.matsim.core.controler
Class Controler
- java.lang.Object
-
- org.matsim.core.controler.Controler
-
- All Implemented Interfaces:
Runnable
,AllowsConfiguration
,ControlerI
,IterationCounter
,MatsimServices
public final class Controler extends Object implements ControlerI, MatsimServices, AllowsConfiguration
The Controler is responsible for complete simulation runs, including the initialization of all required data, running the iterations and the replanning, analyses, etc.- Author:
- mrieser
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Controler.DefaultFiles
-
Field Summary
Fields Modifier and Type Field Description static PatternLayout
DEFAULTLOG4JLAYOUT
static String
DIRECTORY_ITERS
static String
DIVIDER
-
Method Summary
-
-
-
Field Detail
-
DIRECTORY_ITERS
public static final String DIRECTORY_ITERS
- See Also:
- Constant Field Values
-
DIVIDER
public static final String DIVIDER
- See Also:
- Constant Field Values
-
DEFAULTLOG4JLAYOUT
public static final PatternLayout DEFAULTLOG4JLAYOUT
-
-
Constructor Detail
-
Controler
public Controler(String[] args)
Initializes a new instance of Controler with the given arguments.- Parameters:
args
- The arguments to initialize the services with.args[0]
is expected to contain the path to a configuration file,args[1]
, if set, is expected to contain the path to a local copy of the DTD file used in the configuration file.
-
-
Method Detail
-
getStopwatch
public IterationStopWatch getStopwatch()
- Specified by:
getStopwatch
in interfaceMatsimServices
-
getLinkTravelTimes
public final TravelTime getLinkTravelTimes()
- Specified by:
getLinkTravelTimes
in interfaceMatsimServices
-
getTripRouterProvider
public final com.google.inject.Provider<TripRouter> getTripRouterProvider()
Gives access to aTripRouter
instance. This is a routing service which you can use to calculate routes, e.g. from your own replanning code or your own within-day replanning agent code. You get a Provider (and not an instance directly) because your code may want to later create more than one instance. A TripRouter is not guaranteed to be thread-safe, so you must get() an instance for each thread if you plan to write multi-threaded code. SeeTripRouter
for more information and pointers to examples.- Specified by:
getTripRouterProvider
in interfaceMatsimServices
-
createTravelDisutilityCalculator
public final TravelDisutility createTravelDisutilityCalculator()
- Specified by:
createTravelDisutilityCalculator
in interfaceMatsimServices
-
getLeastCostPathCalculatorFactory
public final LeastCostPathCalculatorFactory getLeastCostPathCalculatorFactory()
- Specified by:
getLeastCostPathCalculatorFactory
in interfaceMatsimServices
-
getScoringFunctionFactory
public final ScoringFunctionFactory getScoringFunctionFactory()
- Specified by:
getScoringFunctionFactory
in interfaceMatsimServices
-
getConfig
public final Config getConfig()
- Specified by:
getConfig
in interfaceMatsimServices
-
getScenario
public final Scenario getScenario()
- Specified by:
getScenario
in interfaceMatsimServices
-
getEvents
public final EventsManager getEvents()
- Specified by:
getEvents
in interfaceMatsimServices
-
getInjector
public final com.google.inject.Injector getInjector()
- Specified by:
getInjector
in interfaceMatsimServices
-
getLinkStats
@Deprecated public final CalcLinkStats getLinkStats()
Deprecated.Do not use this, as it may not contain values in every iteration- Specified by:
getLinkStats
in interfaceMatsimServices
-
getVolumes
public final VolumesAnalyzer getVolumes()
- Specified by:
getVolumes
in interfaceMatsimServices
-
getScoreStats
public final ScoreStats getScoreStats()
- Specified by:
getScoreStats
in interfaceMatsimServices
-
getTravelDisutilityFactory
public final TravelDisutilityFactory getTravelDisutilityFactory()
- Specified by:
getTravelDisutilityFactory
in interfaceMatsimServices
-
getStrategyManager
@Deprecated public final StrategyManager getStrategyManager()
Deprecated.-- try to use services.addPlanStrategyFactory or services.addPlanSelectoryFactory. There are cases when this does not work, which is in particular necessary if you need to re-configure the StrategyManager during the iterations, and you cannot do this before the iterations start. In such cases, using this method may be ok. kai/mzilske, aug'14- Specified by:
getStrategyManager
in interfaceMatsimServices
- Returns:
- Returns the
StrategyManager
used for the replanning of plans.
-
getControlerIO
public OutputDirectoryHierarchy getControlerIO()
- Specified by:
getControlerIO
in interfaceMatsimServices
-
getIterationNumber
public Integer getIterationNumber()
- Specified by:
getIterationNumber
in interfaceIterationCounter
-
addControlerListener
public void addControlerListener(ControlerListener controlerListener)
- Specified by:
addControlerListener
in interfaceMatsimServices
-
setScoringFunctionFactory
public final void setScoringFunctionFactory(ScoringFunctionFactory scoringFunctionFactory)
-
setTerminationCriterion
public final void setTerminationCriterion(TerminationCriterion terminationCriterion)
-
addOverridingModule
public final Controler addOverridingModule(AbstractModule abstractModule)
- Specified by:
addOverridingModule
in interfaceAllowsConfiguration
-
setModules
public final void setModules(AbstractModule... modules)
-
addOverridingQSimModule
public final Controler addOverridingQSimModule(AbstractQSimModule qsimModule)
- Specified by:
addOverridingQSimModule
in interfaceAllowsConfiguration
-
addQSimModule
public final Controler addQSimModule(AbstractQSimModule qsimModule)
- Specified by:
addQSimModule
in interfaceAllowsConfiguration
-
configureQSimComponents
public final Controler configureQSimComponents(QSimComponentsConfigurator configurator)
Only use if you know what you are doing, for experts only.- Specified by:
configureQSimComponents
in interfaceAllowsConfiguration
-
-