Systems View Software, a provider of route management software and consulting, uses MapPoint in a new application known as Route Factory Spreadsheet. The C# .NET application, which has a MS Excel interface, creates optimal routes for fleets of transports subject to a variety of timing and capacity constraints. In this article, Dr. Doug Popken shares some of his experiences developing the application, including lessons learned, that readers may find useful in their own applications.
The Route Factory Application
Routing a fleet of transports is a complex process performed for a variety of industries including food and beverage delivery, customer service, home delivery, trucking, auto transport, and refuse hauling. The problem is to route transports over a set of required stops so that the fleet total travel time or distance is minimized, while meeting a various constraints on transport capacity and route timing. Larger companies have developed custom solutions at great expense. Smaller companies have often relied on manual methods using rules of thumb that are usually time consuming and also take a great deal of training and experience to do well. Or they may use routing software packages that are either quite pricy for small companies and/or handle only a few types of constraints. Route Factory Spreadsheet is a software application designed to fill this gap. It provides automated optimal route building at an affordable price while still handling complex constraints.
Route Factory Spreadsheet is developed within MS Visual Studio 2010 as a VSTO (Visual Studio Tools for Office) C# .NET application. To the user, it appears as a MS Excel application augmented by some graphical control objects such as buttons, menus, and specialized input fields. This approach allows the use of a well known interface and keeps the Route Factory Spreadsheet specific part light-weight. MapPoint performs several key roles in the application: 1) geocoding locations, 2) generating point-to-point travel times/distances, and 3) displaying maps with routes and route territories. MapPoint does not create the actual routes since it does not have the capability to select the stops for each individual route from the set of stops to be covered, nor can it handle the capacity and timing side constraints. These are all handled by the application code we developed.
Motivation for Selecting MapPoint
In designing Route Factory Spreadsheet we considered several possible GIS software systems including ArcGIS (ESRI), PC Miler (ALK Technologies), and MapPoint. Systems View Software had prior experience with PC Miler from a large-scale custom routing application we had developed. We obtained an evaluation copy of MapPoint and a one-year lease of the ArcGIS Engine Developer Kit (no trial version available). We found that each of these systems is capable of performing the three key functions mentioned above within our application development environment, however, there were a number of ways in which they differed.
Ease of Use
MapPoint and PC Miler were similar in that both are relatively easy to use. The C# API’s were straightforward for both of these. ArcGIS engine was a different story. Although it is a powerful tool for complex custom GIS and mapping applications, its power and flexibility necessitate a steep and long learning curve (and probably taking expensive ESRI training courses). Furthermore, ESRI does not support using ArcGIS in VSTO applications, so in our trial prototype, a lot of things had to be done by trial and error, or by piecing together examples scattered across their website. The map control was the most difficult part to work with – very simple customizations to the display required a large amount of programming overhead.
In the Route Factory Spreadsheet application, the route selection algorithms require large numbers (tens of thousands or more) of point-to-point travel times and distances. It is critical that these function calls be efficient, therefore we set up performance tests to time their average relative retrieval speed in our three candidate GIS packages. In all tests, which included both short and long driving distances, PC Miler was by far the fastest, with MapPoint in the middle, and ArcGIS last. Depending on the problem size, PC Miler was 4 to 8 times faster than MapPoint. However, MapPoint was 3 to 5 times faster than ArcGIS.
MapPoint was the easy winner here at less than $300/copy. PC Miler was most expensive, at around $9000 per copy, with the ArcGIS runtime costing around $1500 per copy.
The bottom line was that MapPoint met our needs, was least expensive, and easiest to use. It was not the highest performing software, but we felt that with algorithm enhancements and efficient data structures we could achieve reasonable performance levels.