Linear Path Optimization with Two Dependent Variables












4












$begingroup$


Alright, so this is a fairly interesting problem I have but also slightly difficult to explain so I will try my best.



There are two runners on a line that goes from $x=0$ to $x=100$. The two runners start at $x=50$. The runners are then given an array of coordinate pairs that they must visit. The catch is, the coordinate pair contains the $x$ value for locations runner 1 and runner 2 must be at the same time. So for example, if they are given a coordinate pair $(40, 70)$, to successfully "complete" that coordinate, runner 1 must go to $x=40$, and runner 2 must go to $x=70$. They can't move on to the next coordinate pair until both have reached their destination.



So given a large array of coordinate pairs, the runners have to visit each coordinate pair in any order they chose. The runners can move at the same time and have the same speed. The trick is how to optimize the order in which they visit the coordinates. For example, if runner 1 is at $x=10$, and runner 2 is at $x=90$, it would be inefficient to chose a coordinate pair like $(80,80)$, because runner 2 would only travel $10$ units, and spend a long time waiting while runner 1 is moving $70$ units. This is sort of like the travelling salesman problem, except there are two people involved dependent on each other, and they can visit any point from any other given point in any order.



Does anyone have any ideas how to create an algorithm that would return the best (or at least good) optimized order in which they would visit these coordinate pairs?










share|cite|improve this question









New contributor




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







