Real world scenario : which machine learning algorithm to choose best attributions












0















I am a .NET Developer and in my company we have developed an engine that attributes missions (transport those packages from A to B) to the best matching driver based on simple rules (pickup address, delivery address, driver's address, driver's vehicule caracteristics (max weight, length), distance to travel, package types to transport, etc ...).
This engine tries to make its best to provide to the user with the 3 best matching drivers the transport mission.



We are trying to address this scenario with machine learning (100000+ missions in our database).
We want to answer this questions:
- Who is the best matching driver for this mission?
- What is the matching score for XXX driver for this mission?



As a side note, our pool of drivers is evolving (some drivers are removed while some others are added in our system over time).



I am discovering ML and learning about basic ML algorithms, but I can not find an algorithm that could answer to this question.



I would like to develop with the new (still in preview) Microsoft Framework for .NET developers (ML.NET), or maybe Azure Machine Learning Studio or Azure Machine Learning Service



Our data look like (simplified) :




Drivers :

Name City VehicleMaxWeight VehicleLength ... StreetName, ZipCode, Country, Latitude, Longitude ...
Pierre Paris 19000Kg 12m
Francois Bordeaux 26000Kg 12m
Guillaume Montpellier 44000Kg 16.50m
Jacques Montpellier 32000Kg 16.50m
Jean Paris 12000Kg 8m
Bernard Montauban 26000Kg 12m

Transport mission history :

PickupCity DeliveryCity Service TotalWeight TotalLenght DriverAssignment (Distance to PickupCity)
Paris Marseille S1 2000Kg 5m Jean (5km)
Paris Lyon S2 15000Kg 10m Pierre (8km)
Toulouse Lyon S3 5000Kg 5m Bernard (53km)
... ... ... ... ... ... (...)
Lyon Paris S2 3000Kg 3m ????????????????


Or if the first problem cannot be easily addressed, it would be useful to answer to this question :
Which driver can I select to go from Lyon to Paris for service S2, given the following history ?




Transport mission history :

PickupCity DeliveryCity Service DriverAssignment
Paris Marseille S1 Jean
Paris Lyon S2 Pierre
Toulouse Lyon S3 Bernard
... ... ... ...
Lyon Paris S2 ????????????????


I would try to predict the column


DriverAssignment


Could you please help me find an algorithm for this task ? And maybe how I can implement it in ML.NET or Azure ML Studio / Service ?



Thank you !










share|improve this question

























  • This appears to be a route optimization / resource allocation problem. ML is not necessarily the most suitable approach to such problems. The question that needs to be answered first is: Is ML the right approach to this problem? This can be illuminating: developers.google.com/optimization/routing

    – Hapalop
    Nov 12 '18 at 22:28











  • We have other algrithm to compute the itinerary. In our case, we just want to choose a driver based on what we need to transport from an address to another and what capacity the driver is able to carry

    – Vincent
    Nov 13 '18 at 9:36













  • I have edited my question with a simplification if the first problem cannot be solved by ML. If we just take into account the history of previous transports, and which service did the drivers had to transport (S1, S2, S3...) and who was assigned, are we able to predict who we can assign for the next mission ? If I add or remove drivers in the system, do I need to train again the model ?

    – Vincent
    Nov 13 '18 at 10:09


















0















I am a .NET Developer and in my company we have developed an engine that attributes missions (transport those packages from A to B) to the best matching driver based on simple rules (pickup address, delivery address, driver's address, driver's vehicule caracteristics (max weight, length), distance to travel, package types to transport, etc ...).
This engine tries to make its best to provide to the user with the 3 best matching drivers the transport mission.



We are trying to address this scenario with machine learning (100000+ missions in our database).
We want to answer this questions:
- Who is the best matching driver for this mission?
- What is the matching score for XXX driver for this mission?



As a side note, our pool of drivers is evolving (some drivers are removed while some others are added in our system over time).



I am discovering ML and learning about basic ML algorithms, but I can not find an algorithm that could answer to this question.



I would like to develop with the new (still in preview) Microsoft Framework for .NET developers (ML.NET), or maybe Azure Machine Learning Studio or Azure Machine Learning Service



Our data look like (simplified) :




Drivers :

Name City VehicleMaxWeight VehicleLength ... StreetName, ZipCode, Country, Latitude, Longitude ...
Pierre Paris 19000Kg 12m
Francois Bordeaux 26000Kg 12m
Guillaume Montpellier 44000Kg 16.50m
Jacques Montpellier 32000Kg 16.50m
Jean Paris 12000Kg 8m
Bernard Montauban 26000Kg 12m

