Is there a scheduling algorithm that optimizes for “maker's schedules”?

前端 未结 4 473
猫巷女王i
猫巷女王i 2021-01-30 23:26

You may be familiar with Paul Graham\'s essay, \"Maker\'s Schedule, Manager\'s Schedule\". The crux of the essay is that for creative and technical professional

4条回答
  •  春和景丽
    2021-01-30 23:47

    This problem looks hard enough to be NP, but I think it admits some decent approximations.

    In particular, I think you can probably manage reasonably well with a meeting size optimization, where you optimally place the largest meeting (in terms of the number of makers who must attend, since they are the ones you're trying not to disrupt), and then do so successively with smaller meetings. To break ties in smaller meetings of the same length, you could weight the meetings by the meeting-load of the makers asked to participate (so that you will get a chance to optimize over them and not make their lives too much worse).

    Now you've broken the problem down to schedule a single meeting, since any already-scheduled meeting will effectively just reduce a person's schedule to shorter. And the solution is pretty straightforward: the optimal solution is the one aligned with a maximal number of edges of schedules of makers such that everyone can make that time. You should be able to solve this problem even with brute force in something like O((k+g)*k*n) where k is the number of makers, g the number of managers, and n the typical number of intervals in a maker's schedule.

    The only problem would be if this straightforward approach would lead to meetings that couldn't be satisfied. In this case, you could boost the priority of that meeting by one or more slots and try again.

提交回复
热议问题