flatland.envs.line_generators moduleΒΆ

Line generators (railway undertaking, β€œEVU”).

class flatland.envs.line_generators.BaseLineGen(speed_ratio_map: Mapping[float, float] = None, seed: int = 1)[source]ΒΆ

Bases: object

generate(rail: flatland.core.transition_map.GridTransitionMap, num_agents: int, hints: Any = None, num_resets: int = 0, np_random: numpy.random.mtrand.RandomState = None) → flatland.envs.timetable_utils.Line[source]ΒΆ
class flatland.envs.line_generators.SparseLineGen(speed_ratio_map: Mapping[float, float] = None, seed: int = 1)[source]ΒΆ

Bases: flatland.envs.line_generators.BaseLineGen

This is the line generator which is used for Round 2 of the Flatland challenge. It produces lines to railway networks provided by sparse_rail_generator. :param speed_ratio_map: Speed ratios of all agents. They are probabilities of all different speeds and have to

add up to 1.
Parameters:seed – Initiate random seed generator
decide_orientation(rail, start, target, possible_orientations, np_random: numpy.random.mtrand.RandomState) → int[source]ΒΆ
generate(rail: flatland.core.transition_map.GridTransitionMap, num_agents: int, hints: dict, num_resets: int, np_random: numpy.random.mtrand.RandomState) → flatland.envs.timetable_utils.Line[source]ΒΆ

The generator that assigns tasks to all the agents :param rail: Rail infrastructure given by the rail_generator :param num_agents: Number of agents to include in the line :param hints: Hints provided by the rail_generator These include positions of start/target positions :param num_resets: How often the generator has been reset. :return: Returns the generator to the rail constructor

flatland.envs.line_generators.line_from_file(filename, load_from_package=None) → Callable[[flatland.core.transition_map.GridTransitionMap, int, Optional[Any], Optional[int]], flatland.envs.timetable_utils.Line][source]ΒΆ

Utility to load pickle file

Parameters:
input_file : Pickle file generated by env.save() or editor
Returns:
Tuple[List[Tuple[int,int]], List[Tuple[int,int]], List[Tuple[int,int]], List[float]]

initial positions, directions, targets speeds

flatland.envs.line_generators.sparse_line_generator(speed_ratio_map: Mapping[float, float] = None, seed: int = 1) → Callable[[flatland.core.transition_map.GridTransitionMap, int, Optional[Any], Optional[int]], flatland.envs.timetable_utils.Line][source]ΒΆ
flatland.envs.line_generators.speed_initialization_helper(nb_agents: int, speed_ratio_map: Mapping[float, float] = None, seed: int = None, np_random: numpy.random.mtrand.RandomState = None) → List[float][source]ΒΆ
Parameters:
nb_agents : int

The number of agents to generate a speed for

speed_ratio_map : Mapping[float,float]

A map of speeds mappint to their ratio of appearance. The ratios must sum up to 1.

Returns:
List[float]

A list of size nb_agents of speeds with the corresponding probabilistic ratios.