Transport mission history :

PickupCity DeliveryCity Service TotalWeight TotalLenght DriverAssignment (Distance to PickupCity)
Paris Marseille S1 2000Kg 5m Jean (5km)
Paris Lyon S2 15000Kg 10m Pierre (8km)
Toulouse Lyon S3 5000Kg 5m Bernard (53km)
... ... ... ... ... ... (...)
Lyon Paris S2 3000Kg 3m ????????????????


Or if the first problem cannot be easily addressed, it would be useful to answer to this question :
Which driver can I select to go from Lyon to Paris for service S2, given the following history ?




Transport mission history :

PickupCity DeliveryCity Service DriverAssignment
Paris Marseille S1 Jean
Paris Lyon S2 Pierre
Toulouse Lyon S3 Bernard
... ... ... ...
Lyon Paris S2 ????????????????


I would try to predict the column


DriverAssignment


Could you please help me find an algorithm for this task ? And maybe how I can implement it in ML.NET or Azure ML Studio / Service ?



Thank you !










share|improve this question

























  • This appears to be a route optimization / resource allocation problem. ML is not necessarily the most suitable approach to such problems. The question that needs to be answered first is: Is ML the right approach to this problem? This can be illuminating: developers.google.com/optimization/routing

    – Hapalop
    Nov 12 '18 at 22:28











  • We have other algrithm to compute the itinerary. In our case, we just want to choose a driver based on what we need to transport from an address to another and what capacity the driver is able to carry

    – Vincent
    Nov 13 '18 at 9:36













  • I have edited my question with a simplification if the first problem cannot be solved by ML. If we just take into account the history of previous transports, and which service did the drivers had to transport (S1, S2, S3...) and who was assigned, are we able to predict who we can assign for the next mission ? If I add or remove drivers in the system, do I need to train again the model ?

    – Vincent
    Nov 13 '18 at 10:09
















0












0








0


1






I am a .NET Developer and in my company we have developed an engine that attributes missions (transport those packages from A to B) to the best matching driver based on simple rules (pickup address, delivery address, driver's address, driver's vehicule caracteristics (max weight, length), distance to travel, package types to transport, etc ...).
This engine tries to make its best to provide to the user with the 3 best matching drivers the transport mission.



We are trying to address this scenario with machine learning (100000+ missions in our database).
We want to answer this questions:
- Who is the best matching driver for this mission?
- What is the matching score for XXX driver for this mission?



As a side note, our pool of drivers is evolving (some drivers are removed while some others are added in our system over time).



I am discovering ML and learning about basic ML algorithms, but I can not find an algorithm that could answer to this question.



I would like to develop with the new (still in preview) Microsoft Framework for .NET developers (ML.NET), or maybe Azure Machine Learning Studio or Azure Machine Learning Service



Our data look like (simplified) :




Drivers :

Name City VehicleMaxWeight VehicleLength ... StreetName, ZipCode, Country, Latitude, Longitude ...
Pierre Paris 19000Kg 12m
Francois Bordeaux 26000Kg 12m
Guillaume Montpellier 44000Kg 16.50m
Jacques Montpellier 32000Kg 16.50m
Jean Paris 12000Kg 8m
Bernard Montauban 26000Kg 12m

Transport mission history :

PickupCity DeliveryCity Service TotalWeight TotalLenght DriverAssignment (Distance to PickupCity)
Paris Marseille S1 2000Kg 5m Jean (5km)
Paris Lyon S2 15000Kg 10m Pierre (8km)
Toulouse Lyon S3 5000Kg 5m Bernard (53km)
... ... ... ... ... ... (...)
Lyon Paris S2 3000Kg 3m ????????????????


Or if the first problem cannot be easily addressed, it would be useful to answer to this question :
Which driver can I select to go from Lyon to Paris for service S2, given the following history ?




Transport mission history :

PickupCity DeliveryCity Service DriverAssignment
Paris Marseille S1 Jean
Paris Lyon S2 Pierre
Toulouse Lyon S3 Bernard
... ... ... ...
Lyon Paris S2 ????????????????


I would try to predict the column


DriverAssignment


Could you please help me find an algorithm for this task ? And maybe how I can implement it in ML.NET or Azure ML Studio / Service ?



Thank you !










share|improve this question
















I am a .NET Developer and in my company we have developed an engine that attributes missions (transport those packages from A to B) to the best matching driver based on simple rules (pickup address, delivery address, driver's address, driver's vehicule caracteristics (max weight, length), distance to travel, package types to transport, etc ...).
This engine tries to make its best to provide to the user with the 3 best matching drivers the transport mission.



