sampo.scheduler.heft.time_computaion#

Overview#

Function#

calculate_working_time_cascade(node, appointed_worker, work_estimator)

Calculate the working time of the appointed workers at a current job for prioritization.

calculate_working_time(work_unit, appointed_worker, work_estimator)

Calculate the working time of the appointed workers at a current job for final schedule

work_priority(node, comp_cost, work_estimator)

Calculate the average time to complete the work when assigning the minimum and maximum number of employees

Attributes#

PRIORITY_DELTA

-

Functions#

sampo.scheduler.heft.time_computaion.calculate_working_time_cascade(node: sampo.schemas.graph.GraphNode, appointed_worker: list[sampo.schemas.resources.Worker], work_estimator: sampo.schemas.time_estimator.WorkTimeEstimator) sampo.schemas.time.Time#

Calculate the working time of the appointed workers at a current job for prioritization. O(1) - at worst case |inseparable_edges|

Parameters:
  • appointed_worker

  • work_estimator

  • node – the target node

Returns:

working time

sampo.scheduler.heft.time_computaion.calculate_working_time(work_unit: sampo.schemas.works.WorkUnit, appointed_worker: list[sampo.schemas.resources.Worker], work_estimator: sampo.schemas.time_estimator.WorkTimeEstimator = DefaultWorkEstimator) sampo.schemas.time.Time#

Calculate the working time of the appointed workers at a current job for final schedule

Returns:

working time

sampo.scheduler.heft.time_computaion.work_priority(node: sampo.schemas.graph.GraphNode, comp_cost: Callable[[sampo.schemas.graph.GraphNode, list[sampo.schemas.resources.Worker], sampo.schemas.time_estimator.WorkTimeEstimator], sampo.schemas.time.Time], work_estimator: sampo.schemas.time_estimator.WorkTimeEstimator) float#

Calculate the average time to complete the work when assigning the minimum and maximum number of employees for the correct calculations of rank in prioritization O(sum_of_max_counts_of_workers) of current work

Parameters:
  • node – the target node

  • work_estimator

  • comp_cost – function for calculating working time (calculate_working_time)

Returns:

average working time

Attributes#

sampo.scheduler.heft.time_computaion.PRIORITY_DELTA = 1#