Skip to main content
Log in

Online traveling salesman problem with time cost and non-zealous server

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

Considering that the time of meeting the demands is very important for emergency vehicle and emergency vehicle can’t reject any request, we introduce a more realistic cost form into online traveling salesman problem(OL-TSP). When a new request arrives, if the salesman can’t serve the request immediately, per-unit-time cost will be generated. The goal is to minimize server’s total costs(travel makespan plus the per-unit-time costs). We consider the server is a non-zealous server and show that neither deterministic nor randomized online algorithms can achieve constant competitive ratio for OL-TSP on general metric space. While on truncated line segment and uniform metric space, we prove lower bounds, and present competitive online algorithms. Especially for the case with uniform metric space, we prove an optimal Greedy algorithm.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  • Allulli L, Ausiello G, Bonifaci V, Laura L (2008) On the power of lookahead in on-line server routing problems. Theor Comput Sci 408(2–3):116–128

    Article  MathSciNet  Google Scholar 

  • Ausiello G, Bonifaci V, Laura L (2008) The online prize-collecting traveling salesman problem. Inf Process Lett 107(6):199–204

    Article  MathSciNet  Google Scholar 

  • Blom M, Krumke SO, De Paepe WE, Stougie L (2001) The online TSP against fair adversaries. INFORMS J Comput 13(2):138–148

    Article  MathSciNet  Google Scholar 

  • Campbell AM, Thomas BW (2008) Probabilistic traveling salesman problem with deadlines. Transp Sci 42(1):1–21

    Article  Google Scholar 

  • Charnsirisakskul K, Griffin PM, Keskinocak P (2004) Order selection and scheduling with leadtime flexibility. IEE Trans 36:697C707

    Article  Google Scholar 

  • FedEx, (2005) Rules/accessorial tariff via all motor routes naming Rules, Regulations and claims procedures applying on surface expedited services between points in North America (Except Mexico). http://customcritical.fedex.com/us/serviceinfo/documents/pdf/tarifffdcc101g.pdf?link=4, accessed on April 11

  • Gutiérrez S, Krumke S, Megow N, Vredeveld T (2006) How to whack moles. Theor Comput Sci 361(2–3):329–341

    Article  MathSciNet  Google Scholar 

  • Irani S, Lu X, Regan A (2004) On-line algorithms for the dynamic traveling repair problem. J. Sched 7(3):243–258

    Article  MathSciNet  Google Scholar 

  • Jaillet P, Lu X (2011) Online traveling salesman problems with service flexibility. Networks 58(2):137–146

    Article  MathSciNet  Google Scholar 

  • Krumke SO, Paepe WD, Poensgen D, Stougie L (2003) News from the online traveling repairman. Theor Comput Sci 295:279–294

    Article  MathSciNet  Google Scholar 

  • Lipmann M (2003) On-line routing. PhD Thesis, Technische Universiteit Eindhoven

  • Simroth A, Souza A (2009) On an online traveling repairman problem with flowtimes: worst-case and average-case analysis. COCOON, pp 168-177

  • Slotnick SA, Sobel MJ (2005) Manufacturing lead-time rules: customer retention versus tardiness costs. Eur J Oper Res 163:825–856

    Article  Google Scholar 

  • Wen X, Xu Y, Zhang H (2012) Online traveling salesman problem with deadline and advanced information. Comput Ind Eng 63(4):1048–1053

    Article  Google Scholar 

  • Wen X, Xu Y, Zhang H (2015) Online traveling salesman problem with deadlines and service flexibility. J Comb Optim 30(3):545–562

    Article  MathSciNet  Google Scholar 

  • Yu W, Liu Z et al (2014) Optimal deterministic algorithms for some variants of online quota traveling salesman problem. Eur J Oper Res 238(3):735–740

    Article  MathSciNet  Google Scholar 

  • Zhou Y, Liu J, Zhang Y, Gan X (2017) A multi-objective evolutionary algorithm for multi-period dynamic emergency resource scheduling problems. Transp Res E-Log 99(3):77–95

    Article  Google Scholar 

Download references

Acknowledgements

The authors would like to thank the anonymous referee for the constructive comments. This work is funded by Chongqing Social Science Planning Project(2016BS085),NSF of China (No. 71702016) and Humanities and Social Science Research Project of Chongqing Education Commission (No.17SKJ034).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tengyu Wu.

