Skip to main content
Log in

Modular Circulation and Applications to Traffic Management

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

We introduce a variant of the well-known minimum-cost circulation problem in directed networks, where vertex demand values are taken from the integers modulo \(\lambda \), for some integer \(\lambda \ge 2\). More formally, given a directed network \(G = (V,E)\), each of whose edges is associated with a weight and each of whose vertices is associated with a demand taken over the integers modulo \(\lambda \), the objective is to compute a flow of minimum weight that satisfies all the vertex demands modulo \(\lambda \). This problem is motivated by a problem of computing a periodic schedule for traffic lights in an urban transportation network that minimizes the total delay time of vehicles. We show that this modular circulation problem is solvable in polynomial time when \(\lambda = 2\) and that the problem is NP-hard when \(\lambda = 3\). We also present a polynomial time algorithm that achieves a \(4(\lambda - 1)\)-approximation.

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

Similar content being viewed by others

Notes

  1. We are using the term “space” abstractly. To relate space and time, we would need to introduce a maximum speed limit, call it \(\sigma \). Assuming vehicles move at their maximum speed, the total length of a vehicle platoon that can pass through any intersection in time \(\lambda \) is \(\sigma \lambda \). To move these vehicles to the next intersection in time \(t_{ij}\) at full speed, the road segment between these intersections is of length \(\sigma t_{ij}\). Since \(t_{ij} \ge \lambda \), we have \(\sigma t_{ij} \ge \sigma \lambda \), and, irrespective of the choice of \(\sigma \), it follows that there is sufficient space to park these vehicles, whatever their actual sizes may be.

References

  1. Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Upper Saddle River (1993)

    MATH  Google Scholar 

  2. Boeing, G.: Planarity and street network representation in urban form analysis (2018). arXiv:1806.01805

  3. Cormen, T.H., Stein, C., Rivest, R.L., Leiserson, C.E.: Introduction to Algorithms, vol. 2, 2nd edn. McGraw-Hill Higher Education, Boston (2001)

  4. Dasler, P., Mount, D. M.: On the complexity of an unregulated traffic crossing. In: Proceedings of 14th International Symposium Algorithms Data Structure, volume 9214 of Lecture Notes Computer Science, pp. 224–235. Springer (2015)

  5. Dresner, K.M., Stone, P.: A multiagent approach to autonomous intersection management. J. Artif. Int. Res. 31, 591–656 (2008)

    Google Scholar 

  6. Edmonds, J., Johnson, E.L.: Matching, Euler tours and the Chinese postman. Math. Program. 5, 88–124 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  7. Edmonds, J., Karp, R.M.: Theoretical improvements in algorithmic efficiency for network flow problems. J. ACM 19, 248–264 (1972)

    Article  MATH  Google Scholar 

  8. Eppstein, D., Gupta, S.: Crossing patterns in nonplanar road networks (2017). arXiv:1709.06113

  9. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York (1979)

    MATH  Google Scholar 

  10. Goldberg, A.V., Tarjan, R.E.: Finding minimum-cost circulations by canceling negative cycles. J. ACM 36, 873–886 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  11. Guler, S.I., Menendez, M., Meier, L.: Using connected vehicle technology to improve the efficiency of intersections. Transp. Res. Part C Emerg. Technol. 46, 121–131 (2014)

    Article  Google Scholar 

  12. Kleinberg, J., Tardos, E.: Algorithm Design. Addison-Wesley, Boston (2005)

    Google Scholar 

  13. Lichtenstein, D.: Planar formulae and their uses. SIAM J. Comput. 11, 329–343 (1982)

    Article  MathSciNet  MATH  Google Scholar 

  14. Orlin, J.B.: A polynomial time primal network simplex algorithm for minimum cost flows. Math. Program. 78, 109–129 (1997)

    MathSciNet  MATH  Google Scholar 

  15. Tachet, R., Santi, P., Sobolevsky, S., Reyes-Castro, L.I., Frazzoli, E., Helbing, D., Ratti, C.: Revisiting street intersections using slot-based systems. PLoS One 11(3), e0149607 (2016)

    Article  Google Scholar 

  16. Vial, J. J. B., Devanny, W. E., Eppstein, D., Goodrich, M. T.: Scheduling autonomous vehicle platoons through an unregulated intersection. In: Goerigk, M., & Werneck, R. (eds.) 16th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems (ATMOS 2016), vol. 54 of OpenAccess Series in Informatics (OASIcs), pp. 1–14. Schloss DagstuhlLeibniz-Zentrum fuer Informatik (2016)

  17. Yu, J., LaValle, S. M.: Multi-agent path planning and network flow. In: Frazzoli, E., Lozano-Perez, T., Roy, N., & Rus, D. (eds.) Algorithmic Foundations of Robotics X: Proceedings of the Tenth Workshop on the Algorithmic Foundations of Robotics, pp. 157–173, Springer, Berlin, Heidelberg (2013)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Philip Dasler.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Research supported by NSF Grant CCF-1618866.

