sampo.scheduler.resource.base#

Overview#

Classes#

ResourceOptimizer

Base class to build different methods of resource optimization.

Classes#

class sampo.scheduler.resource.base.ResourceOptimizer#

Bases: abc.ABC

Base class to build different methods of resource optimization. Constructed methods minimize the quantity of resources.

abstract optimize_resources(worker_pool: sampo.schemas.contractor.WorkerContractorPool, worker_team: list[sampo.schemas.resources.Worker], optimize_array: numpy.ndarray | None, down_border: numpy.ndarray, up_border: numpy.ndarray, get_finish_time: Callable[[list[sampo.schemas.resources.Worker]], sampo.schemas.time.Time])#

The resource optimization module. Optimizes worker_team using get_finish_time metric. Should optimize worker_team in-place.

Parameters:
  • worker_pool – global resources pool

  • worker_team – worker team to optimize

  • optimize_array – a boolean array that says what positions should be optimized

  • down_border – down border of optimization

  • up_border – up border of optimization

  • get_finish_time – optimization function that should give execution time based on worker team