Workshift scheduler for a helpline
Project description
Workshift scheduler for a helpline
Code written in Python finds the best possible schedule for volunteers while incorporating constrains and special requirements using CP-SAT Solver (Constraint Programming - boolean SATisfiability problem Solver).
Java version is in development.
The problem
Arranging volunteers for a helpline service for the period of one month.
There are three types of work that could be done on the same day:
- Phone shift: Every day.
- Chat shift: Mondays and Wednesdays.
- Observer shift: Any day.
Constraints:
Properties of each volunteer:
- Available days.
- Function: doing phone, chat, both or observation for training purposes.
- Maximum amount of weekend shifts.
- Whether their shifts have to be on separate weeks.
- Whether they welcome observers.
- Whether they want to work alone.
- Whether they cannot yet work alone.
- List of people they do not want to work with.
Each volunteer has to have 4 days between their shifts.
Priorities:
- Have minimum one volunteer for each day.
- Fill chat shifts.
- Have a second volunteer even on phone days.
- Employ observers on days when there is only phone shift.
Objective:
Maximize filled shifts.
Usage
- Select your language: EN/HU/CN
- Export corresponding data_XX.csv file into a spreadsheet, fill in your data, then export back into this file.
- Execute the program in the selected language:
python3 schedule.py XX
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for helpline-scheduler-2019.4.7.post2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d1c75a008bc0aac9c14fc0a85874eb677e0172cafb5909ba22d1b1e233e4a62 |
|
MD5 | 9b7d873929d6cd1a709456c61cb403ae |
|
BLAKE2b-256 | e3fdf7de1277c113a0e80c159139cae7f8fd9ff726ad7d2fb5b5d52d5fef2d22 |
Close
Hashes for helpline_scheduler-2019.4.7.post2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21b9f28ea6faf875c5d93e3f39af8edaa5aa2d1a6cc39cef4d53cc0b2c45ca5b |
|
MD5 | fe28ee3f24b2be69d56a4f8a318a41d7 |
|
BLAKE2b-256 | 8b7efe6052028050d9e1da2707c19f43a8fb0c7c52a3f869e0d93125a17f5793 |