Skip to main content
Log in

Scheduling for multi-robot routing with blocking and enabling constraints

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. 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.

    Article  Google Scholar 

  • Balas, E., Simonetti, N., & Vazacopoulos, A. (2008). Job shop scheduling with setup times, deadlines and precedence constraints. Journal of Scheduling, 11(4), 253–262.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Bürgy, R. (2017). A neighborhood for complex job shop scheduling problems with regular objectives. Journal of Scheduling, 20(4), 391–422.

    Article  Google Scholar 

  • Burke, E. K., & Bykov, Y. (2017). The late acceptance hill-climbing heuristic. European Journal of Operational Research, 258(1), 70–78.

    Article  Google Scholar 

  • Cicirello, V. A., & Smith, S. F. (2005). Enhancing stochastic search performance by value-biased randomization of heuristics. Journal of Heuristics, 11, 5–34.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Garey, M. R., & Johnson, D. S. (1977). Two-processor scheduling with start-times and deadlines. SIAM Journal on Computing, 6(3), 416–426.

    Article  Google Scholar 

  • Garey, M. R., & Johnson, D. S. (1979). Computers and intractability. New York: Freeman.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Groeflin, H., & Klinkert, A. (2009). A new neighborhood and tabu search for the blocking job shop. Discrete Applied Mathematics, 157(17), 3643–3655.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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)

Download references

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

Authors

Corresponding author

Correspondence to Jayanth Krishna Mogali.

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:

(30)

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.

Fig. 17
figure 17

.

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. 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. 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. 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. 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. 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. 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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-021-00684-9

Keywords

Navigation