Route optimization software solution

What is this? This kind of software can help you to optimize your distribution and transport activities. How it works a solution like this? For example: today you must delivery 100 clients, each client with specific volume and weight, you have an available cars and a specific time to work (8 hours per day, for example). This software, use a specific algorithm to load the truck (try to rise the fulfill of the truck) and then split your clients on route dynamically (a client can be on a route today and tomorrow on another route) and calculate the best option to create every route and after that can show this route on the map. This is the basics things that software like this can do.
Start on this basic facility this software solution can have multiple other facilities. For example: software like this can deliver a specific client in a specific time frame (one client wants to be delivery every day in the same time frame, between 10 and 11 AM), a driver can be set-up to deliver the same client every time etc. Also a optimization route software can made different type of optimizations: based on cost (I want to have the lowest cost possible), based on time (I want to deliver all in a specific time or I want that the route can be made in the shortest time possible), based on service level (I do not care cost and time, the single thing that I care is to deliver all goods in the best conditions for my client); use this solution to plan the route and export the result in GPS systems and GPS systems trace every cars and inform you if exist deviation of the plan etc.
All things is good till now and everybody said: great, I want this software. I want to tell you some hidden thing about this software solution because I want to keep you informed. Let see how it works a solution like this:
First of all this kind of solution use a geographical coordinates to position every client on the map. So it is necessary to have all client with his coordinates (this means that you find latitude and longitude for every clients and this operations calls geocode). This can be made use different methods: one is to made manually using tools like Google maps or Bing maps or other tools that is available for free on the internet, other solution which can use is a GPS systems; other solution can be a simple device with a small buttons placed every cars and driver push the bottoms every time that he arrive to a clients etc. All this solution is semi automated, this means that is necessary human intervention to correct the systems mistakes or to correlate the information.
To made optimization the software must use a map (navigation map), map who can provide to the software the information regarding the distance between 2 or multiple points and also time that is necessary to drive between that points. This is a problem, because the map it is not enough accurate to provide this information correctly and give this information with some errors. If we discuss the time this error can be higher because depends on the traffic (which can fluctuate from hour to hour) and the map do not have this information for each hour. In this case the map use an average value and using this value can approximate the time that is necessary to drive between 2 points. If we talk about kilometers or distance the map is more accurate, but also here it can have problems because the map are not updated every day (often the map producers update the map every 6 month or every year), and in this case, a road which was close temporary for repair it will affect the optimization which software solution return, because the map do not know that, and route the car on that close road. This problem was solve partially for the map supplier because they give you the possibilities to block a road temporally or you can draw your own road on the map with basic specification (average speed, type of road, restriction like one way etc).
A thing that is more important than this is the algorithm that the software solutions use to optimize the route. Unfortunately you will not have access to this and nobody will explain you how the algorithm works. If you have less than 8-9 delivery points per route you can be sure that the software can return you the best possible route for all possibilities that exists. If you have more than 10 delivery points you can see that the software can have errors (it will not return every time the best route). You can see this give the software 15 delivery points and place this points around the leaving point, on different distance from leaving points and you see that in this case the software solution it not returns you every time the best route (in terms of time and distance). The software producers of this kind of software knows that and, in most of the case, they are not agree to made a simple test like this, in most of the case they want to made more complex tests because on more complex tests it is more difficult for you (human) to see if that distribution route that solution return is the best one or is only less optimize that the distribution solution that you made it. But, also in this case if the solutions reduce your costs with 5% this is some money that you keep in your pocket and the solution it can be good for you purpose.
Those who wants to discuss more about this, I invite them to comment on this posts and I can provide you more information if you are interested.