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 !