A variant of the Multiple Traveling Salesman ProblemIs there a canonical name for Score Folding (multiplying a priority soft constraint by a big weight)?Is there a fixed worst-case error bound for farthest-insertion?Relationship between the Assignment Problem and the Stable Marriage ProblemSmall Traveling Salesman Problem instanceHas the expressibility of 'non-integrality testing' as extension to MILP been studied before?Bin Packing with Relational PenalizationDeciding the presence of mixed-integer points in the relative interior of a polyhedronDoes the “prize-collecting shortest path problem” exist?How to reformulate (linearize/convexify) a budgeted assignment problem?Finding minimum time for vehicle to reach to its destination

Classic vs Modern Experience

Self-deportation of American Citizens from US

Do 3/8 (37.5%) of Quadratics Have No x-Intercepts?

What is the German equivalent of the proverb 水清ければ魚棲まず (if the water is clear, fish won't live there)?

Who said "one can be a powerful king with a very small sceptre"?

Piece of chess engine, which accomplishes move generation

Semen retention is a important thing in Martial arts?

Blank spaces in a font

Why put copper in between battery contacts and clamps?

Is there a word to describe someone who is, or the state of being, content with hanging around others without interacting with them?

Exploiting the delay when a festival ticket is scanned

A variant of the Multiple Traveling Salesman Problem

How do I make my photos have more impact?

Scam? Checks via Email

Why is it considered acid rain with pH <5.6?

Why did some Apollo missions carry a grenade launcher?

Should I let a company know I've reverse engineered and rebuilt their app?

Would people understand me speaking German all over Europe?

How to efficiently shred a lot of cabbage?

Is it okay for me to decline a project on ethical grounds?

If you inherit a Roth 401(k), is it taxed?

How does a poisoned arrow combine with the spell Conjure Barrage?

Why force the nose of 737 Max down in the first place?

Assuring luggage isn't lost with short layover



A variant of the Multiple Traveling Salesman Problem


Is there a canonical name for Score Folding (multiplying a priority soft constraint by a big weight)?Is there a fixed worst-case error bound for farthest-insertion?Relationship between the Assignment Problem and the Stable Marriage ProblemSmall Traveling Salesman Problem instanceHas the expressibility of 'non-integrality testing' as extension to MILP been studied before?Bin Packing with Relational PenalizationDeciding the presence of mixed-integer points in the relative interior of a polyhedronDoes the “prize-collecting shortest path problem” exist?How to reformulate (linearize/convexify) a budgeted assignment problem?Finding minimum time for vehicle to reach to its destination













8












$begingroup$


Note that I am cross-posting from math-SE as a suggestion from comments, the original post is here.



I am trying to find a reference (or a reformulation) of a variant of the multiple Traveling Salesman Problem, where multiple agents need to visit each vertex in a graph with minimal cost.



Most of the literature that I found requires that only one agent needs to visit each vertex, but I am looking to generalize this to requiring multiple and different agents visiting some of the vertices. I have been trying to form this problem into the multiple Traveling Salesman problem, (and eventually use an approximation algorithm) but I have not been successful in reformulating the problem.



Some of the references that I looked into were



  • Arkin, Esther M., Refael Hassin, and Asaf Levin. "Approximations for minimum and min-max vehicle routing problems." Journal of Algorithms 59.1 (2006): 1-18, and


  • Bektas, Tolga. "The multiple traveling salesman problem: an overview of formulations and solution procedures." Omega 34.3 (2006): 209-219.


But, as I mentioned before, these papers require that each vertex is visited only once, and I want to require multiple agents to visit some of the vertices.










share|improve this question









New contributor



kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$













  • $begingroup$
    Can you explain your problem more, may be by giving a small example? Let’s say 3 vehicles and 5 vertex. How the result of your model should be?
    $endgroup$
    – Oguz Toragay
    8 hours ago










  • $begingroup$
    The output should be a path for each vehicle such that each vertex is visited by at least two different agents. Edit: For instance, an example path may be for a 5 vertex example: Agent 1: 1,3,2,4 Agent 2 : 1,2,4,5 Agent 3 : 3,5
    $endgroup$
    – kemalduldul
    8 hours ago
















8












$begingroup$


Note that I am cross-posting from math-SE as a suggestion from comments, the original post is here.



I am trying to find a reference (or a reformulation) of a variant of the multiple Traveling Salesman Problem, where multiple agents need to visit each vertex in a graph with minimal cost.



Most of the literature that I found requires that only one agent needs to visit each vertex, but I am looking to generalize this to requiring multiple and different agents visiting some of the vertices. I have been trying to form this problem into the multiple Traveling Salesman problem, (and eventually use an approximation algorithm) but I have not been successful in reformulating the problem.



Some of the references that I looked into were



  • Arkin, Esther M., Refael Hassin, and Asaf Levin. "Approximations for minimum and min-max vehicle routing problems." Journal of Algorithms 59.1 (2006): 1-18, and


  • Bektas, Tolga. "The multiple traveling salesman problem: an overview of formulations and solution procedures." Omega 34.3 (2006): 209-219.


But, as I mentioned before, these papers require that each vertex is visited only once, and I want to require multiple agents to visit some of the vertices.










share|improve this question









New contributor



kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$













  • $begingroup$
    Can you explain your problem more, may be by giving a small example? Let’s say 3 vehicles and 5 vertex. How the result of your model should be?
    $endgroup$
    – Oguz Toragay
    8 hours ago










  • $begingroup$
    The output should be a path for each vehicle such that each vertex is visited by at least two different agents. Edit: For instance, an example path may be for a 5 vertex example: Agent 1: 1,3,2,4 Agent 2 : 1,2,4,5 Agent 3 : 3,5
    $endgroup$
    – kemalduldul
    8 hours ago














8












8








8





$begingroup$


Note that I am cross-posting from math-SE as a suggestion from comments, the original post is here.



I am trying to find a reference (or a reformulation) of a variant of the multiple Traveling Salesman Problem, where multiple agents need to visit each vertex in a graph with minimal cost.



Most of the literature that I found requires that only one agent needs to visit each vertex, but I am looking to generalize this to requiring multiple and different agents visiting some of the vertices. I have been trying to form this problem into the multiple Traveling Salesman problem, (and eventually use an approximation algorithm) but I have not been successful in reformulating the problem.



Some of the references that I looked into were



  • Arkin, Esther M., Refael Hassin, and Asaf Levin. "Approximations for minimum and min-max vehicle routing problems." Journal of Algorithms 59.1 (2006): 1-18, and


  • Bektas, Tolga. "The multiple traveling salesman problem: an overview of formulations and solution procedures." Omega 34.3 (2006): 209-219.


But, as I mentioned before, these papers require that each vertex is visited only once, and I want to require multiple agents to visit some of the vertices.










share|improve this question









New contributor



kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$




Note that I am cross-posting from math-SE as a suggestion from comments, the original post is here.



I am trying to find a reference (or a reformulation) of a variant of the multiple Traveling Salesman Problem, where multiple agents need to visit each vertex in a graph with minimal cost.



Most of the literature that I found requires that only one agent needs to visit each vertex, but I am looking to generalize this to requiring multiple and different agents visiting some of the vertices. I have been trying to form this problem into the multiple Traveling Salesman problem, (and eventually use an approximation algorithm) but I have not been successful in reformulating the problem.



Some of the references that I looked into were



  • Arkin, Esther M., Refael Hassin, and Asaf Levin. "Approximations for minimum and min-max vehicle routing problems." Journal of Algorithms 59.1 (2006): 1-18, and


  • Bektas, Tolga. "The multiple traveling salesman problem: an overview of formulations and solution procedures." Omega 34.3 (2006): 209-219.


But, as I mentioned before, these papers require that each vertex is visited only once, and I want to require multiple agents to visit some of the vertices.







integer-programming reference-request combinatorial-optimization graphs traveling-salesman






share|improve this question









New contributor



kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










share|improve this question









New contributor



kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








share|improve this question




share|improve this question








edited 5 hours ago









Kevin Dalmeijer

1,2453 silver badges21 bronze badges




1,2453 silver badges21 bronze badges






New contributor



kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








asked 9 hours ago









kemalduldulkemalduldul

433 bronze badges




433 bronze badges




New contributor



kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




New contributor




kemalduldul is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • $begingroup$
    Can you explain your problem more, may be by giving a small example? Let’s say 3 vehicles and 5 vertex. How the result of your model should be?
    $endgroup$
    – Oguz Toragay
    8 hours ago










  • $begingroup$
    The output should be a path for each vehicle such that each vertex is visited by at least two different agents. Edit: For instance, an example path may be for a 5 vertex example: Agent 1: 1,3,2,4 Agent 2 : 1,2,4,5 Agent 3 : 3,5
    $endgroup$
    – kemalduldul
    8 hours ago

















  • $begingroup$
    Can you explain your problem more, may be by giving a small example? Let’s say 3 vehicles and 5 vertex. How the result of your model should be?
    $endgroup$
    – Oguz Toragay
    8 hours ago










  • $begingroup$
    The output should be a path for each vehicle such that each vertex is visited by at least two different agents. Edit: For instance, an example path may be for a 5 vertex example: Agent 1: 1,3,2,4 Agent 2 : 1,2,4,5 Agent 3 : 3,5
    $endgroup$
    – kemalduldul
    8 hours ago
















$begingroup$
Can you explain your problem more, may be by giving a small example? Let’s say 3 vehicles and 5 vertex. How the result of your model should be?
$endgroup$
– Oguz Toragay
8 hours ago




$begingroup$
Can you explain your problem more, may be by giving a small example? Let’s say 3 vehicles and 5 vertex. How the result of your model should be?
$endgroup$
– Oguz Toragay
8 hours ago












$begingroup$
The output should be a path for each vehicle such that each vertex is visited by at least two different agents. Edit: For instance, an example path may be for a 5 vertex example: Agent 1: 1,3,2,4 Agent 2 : 1,2,4,5 Agent 3 : 3,5
$endgroup$
– kemalduldul
8 hours ago





$begingroup$
The output should be a path for each vehicle such that each vertex is visited by at least two different agents. Edit: For instance, an example path may be for a 5 vertex example: Agent 1: 1,3,2,4 Agent 2 : 1,2,4,5 Agent 3 : 3,5
$endgroup$
– kemalduldul
8 hours ago











3 Answers
3






active

oldest

votes


















5












$begingroup$

Y. Kaempfer and L. Wolf, in their recent paper [1] applied ML techniques to solve the Multiple Traveling Salesmen Problem (mTSP). They provide a mathematical model for problem formulation which can be modified to cover what you need in the solution to your problem.



You can replace the constraint (2d) which is:



$$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k=1 (2d)$$



with:



$$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k geq 2 (2d')$$



depends on the number of agents that need to visit each vertex.



The rest of the constraints in their model can be kept the same. In addition to the mentioned paper the following resources could also be helpful:



  • Multiple Traveling Salesman Problem (mTSP) in Neos guide


  • A Multi-Agent Approach for Solving Traveling Salesman Problem [2], in which you may find some hints regarding the approximation approach to solve the problem.


  • There is also a similar question in Stack Overflow: Travelling Salesman with multiple salesmen?



[1] Kaempfer, Yoav, and Lior Wolf. "Learning the multiple traveling salesmen problem with permutation invariant pooling networks." arXiv preprint arXiv:1803.09621 (2018).



[2] Tiejun, Zhou, Tan Yihong, and Xing Lining. "A multi-agent approach for solving traveling salesman problem." Wuhan University Journal of Natural Sciences 11.5 (2006): 1104-1108.






share|improve this answer











$endgroup$






















    5












    $begingroup$

    You can model your problem by defining separate variables for each traveling salesman. Below I will use 'vehicle' instead of 'traveling salesman', which is more common in this setting.



    Defining separate variables



    Let $n$ be the number of customers and let $m le n$ be the number of vehicles.
    For each vehicle $k = 1, dots, m$, define the variables
    $$x_ij^k := begincases 1 & textrm if vehicle $k$ travels from $i$ to $j$ \ 0 & textrm else. endcases$$



    Constraints



    • For each vehicle $k$, add constraints to make sure that the variables $x_ij^k$ describe a valid route. It is important that customers cannot be visited twice by the same vehicle. If you don't know the number of vehicles in advance, choose $m=n$ and make sure that empty routes are allowed (all $x_ij^k = 0$ for all $i$ and $j$ for a given $k$).

    • Add constraints that say that every node is visited by the appropriate number of vehicles. Note that the earlier constraints enforce that each visit is by a unique vehicle.

    • You can enforce that node $i$ can only be visited by certain vehicles by setting $x_pi^k = 0$ for all $p in V$ if $k$ and $i$ are incompatible.





    share|improve this answer











    $endgroup$










    • 1




      $begingroup$
      That's a great idea to solve the problem. The only point which needs to be considered as well is, by duplicating the nodes, the size of the problem grows and the curse of dimensionality may affect the performance of approximating approaches to solve the problem.
      $endgroup$
      – Oguz Toragay
      6 hours ago










    • $begingroup$
      @OguzToragay You are correct. Even worse, the additional symmetry will also decrease performance. On hindsight, duplicating the nodes is not necessary, and I will edit my answer accordingly.
      $endgroup$
      – Kevin Dalmeijer
      5 hours ago










    • $begingroup$
      Thank you for the answer. For this formulation, is it possible to use heuristics for the multiple vehicle problem, for example the one in Arkin et al. that has a 4-approximation guarantee?. Thank you.
      $endgroup$
      – kemalduldul
      3 hours ago










    • $begingroup$
      @kemalduldul I am not familiar with the paper by Arkin et al. There is large amount of literature on heuristics for vehicle routing problems. Chapter 4 in Vehicle Routing: Problems, Methods, and Applications may be a good place to start.
      $endgroup$
      – Kevin Dalmeijer
      3 hours ago


















    3












    $begingroup$

    I'd like to add a few more ideas that could be important for solving this problem. I agree that a multiple-vehicle integer programming formulation may be a reasonable approach. In an arc-based model, decision variables $x^k_ij$ specify that vehicle/salesperson $k$ travels between $i$ and $j$ on its subtour. In such a formulation, you should create multiple copies for each vertex that needs to be visited multiple times, not create edges between vertex copies, and add a side constraint that ensures that vehicle/salesperson $k$ visits at most one copy of any vertex. Note that making copies introduces some symmetries that can create computational problems. A modeling idea to avoid some difficulties that might arise due to such symmetries is to allow vehicle $k$ to only visit copies $1,2,...,k$ of any vertex by not including certain edges/variables.



    It may be important to include some constraints on the tours generated. For example, you could constrain the number of visits made by each vehicle: $$sum_ij x^k_ij leq c$$ or constrain the total duration of each vehicle tour: $$sum_ij t_ij x^k_ij leq d quad .$$ If you want to be sure that vehicles serve tours with roughly the same number of visits or same total duration, you could use a minimax objective where you minimize $z$ and constrain $$z geq sum_ij x^k_ij quad textor quad z geq sum_ij t_ij x^k_ij quad forall ; k quad .$$



    One minor problem with such an arc-based formulation is that subtour elimination constraints will be required for each vehicle/salesperson. Since no individual vehicle needs to serve all vertices, it is important to use appropriate SEC constraints. One option is the Miller-Tucker-Zemlin approach that introduces ordering decision variables (in this case, for each vehicle). If all the vehicles have a common base/depot vertex 0, then the typical SEC constraints that prevent cycles that do not include vertex 0 will work with minor modifications. Since these types of constraints are added dynamically, symmetry requires that you add them for each vehicle when they are required for any vehicle and that all copies of vertex $i$ should be included in the subtour set $S$.






    share|improve this answer









    $endgroup$

















      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "700"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      noCode: true, onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );






      kemalduldul is a new contributor. Be nice, and check out our Code of Conduct.









      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2for.stackexchange.com%2fquestions%2f1092%2fa-variant-of-the-multiple-traveling-salesman-problem%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      5












      $begingroup$

      Y. Kaempfer and L. Wolf, in their recent paper [1] applied ML techniques to solve the Multiple Traveling Salesmen Problem (mTSP). They provide a mathematical model for problem formulation which can be modified to cover what you need in the solution to your problem.



      You can replace the constraint (2d) which is:



      $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k=1 (2d)$$



      with:



      $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k geq 2 (2d')$$



      depends on the number of agents that need to visit each vertex.



      The rest of the constraints in their model can be kept the same. In addition to the mentioned paper the following resources could also be helpful:



      • Multiple Traveling Salesman Problem (mTSP) in Neos guide


      • A Multi-Agent Approach for Solving Traveling Salesman Problem [2], in which you may find some hints regarding the approximation approach to solve the problem.


      • There is also a similar question in Stack Overflow: Travelling Salesman with multiple salesmen?



      [1] Kaempfer, Yoav, and Lior Wolf. "Learning the multiple traveling salesmen problem with permutation invariant pooling networks." arXiv preprint arXiv:1803.09621 (2018).



      [2] Tiejun, Zhou, Tan Yihong, and Xing Lining. "A multi-agent approach for solving traveling salesman problem." Wuhan University Journal of Natural Sciences 11.5 (2006): 1104-1108.






      share|improve this answer











      $endgroup$



















        5












        $begingroup$

        Y. Kaempfer and L. Wolf, in their recent paper [1] applied ML techniques to solve the Multiple Traveling Salesmen Problem (mTSP). They provide a mathematical model for problem formulation which can be modified to cover what you need in the solution to your problem.



        You can replace the constraint (2d) which is:



        $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k=1 (2d)$$



        with:



        $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k geq 2 (2d')$$



        depends on the number of agents that need to visit each vertex.



        The rest of the constraints in their model can be kept the same. In addition to the mentioned paper the following resources could also be helpful:



        • Multiple Traveling Salesman Problem (mTSP) in Neos guide


        • A Multi-Agent Approach for Solving Traveling Salesman Problem [2], in which you may find some hints regarding the approximation approach to solve the problem.


        • There is also a similar question in Stack Overflow: Travelling Salesman with multiple salesmen?



        [1] Kaempfer, Yoav, and Lior Wolf. "Learning the multiple traveling salesmen problem with permutation invariant pooling networks." arXiv preprint arXiv:1803.09621 (2018).



        [2] Tiejun, Zhou, Tan Yihong, and Xing Lining. "A multi-agent approach for solving traveling salesman problem." Wuhan University Journal of Natural Sciences 11.5 (2006): 1104-1108.






        share|improve this answer











        $endgroup$

















          5












          5








          5





          $begingroup$

          Y. Kaempfer and L. Wolf, in their recent paper [1] applied ML techniques to solve the Multiple Traveling Salesmen Problem (mTSP). They provide a mathematical model for problem formulation which can be modified to cover what you need in the solution to your problem.



          You can replace the constraint (2d) which is:



          $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k=1 (2d)$$



          with:



          $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k geq 2 (2d')$$



          depends on the number of agents that need to visit each vertex.



          The rest of the constraints in their model can be kept the same. In addition to the mentioned paper the following resources could also be helpful:



          • Multiple Traveling Salesman Problem (mTSP) in Neos guide


          • A Multi-Agent Approach for Solving Traveling Salesman Problem [2], in which you may find some hints regarding the approximation approach to solve the problem.


          • There is also a similar question in Stack Overflow: Travelling Salesman with multiple salesmen?



          [1] Kaempfer, Yoav, and Lior Wolf. "Learning the multiple traveling salesmen problem with permutation invariant pooling networks." arXiv preprint arXiv:1803.09621 (2018).



          [2] Tiejun, Zhou, Tan Yihong, and Xing Lining. "A multi-agent approach for solving traveling salesman problem." Wuhan University Journal of Natural Sciences 11.5 (2006): 1104-1108.






          share|improve this answer











          $endgroup$



          Y. Kaempfer and L. Wolf, in their recent paper [1] applied ML techniques to solve the Multiple Traveling Salesmen Problem (mTSP). They provide a mathematical model for problem formulation which can be modified to cover what you need in the solution to your problem.



          You can replace the constraint (2d) which is:



          $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k=1 (2d)$$



          with:



          $$forall 2leq j leq n: sumlimits_i=1^nsumlimits_k=1^m delta_i,j,k geq 2 (2d')$$



          depends on the number of agents that need to visit each vertex.



          The rest of the constraints in their model can be kept the same. In addition to the mentioned paper the following resources could also be helpful:



          • Multiple Traveling Salesman Problem (mTSP) in Neos guide


          • A Multi-Agent Approach for Solving Traveling Salesman Problem [2], in which you may find some hints regarding the approximation approach to solve the problem.


          • There is also a similar question in Stack Overflow: Travelling Salesman with multiple salesmen?



          [1] Kaempfer, Yoav, and Lior Wolf. "Learning the multiple traveling salesmen problem with permutation invariant pooling networks." arXiv preprint arXiv:1803.09621 (2018).



          [2] Tiejun, Zhou, Tan Yihong, and Xing Lining. "A multi-agent approach for solving traveling salesman problem." Wuhan University Journal of Natural Sciences 11.5 (2006): 1104-1108.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 4 hours ago









          TheSimpliFire

          1,5004 silver badges33 bronze badges




          1,5004 silver badges33 bronze badges










          answered 6 hours ago









          Oguz ToragayOguz Toragay

          1,2941 silver badge17 bronze badges




          1,2941 silver badge17 bronze badges
























              5












              $begingroup$

              You can model your problem by defining separate variables for each traveling salesman. Below I will use 'vehicle' instead of 'traveling salesman', which is more common in this setting.



              Defining separate variables



              Let $n$ be the number of customers and let $m le n$ be the number of vehicles.
              For each vehicle $k = 1, dots, m$, define the variables
              $$x_ij^k := begincases 1 & textrm if vehicle $k$ travels from $i$ to $j$ \ 0 & textrm else. endcases$$



              Constraints



              • For each vehicle $k$, add constraints to make sure that the variables $x_ij^k$ describe a valid route. It is important that customers cannot be visited twice by the same vehicle. If you don't know the number of vehicles in advance, choose $m=n$ and make sure that empty routes are allowed (all $x_ij^k = 0$ for all $i$ and $j$ for a given $k$).

              • Add constraints that say that every node is visited by the appropriate number of vehicles. Note that the earlier constraints enforce that each visit is by a unique vehicle.

              • You can enforce that node $i$ can only be visited by certain vehicles by setting $x_pi^k = 0$ for all $p in V$ if $k$ and $i$ are incompatible.





              share|improve this answer











              $endgroup$










              • 1




                $begingroup$
                That's a great idea to solve the problem. The only point which needs to be considered as well is, by duplicating the nodes, the size of the problem grows and the curse of dimensionality may affect the performance of approximating approaches to solve the problem.
                $endgroup$
                – Oguz Toragay
                6 hours ago










              • $begingroup$
                @OguzToragay You are correct. Even worse, the additional symmetry will also decrease performance. On hindsight, duplicating the nodes is not necessary, and I will edit my answer accordingly.
                $endgroup$
                – Kevin Dalmeijer
                5 hours ago










              • $begingroup$
                Thank you for the answer. For this formulation, is it possible to use heuristics for the multiple vehicle problem, for example the one in Arkin et al. that has a 4-approximation guarantee?. Thank you.
                $endgroup$
                – kemalduldul
                3 hours ago










              • $begingroup$
                @kemalduldul I am not familiar with the paper by Arkin et al. There is large amount of literature on heuristics for vehicle routing problems. Chapter 4 in Vehicle Routing: Problems, Methods, and Applications may be a good place to start.
                $endgroup$
                – Kevin Dalmeijer
                3 hours ago















              5












              $begingroup$

              You can model your problem by defining separate variables for each traveling salesman. Below I will use 'vehicle' instead of 'traveling salesman', which is more common in this setting.



              Defining separate variables



              Let $n$ be the number of customers and let $m le n$ be the number of vehicles.
              For each vehicle $k = 1, dots, m$, define the variables
              $$x_ij^k := begincases 1 & textrm if vehicle $k$ travels from $i$ to $j$ \ 0 & textrm else. endcases$$



              Constraints



              • For each vehicle $k$, add constraints to make sure that the variables $x_ij^k$ describe a valid route. It is important that customers cannot be visited twice by the same vehicle. If you don't know the number of vehicles in advance, choose $m=n$ and make sure that empty routes are allowed (all $x_ij^k = 0$ for all $i$ and $j$ for a given $k$).

              • Add constraints that say that every node is visited by the appropriate number of vehicles. Note that the earlier constraints enforce that each visit is by a unique vehicle.

              • You can enforce that node $i$ can only be visited by certain vehicles by setting $x_pi^k = 0$ for all $p in V$ if $k$ and $i$ are incompatible.





              share|improve this answer











              $endgroup$










              • 1




                $begingroup$
                That's a great idea to solve the problem. The only point which needs to be considered as well is, by duplicating the nodes, the size of the problem grows and the curse of dimensionality may affect the performance of approximating approaches to solve the problem.
                $endgroup$
                – Oguz Toragay
                6 hours ago










              • $begingroup$
                @OguzToragay You are correct. Even worse, the additional symmetry will also decrease performance. On hindsight, duplicating the nodes is not necessary, and I will edit my answer accordingly.
                $endgroup$
                – Kevin Dalmeijer
                5 hours ago










              • $begingroup$
                Thank you for the answer. For this formulation, is it possible to use heuristics for the multiple vehicle problem, for example the one in Arkin et al. that has a 4-approximation guarantee?. Thank you.
                $endgroup$
                – kemalduldul
                3 hours ago










              • $begingroup$
                @kemalduldul I am not familiar with the paper by Arkin et al. There is large amount of literature on heuristics for vehicle routing problems. Chapter 4 in Vehicle Routing: Problems, Methods, and Applications may be a good place to start.
                $endgroup$
                – Kevin Dalmeijer
                3 hours ago













              5












              5








              5





              $begingroup$

              You can model your problem by defining separate variables for each traveling salesman. Below I will use 'vehicle' instead of 'traveling salesman', which is more common in this setting.



              Defining separate variables



              Let $n$ be the number of customers and let $m le n$ be the number of vehicles.
              For each vehicle $k = 1, dots, m$, define the variables
              $$x_ij^k := begincases 1 & textrm if vehicle $k$ travels from $i$ to $j$ \ 0 & textrm else. endcases$$



              Constraints



              • For each vehicle $k$, add constraints to make sure that the variables $x_ij^k$ describe a valid route. It is important that customers cannot be visited twice by the same vehicle. If you don't know the number of vehicles in advance, choose $m=n$ and make sure that empty routes are allowed (all $x_ij^k = 0$ for all $i$ and $j$ for a given $k$).

              • Add constraints that say that every node is visited by the appropriate number of vehicles. Note that the earlier constraints enforce that each visit is by a unique vehicle.

              • You can enforce that node $i$ can only be visited by certain vehicles by setting $x_pi^k = 0$ for all $p in V$ if $k$ and $i$ are incompatible.





              share|improve this answer











              $endgroup$



              You can model your problem by defining separate variables for each traveling salesman. Below I will use 'vehicle' instead of 'traveling salesman', which is more common in this setting.



              Defining separate variables



              Let $n$ be the number of customers and let $m le n$ be the number of vehicles.
              For each vehicle $k = 1, dots, m$, define the variables
              $$x_ij^k := begincases 1 & textrm if vehicle $k$ travels from $i$ to $j$ \ 0 & textrm else. endcases$$



              Constraints



              • For each vehicle $k$, add constraints to make sure that the variables $x_ij^k$ describe a valid route. It is important that customers cannot be visited twice by the same vehicle. If you don't know the number of vehicles in advance, choose $m=n$ and make sure that empty routes are allowed (all $x_ij^k = 0$ for all $i$ and $j$ for a given $k$).

              • Add constraints that say that every node is visited by the appropriate number of vehicles. Note that the earlier constraints enforce that each visit is by a unique vehicle.

              • You can enforce that node $i$ can only be visited by certain vehicles by setting $x_pi^k = 0$ for all $p in V$ if $k$ and $i$ are incompatible.






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited 5 hours ago

























              answered 6 hours ago









              Kevin DalmeijerKevin Dalmeijer

              1,2453 silver badges21 bronze badges




              1,2453 silver badges21 bronze badges










              • 1




                $begingroup$
                That's a great idea to solve the problem. The only point which needs to be considered as well is, by duplicating the nodes, the size of the problem grows and the curse of dimensionality may affect the performance of approximating approaches to solve the problem.
                $endgroup$
                – Oguz Toragay
                6 hours ago










              • $begingroup$
                @OguzToragay You are correct. Even worse, the additional symmetry will also decrease performance. On hindsight, duplicating the nodes is not necessary, and I will edit my answer accordingly.
                $endgroup$
                – Kevin Dalmeijer
                5 hours ago










              • $begingroup$
                Thank you for the answer. For this formulation, is it possible to use heuristics for the multiple vehicle problem, for example the one in Arkin et al. that has a 4-approximation guarantee?. Thank you.
                $endgroup$
                – kemalduldul
                3 hours ago










              • $begingroup$
                @kemalduldul I am not familiar with the paper by Arkin et al. There is large amount of literature on heuristics for vehicle routing problems. Chapter 4 in Vehicle Routing: Problems, Methods, and Applications may be a good place to start.
                $endgroup$
                – Kevin Dalmeijer
                3 hours ago












              • 1




                $begingroup$
                That's a great idea to solve the problem. The only point which needs to be considered as well is, by duplicating the nodes, the size of the problem grows and the curse of dimensionality may affect the performance of approximating approaches to solve the problem.
                $endgroup$
                – Oguz Toragay
                6 hours ago










              • $begingroup$
                @OguzToragay You are correct. Even worse, the additional symmetry will also decrease performance. On hindsight, duplicating the nodes is not necessary, and I will edit my answer accordingly.
                $endgroup$
                – Kevin Dalmeijer
                5 hours ago










              • $begingroup$
                Thank you for the answer. For this formulation, is it possible to use heuristics for the multiple vehicle problem, for example the one in Arkin et al. that has a 4-approximation guarantee?. Thank you.
                $endgroup$
                – kemalduldul
                3 hours ago










              • $begingroup$
                @kemalduldul I am not familiar with the paper by Arkin et al. There is large amount of literature on heuristics for vehicle routing problems. Chapter 4 in Vehicle Routing: Problems, Methods, and Applications may be a good place to start.
                $endgroup$
                – Kevin Dalmeijer
                3 hours ago







              1




              1




              $begingroup$
              That's a great idea to solve the problem. The only point which needs to be considered as well is, by duplicating the nodes, the size of the problem grows and the curse of dimensionality may affect the performance of approximating approaches to solve the problem.
              $endgroup$
              – Oguz Toragay
              6 hours ago




              $begingroup$
              That's a great idea to solve the problem. The only point which needs to be considered as well is, by duplicating the nodes, the size of the problem grows and the curse of dimensionality may affect the performance of approximating approaches to solve the problem.
              $endgroup$
              – Oguz Toragay
              6 hours ago












              $begingroup$
              @OguzToragay You are correct. Even worse, the additional symmetry will also decrease performance. On hindsight, duplicating the nodes is not necessary, and I will edit my answer accordingly.
              $endgroup$
              – Kevin Dalmeijer
              5 hours ago




              $begingroup$
              @OguzToragay You are correct. Even worse, the additional symmetry will also decrease performance. On hindsight, duplicating the nodes is not necessary, and I will edit my answer accordingly.
              $endgroup$
              – Kevin Dalmeijer
              5 hours ago












              $begingroup$
              Thank you for the answer. For this formulation, is it possible to use heuristics for the multiple vehicle problem, for example the one in Arkin et al. that has a 4-approximation guarantee?. Thank you.
              $endgroup$
              – kemalduldul
              3 hours ago




              $begingroup$
              Thank you for the answer. For this formulation, is it possible to use heuristics for the multiple vehicle problem, for example the one in Arkin et al. that has a 4-approximation guarantee?. Thank you.
              $endgroup$
              – kemalduldul
              3 hours ago












              $begingroup$
              @kemalduldul I am not familiar with the paper by Arkin et al. There is large amount of literature on heuristics for vehicle routing problems. Chapter 4 in Vehicle Routing: Problems, Methods, and Applications may be a good place to start.
              $endgroup$
              – Kevin Dalmeijer
              3 hours ago




              $begingroup$
              @kemalduldul I am not familiar with the paper by Arkin et al. There is large amount of literature on heuristics for vehicle routing problems. Chapter 4 in Vehicle Routing: Problems, Methods, and Applications may be a good place to start.
              $endgroup$
              – Kevin Dalmeijer
              3 hours ago











              3












              $begingroup$

              I'd like to add a few more ideas that could be important for solving this problem. I agree that a multiple-vehicle integer programming formulation may be a reasonable approach. In an arc-based model, decision variables $x^k_ij$ specify that vehicle/salesperson $k$ travels between $i$ and $j$ on its subtour. In such a formulation, you should create multiple copies for each vertex that needs to be visited multiple times, not create edges between vertex copies, and add a side constraint that ensures that vehicle/salesperson $k$ visits at most one copy of any vertex. Note that making copies introduces some symmetries that can create computational problems. A modeling idea to avoid some difficulties that might arise due to such symmetries is to allow vehicle $k$ to only visit copies $1,2,...,k$ of any vertex by not including certain edges/variables.



              It may be important to include some constraints on the tours generated. For example, you could constrain the number of visits made by each vehicle: $$sum_ij x^k_ij leq c$$ or constrain the total duration of each vehicle tour: $$sum_ij t_ij x^k_ij leq d quad .$$ If you want to be sure that vehicles serve tours with roughly the same number of visits or same total duration, you could use a minimax objective where you minimize $z$ and constrain $$z geq sum_ij x^k_ij quad textor quad z geq sum_ij t_ij x^k_ij quad forall ; k quad .$$



              One minor problem with such an arc-based formulation is that subtour elimination constraints will be required for each vehicle/salesperson. Since no individual vehicle needs to serve all vertices, it is important to use appropriate SEC constraints. One option is the Miller-Tucker-Zemlin approach that introduces ordering decision variables (in this case, for each vehicle). If all the vehicles have a common base/depot vertex 0, then the typical SEC constraints that prevent cycles that do not include vertex 0 will work with minor modifications. Since these types of constraints are added dynamically, symmetry requires that you add them for each vehicle when they are required for any vehicle and that all copies of vertex $i$ should be included in the subtour set $S$.






              share|improve this answer









              $endgroup$



















                3












                $begingroup$

                I'd like to add a few more ideas that could be important for solving this problem. I agree that a multiple-vehicle integer programming formulation may be a reasonable approach. In an arc-based model, decision variables $x^k_ij$ specify that vehicle/salesperson $k$ travels between $i$ and $j$ on its subtour. In such a formulation, you should create multiple copies for each vertex that needs to be visited multiple times, not create edges between vertex copies, and add a side constraint that ensures that vehicle/salesperson $k$ visits at most one copy of any vertex. Note that making copies introduces some symmetries that can create computational problems. A modeling idea to avoid some difficulties that might arise due to such symmetries is to allow vehicle $k$ to only visit copies $1,2,...,k$ of any vertex by not including certain edges/variables.



                It may be important to include some constraints on the tours generated. For example, you could constrain the number of visits made by each vehicle: $$sum_ij x^k_ij leq c$$ or constrain the total duration of each vehicle tour: $$sum_ij t_ij x^k_ij leq d quad .$$ If you want to be sure that vehicles serve tours with roughly the same number of visits or same total duration, you could use a minimax objective where you minimize $z$ and constrain $$z geq sum_ij x^k_ij quad textor quad z geq sum_ij t_ij x^k_ij quad forall ; k quad .$$



                One minor problem with such an arc-based formulation is that subtour elimination constraints will be required for each vehicle/salesperson. Since no individual vehicle needs to serve all vertices, it is important to use appropriate SEC constraints. One option is the Miller-Tucker-Zemlin approach that introduces ordering decision variables (in this case, for each vehicle). If all the vehicles have a common base/depot vertex 0, then the typical SEC constraints that prevent cycles that do not include vertex 0 will work with minor modifications. Since these types of constraints are added dynamically, symmetry requires that you add them for each vehicle when they are required for any vehicle and that all copies of vertex $i$ should be included in the subtour set $S$.






                share|improve this answer









                $endgroup$

















                  3












                  3








                  3





                  $begingroup$

                  I'd like to add a few more ideas that could be important for solving this problem. I agree that a multiple-vehicle integer programming formulation may be a reasonable approach. In an arc-based model, decision variables $x^k_ij$ specify that vehicle/salesperson $k$ travels between $i$ and $j$ on its subtour. In such a formulation, you should create multiple copies for each vertex that needs to be visited multiple times, not create edges between vertex copies, and add a side constraint that ensures that vehicle/salesperson $k$ visits at most one copy of any vertex. Note that making copies introduces some symmetries that can create computational problems. A modeling idea to avoid some difficulties that might arise due to such symmetries is to allow vehicle $k$ to only visit copies $1,2,...,k$ of any vertex by not including certain edges/variables.



                  It may be important to include some constraints on the tours generated. For example, you could constrain the number of visits made by each vehicle: $$sum_ij x^k_ij leq c$$ or constrain the total duration of each vehicle tour: $$sum_ij t_ij x^k_ij leq d quad .$$ If you want to be sure that vehicles serve tours with roughly the same number of visits or same total duration, you could use a minimax objective where you minimize $z$ and constrain $$z geq sum_ij x^k_ij quad textor quad z geq sum_ij t_ij x^k_ij quad forall ; k quad .$$



                  One minor problem with such an arc-based formulation is that subtour elimination constraints will be required for each vehicle/salesperson. Since no individual vehicle needs to serve all vertices, it is important to use appropriate SEC constraints. One option is the Miller-Tucker-Zemlin approach that introduces ordering decision variables (in this case, for each vehicle). If all the vehicles have a common base/depot vertex 0, then the typical SEC constraints that prevent cycles that do not include vertex 0 will work with minor modifications. Since these types of constraints are added dynamically, symmetry requires that you add them for each vehicle when they are required for any vehicle and that all copies of vertex $i$ should be included in the subtour set $S$.






                  share|improve this answer









                  $endgroup$



                  I'd like to add a few more ideas that could be important for solving this problem. I agree that a multiple-vehicle integer programming formulation may be a reasonable approach. In an arc-based model, decision variables $x^k_ij$ specify that vehicle/salesperson $k$ travels between $i$ and $j$ on its subtour. In such a formulation, you should create multiple copies for each vertex that needs to be visited multiple times, not create edges between vertex copies, and add a side constraint that ensures that vehicle/salesperson $k$ visits at most one copy of any vertex. Note that making copies introduces some symmetries that can create computational problems. A modeling idea to avoid some difficulties that might arise due to such symmetries is to allow vehicle $k$ to only visit copies $1,2,...,k$ of any vertex by not including certain edges/variables.



                  It may be important to include some constraints on the tours generated. For example, you could constrain the number of visits made by each vehicle: $$sum_ij x^k_ij leq c$$ or constrain the total duration of each vehicle tour: $$sum_ij t_ij x^k_ij leq d quad .$$ If you want to be sure that vehicles serve tours with roughly the same number of visits or same total duration, you could use a minimax objective where you minimize $z$ and constrain $$z geq sum_ij x^k_ij quad textor quad z geq sum_ij t_ij x^k_ij quad forall ; k quad .$$



                  One minor problem with such an arc-based formulation is that subtour elimination constraints will be required for each vehicle/salesperson. Since no individual vehicle needs to serve all vertices, it is important to use appropriate SEC constraints. One option is the Miller-Tucker-Zemlin approach that introduces ordering decision variables (in this case, for each vehicle). If all the vehicles have a common base/depot vertex 0, then the typical SEC constraints that prevent cycles that do not include vertex 0 will work with minor modifications. Since these types of constraints are added dynamically, symmetry requires that you add them for each vehicle when they are required for any vehicle and that all copies of vertex $i$ should be included in the subtour set $S$.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 4 hours ago









                  alereraalerera

                  1,0971 silver badge11 bronze badges




                  1,0971 silver badge11 bronze badges























                      kemalduldul is a new contributor. Be nice, and check out our Code of Conduct.









                      draft saved

                      draft discarded


















                      kemalduldul is a new contributor. Be nice, and check out our Code of Conduct.












                      kemalduldul is a new contributor. Be nice, and check out our Code of Conduct.











                      kemalduldul is a new contributor. Be nice, and check out our Code of Conduct.














                      Thanks for contributing an answer to Operations Research Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      Use MathJax to format equations. MathJax reference.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2for.stackexchange.com%2fquestions%2f1092%2fa-variant-of-the-multiple-traveling-salesman-problem%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                      Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                      François Viète Contents Biography Work and thought Bibliography See also Notes Further reading External links Navigation menup. 21Google Bookspp. 75–77Google BooksDe thou (from University of Saint Andrews)ArchivedGoogle BooksGoogle BooksGoogle BooksGoogle booksGoogle Bookscc-parthenay.frL'histoire universelle (fr)Universal History (en)ArchivedAdsabs.harvard.eduPagesperso-orange.frArchive.orgChikara Sasaki. Descartes' mathematical thought p.259Google BooksGoogle BooksGoogle Bookspp. 152 and onwardGoogle BooksGoogle BooksScribd.comGoogle Books1257-7979Google BooksGoogle BooksGoogle BooksGoogle BooksGoogle BooksGoogle BooksGallica.bnf.frGoogle BooksGoogle Books"François Viète"Francois Viète: Father of Modern Algebraic NotationThe Lawyer and the GamblerAbout TarporleySite de Jean-Paul GuichardL'algèbre nouvelle"About the Harmonicon"cb120511976(data)1188044800000 0001 0913 5903n82164680ola2013766880073431702w6vt1sb70287374827140948071409480