Additional information

Publisher's Note

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

Appendices

Appendix A. Case 1.2.1 in Theorem 3

The added cost of the online server includes four parts:

  1. 1.

    The added penalties of the requests between node \(-y-1\) and node \(-L\). For each of \(L-y\) requests, the increased cost is equal to \(2y_{1}B\). The increased costs of the \(L-y\) requests are equal to \(2(L-y)y_{1}B\);

  2. 2.

    The costs of the requests between node 1 and node y. y requests are released during the time interval \([2L+1,2L+y]\) one by one, the requests are served during the time interval \([4L+2y_{1}+1,4L+2y_{1}+y]\) by online server. The cost is equal to \((2L+2y_{1})B\) for each request. The costs of the y requests are equal to \(2(L+y_{1})yB\);

  3. 3.

    The costs of the requests between node \(y+1\) and node L. \(L-y\) requests are released during the time interval \([2L+2y_{1}+y+1,3L+2y_{1}]\) one by one, the \(L-y\) requests are served during the time interval \([4L+2y_{1}+y+1,5L+2y_{1}]\) by online server. The cost is equal to 2LB for each request. The costs of the \(L-y\) requests is equal to \(2(L-y)LB\);

  4. 4.

    The added traveling time of the online server. The increased traveling time of the online server is equal to \(2L+2y_{1}\).

The total added cost of the online server is equal to \(2L + 2{y_1} + 2(L - y){y_1}B + 2(L + {y_1})yB + 2(L - y)LB = 2L + 2{y_1} + (2{L^2} + 2L{y_1})B \).

Appendix B. Case 1.2.2 in Theorem 3

When \(y_{2}\le y\), the added cost of the online server includes seven parts:

  1. 1.

    The added costs of the requests between node \(-y-1\) and node \(-L\). For each of \(L-y\) requests, the increased cost is equal to \(2(y+y_{2})B\). The increased costs of the \(L-y\) requests are equal to \(2(L-y)(y+y_{2})B\);

  2. 2.

    The costs of the requests between node 1 and node \(y_{2}\). \(y_{2}\) requests are released during the time interval \([2L+1,2L+y_{2}]\) one by one, the \(y_{2}\) requests are served during the time interval \([2L+2y+1,2L+2y+y_{2}]\) by online server. The cost is equal to 2yB for each request. The costs of the \(y_{2}\) requests are equal to \(2yy_{2}B\);

  3. 3.

    The costs of the requests between node \(y_{2}+1\) and node y. \(y-y_{2}\) requests are released during the time interval \([2L+2y_{2}+1,2L+y]\) one by one, the \(y-y_{2}\) requests are served during the time interval \([4L+3y_{2}+2y+1,4L+2y_{2}+3y]\) by online server. The cost is equal to \(2(L+y+y_{2})B\) for each request. The costs of the \(y-y_{2}\) requests are equal to \(2(L+y+y_{2})(y-y_{2})B\);

  4. 4.

    The costs of the requests between node \(-1\) and node \(-y_{2}\). \(y_{2}\) requests are released during the time interval \([2L+2y+1,2L+2y+y_{2}]\) one by one, the \(y_{2}\) requests are served during the time interval \([2L+2y+2y_{2}+1,2L+2y+3y_{2}]\) by online server. The cost is equal to \(2y_{2}B\) for each request. The costs of the \(y_{2}\) requests are equal to \(2y_{2}^{2}B\);

  5. 5.

    The costs of the requests between node 1 and node \(y_{2}\). \(y_{2}\) requests are released during the time interval \([2L+2y+2y_{2}+1,2L+2y+3y_{2}]\) one by one, the requests are served during the time interval \([4L+2y+2y_{2}+1,4L+2y+3y_{2}]\) by online server. The cost is equal to 2LB for each request. The costs of the \(y_{2}\) requests are equal to \(2y_{2}LB\);

  6. 6.

    The costs of the requests between node \(y+1\) and node L. \(L-y\) requests are released during the time interval \([2L+3y+2y_{2}+1,3L+2y+2y_{2}]\) one by one, the \(L-y\) requests are served during the time interval \([4L+3y+2y_{2}+1,5L+2y+2y_{2}]\) by online server. The cost is equal to 2LB for each request. The costs of the \(L-y\) requests are equal to \(2(L-y)LB\);

  7. 7.

    The added traveling time of the online server. The increased traveling time of the online server is equal to \(2L(L+y+y_{2})\).

