Skip to content

Joseph-Willem-Ricci/poodle-scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

During the UPenn MOSA Fall 2022 Hackathon, my teammate Benjamin Lam and I developed a terminal application in Java that schedules a team of employees based on each person's availability and desired number of shifts.

Since then, I have been working on turning this project into a full-stack web application using Vue and Spring, and hosted at www.poodlescheduler.com

Poodle is inspired by Simon, a young man with muscular dystrophy whom I had the privilege of working as a caregiver for, over two years in Copenhagen, DK. In Denmark, the disabled receive government-funded care, ensuring them equal opportunity, mobility, and agency. While just, and equitable, it became clear that the program also inadvertently imposed certain disadvantaged.

Each month, Simon spent hours marking a calendar with colored pencils, trying to find a schedule that aligned with each caregiver's availability and quota; an effort that is not required by those who do not receive care.

I realized that this represents a classic Constraint Satisfaction Problem during my Artificial Intelligence class in the semester after the Hackathon. In this context, one caregiver can be assigned to any day, and since the shifts are 24 hours long, no one can work consecutive days. I was excited to discover that the solution Benjamin and I came up with was essentially the AC-3 algorithm with forward checking and constraint propagation.

Moving forward, I hope to:

  • build a log-in system to for asynchronous availability entry
  • generalize the algorithm and interface to allow for flexible, custom scheduling beyond the current one-employee-per-day model
  • improve search efficiency through heuristic variable selection and constraint learning.

Moreover, I'm excited by research that leverages neural networks and reinforcement learning in "hybrid" CSP solvers to learn branching heuristics that more efficiently explore the search space, and by the prospect of learning heuristics that can transfer between problems.

About

Automatic shift scheduler for round-the-clock care.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages