Abstract
This paper considers the problem of servicing a set of locations by a fleet of robots so as to minimize overall makespan. Although motivated by a specific real-world, multi-robot drilling and fastening application, the problem also arises in a range of other multi-robot domains where service start times are subject to precedence constraints and robots must be routed in space and time to avoid collisions. We formalize this general problem and analyze its complexity. We develop a heuristic local search procedure for solving it and analyze its performance on a set of synthetically generated problem instances, some of which capture the specific structure of the motivating drilling and fastening application, and others that generalize to other application settings. We provide a differential analysis of our local search procedure and a comparison to other approaches to demonstrate the efficacy of the proposed heuristic.
Similar content being viewed by others
Notes
Any directed graph must contain at least one such maximal scc
References
Araki T, Sugiyama Y, Kasami T, & Okui J (1977) Complexity of the deadlock avoidance problem. In: In 2nd IBM Symposium on Mathematical Foundations of Computer Science IBM, pp 229–257
Balas, E. (1999). New classes of efficiently solvable generalized traveling salesman problems. Annals of Operations Research, 86, 529–558.
Balas, E., Simonetti, N., & Vazacopoulos, A. (2008). Job shop scheduling with setup times, deadlines and precedence constraints. Journal of Scheduling, 11(4), 253–262.
Behrens JK, Lange R, & Mansouri M (2019) A constraint programming approach to simultaneous task allocation and motion scheduling for industrial dual-arm manipulation tasks. In: 2019 International Conference on Robotics and Automation (ICRA), IEEE, pp 8705–8711
Bektas, T. (2006). The multiple traveling salesman problem: An overview of formulations and solution procedures. Omega, 34(3), 209–219.
Bierwirth, C., & Meisel, F. (2010). A survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research, 202(3), 615–627.
Bürgy, R. (2017). A neighborhood for complex job shop scheduling problems with regular objectives. Journal of Scheduling, 20(4), 391–422.
Burke, E. K., & Bykov, Y. (2017). The late acceptance hill-climbing heuristic. European Journal of Operational Research, 258(1), 70–78.
Cicirello, V. A., & Smith, S. F. (2005). Enhancing stochastic search performance by value-biased randomization of heuristics. Journal of Heuristics, 11, 5–34.
Dariano, A., Pacciarelli, D., & Pranzo, M. (2007). A branch and bound algorithm for scheduling trains in a railway network. European Journal of Operational Research, 183(2), 643–657.
Garey, M. R., & Johnson, D. S. (1977). Two-processor scheduling with start-times and deadlines. SIAM Journal on Computing, 6(3), 416–426.
Garey, M. R., & Johnson, D. S. (1979). Computers and intractability. New York: Freeman.
Gervet C (1993) New structures of symbolic constraint objects: sets and graphs (extended abstract). In: Third workshop on constraint logic programming
Gombolay, M. C., Wilcox, R. J., & Shah, J. A. (2018). Fast scheduling of robot teams performing tasks with temporospatial constraints. IEEE Transactions on Robotics, 34(1), 220–239.
Groeflin, H., & Klinkert, A. (2009). A new neighborhood and tabu search for the blocking job shop. Discrete Applied Mathematics, 157(17), 3643–3655.
Habib MK, & Asama H (1991) Efficient method to generate collision free paths for an autonomous mobile robot based on new free space structuring approach. In: Proceedings IROS ’91:IEEE/RSJ International Workshop on Intelligent Robots and Systems ’91, 563–567 2, https://doi.org/10.1109/IROS.1991.174534
Hall, N. G., & Sriskandarajah, C. (1996). A survey of machine scheduling problems with blocking and no-wait in process. Operations Research, 44(3), 510–525.
John JA, & Draper NR(1980) An alternative family of transformations. Journal of the Royal Statistical Society Series C Applied Statistics 29(2): 190–197, http://www.jstor.org/stable/2986305
Kabir AM, Thakar S, Bhatt PM, Malhan RK, Rajendran P, Shah BC, & Gupta SK (2020) Incorporating motion planning feasibility considerations during task-agent assignment to perform complex tasks using mobile manipulators. In: 2020 IEEE International Conference on Robotics and Automation (ICRA), IEEE, pp 5663–5670
Kim, K. H., & Park, Y. M. (2004). A crane scheduling method for port container terminals. European Journal of operational research, 156(3), 752–768.
Lam, E., & Le Bodic, P. (2020). New valid inequalities in branch-and-cut-and-price for multi-agent path finding. Proceedings of the International Conference on Automated Planning and Scheduling, 30, 184–192.
Lange, J., & Werner, F. (2018). Approaches to modeling train scheduling problems as job-shop problems with blocking constraints. Journal of Scheduling, 21(2), 191–207.
Lavrov M (2018) An upper bound on the number of chordless cycles in an undirected graph. Mathematics Stack Exchange, https://math.stackexchange.com/q/2811761, https://math.stackexchange.com/q/2811761 (version: 2018-06-07), https://math.stackexchange.com/q/2811761
Liu, S. Q., & Kozan, E. (2011). Scheduling trains with priorities: A no-wait blocking parallel-machine job-shop scheduling model. Transportation Science, 45(2), 175–198.
Ma H, Wagner G, Felner A, Kumar JLTS, & Koenig S (2018) Multi-agent path finding with deadlines. In: Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI)
Mascis, A., & Pacciarelli, D. (2002). Job-shop scheduling with blocking and no-wait constraints. European Journal of Operational Research, 143(3), 498–517.
Mati, Y., Lahlou, C., & Dauzere-Peres, S. (2011). Modelling and solving a practical flexible job-shop scheduling problem with blocking constraints. International Journal of Production Research, 49(8), 2169–2182.
Moccia, L., Cordeau, J. F., Gaudioso, M., & Laporte, G. (2006). A branch-and-cut algorithm for the quay crane scheduling problem in a container terminal. Naval Research Logistics (NRL), 53(1), 45–59.
Mogali JK, van Hoeve WJ, & Smith SF (2020) Template matching and decision diagrams for multi-agent path finding. In: International Conference on Integration of Constraint Programming, Artificial Intelligence, and Operations Research, Springer, pp 347–363
Mogali, J. K., Barbulescu, L., & Smith, S. F. (2021). Efficient primal heuristic updates for the blocking job shop problem. European Journal of Operational Research.
Möhring, R., Skutella, M., & Stork, F. (2004). Scheduling with and/or precedence constraints. SIAM Journal on Computing, 33(2), 393–415. https://doi.org/10.1137/S009753970037727X.
Rubinstein ZB, Smith SF, & Barbulescu L (2012) Incremental management of oversubscribed vehicle schedules in dynamic dial-a-ride problems. In: AAAI
Sammarra, M., Cordeau, J. F., Laporte, G., & Monaco, M. F. (2007). A tabu search heuristic for the quay crane scheduling problem. Journal of Scheduling, 10(4–5), 327–336.
Sharon, G., Stern, R., Felner, A., & Sturtevant, N. R. (2015). Conflict-based search for optimal multi-agent pathfinding. Artificial Intelligence, 219, 40–66.
Simonetti N, & Balas E (1996) Implementation of a linear time algorithm for certain generalized traveling salesman problems. In: International Conference on Integer Programming and Combinatorial Optimization, Springer, pp 316–329
Smith, S. F., & Cheng, C. C. (1993). Slack-based heuristics for constraint satisfaction scheduling. AAAI, 139–144.
Stavrou D, Timotheou S, Panayiotou C, & Polycarpou M (2017) Assignment and coordination of autonomous robots in container loading terminals. In: Proceedings 12th IFAC World Conference, (Reprinted in IFAC-PapersOnLine, Elsevier Science Direct, 50(1), pp.9712-9717)
Van Breedam A (1994) An Analysis of the Behavior of Heuristics for the Vehicle Routing Problem for a Selection of Problems with Vehicle-related, Customer-related, and Time-related Constraints. RUCA
Wagner G, & Choset H (2011) M*: A complete multirobot path planning algorithm with performance bounds. In: 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems
Wessén J, Carlsson M, & Schulte C (2020) Scheduling of dual-arm multi-tool assembly robots and workspace layout optimization. In: International Conference on Integration of Constraint Programming, Artificial Intelligence, and Operations Research, Springer, pp 511–520
Wurman, P. R., D’Andrea, R., & Mountz, M. (2008). Coordinating hundreds of cooperative, autonomous vehicles in warehouses. AI Magazine, 29(1), 9–9.
Yuan Z, & Gong Y (2016) Improving the speed delivery for robotic warehouses. In: Proceedings 8th IFAC Conference on Manufacturing Modeling, Management and Control, (Reprinted in IFAC-PapersOnLine, Elsevier Science Direct, 49(2), pp. 1164 - 1168)
Acknowledgements
The authors thank Philipp Schneider for his help with simulations, Dr. Laura Barbulescu for helpful discussions, and Prof. Neil Simonetti for sharing his TSP heuristic code.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix
Example for a case where the number of minimal models for \(CF_{s_{curr}}^{Ps}\) in Equation (14) is exponential in M
Assume the SSp instance contains no CCs, the number of robots M is even and the consistent positional selection Ps has no arc with its head to a node in \(B_{s_{curr}}\). For notational convenience, let \(v^i = s_{curr}[i]\) and let \(w^i = next_{v^i}\). The ECs for each \(w^i, \, i \in \left[ 1, M\right] \) is defined as follows:
Under those assumptions, we can safely assume that \(CF_{s_{curr}}^{Ps}\) only contains clauses for the enabling constraints (Equation (11)) and of course the clause to select at least one node in \(B_{s_{curr}}\) to appear in the successor. Also observe that each node in \(B_{s_{curr}}\) corresponds to a maximal scc in \(G_{Ps}\left[ B_{s_{curr}}\right] \). So instead of stating which maximal sccs occur in the minimal solution, we will instead mention which nodes of \(B_{s_{curr}}\) occur in each minimal solution.
For \(M = 8\) case, we illustrate the enablers provided in Equation (30) graphically in Fig. 17. For example, if \(w^1\) is to appear in \(s_{next}\) (minimal successor of \(s_{curr}\)), then from Equation (30) notice that at least one among \(w^7, w^8\) must also appear \(s_{next}\). We represented this requirement using arcs \((w^8, w^1), (w^7, w^1)\) in Fig. 17. Similarly the enabling requirements for all other nodes are also represented using arcs in Fig. 17.
We next enumerate the minimal models of \(CF_{s_{curr}}^{Ps}\). We claim that nodes occurring on any chordless cycle in the graph shown in Fig. 17 corresponds to a minimal model. To see this, observe that the nodes occurring on any cycle of the graph shown in Fig. 17 corresponds to a feasible model for \(CF_{s_{curr}}^{Ps}\), as every node in the cycle is enabled by its predecessor on the cycle. If the cycle contained a chord, then the solution is not minimal since we can form a shorter cycle and the nodes belonging to the shorter cycle also correspond to a feasible model of \(CF_{s_{curr}}^{Ps}\). We can continue short cutting the cycle until we obtain a chordless cycle. There are at least \(2^{\mathbf {\frac{M}{2}}}\) chordless cycles ( Lavrov (2018)) in the graph shown in Fig. 17 and corresponding to each of those cycles we can obtain a minimal successor.
Proof of proposition 2
Under the conditions mentioned in proposition 2 we first provide a simple procedure for enumerating the minimal models of \(CF_{s_{curr}}^{Ps}\) and then argue that the number of such minimal models generated by the procedure does not exceed M. Briefly, the enumeration procedure omits the collision related clauses (see Equation (12)) in \(CF_{s_{curr}}^{Ps}\) and outputs the minimal models feasible for the remaining clauses. The minimal models obtained from the previous step are then checked whether any collision related clause is violated. Our procedure essentially builds a directed graph to capture the dependencies between maximal sccs in \(G_{Ps}\left[ B_{s_{curr}} \right] \) and then retrieves the minimal models from the dependency graph. The description below interlaces the procedure with the reasons for those steps being performed. The procedural steps are highlighted in bold italics.
-
1.
We build the dependency graph \(G_{dep}\) as follows. Corresponding to each maximal scc of \(G_{Ps}\left[ B_{s_{curr}} \right] \), we introduce a vertex in \(G_{dep}\). If e is a maximal scc of \(G_{Ps}\left[ B_{s_{curr}} \right] \), then slightly abusing notation we will denote the vertex corresponding to scc e in \(G_{dep}\) by \(v_e\).
-
2.
Under the condition mentioned in the proposition that \(|K(u)| \le 1\), every clause that was generated in \(CF_{s_{curr}}^{Ps}\) from Equations (7), (11) and (13) are either of the form \((y_c \rightarrow y_d)\) or \((y_c \rightarrow 0)\). Corresponding to each clause of the form \((y_c \rightarrow y_d)\) in \(CF_{s_{curr}}^{Ps}\) we introduce an arc \((v_d, v_c)\) in \(G_{dep}\), to represent the dependency of scc c on scc d.
-
3.
After introducing those arcs in the previous step, we then remove some of the vertices and arcs from \(G_{dep}\) as follows. For each clause of the form \((y_c \rightarrow 0)\) in \(CF_{s_{curr}}^{Ps}\), we remove vertex \(v_c\) and all the other vertices that are reachable from \(v_c\) by traversing arcs in \(G_{dep}\) from tail to head. While nodes comprising scc c cannot appear in a successor of \(s_{curr}\) owing to the clause \((y_c \rightarrow 0)\), sccs reachable from c can also be ignored owing to their dependency on c by transitivity. Consequently we may remove \(v_c\) and vertices dependent on \(v_c\) from further consideration in the enumeration process.
-
4.
We next describe a procedure to enumerate the minimal models of \(CF_{s_{curr}}^{Ps}\) using the maximal sccs of \(G_{dep}\). Compute the maximal sccs of \(G_{dep}\). Observe that each maximal scc in \(G_{dep}\) comprises of maximal sccs of \(G_{Ps}\left[ B_{s_{curr}} \right] \). Further, if \(W_1, W_2\) are maximal sccs of \(G_{dep}\), such that, there exists a path from a vertex in \(W_1\) to a vertex in \(W_2\), then vertices in \(W_2\) depend on \(W_1\). It implies that if a member of \(W_2\) is present in a feasible solution to \(CF_{s_{curr}}^{Ps}\) then all members of \(W_1\) must also necessarily be present in that solution, but not necessary for the other way around. Hence to enumerate minimal models of \(CF_{s_{curr}}^{Ps}\), it is sufficient to consider only those maximal sccs of \(G_{dep}\) that do not have an incoming arc from any other maximal scc of \(G_{dep}\)Footnote 1, since occurrence of these sccs in a feasible solution is not dependent on the occurrence other sccs.
-
5.
Let us denote the maximal sccs of \(G_{dep}\) that do not have an incoming arc from any other maximal sccs of \(G_{dep}\) by \(SCC_{dep}\). If there exists a pair of maximal sccs of \(G_{Ps}\left[ B_{s_{curr}} \right] \), say c and d, such that \(CF_{s_{curr}}^{Ps}\) contains a collision related clause \((y_{c} \rightarrow (1-y_d))\) while vertices \(v_c\) and \(v_d\) both belong to the same maximal scc of \(G_{dep}\), then the STP to \(s_{curr}\) cannot possibly be extended to a complete STP.
-
6.
If the condition in the previous step does not occur, then from each member (maximal scc) of \(SCC_{dep}\) we generate a minimal model of \(CF_{s_{curr}}^{Ps}\). If W is a member of \(SCC_{dep}\), then a minimal model of \(CF_{s_{curr}}^{Ps}\) is derived by setting the \(y_{\cdot }\) variables corresponding to just those maximal sccs of \(G_{Ps}\left[ B_{s_{curr}} \right] \) that are present in W to 1. Since the number of maximal sccs of \(G_{dep}\) is bounded by M, it follows that the number of minimal models of \(CF_{s_{curr}}^{Ps}\) is \(\le M\).
Rights and permissions
About this article
Cite this article
Mogali, J.K., Kinable, J., Smith, S.F. et al. Scheduling for multi-robot routing with blocking and enabling constraints. J Sched 24, 291–318 (2021). https://doi.org/10.1007/s10951-021-00684-9
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-021-00684-9