ShiftSchedule: fewest officers on cyclic consecutive-period shifts
covering every period's requirement (difference constraints and binary
search; Bartholdi, Orlin and Ratliff 1980). ReliefFactor:
days_per_year / (days_per_year - days_off). WorkloadStaffing:
Wilson and Weiss (2012) obligated time, officers on duty and assigned.
Usage
ShiftSchedule(requirements, shift_length)
ReliefFactor(days_off, days_per_year = 365)
WorkloadStaffing(
calls,
handle_minutes,
units_per_call = 1,
call_share = 0.5,
shift_hours = 8,
relief = 1
)Arguments
- requirements
Integer requirement per period.
- shift_length
Shift length in periods.
- days_off, days_per_year
Leave days and year length.
- calls, handle_minutes
Calls and handling minutes by call type.
- units_per_call
Units per call by type.
Fraction of a shift for calls for service.
- shift_hours
Shift length (hours).
- relief
Shift-relief factor.
References
Bartholdi, J. J., Orlin, J. B. and Ratliff, H. D. (1980). Cyclic scheduling via integer programs with circular ones. Operations Research 28, 1074-1085.
Examples
ShiftSchedule(c(2, 2, 3, 5, 5, 4), 3)$total
#> [1] 7
ReliefFactor(151)
#> [1] 1.705607