We are trying to address this scenario with machine learning (100000+ missions in our database).
We want to answer this questions:
- Who is the best matching driver for this mission?
- What is the matching score for XXX driver for this mission?



As a side note, our pool of drivers is evolving (some drivers are removed while some others are added in our system over time).



I am discovering ML and learning about basic ML algorithms, but I can not find an algorithm that could answer to this question.



I would like to develop with the new (still in preview) Microsoft Framework for .NET developers (ML.NET), or maybe Azure Machine Learning Studio or Azure Machine Learning Service



Our data look like (simplified) :




Drivers :

Name City VehicleMaxWeight VehicleLength ... StreetName, ZipCode, Country, Latitude, Longitude ...
Pierre Paris 19000Kg 12m
Francois Bordeaux 26000Kg 12m
Guillaume Montpellier 44000Kg 16.50m
Jacques Montpellier 32000Kg 16.50m
Jean Paris 12000Kg 8m
Bernard Montauban 26000Kg 12m

Transport mission history :

PickupCity DeliveryCity Service TotalWeight TotalLenght DriverAssignment (Distance to PickupCity)
Paris Marseille S1 2000Kg 5m Jean (5km)
Paris Lyon S2 15000Kg 10m Pierre (8km)
Toulouse Lyon S3 5000Kg 5m Bernard (53km)
... ... ... ... ... ... (...)
Lyon Paris S2 3000Kg 3m ????????????????


Or if the first problem cannot be easily addressed, it would be useful to answer to this question :
Which driver can I select to go from Lyon to Paris for service S2, given the following history ?




Transport mission history :

PickupCity DeliveryCity Service DriverAssignment
Paris Marseille S1 Jean
Paris Lyon S2 Pierre
Toulouse Lyon S3 Bernard
... ... ... ...
Lyon Paris S2 ????????????????


I would try to predict the column


DriverAssignment


Could you please help me find an algorithm for this task ? And maybe how I can implement it in ML.NET or Azure ML Studio / Service ?



Thank you !







machine-learning artificial-intelligence azure-machine-learning ml.net






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 '18 at 10:06







Vincent

















asked Nov 12 '18 at 21:51









VincentVincent

144128




144128













  • This appears to be a route optimization / resource allocation problem. ML is not necessarily the most suitable approach to such problems. The question that needs to be answered first is: Is ML the right approach to this problem? This can be illuminating: developers.google.com/optimization/routing

    – Hapalop
    Nov 12 '18 at 22:28











  • We have other algrithm to compute the itinerary. In our case, we just want to choose a driver based on what we need to transport from an address to another and what capacity the driver is able to carry

    – Vincent
    Nov 13 '18 at 9:36













  • I have edited my question with a simplification if the first problem cannot be solved by ML. If we just take into account the history of previous transports, and which service did the drivers had to transport (S1, S2, S3...) and who was assigned, are we able to predict who we can assign for the next mission ? If I add or remove drivers in the system, do I need to train again the model ?

    – Vincent
    Nov 13 '18 at 10:09





















  • This appears to be a route optimization / resource allocation problem. ML is not necessarily the most suitable approach to such problems. The question that needs to be answered first is: Is ML the right approach to this problem? This can be illuminating: developers.google.com/optimization/routing

    – Hapalop
    Nov 12 '18 at 22:28











  • We have other algrithm to compute the itinerary. In our case, we just want to choose a driver based on what we need to transport from an address to another and what capacity the driver is able to carry

    – Vincent
    Nov 13 '18 at 9:36













  • I have edited my question with a simplification if the first problem cannot be solved by ML. If we just take into account the history of previous transports, and which service did the drivers had to transport (S1, S2, S3...) and who was assigned, are we able to predict who we can assign for the next mission ? If I add or remove drivers in the system, do I need to train again the model ?

    – Vincent
    Nov 13 '18 at 10:09



















This appears to be a route optimization / resource allocation problem. ML is not necessarily the most suitable approach to such problems. The question that needs to be answered first is: Is ML the right approach to this problem? This can be illuminating: developers.google.com/optimization/routing

– Hapalop
Nov 12 '18 at 22:28





This appears to be a route optimization / resource allocation problem. ML is not necessarily the most suitable approach to such problems. The question that needs to be answered first is: Is ML the right approach to this problem? This can be illuminating: developers.google.com/optimization/routing

– Hapalop
Nov 12 '18 at 22:28













