flatland.envs.malfunction_generators module#
Malfunction generators for rail systems
- class flatland.envs.malfunction_generators.FileMalfunctionGen(env_dict=None, filename=None, load_from_package=None)[source]#
Bases:
ParamMalfunctionGen
- class flatland.envs.malfunction_generators.Malfunction(num_broken_steps)#
Bases:
tuple
- num_broken_steps: int#
Alias for field number 0
- class flatland.envs.malfunction_generators.MalfunctionParameters(malfunction_rate, min_duration, max_duration)#
Bases:
tuple
- malfunction_rate: float#
Alias for field number 0
- max_duration: int#
Alias for field number 2
- min_duration: int#
Alias for field number 1
- class flatland.envs.malfunction_generators.MalfunctionProcessData(malfunction_rate, min_duration, max_duration)#
Bases:
tuple
- malfunction_rate: float#
Alias for field number 0
- max_duration: int#
Alias for field number 2
- min_duration: int#
Alias for field number 1
- class flatland.envs.malfunction_generators.NoMalfunctionGen[source]#
Bases:
ParamMalfunctionGen
- class flatland.envs.malfunction_generators.ParamMalfunctionGen(parameters: MalfunctionParameters)[source]#
Bases:
object
Preserving old behaviour of using MalfunctionParameters for constructor, but returning MalfunctionProcessData in get_process_data. Data structure and content is the same.
- generate(np_random: RandomState) Malfunction [source]#
- flatland.envs.malfunction_generators.malfunction_from_file(filename: str, load_from_package=None) Tuple[Callable[[RandomState, bool], Malfunction], MalfunctionProcessData] [source]#
Utility to load pickle file
Parameters#
input_file : Pickle file generated by env.save() or editor
Returns#
generator, Tuple[float, int, int] with mean_malfunction_rate, min_number_of_steps_broken, max_number_of_steps_broken
- flatland.envs.malfunction_generators.malfunction_from_params(parameters: MalfunctionParameters) Tuple[Callable[[RandomState, bool], Malfunction], MalfunctionProcessData] [source]#
Utility to load malfunction from parameters
Parameters#
- parameterscontains all the parameters of the malfunction
malfunction_rate : float rate per timestep at which each agent malfunctions min_duration : int minimal duration of a failure max_number_of_steps_broken : int maximal duration of a failure
Returns#
generator, Tuple[float, int, int] with mean_malfunction_rate, min_number_of_steps_broken, max_number_of_steps_broken
- flatland.envs.malfunction_generators.no_malfunction_generator() Tuple[Callable[[RandomState, bool], Malfunction], MalfunctionProcessData] [source]#
Malfunction generator which generates no malfunctions
Parameters#
Nothing
Returns#
generator, Tuple[float, int, int] with mean_malfunction_rate, min_number_of_steps_broken, max_number_of_steps_broken
- flatland.envs.malfunction_generators.single_malfunction_generator(earlierst_malfunction: int, malfunction_duration: int) Tuple[Callable[[RandomState, bool], Malfunction], MalfunctionProcessData] [source]#
Malfunction generator which guarantees exactly one malfunction during an episode of an ACTIVE agent.
Parameters#
earlierst_malfunction: Earliest possible malfunction onset malfunction_duration: The duration of the single malfunction
Returns#
generator, Tuple[float, int, int] with mean_malfunction_rate, min_number_of_steps_broken, max_number_of_steps_broken