Skip to main content

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:

  1. Have minimum one volunteer for each day.
  2. Fill chat shifts.
  3. Have a second volunteer even on phone days.
  4. Employ observers on days when there is only phone shift.

Objective:

Maximize filled shifts.


Usage

  1. Select your language: EN/HU/CN
  2. Export corresponding data_XX.csv file into a spreadsheet, fill in your data, then export back into this file.
  3. Execute the program in the selected language:

python3 schedule.py XX

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

helpline-scheduler-2019.4.7.post2.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file helpline-scheduler-2019.4.7.post2.tar.gz.

File metadata

  • Download URL: helpline-scheduler-2019.4.7.post2.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for helpline-scheduler-2019.4.7.post2.tar.gz
Algorithm Hash digest
SHA256 2d1c75a008bc0aac9c14fc0a85874eb677e0172cafb5909ba22d1b1e233e4a62
MD5 9b7d873929d6cd1a709456c61cb403ae
BLAKE2b-256 e3fdf7de1277c113a0e80c159139cae7f8fd9ff726ad7d2fb5b5d52d5fef2d22

See more details on using hashes here.

File details

Details for the file helpline_scheduler-2019.4.7.post2-py3-none-any.whl.

File metadata

  • Download URL: helpline_scheduler-2019.4.7.post2-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for helpline_scheduler-2019.4.7.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 21b9f28ea6faf875c5d93e3f39af8edaa5aa2d1a6cc39cef4d53cc0b2c45ca5b
MD5 fe28ee3f24b2be69d56a4f8a318a41d7
BLAKE2b-256 8b7efe6052028050d9e1da2707c19f43a8fb0c7c52a3f869e0d93125a17f5793

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page