We have other algrithm to compute the itinerary. In our case, we just want to choose a driver based on what we need to transport from an address to another and what capacity the driver is able to carry

– Vincent
Nov 13 '18 at 9:36







We have other algrithm to compute the itinerary. In our case, we just want to choose a driver based on what we need to transport from an address to another and what capacity the driver is able to carry

– Vincent
Nov 13 '18 at 9:36















I have edited my question with a simplification if the first problem cannot be solved by ML. If we just take into account the history of previous transports, and which service did the drivers had to transport (S1, S2, S3...) and who was assigned, are we able to predict who we can assign for the next mission ? If I add or remove drivers in the system, do I need to train again the model ?

– Vincent
Nov 13 '18 at 10:09







I have edited my question with a simplification if the first problem cannot be solved by ML. If we just take into account the history of previous transports, and which service did the drivers had to transport (S1, S2, S3...) and who was assigned, are we able to predict who we can assign for the next mission ? If I add or remove drivers in the system, do I need to train again the model ?

– Vincent
Nov 13 '18 at 10:09














1 Answer
1






active

oldest

votes


















0














If ML is to be used, this can be formulated as a recommendation system problem: given the sequence of the drivers a mission has been matched to before, what drivers should be recommended for the next time this mission comes up again? Both content-based and collaborative filtering recommender systems can be used. If a mission occurs to be all new (no match history), collaborative filtering can still be used.



OR, however, might be a better fit for this problem. The underlying assumption of ML is: the past operation practices (the data you have shared) have been optimal; this is what the ML will learn as good practices and will use subsequently to give future recommendations. Unless reinforcement learning is used, in which case you need to come up with some notion of cumulative reward.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    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: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    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
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270630%2freal-world-scenario-which-machine-learning-algorithm-to-choose-best-attributio%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    If ML is to be used, this can be formulated as a recommendation system problem: given the sequence of the drivers a mission has been matched to before, what drivers should be recommended for the next time this mission comes up again? Both content-based and collaborative filtering recommender systems can be used. If a mission occurs to be all new (no match history), collaborative filtering can still be used.



    OR, however, might be a better fit for this problem. The underlying assumption of ML is: the past operation practices (the data you have shared) have been optimal; this is what the ML will learn as good practices and will use subsequently to give future recommendations. Unless reinforcement learning is used, in which case you need to come up with some notion of cumulative reward.






    share|improve this answer




























      0














      If ML is to be used, this can be formulated as a recommendation system problem: given the sequence of the drivers a mission has been matched to before, what drivers should be recommended for the next time this mission comes up again? Both content-based and collaborative filtering recommender systems can be used. If a mission occurs to be all new (no match history), collaborative filtering can still be used.



      OR, however, might be a better fit for this problem. The underlying assumption of ML is: the past operation practices (the data you have shared) have been optimal; this is what the ML will learn as good practices and will use subsequently to give future recommendations. Unless reinforcement learning is used, in which case you need to come up with some notion of cumulative reward.






      share|improve this answer


























        0












        0








        0







        If ML is to be used, this can be formulated as a recommendation system problem: given the sequence of the drivers a mission has been matched to before, what drivers should be recommended for the next time this mission comes up again? Both content-based and collaborative filtering recommender systems can be used. If a mission occurs to be all new (no match history), collaborative filtering can still be used.



        OR, however, might be a better fit for this problem. The underlying assumption of ML is: the past operation practices (the data you have shared) have been optimal; this is what the ML will learn as good practices and will use subsequently to give future recommendations. Unless reinforcement learning is used, in which case you need to come up with some notion of cumulative reward.






        share|improve this answer













        If ML is to be used, this can be formulated as a recommendation system problem: given the sequence of the drivers a mission has been matched to before, what drivers should be recommended for the next time this mission comes up again? Both content-based and collaborative filtering recommender systems can be used. If a mission occurs to be all new (no match history), collaborative filtering can still be used.



        OR, however, might be a better fit for this problem. The underlying assumption of ML is: the past operation practices (the data you have shared) have been optimal; this is what the ML will learn as good practices and will use subsequently to give future recommendations. Unless reinforcement learning is used, in which case you need to come up with some notion of cumulative reward.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 13 '18 at 13:48









        HapalopHapalop

        417414




        417414






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • 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.


            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%2fstackoverflow.com%2fquestions%2f53270630%2freal-world-scenario-which-machine-learning-algorithm-to-choose-best-attributio%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

            Full-time equivalent

            Bicuculline

            さくらももこ