| File | Date | Author | Commit |
|---|---|---|---|
| volunteer-scheduler | 2019-04-08 |
|
[3b2bc4] new name |
| .gitignore | 2019-04-08 |
|
[cd9e90] Revert "Delete .gitignore" |
| LICENSE | 2019-04-08 |
|
[1f7e8c] Creating LICENSE file |
| README.md | 2019-04-08 |
|
[434604] Update README.md |
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.
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.
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.
Maximize filled shifts.
Requires 64-bit Python 3.7
pip3 install helpline-scheduler
Alternatively you can create your XX language extension by creating the corresponding data_XX.csv and language_XX.py files.
2. Export corresponding data/data_XX.csv file into a spreadsheet, fill in your data, then export back into this file.
3. Execute the program from its directory:
python3 schedule.py