Skip to contents

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.

call_share

Fraction of a shift for calls for service.

shift_hours

Shift length (hours).

relief

Shift-relief factor.

Value

List or numeric.

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