Skip to content

Planning profiles

What is a Planning Profile?

The planning profile is one of the attributes responsible for defining the behaviour of the bucket when processing and building the planning. In particular, planning profiles can be used to define a transport modality and/or specific parameters for a given depot area.

For instance, there can be one profile for bike and another for truck, but there can also be several profiles for bikes depending on different areas of service.

Profiles are customised to your needs, when getting access to the Plotwise service, you will be asked for information about your daily operations. This information will be used to generate a set of profiles that will fit your needs and make sure the plan is optimal.

As you can see in the Buckets Reference, planning profiles are referred to them by their unique name.

Planning Profiles Reference

Name Format Description Default Required Example
name String Unique Planning profile name N/A N/A bike-amsterdam
description String A description meant to understand the profile context N/A N/A Bike network profile for Amsterdam depot area
config Object Find the available parameters of the config here Find default value of config here N/A Find example of config here
created Date-time The Date-time in which the Planning Profile was created N/A N/A 2017-11-13T14:30:00Z
modified Date-time The Date-time in which the Planning Profile was modified last time N/A N/A 2017-11-13T14:30:00Z

The config Reference

The config field can contain several adjustable parameters which are as follow:

Name Format Description Default Required Example
matrix_params Object Settings of the travel matrix for this profile. Find the available parameters of matrix_params here Find default value of matrix_params here False Find example of matrix_params here
optimization_settings String The optimizer to use for this buckets using this profile
⚠️ will impact planning quality. Find the available parameters of optimization settings here
Find default value of optimization settings here False Find example of optimization settings here
stateless Boolean Whether buckets with this profile should use stateless architecture. Set to true to use stateless architecture. N/A False true
feature_flags Object Enabled/disabled features for this profile N/A False {"special_ev_add_event": true}

The matrix_params Reference

The matrix_params can contain several adjustable parameters which are as follows:

Name Format Description Default Required Example
dist_cost Float The cost per meter driven of a vehicle
⚠️ will impact planning quality
0.001 N/A 0.001
time_cost Float The cost per second driven of a vehicle
⚠️ will impact planning quality
0.010277777777777778 N/A 0.010277777777777778
u_turn_time_seconds Float The additional time cost incurred from doing a u-turn 0.0 N/A 0.0
stem_in_correction Float Multiplier applied on the travel time between the depot and the first event 1.0 N/A 1.0
client_settings Object Contains configurations of the Travel Matrix host. Find the available parameters of client_settings here Find default value of client_settings here N/A Find example of client_settings here

What is the Travel Matrix?

The component calculating travel times between points. Changing it invalidates caches and therefore requires bucket reinit.

The client_settings Reference

Name Format Description Default Required Example
HOST String The URL of Travel Matrix host localhost N/A tm.plotwise.com
PORT Integer The port of URL of Travel Matrix 4242 N/A 4242
TIMEOUT Integer The maximum amount of time needed to wait for a response from Travel Matrix (in seconds) 10000 N/A 10000
EXTENDED_TIMEOUT Integer It is for requesting the complete travel matrix is expected to take longer than a normal 1 to n request to the travel matrix. 60000 N/A 60000
SEARCH_RANGE Integer The distance around a lat-long to search for the closest road 1000 N/A 1000

The optimization_settings Reference

optimization_settings is an identifier referring to a pre-defined set of optimizers that define how the optimization process changes the planning. Different networks and use-cases can have a specific set of optimizers designed to get the best result.

The optimizer can also be a json string although this is not recommended. This should only be used by powerusers who know the json format. Others should prefer to use one of the available named optimizers below.

Currently available settings:

  1. coolblue-all-2022-november: standard set of optimization settings with fast optimizers, and a "final" 30-minute alns optimizer run.
  2. coolblue-all-2022-november-rust-reload: similar to coolblue-all-2022-november, but with the rust reload optimizer.
  3. coolblue-all-2022-december: similar to coolblue-all-2022-november-rust-reload, but with a 25-minute alns optimizer runtime.
  4. coolblue-all-2022-december-python-reload: similar to coolblue-all-2022-december, but with the python reload optimizer.
  5. coolblue-all-2023-october: a cleaned up version of coolblue-all-2022-december, with deprecated optimizers and settings removed.
  6. optimizers-fast: quick set of optimizers which will stop quickly, after no easy improvements can be found.
  7. optimizers-alns: only the alns optimizer, with a 30-minute runtime.

Examples

Find the examples here