Add optimization with sequence pairs¶
Add an optimization with sequence pairs (pick up - delivery stop pairs) and display the solution on the map.
In this example there are 2 sequence pairs: [6,8] and [11,7].
Use case¶
Create an optimization where the pieces must be picked-up from one stop and delivered to another.
How to use the sample¶
First, get an API key token, see the Getting Started guide.
Download the Maps & Navigation SDK for C++ archive file for Linux or WindowsWhen you run the sample, an optimization will be saved, the solution will be returned and shown on the map. In the solution, you can see that stop 6 was visited before stop 8 and that they were visited by the same vehicle, and stop 11 was visited before stop 7 and they were visited by the same vehicle.
How it works¶
Create a
vrp::StopList
and add the stops to it.Create a
vrp::ConfigurationParameters
and set the sequence pairs to it.(Optional) Create a
vrp::VehicleConstraints
with the desired fields and add it to avrp::VehicleConstraintsList
.Create a
vrp::Optimization
and set the objects created at 1.), 2.) and 3.) to it.Create a
ProgressListener
,vrp::Service
andvrp::RouteList
, in which the solution will be returned.Call the
addOptimization()
method fromvrp::Service
using the list from 5.), thevrp::Optimization
from 4.) and the progress listener.Once the operation completes, the list from 5.) will contain the solution of the optimization.
To display the stops and routes on the map¶
Create a
MapServiceListener
,OpenGLContext
andMapView
.Create a
LandmarkList
,CoordinatesList
andPolygonGeographicArea
.Instruct the
MapView
to highlight theLandmarkList
from 2.) to print the stops.Instruct the
MapView
to center on thePolygonGeographicArea
.Create a
MarkerCollection
of typePolyline
for each route and add the routes shapes to them.Set the newly created
MarkerCollection
in the markers collections of the map view preferences.Allow the application to run until the map view is fully loaded.