$endgroup$

















    4












    $begingroup$


    Alright, so this is a fairly interesting problem I have but also slightly difficult to explain so I will try my best.



    There are two runners on a line that goes from $x=0$ to $x=100$. The two runners start at $x=50$. The runners are then given an array of coordinate pairs that they must visit. The catch is, the coordinate pair contains the $x$ value for locations runner 1 and runner 2 must be at the same time. So for example, if they are given a coordinate pair $(40, 70)$, to successfully "complete" that coordinate, runner 1 must go to $x=40$, and runner 2 must go to $x=70$. They can't move on to the next coordinate pair until both have reached their destination.



    So given a large array of coordinate pairs, the runners have to visit each coordinate pair in any order they chose. The runners can move at the same time and have the same speed. The trick is how to optimize the order in which they visit the coordinates. For example, if runner 1 is at $x=10$, and runner 2 is at $x=90$, it would be inefficient to chose a coordinate pair like $(80,80)$, because runner 2 would only travel $10$ units, and spend a long time waiting while runner 1 is moving $70$ units. This is sort of like the travelling salesman problem, except there are two people involved dependent on each other, and they can visit any point from any other given point in any order.



    Does anyone have any ideas how to create an algorithm that would return the best (or at least good) optimized order in which they would visit these coordinate pairs?










    share|cite|improve this question









    New contributor




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







    $endgroup$















      4












      4








      4





      $begingroup$


      Alright, so this is a fairly interesting problem I have but also slightly difficult to explain so I will try my best.



      There are two runners on a line that goes from $x=0$ to $x=100$. The two runners start at $x=50$. The runners are then given an array of coordinate pairs that they must visit. The catch is, the coordinate pair contains the $x$ value for locations runner 1 and runner 2 must be at the same time. So for example, if they are given a coordinate pair $(40, 70)$, to successfully "complete" that coordinate, runner 1 must go to $x=40$, and runner 2 must go to $x=70$. They can't move on to the next coordinate pair until both have reached their destination.



      So given a large array of coordinate pairs, the runners have to visit each coordinate pair in any order they chose. The runners can move at the same time and have the same speed. The trick is how to optimize the order in which they visit the coordinates. For example, if runner 1 is at $x=10$, and runner 2 is at $x=90$, it would be inefficient to chose a coordinate pair like $(80,80)$, because runner 2 would only travel $10$ units, and spend a long time waiting while runner 1 is moving $70$ units. This is sort of like the travelling salesman problem, except there are two people involved dependent on each other, and they can visit any point from any other given point in any order.



      Does anyone have any ideas how to create an algorithm that would return the best (or at least good) optimized order in which they would visit these coordinate pairs?










      share|cite|improve this question









      New contributor




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







      $endgroup$




      Alright, so this is a fairly interesting problem I have but also slightly difficult to explain so I will try my best.



      There are two runners on a line that goes from $x=0$ to $x=100$. The two runners start at $x=50$. The runners are then given an array of coordinate pairs that they must visit. The catch is, the coordinate pair contains the $x$ value for locations runner 1 and runner 2 must be at the same time. So for example, if they are given a coordinate pair $(40, 70)$, to successfully "complete" that coordinate, runner 1 must go to $x=40$, and runner 2 must go to $x=70$. They can't move on to the next coordinate pair until both have reached their destination.



      So given a large array of coordinate pairs, the runners have to visit each coordinate pair in any order they chose. The runners can move at the same time and have the same speed. The trick is how to optimize the order in which they visit the coordinates. For example, if runner 1 is at $x=10$, and runner 2 is at $x=90$, it would be inefficient to chose a coordinate pair like $(80,80)$, because runner 2 would only travel $10$ units, and spend a long time waiting while runner 1 is moving $70$ units. This is sort of like the travelling salesman problem, except there are two people involved dependent on each other, and they can visit any point from any other given point in any order.



      Does anyone have any ideas how to create an algorithm that would return the best (or at least good) optimized order in which they would visit these coordinate pairs?







      algorithms optimization traveling-salesman






      share|cite|improve this question









      New contributor




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











      share|cite|improve this question









      New contributor




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









      share|cite|improve this question




      share|cite|improve this question








      edited 15 hours ago









      xskxzr

      4,17921033




      4,17921033






      New contributor




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









      asked 16 hours ago









      user102516user102516

      241




      241




      New contributor




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





      New contributor





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






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






















          2 Answers
          2






          active

          oldest

          votes


















          4












          $begingroup$

          You can consider the 1D-position of the 2 runners as one 2D-position.
          X-coordinate and Y-coordinate for respectively runners 1 and 2. So in your instance, the starting point is (0, 100).



          Then all the goal points coordiantes can have a 2D-position in the same way, for instance (40, 70). Now the Travelling salesman problem has to be solved using the Tchebychev distance (infinite norm). I am pretty sure this is NP-complete.



          A simple heuristic approach may be to always run to the next closest point (greedy nearest neighboor). Or you can either look for a more sophisticated one...






          share|cite|improve this answer









          $endgroup$





















            3












            $begingroup$

            As Vince observes, your problem is TSPP (traveling salesman path problem) on the plane with respect to the $L_infty$ metric. On the plane, the $L_infty$ and $L_1$ metrics are equivalent (the unit balls differ by a rotation of $45^circ$), so your problem is equivalent to TSPP on the plane with respect to the $L_1$ metric. This problem has been addressed on this question.






            share|cite|improve this answer









            $endgroup$









            • 1




              $begingroup$
              For those readers who have less of a background with metrics and unit circles/spheres: Wikipedia article about unit spheres where you can see the $L_infty$ and $L_1$ circles.
              $endgroup$
              – einpoklum
              12 hours ago














            Your Answer





            StackExchange.ifUsing("editor", function () {
            return StackExchange.using("mathjaxEditing", function () {
            StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
            StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
            });
            });
            }, "mathjax-editing");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "419"
            };
            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
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });






            user102516 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%2fcs.stackexchange.com%2fquestions%2f106508%2flinear-path-optimization-with-two-dependent-variables%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4












            $begingroup$

            You can consider the 1D-position of the 2 runners as one 2D-position.
            X-coordinate and Y-coordinate for respectively runners 1 and 2. So in your instance, the starting point is (0, 100).



            Then all the goal points coordiantes can have a 2D-position in the same way, for instance (40, 70). Now the Travelling salesman problem has to be solved using the Tchebychev distance (infinite norm). I am pretty sure this is NP-complete.



            A simple heuristic approach may be to always run to the next closest point (greedy nearest neighboor). Or you can either look for a more sophisticated one...






            share|cite|improve this answer









            $endgroup$


















              4












              $begingroup$

              You can consider the 1D-position of the 2 runners as one 2D-position.
              X-coordinate and Y-coordinate for respectively runners 1 and 2. So in your instance, the starting point is (0, 100).



              Then all the goal points coordiantes can have a 2D-position in the same way, for instance (40, 70). Now the Travelling salesman problem has to be solved using the Tchebychev distance (infinite norm). I am pretty sure this is NP-complete.



              A simple heuristic approach may be to always run to the next closest point (greedy nearest neighboor). Or you can either look for a more sophisticated one...






              share|cite|improve this answer









              $endgroup$
















                4












                4








                4





                $begingroup$

                You can consider the 1D-position of the 2 runners as one 2D-position.
                X-coordinate and Y-coordinate for respectively runners 1 and 2. So in your instance, the starting point is (0, 100).



                Then all the goal points coordiantes can have a 2D-position in the same way, for instance (40, 70). Now the Travelling salesman problem has to be solved using the Tchebychev distance (infinite norm). I am pretty sure this is NP-complete.



                A simple heuristic approach may be to always run to the next closest point (greedy nearest neighboor). Or you can either look for a more sophisticated one...






                share|cite|improve this answer









                $endgroup$



                You can consider the 1D-position of the 2 runners as one 2D-position.
                X-coordinate and Y-coordinate for respectively runners 1 and 2. So in your instance, the starting point is (0, 100).



                Then all the goal points coordiantes can have a 2D-position in the same way, for instance (40, 70). Now the Travelling salesman problem has to be solved using the Tchebychev distance (infinite norm). I am pretty sure this is NP-complete.



                A simple heuristic approach may be to always run to the next closest point (greedy nearest neighboor). Or you can either look for a more sophisticated one...







                share|cite|improve this answer












                share|cite|improve this answer



                share|cite|improve this answer










                answered 15 hours ago









                VinceVince

                71328




                71328























                    3












                    $begingroup$

                    As Vince observes, your problem is TSPP (traveling salesman path problem) on the plane with respect to the $L_infty$ metric. On the plane, the $L_infty$ and $L_1$ metrics are equivalent (the unit balls differ by a rotation of $45^circ$), so your problem is equivalent to TSPP on the plane with respect to the $L_1$ metric. This problem has been addressed on this question.






                    share|cite|improve this answer









                    $endgroup$









                    • 1




                      $begingroup$
                      For those readers who have less of a background with metrics and unit circles/spheres: Wikipedia article about unit spheres where you can see the $L_infty$ and $L_1$ circles.
                      $endgroup$
                      – einpoklum
                      12 hours ago


















                    3












                    $begingroup$

                    As Vince observes, your problem is TSPP (traveling salesman path problem) on the plane with respect to the $L_infty$ metric. On the plane, the $L_infty$ and $L_1$ metrics are equivalent (the unit balls differ by a rotation of $45^circ$), so your problem is equivalent to TSPP on the plane with respect to the $L_1$ metric. This problem has been addressed on this question.






                    share|cite|improve this answer









                    $endgroup$









                    • 1




                      $begingroup$
                      For those readers who have less of a background with metrics and unit circles/spheres: Wikipedia article about unit spheres where you can see the $L_infty$ and $L_1$ circles.
                      $endgroup$
                      – einpoklum
                      12 hours ago
















                    3












                    3








                    3





                    $begingroup$

                    As Vince observes, your problem is TSPP (traveling salesman path problem) on the plane with respect to the $L_infty$ metric. On the plane, the $L_infty$ and $L_1$ metrics are equivalent (the unit balls differ by a rotation of $45^circ$), so your problem is equivalent to TSPP on the plane with respect to the $L_1$ metric. This problem has been addressed on this question.






                    share|cite|improve this answer









                    $endgroup$



                    As Vince observes, your problem is TSPP (traveling salesman path problem) on the plane with respect to the $L_infty$ metric. On the plane, the $L_infty$ and $L_1$ metrics are equivalent (the unit balls differ by a rotation of $45^circ$), so your problem is equivalent to TSPP on the plane with respect to the $L_1$ metric. This problem has been addressed on this question.







                    share|cite|improve this answer












                    share|cite|improve this answer



                    share|cite|improve this answer










                    answered 15 hours ago









                    Yuval FilmusYuval Filmus

                    196k15184349




                    196k15184349








                    • 1




                      $begingroup$
                      For those readers who have less of a background with metrics and unit circles/spheres: Wikipedia article about unit spheres where you can see the $L_infty$ and $L_1$ circles.
                      $endgroup$
                      – einpoklum
                      12 hours ago
















                    • 1




                      $begingroup$
                      For those readers who have less of a background with metrics and unit circles/spheres: Wikipedia article about unit spheres where you can see the $L_infty$ and $L_1$ circles.
                      $endgroup$
                      – einpoklum
                      12 hours ago










                    1




                    1




                    $begingroup$
                    For those readers who have less of a background with metrics and unit circles/spheres: Wikipedia article about unit spheres where you can see the $L_infty$ and $L_1$ circles.
                    $endgroup$
                    – einpoklum
                    12 hours ago






                    $begingroup$
                    For those readers who have less of a background with metrics and unit circles/spheres: Wikipedia article about unit spheres where you can see the $L_infty$ and $L_1$ circles.
                    $endgroup$
                    – einpoklum
                    12 hours ago












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










                    draft saved

                    draft discarded


















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













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












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
















                    Thanks for contributing an answer to Computer Science 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%2fcs.stackexchange.com%2fquestions%2f106508%2flinear-path-optimization-with-two-dependent-variables%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

                    Knooppunt Holsloot

                    Altaar (religie)

                    Gregoriusmis