Interval scheduling scheduling problem with minimal workers
This is called Interval Partitioning Problem or Interval Coloring Problem in this lecture note, as well as in Section 4.1 of the book [1].


  Given intervals $(s_i, f_i)$, assign them to processors/workers so that you
  schedule every interval and use the smallest number of processors/workers.


The greedy algorithm is a simple one-pass strategy that orders intervals by their starting times, goes through the intervals in this order, and tries to assign to each interval it encounters a processor/worker that has not already been assigned to any previous interval that overlaps it.



[1] Algorithm Design. By Jon Kleinberg and Eva Tardos.