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]#
generate_rand_numbers(np_random: RandomState)[source]#
get_process_data()[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