In late April we will release new features and enhancements as described below. In addition, we are adding new API endpoints (see section 4 below) that you will need to migrate to before the existing ones are deprecated. The data of deprecation is TBA and we encourage you to plan the migration as soon as possible.
1) Pickup/Dropoff Vehicle Routing Problem Solver (PDVRP)
Plan routes that have complex combinations of pickups and drop-offs while keeping within constraints like time, volume, weight, etc.
•Manage returns simultaneously and efficiently while using least number of assets andnot exceeding capacities.
•Pickup inventory on the way out or on the way back.
•Handles many depots, vehicle types (bike, sedan, van, etc) and custom constraints like EV range.
•Limited to 350 stops per zone, but unlimited number of zones.
• On the timeline, pickups are indicated by a dog-eared rectangle and on the map they are a square.
2) Depot Allocation (DA)
Create a metro hub & spoke model automatically:
•Can be used for planning and executing rapid grocery, ghost kitchens, or any other MFC, PUDO, or metro hub & spoke model.
•Assign customer orders to the optimal hub location based on distance, time, volume, weight, and other constraints simultaneously.
•Once customers are assigned, download the model and feed it into our last mile route planning algorithms. Currently you can test it using our PDVRP with this download button:
•Unlimited number of customers and depot locations are supported.
•GeoSplitter creates graphical boundaries and zones for separation along rivers, highways, territory lines, or any custom border.
3) Other new features
•In all models, Unassigned Jobs are now shown below the best-fit route instead of at the end. This makes them more obvious and aligns with other changes we are making.
•Trip statistics added to each Zone summary that shows the % of available vehicles used (Fleet Utilization), average fill rates (Usage), and empty running (Dead Heading).
•Zone Drawing: This tool on the Input Page allows you to dynamically assign stops to new or existing zones before sending to the Optimizer. Use it to do things like split a dataset on either side of a river, etc.
•Vanity URLs: The job id is now included in the address bar for easier sharing amongst teammates, reporting issues, etc
•New ‘Save’ button on the Input Page eliminates branching of one job to multiple jobs after edits to the raw dataset. You will also be notified when there are unsaved changes before proceeding.
•“customerName” (optional) has been added to the customer's json data and in the Upload CSV template.
• New minimum trip duration parameter allows you to target an ideal number of kilometers for each route in the PDVRP model.
4) Technical and API Changes
1. CSV upload of VRPHD model
Frontend now hosts the vehicles and customers csv upload code for improved security and faster performance.
Vehicle csv file does not needs the column "Depot" anymore but it is backwards compatible.
2. VRPHD endpoints' urls
POST api/v1/vrphd/jobs/submit
GET api/v1/vrphd/jobs
GET api/v1/vrphd/jobs/:jobId
PUT api/v1/vrphd/jobs/:jobId
POST api/v1/vrphd/jobs/clone/:jobId
POST api/v1/vrphd/jobs/optimize/:jobId
POST api/v1/vrphd/jobs/route-manually/:jobId
GET api/v1/vrphd/results/:jobId // return the newest version
GET api/v1/vrphd/results/:jobId=original
GET api/v1/vrphd/results/:jobId=save
GET api/v1/vrphd/results/:jobId=sync
GET api/v1/vrphd/results/save
GET api/v1/vrphd/results/sync
Obsolete but still working
POST api/v1/jobs/submit
GET api/v1/jobs
GET api/v1/jobs/:jobId
GET api/v1/results/:jobId // return the newest version
GET api/v1/results/:jobId=original
GET api/v1/results/:jobId=save
GET api/v1/results/:jobId=sync
3. VRPHD endpoints' output
should replace "requestId" and "responseId" by "jobId"
should replace "request" by "job"
should replace "requests" by "jobs"
4. VRPHD flow of editing and saving input payload
user have to click the button "save" to save the changes to the server before clicking the button "optimize"
no more branching to a new jobId when cliking the button "optimize"
5. customerName in customer's json data
in all models, the customer object now can have the field "customerName"
6. customerName in CSV upload
for vrphd, the column header will be CustomerName
for pdvrp and da, the column header will be customer_name