bunkat / schedule

Automatically schedules tasks, work items, meetings, reservations, etc. Schedule takes into account working hours, holidays/days off, people's work schedule/vacation time, as well as task dependencies.
http://bunkat.github.io/schedule/
MIT License
429 stars 87 forks source link

Algorithm used? #3

Open mcbain opened 10 years ago

mcbain commented 10 years ago

Do you use a known algorithm to find the best schedule ?

bunkat commented 10 years ago

It's based on standard critical path/float algorithms (see http://www.pmexamsmartnotes.com/how-to-calculate-critical-path-float-and-early-and-late-starts-and-finishes/ for an example on how to calculate the critical path and float). I use the calculated float and a couple of other properties (priorities, dependencies, etc) to sort the tasks and then schedule them in order at the first possible time when all of their dependencies are met.