generalized_journey_time

crowdedness

crowdedness(load_factor: ndarray)
linreg(values)

gjt_model

class GJTCalculator(network: Network, travel_time: UniformAttribute, passenger_flow: UniformAttribute, frequency: CSRAttribute, train_capacity: UniformAttribute, logger: Logger = None)

Bases: object

Calculates the generalized journey time (GJT) for railway traffic demand. GJT is the perceived travel time for passengers that is composed of the in-train-time, the average waiting time and penalties for traveling in crowded trains and the fact that waiting time “counts more” than in-vehicle time. The formula for calculating GJT is as following

\[GJT = w \cdot TT + \frac{f}{2 \cdot freq}\]

where w is a crowdedness factor, TT is the in-vehicle travel time, f is a penalty factor for average waiting time and freq is the train frequency.

This class reads the passenger flow of every track segment, and for every OD-pair calculates:

  • The travel-time weighted average passenger flow based on the shortest path between O

    and D

  • The capacity of the OD route based on a general train frequency on the OD-route

  • The corresponding w of the OD-route

  • The travel time based on the shortest path calculation

  • factor f (possibly as a function of travel time)

  • GJT based on the above

average_passenger_flow()
crowdedness()
gjt()
update_travel_time()
class GJTModel(model_config: dict, validate_config=True)

Bases: TrackedModel

static get_schema_attributes() List[AttributeSpec]
initialize(**_)
setup(state: TrackedState, schema: AttributeSchema, logger: Logger, **_)
update(**_) Moment | None
class GJTTrackSegmentEntity(name: str | None = None, optional: bool | None = None, exclude: Iterable[str] | None = None, override_exclude: Iterable[str] | None = None)

Bases: TransportSegmentEntity

capacity
class GJTVirtualLinkEntity(name: str | None = None, optional: bool | None = None, exclude: Iterable[str] | None = None, override_exclude: Iterable[str] | None = None)

Bases: VirtualLinkEntity

capacity
max_speed
class TrackDemandNodeEntity(name: str | None = None, optional: bool | None = None, exclude: Iterable[str] | None = None, override_exclude: Iterable[str] | None = None)

Bases: PointEntity

frequency
gjt
train_capacity
convert_v1_v2(config)