Dimaps has developed a unique multipurpose tool for route planning. To illustrate this we will use a company that uses our tool to plan and execute distribution of groceries (vegetables/fruit) to consumers in a subscription system. The tool can however be used to all forms of package delivery or courier service.
The tool is based on the three standard systems: Progress, MapInfo and RouteWare. The underlying map data is DAV-data and DDO ©vektor. Based on customer- and subscription-databases the tool automatically plan deliveries via individual vehicles based on package weight, maximum number of packages or maximum legal permitted driving time, supplying detailed maps and route-lists, loading and unloading lists with an exact time-limit per drop. In all, a complete route planning and optimization tool for medium and large operations.
Basedata for route optimization
Geographical districts form the base for route optimisation. A simple set of districts could be the use of zip/postal-codes, which can be assigned automatically. A more advanced method of dividing into districts can be created using MapInfo. Each district should have a size corresponding to the area that can be covered by a single vehicle. A vehicle can be assigned to several districts, but not vice versa.
If the volume of packages vary on a day by day basis, it is possible to optimise by using "grids" consisting of districts of varying size.
Each vehicle can be defined with start/end time, maximum payload and a defined start and end location for purposes of route optimization.
Each delivery is created as a package with a unique identifation (this can be assigned automatically).
A minimum of recipient and a description must be defined for each package.
Based on address information a recipient database is created. This database is ’geo-coded’ enabling the storage of geographical information for the addresses.
This geo-coding is done just once, enabling speedier optimisation for multiple deliveries to same addresses. At the same time special notes can be assigned for the address – e.g. "deliver package by the stairs behind the house".
Daily routines
Packages are created either manually or they are imported by file or direct integration with an external data source. In the production module the data, id and eventual title for the production run is assigned. The id is by default set to 1, meaning "first delivery run of the day". Subsequent deliveries on the same day will be assigned incremented numbers.
The "Black box" performs the following:
- Pulls recipient information from datasource and checks for new or altered recipients.
- New recipients are geo-coded and addresses that cannot be geo-coded automatically are flagged, an error-list is then printed for manual handling.
- Each delivery is created as a package (N.B, ONLY for deliveries where recipient could be properly geo-coded).
- Individual vehicle usage is calculated for the given day and district.
- Package and vehicle information is saved in a log for later use.
When the "Black box" is done, the system is ready to:
- Print a delivery summary per day.
- Display/print drop-off lists for each vehicle in delivery order.
- Package note for each package (with optional barcode integration)
When the optimisation is run, the packages are automatically assigned to individual vehicles, creating the drop-off list per day with detailed drop times, detailed maps, load and unload lists, length of combined route and delivery times for each vehicle. Information can be added to each list or package, packages can be deleted etc. The production list can be regenerated. It is possible to engage a manual override to the calculated drop-off order. Post production.
At the end of the day, changes in actual deliveries and undelivered packages are registered. After this update, the day’s deliveries are closed and registered and during this process the program will:
- Re-calculate the route
- Save actual drop-offs in the log
- Calculate and update the vehicle log with kilometres driven, number of drop-offs and time.
The purpose of these calculations is to enable calculation of billing for the vehicle operator.
The system may be expanded with:
- Barcodes
- Registering of pick-up and drop-off times
- Receipts for deliveries
- Submission of SMS or e-mail with expected delivery-time etc.
Short description of database
Package database (Created manually or by importing data):
Package id.
Registration date
Registration time
User (entering data)
Pickup address (Phone, Name, Address 1, Address 2, Zip, City, Attn, GIS X, GIS Y)
Pickup date
Pickup time
Pickup note
Delivery address (Phone, Name, Address 1, Address 2, Zip, City, Attn, GIS X, GIS Y)
Delivery date
Delivery time
Delivery note
Payee (Phone/customer no.)
E-mail for messages
SMS-no. for messages
Content description
Weight
Volume
Forced sequence no.
Transport price
Payment by km Y/N
Delivered Y/N
Invoiced Y/N
Vehicle invoiced Y/N
Recipient receipt Y/N
Handling of return (Return/retry delivery)
Recipient database (Created manually or by importing data):
Phone
Internal id
Name
Address 1 (roadname, house no., house marking, floor)
Address 2
Zip
City
Attention
E-mail
SMS
Note
GIS X coordinate
GIS Y coordinate
District database (Basedata):
District
GIS layer
Vehicle
Weekdays
Production database (Created automatically by Black box at production run):
Date
No. (route number)
Note (description)
District
Vehicle
Sequence
Package id
GIS X
GIS Y
Interval kilometres
Interval time
Droptime
Vehicle database (Basedata):
Vehicle
Start time
End time
Max. Drop-offs
Max. Weight
Start address (Phone, Name, Address 1, Address 2, Zip, City, Attention, GIS X, GIS Y)
End address (Phone, Name, Address 1, Address 2, Zip, City, Attention, GIS X, GIS Y)
Delivery log (Created automatically):
Package id.
Vehicle
Date
Time
Event(pickup/drop/reload/return etc.)
|