Abstract
In discrete optimization problems the progress of objects over time is frequently modeled by shortest path problems in time expanded networks, but longer time spans or finer time discretizations quickly lead to problem sizes that are intractable in practice. In convex relaxations the arising shortest paths often lie in a narrow corridor inside these networks. Motivated by this observation, we develop a general dynamic graph generation framework in order to control the networks’ sizes even for infinite time horizons. It can be applied whenever objects need to be routed through a traffic or production network with coupling capacity constraints and with a preference for early paths. Without sacrificing any information compared to the full model, it includes a few additional time steps on top of the latest arcs currently in use. This “frontier” of the graphs can be extended automatically as required by solution processes such as column generation or Lagrangian relaxation. The corresponding algorithm is efficiently implementable and linear in the arcs of the non-time-expanded network with a factor depending on the basic time offsets of these arcs. We give some bounds on the required additional size in important special cases and illustrate the benefits of this technique on real world instances of a large scale train timetabling problem.
Similar content being viewed by others
References
Ahuja, R.K., Orlin, J.B., Pallottino, S., Scutellà, M.G.: Dynamic shortest paths minimizing travel times and costs. Networks 41, 205 (2003)
Aronson, J.: A survey of dynamic network flows. Ann. Oper. Res. 20, 1–66 (1989)
Borndörfer, R., Schlechte, T.: Models for railway track allocation. In: Liebchen, C., Ahuja, R.K., Mesa, J.A. (eds.) ATMOS 2007. Dagstuhl, Germany, IBFI, Schloss Dagstuhl, Germany (2007)
Cacchiani, V., Caprara, A., Toth, P.: A column generation approach to train timetabling on a corridor. 4OR Q. J. Oper. Res. 6(2), 125–142 (2008)
Cacchiani, V., Caprara, A., Toth, P.: Scheduling extra freight trains on railway networks. Transp. Res. Part B Methodol. 44(2), 215–231 (2010)
Cacchiani, V., Toth, P.: Nominal and robust train timetabling problems. Eur. J. Oper. Res. 219(3), 727–737 (2012)
Caprara, A., Fischetti, M., Toth, P.: Modeling and solving the train timetabling problem. Oper. Res. 50(5), 851–861 (2002)
Caprara, A., Monaci, M., Toth, P., Guida, P.L.: A lagrangian heuristic algorithm for a real-world train timetabling problem. Discret. Appl. Math. 154(5), 738–753 (2006)
Delling, D., Wagner, D.: Landmark-based routing in dynamic graphs. In: Demetrescu, C. (ed.) Experimental Algorithms. Lecture Notes in Computer Science, vol. 4525, pp. 52–65. Springer, Berlin (2007)
Fischer, F., Helmberg, C.: Dynamic graph generation and dynamic rolling horizon techniques in large scale train timetabling. In: Erlebac, T., Lübbecke, M. (eds.) Proceedings of the 10th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems. OpenAccess Series in Informatics (OASIcs), vol. 14, pp. 45–60, Dagstuhl, Germany, Schloss Dagstuhl–Leibniz–Zentrum fuer Informatik (2010)
Fischer, F., Helmberg, C., Janßen, J., Krostitz, B.: Towards solving very large scale train timetabling problems by lagrangian relaxation. In: Fischetti, M., Widmayer, P. (eds.) ATMOS 2008—8th Workshop on Algorithmic Approaches for Transportation Modeling, Optimization, and Systems. Dagstuhl, Germany, Schloss Dagstuhl–Leibniz–Zentrum fuer Informatik, Germany (2008)
Gawiejnowicz, S.: Time-Dependent Scheduling, 1st edn. Springer, Berlin (2008)
Goldberg, A.V., Kaplan, H., Werneck, R.F.: Reach for \(A^*\): Shortest Path Algorithms with Preprocessing, pp. 93–139. American Mathematical Society (AMS), Providence (2009)
Graham, R.L., Lawler, E.L., Lenstra, J.K., Kan, A.H.G.R.: Optimization and approximation in deterministic sequencing and scheduling: a survey. Ann. Discret. Math. 4, 287–326 (1979)
Helmberg, C.: ConicBundle 0.3.11. Fakultät für Mathematik, Technische Universität Chemnitz, 2012. http://www.tu-chemnitz.de/~helmberg/ConicBundle
Helmberg, C., Röhl, S.: A case study of joint online truck scheduling and inventory management for multiple warehouses. Oper. Res. 55(4), 733–752 (2007)
Kamiyama, N., Katoh, N., Takizawa, A.: An efficient algorithm for the evacuation problem in a certain class of networks with uniform path-lengths. Discret. Appl. Math. 157(17), 3665–3677 (2009)
Klunder, G.A., Post, H.N.: The shortest path problem on large-scale real-road networks. Networks 48(4), 182–194 (2006)
Kotnyek, B.: An Annotated Overview of Dynamic Network Flows. Technical Report RR-4936, INRIA, (2003)
Lusby, R.M., Larsen, J., Ehrgott, M., Ryan, D.: Railway track allocation: models and methods. OR Spectr. 33(4), 843–883 (2011)
Potamias, M., Bonchi, F., Castillo, C., Gionis, A.: Fast shortest path distance estimation in large networks. In: Proceedings of the 18th ACM Conference on Information and Knowledge Management, CIKM ’09, pp. 867–876, ACM, New York (2009)
Skutella, M.: An introduction to network flows over time. In: Research Trends in Combinatorial Optimization, pp. 451–482. Springer (2009)
Yanagisawa, H.: Fast Shortest Path Computation for Solving the Multicommodity Flow Problem. Technical Report RT0688, IBM Tokyo Research Laboratory (2006)
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported by the Bundesministerium für Bildung und Forschung under grant 03HEPAG4. Responsibility for the content rests with the authors.
Appendix: proofs
Appendix: proofs
Proof
(of Observation 16) The claim is certainly true for \(V^{[\hat{u}]}\). So let \([v]\in [V]\) and assume as induction hypothesis the claim holds for all \(V^{[u]}\) with \(([u],[v])\in [A]\). Let \((v^{\prime },\delta _{v^{\prime }})\in V^{[v]}\). First we observe
which is clear by definition of \(N^{[v]}(u^{\prime },\delta _{u^{\prime }})\), because \(\delta _{v^{\prime }} - \delta _{u^{\prime }} + \underline{d}([u],[v]) = \underline{d}(u^{\prime },[v]) \ge \underline{d}([u], [v])\). If \((v^{\prime },\delta _{v^{\prime }})\in ([v]\times \{0\})\), the claim is clear. Otherwise \((v^{\prime },\delta _{v^{\prime }})\in W_i^{[v]}\) for some \(i\in \{2,3,4\}\) (see Algorithm 1) which implies \(v^{\prime }=N^{[v]}\) by (2). We consider three cases:
-
1.
If \((v^{\prime },\delta _{v^{\prime }})\in W^{[v]}_2\), then there is a \((u^{\prime },\delta _{u^{\prime }})\in V^{[u]}\) for some \(([u],[v])\in [A]\) with \((v^{\prime },\delta _{v^{\prime }})=N^{[v]}(u^{\prime },\delta _{u^{\prime }})\). On the one hand the induction hypothesis on \(V^{[u]}\) implies \(\delta _{v^{\prime }} \ge \delta _{u^{\prime }} \ge -\overline{d}\). On the other hand if \(u^{\prime }\ne N^{[u]}\) we have by assumption \(\delta _{u^{\prime }} = 0\) and therefore
$$\begin{aligned} \delta _{v^{\prime }} - \underbrace{\delta _{u^{\prime }}}_{=0} + \underbrace{\underline{d}([u],[v])}_{\ge 0}\le \overline{d}, \text{ hence} \delta _{v^{\prime }} \le \overline{d}. \end{aligned}$$If \(u^{\prime } = N^{[u]}\), (3) implies \(\min d((u^{\prime },N^{[v]})) = \underline{d}([u],[v])\) and therefore
$$\begin{aligned} \delta _{v^{\prime }} - \delta _{u^{\prime }} + \underline{d}([u],[v]) = \underline{d}([u],[v]) \iff \delta _{v^{\prime }} = \delta _{u^{\prime }}, \text{ thus} \delta _{v^{\prime }} \le \overline{d}. \end{aligned}$$ -
2.
If \((v^{\prime },\delta _{v^{\prime }})\in W^{[v]}_3\), then there must be a \((u^{\prime },\delta _{u^{\prime }})\in [u]\times \mathbb{Z }_-\) and a \((\tilde{v},\delta _{\tilde{v}})\in [v]\times \mathbb{N }\) with \(\delta _{\tilde{v}} - \delta _{u^{\prime }} + \underline{d}([u],[v])\in d((u^{\prime },\tilde{v}))\). Because \(\delta _{\tilde{v}}> 0\) we have
$$\begin{aligned} \underbrace{\delta _{\tilde{v}}}_{> 0} - \delta _{u^{\prime }} + \underbrace{\underline{d}([u],[v])}_{\ge 0} \le \overline{d}, \text{ hence} \delta _{u^{\prime }} > - \overline{d}, \end{aligned}$$which implies by (13)
$$\begin{aligned} \delta _{v^{\prime }} \ge \delta _{u^{\prime }} > -\overline{d}, \end{aligned}$$and similarly
$$\begin{aligned} \delta _{v^{\prime }} - \underbrace{\delta _{u^{\prime }}}_{\le 0} + \underline{d}([u],[v]) \le \overline{d}, \text{ thus} \delta _{v^{\prime }} \le \overline{d}. \end{aligned}$$ -
3.
If \((v^{\prime },\delta _{v^{\prime }})\in W^{[v]}_4\), then there must be a \((u^{\prime },\delta _{u^{\prime }})\in [u]\times \mathbb{N }\) and a \((\tilde{v},\delta _{\tilde{v}})\in [v]\times \mathbb{N }\) with \(\delta _{\tilde{v}} - \delta _{u^{\prime }} + \underline{d}([u],[v])\in d((u^{\prime },\tilde{v}))\) and \(\delta _{\tilde{v}} \le \overline{t}(W^{[v]}_2\cup W^{[v]}_3) \le \overline{d}\) (by the previous two cases). Furthermore, like in the previous case, \(\delta _{\tilde{v}} > 0\) implies \(\delta _{u^{\prime }} > -\overline{d}\) and together with (13) we have \(-\overline{d}< \delta _{u^{\prime }}\le \delta _{v^{\prime }}\). \(\square \)
Proof
(of Observation 27) (5) follows directly from (H2’). Thus, the requirement stated in (6) is no relevant restriction. In order to show (7) suppose \((u^{\prime },t_{u^{\prime }})\in ({V}^\mathcal T _T\cup {B}^\mathcal T )\) with \(u^{\prime }\in [u]\). If \((u^{\prime },t_{u^{\prime }})\in {V}^\mathcal T _T\), we have \(t_u^{\prime }\le \overline{t}(V_{\max T^{[u]}}^{[u]})\) and the bound follows from (6), so we may assume \((u^{\prime },t_{u^{\prime }})\in {B}^\mathcal T \). By Observation 25 any \({G}^\lambda _T\)-irreducible path \(P\) containing \((u^{\prime },t_{u^{\prime }})\) must have an end node in \({V}^\mathcal T _T\). Because \({G}^\mathcal T _T\) is closed and \(t_{u^{\prime }}>\overline{t}({V}^\mathcal T _T\cap ([U]\times T))\), this end node cannot be in \([u]\times T\). Therefore \(P\) must be of the form \(P(u^{\prime },t_{u^{\prime }})\ldots (u^{\prime },t_{u^{\prime }}^{\prime })(v^{\prime },t_{v^{\prime }})P\) with \(v^{\prime }\in [v]\) for some \(([u],[v])\in [A]\) and \(t_{u^{\prime }}\le t_{u^{\prime }}^{\prime }\le t_{v^{\prime }}-\underline{d}([u],[v])\). Either \((v^{\prime },t_{v^{\prime }})\in {V}^\mathcal T _T\) or \((v^{\prime },t_{v^{\prime }})\in {B}^\mathcal T \) (because it lies on the irreducible path \(P\)). In both cases (7) holds. \(\square \)
Proof
(of Proposition 28) Suppose \(t\) satisfies (10). Note that for \((u^{\prime },t_{u^{\prime }})=(u^{\prime },t+\delta _{u^{\prime }})\in V_{t}^{[u]}\) with \((u^{\prime },\delta _{u^{\prime }})\in V^{[u]}\) we have \(t_{u^{\prime }}\stackrel{(10)}{\ge } \underline{\tau }_{[u]}^{v}+\underline{\delta }_{[u]}\stackrel{(8)}{\ge } 1+\overline{t}({V}^\lambda _T\cap ([u]\times T))\), so \(V_{t}^{[u]}\cap {V}^\lambda _T=\emptyset \) as required in Definition 18. Condition (H1’) is satisfied, because \(V^{[v]}\) satisfies (H1). To see that condition (H2’) holds, observe that any node \((u^{\prime },t_{u^{\prime }})\in V_{t}^{[u]}\) — in fact, any node \((u^{\prime },t_{u^{\prime }})\) with \(t_{u^{\prime }}\in [t+\underline{\delta }_{[u]},t+\overline{\delta }_{[u]}]\) — has an arc \(((u^{\prime },t_{u^{\prime }}),(v,t_{v}))\in A_T{\setminus }{A}^\lambda _T\) with \(t_{v}-t_{u^{\prime }}\in [\underline{d}([u],v),\max _{u^{\prime \prime }\in [u]} \underline{d}(u^{\prime \prime },v)]\), so
and
Therefore this arc can be continued by a path \((v,t_{v})\ldots (v,t_{[v]})\in A_T{\setminus }{A}^\lambda _T\) with \((v,t_{[v]})\in V_{t_{[v]}}^{[v]}\) by (H1’). This proves (H2’) and, by the same line of arguments, (H4’), as well. Because \(t_{[v]}-t\stackrel{(10)}{\ge }\overline{d}_{[u]}^{v}\stackrel{(9)}{\ge } \overline{d}([u],[v])\), there can be no arcs that give rise to requirements in (H3’) and so (H3’) holds. This shows that \(V^{[u]}_t\) and \(V^{[v]}_{t_{[v]}}\) match. \(\square \)
Proof
(of Proposition 29) Given \(([u],[v])\in [A]\) so that (i) and (ii) hold, let \(P\) be a \(\partial {A}^\lambda _T\)-path containing an arc \(((u^{\prime },t_{u^{\prime }}),(v^{\prime },t_{v^{\prime }}))\) with \(u^{\prime }\in [u]\), \(v^{\prime }\in [v]\) and \(t_{u^{\prime }}\) satisfying (11). Then
Use Proposition 23 with respect to the path \(P(u^{\prime },t_{u^{\prime }})\) and \(t_{[u]}\) to find a path \(Q<_T P(u^{\prime },t_{u^{\prime }})\) in \(A_T{\setminus } {A}^\lambda _T\) ending in a node \((u^{\prime \prime },t_{u^{\prime \prime }})\in V_{t_{[u]}}^{[u]}\) (\(t_{u^{\prime \prime }}<t_{u^{\prime }}\) by (11)).
First consider the case \((v^{\prime },v^{\prime })\in A\). By (i) and (12) there is an arc \(((u^{\prime \prime },t_{u^{\prime \prime }}),(v^{\prime },t_{v^{\prime }}^0))\in A_T\) with \(\overline{t}({V}^\lambda _T\cap ([v]\times T)) \le t_{v^{\prime }}^0 \le \overline{t}^{t_{[u]}}_{([u],[v])}\) and by (14) \(t_{v^{\prime }}> \overline{t}^{t_{[u]}}_{([u],[v])}\), thus there is a path \(Q^{\prime }=(u^{\prime \prime },t_{u^{\prime \prime }})(v^{\prime },t_{v^{\prime }}^0)\ldots (v^{\prime },t_{v^{\prime }})\subset A_T{\setminus } {A}^\lambda _T\). Hence, \(Q(u^{\prime \prime },t_{u^{\prime \prime }})Q^{\prime }(v^{\prime },t_{v^{\prime }})P<_TP\) and \(P\) is reducible.
So we may assume \((v^{\prime },v^{\prime })\notin A\). Note that \((v^{\prime },t_{v^{\prime }})\notin {V}^\lambda _T\) because \(t_{v^{\prime }}>\overline{t}({V}^\lambda _T\cap ([v]\times T))\) by (14). Thus, it has a successor \((w^{\prime },t_{w^{\prime }})\) in \(P\) with \([w^{\prime }]\ne [v]\) and
In consequence and using assumption (ii) there is an arc \(((v_{[w^{\prime }]},t_{v_{[w^{\prime }]}}^{\prime }),(w^{\prime },t_{w^{\prime }}))\in A_T\) with \(t_{w^{\prime }} - t_{v_{[w^{\prime }]}}^{\prime } = \overline{d}(v_{[w^{\prime }]},w^{\prime })\), thus \(\overline{t}_{([u],[v])}^{t_{[u]}}<t_{v_{[w^{\prime }]}}^{\prime }\le t_{v^{\prime }}\). Exploiting (i) as in the first case this allows to find a path \(Q^{\prime }=(u^{\prime \prime },t_{u^{\prime \prime }})(v_{[w^{\prime }]},t_{v_{[w^{\prime }]}})\ldots (v_{[w^{\prime }]},t_{v_{[w^{\prime }]}}^{\prime })\subset A_T{\setminus } {A}^\lambda _T\) with \(Q^{\prime }<_T (u^{\prime },t_u^{\prime })P(v^{\prime },t_v^{\prime })\). Now \(Q(u^{\prime \prime },t_{u^{\prime \prime }})Q^{\prime }(v_{[w^{\prime }]},t_{v_{[w^{\prime }]}}^{\prime })(w^{\prime },t_{w^{\prime }})P<_T P\), so \(P\) is reducible. \(\square \)
Proof
(of Observation 33) By induction on step 1 of Algorithm 3 there holds for \(i=2,\ldots ,k\)
because \(\overline{t}({V}^\lambda _T\cap ([u_{i}]\times T))\ge \overline{t}({V}^\lambda _T\cap ([u_{i-1}]\times T))+\underline{d}([u_{i-1}],[u_i])\) due to \([G]\) being a path. Thus, by A5.1 and \(\underline{\delta }\le 0\), the value \(\underline{\tau }_{([u],[v])}\) may be bounded by
and from A5.2 we obtain \(\overline{d}_{[u]}^{[v]}\le \overline{d}([u],[v])+\overline{\delta }_{[u]}\). Therefore, in A5.3 a \(t_{[v]}\in T^{[v]}\) with \(t_{[v]}<t_{([u],[v])}= \underline{\tau }_{([u],[v])}+\overline{d}_{[u]}^{[v]}\) gives rise to a time shift
Because this bound is greater than the upper bound on \(\underline{\tau }_{([u],[v])}\), this completes the proof. \(\square \)
Proof
(of Observation 34) From Observation 31 and A5.5 we obtain \(T^{[u_i]}=T^{([u_i],[u_{i+1}])}=\{\hat{t}^{([u_i],[u_{i+1}])}\}\). The value of this time shift can be bounded using A5.1–A5.4,
By A5.6 and \([G]\) being a path we have
In order to bound the value \(\overline{t}^{\hat{t}^{([u_i],[u_{i+1}])}}_{([u_i],[u_{i+1}])}\) defined in (12) let \((u^{\prime },t_{u^{\prime }})\in V_{\hat{t}^{([u_i],[u_{i+1}])}}^{[u_i]}\), \(((u^{\prime },t_{u^{\prime }}),(v^{\prime },t_{v^{\prime }}))\in A_T\) with \((v^{\prime },v^{\prime })\in A\), and recall that for \((u^{\prime },t_{u^{\prime }})\in V_{\hat{t}^{([u_i],[u_{i+1}])}}^{[u_i]}\) there is a \((u^{\prime },\delta _{u^{\prime }})\in V^{[u_i]}\) with \(t_{u^{\prime }}=\hat{t}^{([u_i],[u_{i+1}])}+\delta _{u^{\prime }}\). Then
Therefore, by (12),
Now observe that \(\overline{t}^{\hat{t}^{([u_i],[u_{i+1}])}}_{([u_i],[u_{i+1}])}+\Delta _{([u_i],[u_{i+1}])}\le \overline{\tau }\) where
Furthermore, using \(\overline{\delta }_{[u_i]}\stackrel{A5.2}{\le } \overline{d}^{[u_{i+1}]}_{[u_i]}-\underline{d}([u_i],[u_{i+1}])\), we get
Therefore A5.7 and A5.8 yield \(\overline{\tau }^{([u_i],[u_{i+1}])}\le \overline{\tau }\), \(\overline{t}^{([u_i],[u_{i+1}])}\le \overline{\tau }\) and, due to \(T^{[u_i]}=T^{([u_i],[u_{i+1}])}=\{\hat{t}^{([u_i],[u_{i+1}])}\}\), also \(\overline{t}\left(V_{\max T^{[u_{i}]}}^{[u_i]}\right)\le \overline{\tau }\). This proves that all terms in A2.5 satisfy the bound as claimed. \(\square \)
Rights and permissions
About this article
Cite this article
Fischer, F., Helmberg, C. Dynamic graph generation for the shortest path problem in time expanded networks. Math. Program. 143, 257–297 (2014). https://doi.org/10.1007/s10107-012-0610-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-012-0610-3
Keywords
- Dynamic graph generation
- Time expanded networks
- Column generation
- Lagrangian relaxation
- Large scale optimization