The total added cost of the online server is equal to \(2L + 2y + 2{y_2} + (2(L - y)(y + {y_2})B + 2y{y_2}B + 2(L + y + {y_2})(y - {y_2})B + 2{y_2}^2B + 2{y_2}LB + 2(L - y)LB) = 2(L + y + {y_2}) + 2(L + y + {y_2})LB\).

When \(y_{2} > y\), the added cost of the online server includes five parts:

  1. 1.

    The added costs of the requests between node \(-y-1\) and node \(-L\). For each of \(L-y\) requests, the increased cost is equal to \(2(y+y_{2})B\). The increased costs of the \(L-y\) requests are equal to \(2(L-y)(y+y_{2})B\);

  2. 2.

    The costs of the requests between node 1 and node y. y requests are released during the time interval \([2L+1,2L+y]\) one by one, the \(y_{2}\) requests are served during the time interval \([2L+2y+1,2L+3y]\) by online server. The cost is equal to 2yB for each request. The costs of the y requests are equal to \(2y^{2}B\);

  3. 3.

    The costs of the requests between node \(-1\) and node \(-y\). y requests are released during the time interval \([2L+2y+1,2L+3y]\) one by one, the y requests are served during the time interval \([2L+2y+2y_{2}+1,2L+3y+2y_{2}]\) by online server. The cost is equal to \(2y_{2}B\) for each request. The costs of the y requests are equal to \(2yy_{2}B\);

  4. 4.

    The costs of the requests between node 1 and node L. L requests are released during the time interval \([2L+2y+2y_{2}+1,3L+2y+2y_{2}]\) one by one, the L requests are served during the time interval \([4L+2y+2y_{2}+1,5L+2y+2y_{2}]\) by online server. The cost is equal to 2LB for each request. The costs of the L requests are equal to \(2L^{2}B\);

  5. 5.

    The added traveling time of the online server. The increased traveling time of the online server is equal to \(2L(L+y+y_{2})\).

The total added cost of the online server is equal to \(2L + 2y + 2{y_2} + (2(L - y)(y + {y_2})B + 2{y^2}B + 2y{y_2}B + 2{L^2}B) = 2(L + y + {y_2}) + 2(L + y + {y_2})LB\).

Appendix C. Case 2 in Lemma 2

The cost of the online server after time \(t+2L\) includes six parts:

  1. 1.

    The costs of the requests between node \(-x-1\) and node \(-L\). \(L-x\) requests are released during the time interval \([t+2x+1,t+x+L]\) one by one, the \(L-x\) requests are served during the time interval \([t+2L+1,t-x+3L]\) by online server. The cost is equal to \(2(L-x)B\) for each request. The costs of the \(L-x\) requests are equal to \(2(L-x)^{2}B\);

  2. 2.

    The costs of the requests between node \(-x+1\) and node \(-x+y\). y requests are released during the time interval \([t+2L+1,t+2L+y]\) one by one, the y requests are served during the time interval \([t+4L-2x+1,t+4L-2x+y]\) by online server. The cost is equal to \(2(L-x)B\) for each request. The costs of the y requests are equal to \(2(L-x)yB\);

  3. 3.

    The costs of the requests between node \(-x\) and node \(-x-y_{1}\). \(y_{1}+1\) requests are released during the time interval \([t+2L+2y,t+2L+2y+y_{1}]\) one by one, the \(y_{1}+1\) requests are served during the time interval \([t+4L-2x-y_{1},t+4L-2x]\) by online server. The costs of these requests are equal to \(2(L - x - y)B,2(L - x - y - 1)B, \cdots \cdots 2(L - x - y - {y_1})B\) respectively which forms an arithmetic sequence. The costs of the \(y_{1}+1\) requests are equal to \((2(L - x - y)({y_1} + 1) - ({y_1}^2 + {y_1}))B\);

  4. 4.

    The costs of the requests between node \(-x+y+1\) and node L. \(L+x-y\) requests are released during the time interval \([t + 2L + 3y + 2{y_1} + 1,t + 3L + 2y + 2{y_1} + x]\) one by one, the \(L+x-y\) requests are served during the time interval \([t + 4L + y - 2x + 1,t + 5L - x ]\) by online server. The cost is equal to \(2(L - y - {y_1} - x)B\) for each request. The costs of the \(L+x-y\) requests are equal to \(2(L - y - {y_1} - x)(L + x - y)B\);

  5. 5.

    The costs of the requests between node \(x+y+y_{1}-1\) and the origin. \(x+y+y_{1}\) requests are released during the time interval \([t + 4L + y + {y_1} + 1,t + 4L + 2y + 2{y_1} + x]\) one by one, the \(x+y+y_{1}\) requests are served during the time interval \([t + 6L - y - {y_1} - 2x + 1, t+6L-x]\) by online server. The cost is equal to \(2(L - y - {y_1} - x)B\) for each request. The costs of the \(x+y+y_{1}\) requests are equal to \(2(L - y - {y_1} - x)(x + y + {y_1})B\);

  6. 6.

    The traveling time of the online server. The traveling time of the online server is equal to \(4L-x\).

