Feature name Details Type Selected for the benchmark
Lexicographic Optimization The ability to declare several optimization objectives and rank them Modeling Feature
Global cost optimization The ability to combine several KPIs to optimize into one “big” cost Modeling Feature
User defined tags to build objectives and constraints Users can use their own terms and referential when creating objects so these “tags” can be used to define constraints and objectives Modeling Feature
Incremental optimization from initial solution The ability to restart optimization from an existing solution, partially or totally imposed to the solver Modeling Feature
Re-optimization of routes during driving As drivers progress through their routes and complete their assignments, routes can be updated, locally or globally Modeling Feature
Predictive traffic, upstream of optimization Optimization relies on time-dependant distance & duration matrices to account for traffic variations throughout the day for each potential A to B trip Modeling Feature
Continuous Optimization (”Always-On”) Optimization problem is continuously optimized and can receive any kind of update as the algorithm runs Modeling Feature
Pedestrian tours within vehicle tours For dense urban areas, ability to build local pedestrian tours within a larger “master” tour done with a vehicle Modeling Feature
“OR” operator for constraints Building sets of constraints so that at least one of them is true, for advanced models Modeling Feature
Automatic clustering of multiple similar stops into one When multiple stops are identical, clustering strategies are available to automatically group them into one Modeling Feature
Group of stops can be linked to a PUDO, served first or last Multiple stops can be binded together to a PUDO, forcing them to be served before or after the PUDO Modeling Feature
Minimizing total distance Objective function that minimizes the total traveled distance of all vehicles Optimization Objective
Minimize total working duration Objective function that minimizes the total working duration of all vehicles Optimization Objective
Minimize total vehicle used Objective function that minimizes the total number of vehicle used Optimization Objective
Minimize a “classic” cost Objective function that minimizes a weighted sum of distance, duration, vehicles and some penalties (e.g. extra hours, delays, etc) Optimization Objective
Minimize delays Objective function that minimizes delays according to soft time windows Optimization Objective
Optimized cost based on [vehicle type - stop type] combinations Cost functions can include penalties or bonuses for some vehicle - stop associations Optimization Objective
Optimized costs as piecewise linear functions Objective costs can be defined as piecewise linear functions to model complex effects and accelerations (Hinge Loss) Optimization Objective
Multiple custom costs objectives User-defined list of custom cost objectives, lexicographically optimized Optimization Objective
Maximize planned orders by priority rank Multiple objectives that maximize planned order by priority following the lexicographic principle Optimization Objective
Maximize planification of optional orders Objective function that maximizes planned optional orders. Following the lexicographic principle, this objective is after the Vehicle Minimization objective so that optional orders are used to fill in existing tours Optimization Objective
Minimize vehicle used by priority rank Multiple objectives that minimize used vehicles by priority following the lexicographic principle Optimization Objective
Maximize orders allocation by preference Objective function that maximizes the number of preferred vehicle - stop allocations based on user-defined preference matrices Optimization Objective
Minimize simultaneous visits per location Objective function that minimizes the number of simultaneous vehicles at a location, above its threshold Optimization Objective
Optimize the fair distribution of quantities within routes Costs can be used to optimize the amount of any given quantities so it reaches a minimum threshold within each route Optimization Objective
Balancing duration or distance between tours Objective function that minimizes the differences in terms of distance / duration between tours Optimization Objective
Optimize visual aspect and territorial split Objective function that optimizes the looks of the tours on a map (well split territories) Optimization Objective
Various speed profiles in same optimization Optimized vehicles can have their own speed profile Speed Profile
Car speed profile Vehicles distances and durations take into account the specifics of cars Speed Profile
Bike speed profile Vehicles distances and durations take into account the specifics of bikes Speed Profile
Motorbike speed profile Vehicles distances and durations take into account the specifics of bikes Speed Profile
Pedestrian speed profile Vehicles distances and durations take into account the specifics of pedestrians Speed Profile
Truck speed profile Vehicles distances and durations take into account the specifics of trucks (with attributes such as weight, height, etc.) Speed Profile
Crow-fly profile (test purposes) In the absence of explicit profile, crow-fly distances and durations are available Speed Profile
Toll roads avoidance Tours can avoid toll roads Speed Profile
Truck routing with dangerous goods Truck routes can take hasardous materials restrictions into account Speed Profile
Custom speed coefficient per vehicle Each resource can have its own speed coefficient that modifies the “standard” speed Resource Constraint
Free or fixed departure / arrival time Departure / arrival time can be explicitely defined, or let free for the algorithm to optimize Resource Constraint
Classic capacity constraints Tours can have a limited set of user-defined capacities Resource Constraint
Unlimited list of custom capacities User can define its own list of capacities to play with, using his own tags Resource Constraint
“At Least One Capacity” User can define a set of capacities per vehicle, with the constraint that at least one must be valid at all times (useful for flexible compartments) Resource Constraint
Soft capacity constraints Capacities can be “soft”, so that exceeding quantities are allowed but minimized Resource Constraint
Acceptable loading range before routes start Minimum and maximum loading rate at the beginning of each route Resource Constraint
Min departure / max arrival time Each tour can have a minimum departure time and a maximum arrival time Resource Constraint
Acceptable range for departure and arrival Arrival and departure can each be constrained to a timeslot Resource Constraint
Acceptable range on route times A minimum and a maximum can be defined per tour on driving, working and service time Resource Constraint
Starting / Ending point per tour Each vehicle can have his own starting / ending point Resource Constraint
Free starting / ending points Tours starting / ending points can be “free” so route starts / ends at the first / last stop Resource Constraint
Tours as free loops Tours can be built so their end is the same point as the departure, even when they’re not defined (free loops) Resource Constraint
Maximum working duration Total working duration per tour must not exceed the max working duration Resource Constraint
Soft max working duration Maximum working time can be defined as a soft constraint, and potential extra hours are then minimized Resource Constraint
Maximum travelled distance Total travelled distance per tour must not exceed the max travelled distance (useful for eletric vehicle autonomy) Resource Constraint
Break windows List of breaks that must be taken by resources (defined by a pre-defined timeslot and a duration) Resource Constraint
Break frequency rules Breaks can be defined as periods of rest at regular intervals of working time or travelled distance Resource Constraint
Max vehicle load for break Max vehicle load allowed for taking breaks (e.g. in pickup & delivery context, breaks happen only when vehicle is empty) Resource Constraint
Maximum cumulated quantities over several tours Multiple tours can be bound together by a global constraint that limits their cumulated content in quantities or working time (e.g. max 37 hours of work per week) Resource Constraint
Embedded multiple shifts per tour A tour can explicitely have multiple shifts within Resource Constraint
Multiple reloads allowed per shift During a shift, several reloads are possible at the depot Resource Constraint
Operation durations policies that can ignore the first grouped operations, or all Some resources can ignore their first group of operation durations, or all (usage example: pre-loaded trailers) Resource Constraint
Pickup or delivery orders Orders in a plan can be defined as pickups, deliveries, or both Order Constraint
Pickup & delivery & aknowledgement Orders in a plan can be made of a pickup, a delivery, and an aknwoledgment (3 stops) Order Constraint
Alternative stop points In an order, stops can be defined as a list of alternative candidates stops instead of just one well identified stop Order Constraint
Orders made of multiple pickups and deliveries An order can contain several pickups and deliveries, with all pickups that must be done before deliveries Order Constraint
Order priority Orders can be assigned with a planning priority over other orders that will be used in lexicographic optimization Order Constraint
Optional orders Orders can be defined as optional (they’re only planned as long as it doesn’t add more vehicles) Order Constraint
Single time window per stop A single time window can be provided for each stop Order Constraint
List of hard time windows A list of time windows can be specified for each stop. Planning outside of these time windows is forbidden Order Constraint
List of soft time windows A list of soft time windows can be specified for each stop. Planning outside of these time windows is allowed but generates a delay. Can coexist with hard time windows Order Constraint
Adjustable operating time An operation duration can be specified for each stop Order Constraint
Affinely cumulative operating time Operation durations can be the combination of a unique parking time per stop tag and individual operation time Order Constraint
Precedence constraints Additional time and costs can be specified for some transitions between stops Sequencing Constraint
FIFO / LIFO In a pickup & delivery context, deliveries can be done according to a FIFO / LIFO pattern Sequencing Constraint
Direct pickup & delivery In a pickup & delivery context, delivery can be enforced to be done directly after the pickup Sequencing Constraint
Stop group limitations Groups of consecutive stops (with the same tag) can be limited per tour (e.g. only one sequence of “loading” per tour) Sequencing Constraint
Max detour between pickup & delivery In pickup & delivery context, a maximum duration can be specified between the pikcup and the delivery Sequencing Constraint
Incompatible stop tags Orders can be declared as incompatible so they cannot be planned in the same vehicle Assignment Constraint
Incompatible stop tags per resource type Orders can be declared as incompatible so they cannot be planned in the same vehicle, but only for certain types of vehicles Assignment Constraint
Simultaneous stop incompatibility In pickup & delivery context, some stops can be in the same tour but not at the same moment (simultaneous incompatibility) Assignment Constraint
Simultaneous stop incompatibility per resource type In pickup & delivery context, some stops can be in the same tour but not at the same moment (simultaneous incompatibility), but only for specific vehicles Assignment Constraint
Required skills per order Orders can require a set of skills to be performed Assignment Constraint
Forbidden assignments Some orders - vehicle assignments can be forbidden Assignment Constraint
Groups of binded stops Some stops must be done by the same tour, which is determined by the algorithm Assignment Constraint
Groups of binded & sequenced stops Some stops must be done by the same tour, in a given non consecutive sequence, which is determined by the algorithm Assignment Constraint
Additional operation time for some resources Additional operation time can be specified for specific vehicle - stop combinations Assignment Constraint
Maximum quantities planned All tours combined can contain a limited amount of quantity, per stop tag (e.g. max 10 tons of waste collected today, no matter where) Assignment Constraint
Partial tour assignement Tours can be partially or totally injected upstream of the optimization Assignment Constraint
Timewindows dedicated to some resources only Orders can have timewindows that can only be “used” by specific resources Assignment Constraint