# builders.domain.scheduling.task_duration

Domain specification

Domain

# 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.