How to implement the task location?

Here I was given such a task.
We have a base of customers with addresses. There are field managers assigned to the n-th number of companies. Over time a database of clients updated.
What tasks the system must solve:
1) to determine the optimal list of companies for which the Manager needs to pass. (Metro + walk)
As I understand it. Need to get a list of all companies assigned to the Manager, the starting point(going from home or from the office), to calculate the distance between organizations(via Yandex maps API like you can) and choose a chain of n organizations with a minimum distance. While it is difficult to think about implementation, I would be grateful if you will indicate in what direction to dig and what to read for the algorithms I'm not very strong.

2) When adding a new client, identify a suitable Manager.
Now I understand, it is necessary to take the address of the client in order to find the existing address of the client, to see who it serves and assign the new company the Manager.

3) If the Manager has had time to show him the next addresses of customers to whom else to call.

I guess for me it is a difficult task, but it is very interesting to me and have a great desire to implement it!
June 14th 19 at 18:56
0 answer

Find more questions by tags Yandex