Coworking scheduling with network flows
- Collaborative usage of resources is becoming increasingly popular in various fields. One common example are coworking spaces — office rooms with work places that can be rented by individuals on hourly basis. We consider the problem of assigning all booking requests for a day to equivalent office rooms with different but fixed opening times and fixed interchangeable closing times. The closing times are flexible due to daily maintenance, e.g. cleaning, which must be done in all rooms in an arbitrary order. This problem is related to the known Interval Scheduling Problem with Machine Availabilities (ISMA), where each machine has a contiguous availability interval, and each job presents a specific time interval which has to be scheduled. According to our coworking scheduling application, we extend ISMA to Flexible Multithread ISMA (FlexMISMA) by introducing machine capacities that model the number of work places per room and by allowing to permute the end times of machines’Collaborative usage of resources is becoming increasingly popular in various fields. One common example are coworking spaces — office rooms with work places that can be rented by individuals on hourly basis. We consider the problem of assigning all booking requests for a day to equivalent office rooms with different but fixed opening times and fixed interchangeable closing times. The closing times are flexible due to daily maintenance, e.g. cleaning, which must be done in all rooms in an arbitrary order. This problem is related to the known Interval Scheduling Problem with Machine Availabilities (ISMA), where each machine has a contiguous availability interval, and each job presents a specific time interval which has to be scheduled. According to our coworking scheduling application, we extend ISMA to Flexible Multithread ISMA (FlexMISMA) by introducing machine capacities that model the number of work places per room and by allowing to permute the end times of machines’ availability periods. In this paper, we determine a tight classification of necessary conditions for the existence of a polynomial time algorithm for FlexMISMA, assuming P ≠ NP. More specifically, we develop a network flow model and present polynomial time algorithms for instances (i) with two machines, and (ii) with arbitrarily many machines of capacity one each. In the same time, we prove that increasing the machine capacity to two renders FlexMISMA NP-hard for arbitrarily many machines. Furthermore, we complement result (i) by showing that the problem is NP-hard already for instances with three machines as a special case of the Vertex-Disjoint Paths problem.…