The total cost of the online server is equal to \({c_{online}} = 4L - x + (2(L - x)(L - x + y) + 2(L - x - y)({y_1} + 1) - ({y_1}^2 + {y_1}) + 2(L - y - {y_1} - x)(L + 2x + {y_1}))B\).

As shown in Fig. 6, the cost of the offline server is equal to \({c_{offline}} = 2y + 2{y_1} + x + 2L\).

The cost ratio is equal to \(f({y_1}) = \frac{{{c_{online}}}}{{{c_{offline}}}}\),

$$\begin{aligned} f'({y_1}) = \frac{{ - 2{c_{online}} + (2L - 8x - 4y - 6{y_1} - 1)B{c_{offline}}}}{{{c_{offline}}^2}}\end{aligned}$$

.

Let \(g({y_1}) = - 2{c_{online}} + (2L - 8x - 4y - 6{y_1} - 1)B{c_{offline}}\), \(g'({y_1}) = - 6B{c_{offline}} < 0\).

Because \(0 \le {y_1} \le L - x - y - 1\), when \(y_{1}=0\), \(g(y_{1})\) can get the maximum value.

Let \(h(x) = g(0) = - 2(4L - x + 2((L - x)(L - x + y) + (L - x - y)(L + 2x + 1))B) + (2y + x + 2L)(2L - 8x - 4y - 1)B\)

\(h'(x) = ( - 16L - 20x - 26y - 3)B + 2 < 0\), when \(x=0\), h(x) can get the maximum value.

\(h(0) = - 8L + ( - 4{L^2} - 4yL - 8{y^2} - 6L + 2y)B < 0\), \(g(0) \le h(0) < 0\), \(f'({y_1}) < 0\), \(f(y_{1})\) is a decreasing function of \(y_{1}\). When \(y_{1}=0\), \(\frac{{{c_{online}}}}{{{c_{offline}}}}\) can get the maximum value. Similar to the above analysis, when \(y=1\), \(\frac{{{c_{online}}}}{{{c_{offline}}}}\) can get the maximum value.

When \(y_{1}=0, y=1\), \(\frac{{{c_{online}}}}{{{c_{offline}}}} = \frac{{4L - x + (2(L - x)(L + 2x) + (L - 7x - 2))B}}{{2L + x + 2}}\)

$$\begin{aligned} {\rho _0} - \frac{{{c_{online}}}}{{{c_{offline}}}} = \frac{{2(4L - x) + 8(3x + 1)(2L + x)B}}{{(2L + x + 2)(2L + x)}} > 0\end{aligned}$$

Appendix D. Case 3.1.1 in Lemma 2

The cost of the online server after time \(t+2L\) includes seven parts:

  1. 1.

    The costs of the requests between node \(-x-1\) and node \(-L\). \(L-x\) requests are released during the time interval \([t+2x+1,t+x+L]\) one by one, the \(L-x\) requests are served during the time interval \([t+2L+1,t-x+3L]\) by online server. The cost is equal to \(2(L-x)B\) for each request. The costs of the \(L-x\) requests are equal to \(2(L-x)^{2}B\);

  2. 2.

    The costs of the requests between node \(-x+1\) and node \(-x+y\). y requests are released during the time interval \([t+2L+1,t+2L+y]\) one by one, the y requests are served during the time interval \([t+4L-2x+1,t+4L-2x+y]\) by online server. The cost is equal to \(2(L-x)B\) for each request. The costs of the y requests are equal to \(2(L-x)yB\);

  3. 3.

    The costs of the requests between node \(-x\) and node \(-L+y+1\). \(L-x-y\) requests are released during the time interval \([t+2L+2y,t+3L+y-x-1]\) one by one, the \(L-x-y\) requests are served during the time interval \([t+3L+y-x+1,t+4L-2x]\) by online server. The costs of these requests are equal to \(2(L - x - y)B,2(L - x - y - 1)B, \cdots \cdots 2B\) respectively which forms an arithmetic sequence. The costs of the \(L-x-y\) requests are equal to \(({(L - x - y)^2} + (L - x - y))B\);

  4. 4.

    The costs of the requests between node \(-L+y-1\) and node \(-L+y-z\). z requests are released during the time interval \([t + 3L + y - x + 1,t + 3L + y - x + z]\) one by one, the z requests are served during the time interval \([t + 5L + y - 3x + 1,t + 5L + y - 3x + z]\) by online server. The cost is equal to \(2(L-x)B\) for each request. The costs of the z requests are equal to \(2(L-x)zB\);

  5. 5.

    The costs of the requests between node \(-L+y\) and node \(y-x-z-1\). \(L-x-z\) requests are released during the time interval \([t+3L+y-x+2z,t+4L+y-2x+z-1]\) one by one, the \(L-x-z\) requests are served during the time interval \([t+4L+y-2x+z+1,t+5L-3x+y]\) by online server. The costs of these requests are equal to \(2(L - x - z)B,2(L - x - z - 1)B, \cdots \cdots 2B\) respectively which forms an arithmetic sequence. The costs of the \(L-x-z\) requests are equal to \(({(L - x - z)^2} + (L - x - z))B\);

  6. 6.

    The costs of the requests between node \(y-x-z+1\) and the origin. \(x+z-y\) requests are released during the time interval \([t + 4L - 2x + y + z + 1,t + 4L - x + 2z]\) one by one, the \(x+z-y\) requests are served during the time interval \([t + 6L - 4x + z + y + 1,t + 6L - 3x + 2z]\) by online server. The cost is equal to \(2(L-x)B\) for each request. The costs of the \(x+z-y\) requests are equal to \(2(L - x)(x + z - y)B\);

  7. 7.

    The traveling time of the online server. The traveling time of the online server is equal to \(4L-3x+2z\).

The total cost of the online server is equal to \({c_{online}} = 4L + 3x - 2z + (2(L - x)(2z + L) + {(L - x - y)^2} + (L - x - y) + {(L - x - z)^2} + (L - x - z))B\).

As shown in Fig. 7, the cost of the offline server is equal to \({c_{offline}} = 2L + 2z - x\).

Let \(f(y,z) = \rho - \frac{{{c_{online}}}}{{{c_{offline}}}} = \frac{A}{{x{c_{offline}}}}\), \(f{'_z}(y,z) = \frac{{ - 2xA + A'x{c_{offline}}}}{{x{c_{offline}}}}\).

Let \(g(z) = - 2xA + A'x{c_{offline}}\), \(g'(z) = - 2xB{c_{offline}} < 0\).

Because \(z \le y\), when \(z=y\), g(z) can get the minimum value.

\(g'(y) = 2x(2L + 2y - x)B > 0\), when \(y=1\), g(y) can get the minimum value.

\(ming(y)=g(1)> g(0) = {x^2}(4{L^2} + 2{x^2} - 6xL + 6L - 5x)B > 0\), we can get \(g(z) > 0\).

f(yz) is an increasing function of z, when \(z=1\), f(yz) can get the minimum value. For f(y, 1), with the similar analysis, we can get f(y, 1) is an increasing function of y, and

\(minf(y,z)=f(1,1)> f(0,0) = \frac{{(4{{(L - x)}^2}L - 2x({{(L - x)}^2} + (L - x))B + 4{{(L - x)}^2}}}{{x(2L - x)}} > 0\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wu, T., He, L. & Yu, H. Online traveling salesman problem with time cost and non-zealous server. J Comb Optim 44, 2143–2166 (2022). https://doi.org/10.1007/s10878-020-00585-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-020-00585-1

Keywords

Navigation