Appendix A: NP-hardness Generalization

Appendix A: NP-hardness Generalization

Fundamental blocks are constructed in the same manner as described in the \(\lambda = 3\) example in Sect. 5.1, but for completeness, we describe them here in their general form. A fundamental block begins with \(\lambda \) 1-vertices, connected as a star graph (i.e., a central vertex connected to each of the remaining vertices) with edges directed outward. Each 1-vertex is also connected to a \((\lambda -1)\)-vertex via an incoming edge. Finally, these \((\lambda -1)\)-vertices each have an outgoing interface edge (Fig. 8).

Fig. 8
figure 8

Fundamental blocks with a\(\lambda = 4\) and b\(\lambda = 6\)

The expansion module, too, remains largely unchanged. It consists of a central fundamental block with \(\lambda \) interface edges. A fundamental block is then connected to all but one of these edges, with the remaining edge reserved for connecting to the existing variable gadget. For each expansion module added to a variable gadget, \((\lambda -1)^2-1\) interface edges are added (one interface edge is consumed when connecting to the variable gadget, hence the \(-1\)). See Fig. 9. Just as before, we must adjust the weights of a small subset of edges so that True and False assignments incur the same cost. To do so, arbitrarily select a fundamental block that is not the hub (i.e., not the fundamental block which connects to the existing variable gadget) and set the outgoing edges from its central 1-vertex to a weight of \(\frac{2\lambda -3}{\lambda -1}\).

Fig. 9
figure 9

Expansion modules built from fundamental blocks (FB) with a\(\lambda = 4\) and b\(\lambda = 6\). Edges between fundamental blocks are represented with a disc and no direction as a reminder that the blocks are connected via a shared \((\lambda -1)\)-vertex

Recall that the variable gadget described in Sect. 5.1 creates \(c(v_i)\lambda \) interface edges. In truth, the fundamental block creates \(\lambda \) interface edges while each of the \(c(v_i)-1\) expansion modules add \((\lambda -1)^2-1\) interface edges. When \(\lambda = 3\), these formulae are equivalent, each variable has \(c(v_i)\lambda \) interface edges, and each of the \(c(v_i)\) clause gadgets will connect to \(\lambda \) interface edges.

When \(\lambda > 3\), the variable gadgets will have \(\lambda + \left[ c(v_i)-1\right] \left[ (\lambda -1)^2-1\right] \) interface edges. As this is not evenly divisible by \(c(v_i)\), connecting to the clause gadgets becomes problematic. To correct for this, a modified expansion module, called a seed module, is used to start each variable gadget rather than a fundamental block. Rather than connecting to an existing variable gadget, the edge that was previously reserved for this connection is instead attached to one of the existing interface edges (recall that in actuality a \((\lambda -1)\)-vertex is being shared, not that two edges are being connected directly). By doing so, we now have a seed module that has \((\lambda -1)^2-1\) interface edges (Fig. 10) and, when used in conjunction with unaltered expansion modules, creates a variable gadget with \(c(v_i)\left[ (\lambda -1)^2-1\right] \) interface edges.

Clause gadgets are constructed as described in Sect. 5.2, with the caveat that they require \((\lambda -1)^2-1\) vertices rather than \(\lambda \). Each vertex will still only have three incoming edges, as each clause will only ever have three literals, and a demand of 1.

Fig. 10
figure 10

Seed modules for creating variable gadgets with a\(\lambda = 4\) and b\(\lambda = 6\)

Despite a small increase in the size of each gadget, the reduction can still be done in polynomial time.

Finally, the cost threshold must be generalized in Lemma 5.4. In the general form, if F is satisfiable there will be a satisfying flow with

$$\begin{aligned} \mathrm {cost}(f) ~ \le ~ \sum _{v_i \in V} [(\lambda ^2-1)c(v_i) + \lambda |C|\gamma ] \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Dasler, P., Mount, D.M. Modular Circulation and Applications to Traffic Management. Algorithmica 81, 4098–4117 (2019). https://doi.org/10.1007/s00453-018-0491-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-018-0491-9

Keywords

Navigation