Skip to content

intelligent rostering agent for the rostering task environment

Notifications You must be signed in to change notification settings

vmjulia/Rostering-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Rostering-agent

Intelligent rostering agent for the rostering task environment. It must:

  1. Cover all days, hours and units for which a demand forecast is provided.
  2. Minimize total costs given by regular labor costs and overtime bonus. (Calculation of the overtime bonus: If employees work more than more than 40 hours per week, they receive the overtime bonus (on top of their regular compensation) for these additional hours.)
  3. Fulfill the predicted demand.
  4. Meet labor regulations in that no employee works more than 10 hours per day and 50 hours per week.
  5. Only assign employees to a given period if they are available for that period.
  6. Only assign employees to a given unit if they possess the required skill for that unit (unit = skill). E.g. an employee must have the skill “kitchen” to work in unit “kitchen”.
  7. Only assign an employee to one unit at the same time. E.g. an employee cannot work in the kitchen and at the bar in parallel.

The output roster has the following form:

  1. The roster is given by set of key value pairs (i.e. a Python dictionary).
  2. Its key is a tuple that identifies each element of the roster by the day, hour and unit, e.g. (day, hour, unit)
  3. Its value is a list of employees assigned to that particular element of the roster, e.g. [employeeID1, employeeID2, ...]
  4. E.g. {(day, hour, unit): [employeeID1, employeeID2, ...], ...}.

About

intelligent rostering agent for the rostering task environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages