sampo.scheduler.resource.coordinate_descent#

Overview#

Classes#

CoordinateDescentResourceOptimizer

Class that implements optimization the number of resources by discrete analogue of coordinate descent.

Classes#

class sampo.scheduler.resource.coordinate_descent.CoordinateDescentResourceOptimizer(one_dimension_optimizer: Callable[[int, int, Callable[[int], sampo.schemas.time.Time]], sampo.schemas.time.Time])#

Bases: sampo.scheduler.resource.base.ResourceOptimizer

Class that implements optimization the number of resources by discrete analogue of coordinate descent.

optimize_resources(worker_pool: sampo.schemas.contractor.WorkerContractorPool, worker_team: list[sampo.schemas.resources.Worker], optimize_array: numpy.ndarray, 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, that search optimal number of resources by coordinate descent.

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 the worker team