# builders.domain.scheduling.time_lag

Domain specification

Domain

# TimeLag

Defines a time lag with both a minimum time lag and maximum time lag.

# Constructor TimeLag

TimeLag(
  minimum_time_lag,
maximum_time_lags
)

Initialize self. See help(type(self)) for accurate signature.

# MinimumOnlyTimeLag

Defines a minimum time lag.

# Constructor MinimumOnlyTimeLag

MinimumOnlyTimeLag(
  minimum_time_lag
)

Initialize self. See help(type(self)) for accurate signature.

# MaximumOnlyTimeLag

Defines a maximum time lag.

# Constructor MaximumOnlyTimeLag

MaximumOnlyTimeLag(
  maximum_time_lags
)

Initialize self. See help(type(self)) for accurate signature.

# WithTimeLag

A domain must inherit this class if there are minimum and maximum time lags between some of its tasks.

# get_time_lags WithTimeLag

get_time_lags(
  self
) -> dict[int, dict[int, TimeLag]]

Return nested dictionaries where the first key is the id of a task (int) and the second key is the id of another task (int). The value is a TimeLag object containing the MINIMUM and MAXIMUM time (int) that needs to separate the end of the first task to the start of the second task.

e.g. { 12:{ 15: TimeLag(5, 10), 16: TimeLag(5, 20), 17: MinimumOnlyTimeLag(5), 18: MaximumOnlyTimeLag(15), } }

# Returns

A dictionary of TimeLag objects.

# _get_time_lags WithTimeLag

_get_time_lags(
  self
) -> dict[int, dict[int, TimeLag]]

Return nested dictionaries where the first key is the id of a task (int) and the second key is the id of another task (int). The value is a TimeLag object containing the MINIMUM and MAXIMUM time (int) that needs to separate the end of the first task to the start of the second task.

e.g. { 12:{ 15: TimeLag(5, 10), 16: TimeLag(5, 20), 17: MinimumOnlyTimeLag(5), 18: MaximumOnlyTimeLag(15), } }

# Returns

A dictionary of TimeLag objects.

# WithoutTimeLag

A domain must inherit this class if there is no required time lag between its tasks.

# get_time_lags WithTimeLag

get_time_lags(
  self
) -> dict[int, dict[int, TimeLag]]

Return nested dictionaries where the first key is the id of a task (int) and the second key is the id of another task (int). The value is a TimeLag object containing the MINIMUM and MAXIMUM time (int) that needs to separate the end of the first task to the start of the second task.

e.g. { 12:{ 15: TimeLag(5, 10), 16: TimeLag(5, 20), 17: MinimumOnlyTimeLag(5), 18: MaximumOnlyTimeLag(15), } }

# Returns

A dictionary of TimeLag objects.

# _get_time_lags WithTimeLag

_get_time_lags(
  self
) -> dict[int, dict[int, TimeLag]]

Return nested dictionaries where the first key is the id of a task (int) and the second key is the id of another task (int). The value is a TimeLag object containing the MINIMUM and MAXIMUM time (int) that needs to separate the end of the first task to the start of the second task.