# builders.domain.scheduling.task_duration
Domain specification
# SimulatedTaskDuration
A domain must inherit this class if the task duration requires sampling from a simulation.
# sample_task_duration SimulatedTaskDuration
sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Sample, store and return task duration for the given task in the given mode.
# _sample_task_duration SimulatedTaskDuration
_sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode.
# UncertainMultivariateTaskDuration
A domain must inherit this class if the task duration is uncertain and follows a know multivariate distribution.
# get_task_duration_distribution UncertainMultivariateTaskDuration
get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the multivariate Distribution of the duration of the given task in the given mode. Multivariate seetings need to be provided.
# sample_task_duration SimulatedTaskDuration
sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying multiivariate distribution.
# _get_task_duration_distribution UncertainMultivariateTaskDuration
_get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the multivariate Distribution of the duration of the given task in the given mode. Multivariate seetings need to be provided.
# _sample_task_duration SimulatedTaskDuration
_sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying multiivariate distribution.
# UncertainUnivariateTaskDuration
A domain must inherit this class if the task duration is uncertain and follows a know univariate distribution.
# get_task_duration_distribution UncertainMultivariateTaskDuration
get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the multivariate Distribution of the duration of the given task in the given mode. Multivariate seetings need to be provided.
# sample_task_duration SimulatedTaskDuration
sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying multiivariate distribution.
# _get_task_duration_distribution UncertainMultivariateTaskDuration
_get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the univariate Distribution of the duration of the given task in the given mode.
# _sample_task_duration SimulatedTaskDuration
_sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying univariate distribution.
# UncertainBoundedTaskDuration
A domain must inherit this class if the task duration is known to be between a lower and upper bound and follows a known distribution between these bounds.
# get_task_duration_distribution UncertainMultivariateTaskDuration
get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the multivariate Distribution of the duration of the given task in the given mode. Multivariate seetings need to be provided.
# get_task_duration_lower_bound UncertainBoundedTaskDuration
get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# get_task_duration_upper_bound UncertainBoundedTaskDuration
get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# sample_task_duration SimulatedTaskDuration
sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying multiivariate distribution.
# _get_task_duration_distribution UncertainMultivariateTaskDuration
_get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> DiscreteDistribution
Return the Distribution of the duration of the given task in the given mode. The distribution returns values beween the defined lower and upper bounds.
# _get_task_duration_lower_bound UncertainBoundedTaskDuration
_get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# _get_task_duration_upper_bound UncertainBoundedTaskDuration
_get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# _sample_task_duration SimulatedTaskDuration
_sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying univariate bounded distribution.
# UniformBoundedTaskDuration
A domain must inherit this class if the task duration is known to be between a lower and upper bound and follows a uniform distribution between these bounds.
# get_task_duration_distribution UncertainMultivariateTaskDuration
get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the multivariate Distribution of the duration of the given task in the given mode. Multivariate seetings need to be provided.
# get_task_duration_lower_bound UncertainBoundedTaskDuration
get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# get_task_duration_upper_bound UncertainBoundedTaskDuration
get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# sample_task_duration SimulatedTaskDuration
sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying multiivariate distribution.
# _get_task_duration_distribution UncertainMultivariateTaskDuration
_get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> DiscreteDistribution
Return the Distribution of the duration of the given task in the given mode. The distribution is uniform between the defined lower and upper bounds.
# _get_task_duration_lower_bound UncertainBoundedTaskDuration
_get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# _get_task_duration_upper_bound UncertainBoundedTaskDuration
_get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# _sample_task_duration SimulatedTaskDuration
_sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying univariate uniform bounded distribution.
# EnumerableTaskDuration
A domain must inherit this class if the task duration for each task is enumerable.
# get_task_duration_distribution UncertainMultivariateTaskDuration
get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the multivariate Distribution of the duration of the given task in the given mode. Multivariate seetings need to be provided.
# get_task_duration_lower_bound UncertainBoundedTaskDuration
get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# get_task_duration_upper_bound UncertainBoundedTaskDuration
get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# sample_task_duration SimulatedTaskDuration
sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying multiivariate distribution.
# _get_task_duration_distribution UncertainMultivariateTaskDuration
_get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> DiscreteDistribution
Return the Distribution of the duration of the given task in the given mode. as an Enumerable.
# _get_task_duration_lower_bound UncertainBoundedTaskDuration
_get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# _get_task_duration_upper_bound UncertainBoundedTaskDuration
_get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# _sample_task_duration SimulatedTaskDuration
_sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode.
# DeterministicTaskDuration
A domain must inherit this class if the task durations are known and deterministic.
# get_task_duration DeterministicTaskDuration
get_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the fixed deterministic task duration of the given task in the given mode.
# get_task_duration_distribution UncertainMultivariateTaskDuration
get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
) -> Distribution
Return the multivariate Distribution of the duration of the given task in the given mode. Multivariate seetings need to be provided.
# get_task_duration_lower_bound UncertainBoundedTaskDuration
get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# get_task_duration_upper_bound UncertainBoundedTaskDuration
get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# sample_task_duration SimulatedTaskDuration
sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode, sampled from the underlying multiivariate distribution.
# _get_task_duration DeterministicTaskDuration
_get_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the fixed deterministic task duration of the given task in the given mode.
# _get_task_duration_distribution UncertainMultivariateTaskDuration
_get_task_duration_distribution(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0,
multivariate_settings: Optional[dict[str, int]] = None
)
Return the Distribution of the duration of the given task in the given mode. Because the duration is deterministic, the distribution always returns the same duration.
# _get_task_duration_lower_bound UncertainBoundedTaskDuration
_get_task_duration_lower_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the lower bound for the task duration of the given task in the given mode.
# _get_task_duration_upper_bound UncertainBoundedTaskDuration
_get_task_duration_upper_bound(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return the upper bound for the task duration of the given task in the given mode.
# _sample_task_duration SimulatedTaskDuration
_sample_task_duration(
self,
task: int,
mode: Optional[int] = 1,
progress_from: Optional[float] = 0.0
) -> int
Return a task duration for the given task in the given mode.