MinAbsDifference
|
The "optimal" criteria is defined as the number of resources per shift that minimize the total absolute difference between the required resources per period and the actual scheduling found by the solver |
Runs the optimization solver |
- class pyworkforce.scheduling.MinAbsDifference(num_days: int, periods: int, shifts_coverage: dict, required_resources: list, max_period_concurrency: int, max_shift_concurrency: int, max_search_time: float = 120.0, num_search_workers=2, *args, **kwargs)[source]
The “optimal” criteria is defined as the number of resources per shift that minimize the total absolute difference between the required resources per period and the actual scheduling found by the solver
- Parameters:
- num_days: int,
Number of days needed to schedule
- periods: int,
Number of working periods in a day
- shifts_coverage: dict,
dict with structure {“shift_name”: “shift_array”} where “shift_array” is an array of size [periods] (p), 1 if shift covers period p, 0 otherwise
- required_resources: list,
Array of size [days, periods]
- max_period_concurrency: int,
Maximum resources that are allowed to shift in any period and day
- max_shift_concurrency: int,
Number of maximum allowed resources in the same shift
- max_search_time: float, default = 240
Maximum time in seconds to search for a solution
- num_search_workers: int, default = 2
Number of workers to search for a solution