Live data from Hacker News

Employee Scheduling

developers.google.com

121–130 of 137 posts

Re: Employee Scheduling

#121
From "Ask HN: What algorithms should I research to code a conference scheduling app" https://news.ycombinator.com/item?id=15267804 :

> Resource scheduling, CSP (Constraint Satisfaction programming)

CSP: https://en.wikipedia.org/wiki/Constraint_satisfaction_proble...

Scheduling (production processes):

https://en.wikipedia.org/wiki/Scheduling_(production_process...

Scheduling (computing):

https://en.wikipedia.org/wiki/Scheduling_(computing)

... To an OS, a process thread has a priority and sometimes a CPU affinity.

From http://markmail.org/search/?q=list%3Aorg.python.omaha+pysche... :

Pyschedule:

- Src: https://github.com/timnon/pyschedule

From https://github.com/timnon/pyschedule :

> pyschedule is python package to compute resource-constrained task schedules. Some features are:

- precedence relations: e.g. task A should be done before task B

- resource requirements: e.g. task A can be done by resource X or Y

- resource capacities: e.g. resource X can only process a few tasks

Previous use-cases include:

- school timetables: assign teachers to classes

- beer brewing: assign equipment to brewing stages

- sport schedules: assign stadiums to games

... https://en.wikipedia.org/wiki/Slurm_Workload_Manager :

> Slurm is the workload manager on about 60% of the TOP500 supercomputers.[1]

Slurm uses a best fit algorithm based on Hilbert curve scheduling or fat tree network topology in order to optimize locality of task assignments on parallel computers.[2]

... https://en.wikipedia.org/wiki/Hilbert_curve_scheduling :

> [...] the Hilbert curve scheduling method turns a multidimensional task allocation problem into a one-dimensional space filling problem using Hilbert curves, assigning related tasks to locations with higher levels of proximity.[1] Other space filling curves may also be used in various computing applications for similar purposes.[2]

Re: Employee Scheduling

#122
Now do that with a few thousand employees, vacation request ranking/status and three different sets of thousands of pages of union contracts.

The above is something I actually worked on before.. The bitter irony, is they all just traded their vacation weeks as it came up anyway.

Re: Employee Scheduling

#123
post #54

Technical solution aside: I wrote a schedule for a team of ~20 co-workers for a 24/7 support shop. This required people change shifts / sleep schedules often. The schedule was a point of contention for years. After I volunteered to write the schedules, in 3 months I had everyone happy. It was not hard.....but.... The catch was that I did it manually for a month at a time with a wide ranging amount of changing priorit…

One of the senior teachers in my school used to organise schedule for 1000 pupils and 50+ teachers. With some minor things everything worked pretty damn well.Then they decided to get some software to do the same.Never ended up working...

It was one of the hardest things i wrote, making a schedule for students, teachers and the classes. Worked like a dream, written in pascal. They used it for years.

Re: Employee Scheduling

#124

Well now I want to spend a few hours using it to solve the peaceable queens problem: https://youtu.be/IN1fPtY9jYg

Sounds similar to n-Queens, check out

http://www.hakank.org/google_or_tools/nqueens.py

http://www.hakank.org/google_or_tools/nqueens2.py

http://www.hakank.org/google_or_tools/nqueens3.py

for inspiration

Re: Employee Scheduling

#125

Earlier quoted context omitted.

One of the senior teachers in my school used to organise schedule for 1000 pupils and 50+ teachers. With some minor things everything worked pretty damn well.Then they decided to get some software to do the same.Never ended up working...

It was one of the hardest things i wrote, making a schedule for students, teachers and the classes. Worked like a dream, written in pascal. They used it for years.

Huh, so did I. In Pascal.

It is still the most intricate software I’ve ever written in my 25 years of software dev, and I wrote it in high school.

I remember struggling with running out of RAM on the 4 megabyte school PCs.

Re: Employee Scheduling

#126
post #39

Any thoughts about the scheduling projects open sourced by staffjoy a few years ago, regarding the relevant schedule optimizers chosen? https://github.com/Staffjoy

Hey - I was the primary author of Staffjoy!

We had a few different algorithm iterations. One of our biggest learnings was that it's hard to build a generalized auto-scheduling algorithm. While most companies have similar needs at a surface level - things like local labor laws, cross-functional roles, breaks, and business quirks mean that you end up customizing the algorithm for most customers.

For the best auto-scheduling - Kronos is the incumbent, and Legion.co is probably the most advanced disruptor.

Re: Employee Scheduling

#127
post #41

Employee scheduling seems to be a problem common to a large number of businesses. Are the needs of most small/medium businesses currently being met in this area or is there an opportunity for providing tools in this space ?

See also the story of Staffjoy mentioned in another comment ( https://news.ycombinator.com/item?id=22583653 ) YC fellowship, they couldn't find a market, and shut down: https://hn.algolia.com/?q=staffjoy

Yup. Small businesses don't need auto-scheduling. Enterprises already have functional tools that are hard to displace (particularly due to internationalization, localization, and payroll needs). Mid-size businesses often need the customized deployments of enterprises, but don't have the budget.

Re: Employee Scheduling

#128
post #39

Any thoughts about the scheduling projects open sourced by staffjoy a few years ago, regarding the relevant schedule optimizers chosen? https://github.com/Staffjoy

Hey - I was the primary author of Staffjoy! We had a few different algorithm iterations. One of our biggest learnings was that it's hard to build a generalized auto-scheduling algorithm. While most companies have similar needs at a surface level - things like local labor laws, cross-functional roles, breaks, and business quirks mean that you end up customizing the algorithm for most customers. For the best auto-sched…

Thanks for replying! You gave money back to investors and open sourced your work. That's commendable behavior! I never forgot that story. As usual, the solution seems straightforward from 30,000 feet but once we go into the details, it turns out to be much more complicated. Noted about Kronos and Legion.

Have you done any further scheduling related work since Staffjoy?

Re: Employee Scheduling

#129
This looks nice but actually doesn't adress the actual challenges of scheduling.

It's rather easy to generate a schedule and most of the feasible variants are available online already (there aren't infinite possibilities on how to schedule shifts) - you fit it to a 7 day or a 28 day (or a multiple of 7) cycle and then copy paste.

The scheduling challenges occur when people need to take unexpected vacations or during vacation period when staffing is low.

Another challenge is the skill level of the individual employees which is usually not binary - can do work / cannot do work - since employees come to work to perform tasks and they don't always learn all of the tasks the first day.

Re: Employee Scheduling

#130

Earlier quoted context omitted.

> their ability to handle a lot of variable data and inputs and weigh them dynamically I dunno. Computers are pretty good at this one too, on different kinds of variance and weights. The largest problem I see is that everyone is discussing "either or" on this thread, while the clear winner is both.

They are far worse at it than humans. This is the difference between narrow AI and general AI. Humans can do millions of different complex tasks, and can adapt when the situation changes. Computers are terrible at updating their models automatically based on new information, as they don't have understanding of the bigger context. Worse still, software today has no way of analyzing and adjusting the assumptions it is…

People are (currently) better than computers at updating their models but I don’t think we’re particularly great at it. Look at how many business run on the “this is how we’ve always done it” model
Post reply on HN