|
|
|
|
|
by botexpert
3415 days ago
|
|
Not really machine learning. https://en.wikipedia.org/wiki/Nurse_scheduling_problem Above is a nice example. There has been some nice contests with the above problem and the ILP solvers work extremely fast and great and solve them to optimality. Although Staffjoy constraints might have been more general. Either way you could easily attack any custom problem with an ILP solver. It depends how long it would take to get a feasible solution and then how long to minimize the costs or fit the budget. In order to speed up the solver you might use ML but that would require previous data. Probably the only way to speed up the solver is to learn it through reinforcement learning on a batch of data. Takes time and time and time. Not to mention that your ILP solver has to be equipped to merge with any ML machinery you are using. |
|
In the old days, everything was a hard constraint. However, free trial users don't always put in problems that are solvable. I would get paged at 4AM about infeasible models, only to discover things like "this employee has zero availability but a minimum of 40 hours per week of work".
So, we turned into more of a "scoring" system where all minimums were soft constraints (e.g. minimum hours per week) whose violations caused a large point decrease [1]. Maximums were a hard constraint. The system made it impossible to input an infeasible model, and worked fairly well.
Splitting the scheduling problem into separate steps (forecast->unassigned shifts, then unassigned->assigned shifts) also sped up the algorithms (and allowed for people to create unassigned shift templates).
[1] https://en.wikipedia.org/wiki/Big_M_method