I hope it’s okay to cross-post this here from comp.lang.prolog? We’re
going to be using SWI Prolog and SWISH for this project.
Hi all! I hope you’re doing well.
I’m attempting to help with the design of a scheduling system to allow
for work at a site while maintaining social distancing and it seems like
a perfect job for Prolog. Before diving in, I thought it would be
prudent to ask if there are existing systems or software already that do
this. It doesn’t have to be polished, even a library or paper would be
appreciated.
Here’s the problem description.
-
Classes of information for the goals, input by the user at the beginning of a run:
- project activities, rated 1-10 in terms of priority
- people associated with each project activity
- those people’s transportation options (car, public)
- equipment needed for each activity, labeled by name
- schedule for such activities during the week (some activities have a prescribed timing each day)
- site map - a geometric schematic of the rooms of work area, and the equipment placed in the correct rooms (include bathroom)
- location of people’s home desks/workstations in the site(s)
- specific personal constraints on when each person can’t be onsite.
-
Classes of information for the constraints, input by the user at the beginning of a run:
- limit on # of people onsite at any one time (the smaller the better)
- limit on hours site can be open (the fewer the better)
- how many hours of empty time between shifts (the greater the better)
- max distance allowable between people as they work (the greater the better)
- no. of people allowed passing in a hallway at any one time (the fewer the better)
-
General constants
- speed of people walking
given those data, the task is to output the top N scenarios for who
goes in during what time of day and what day of week which optimally
meets the constraints of #2 and satisfies the project activities in #1.
Any information would be greatly appreciated.
Warm regards, stay safe and be well,
~Simon Forman