Adiona Platform Update - May 2022 Feature Release

May 25, 2022

This is some text inside of a div block.

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)

PDVRP model includes complex pickup/dropoff options including multi trips back to depot.

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)

Depot Allocation model for use in MFC, PUDO, EV, AV, bike, walking, and drone operations.

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:

Download the DA model and feed it directly into PDVRP routing.

•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).

Trip statistics shown on the zone bar.

•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.

Draw zones graphically by lassoing jobs on the input page.

•Vanity URLs: The job id is now included in the address bar for easier sharing amongst teammates, reporting issues, etc

"Vanity URLs" have the jobId embedded so you can copy/paste/share more easily inside your organization. They will not be visible to others outside your org.

•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