5.1 Scenario Object
The input to the optimiser is a scenario object. It has the following fields:
- Field: id
Required: No.
Type: String.
Description: An identifier for this scenario assigned by the client. The form of this identifier
is client dependent, for example it may be a database id or a UUID.
- Field: tags
Required: No.
Type: Array of strings.
Description: Client-specific information associated with the scenario. This field is ignored
by the optimiser.
- Field: general
Required: Yes.
Type: A general object.
Description: Contains global optimiser parameters and settings. Must not be null.
- Field: iteration_schemes
Required: No.
Type: Array of iteration batch objects.
Description: Defines iteration schemes. The order of the batches in each scheme is defined
by the order of this array.
- Field: rush_hour
Required: No.
Type: Array of rush hour objects.
Description: Contains the rush hour time scaling settings.
- Field: locations
Required: Yes.
Type: Array of location objects.
Description: The set of order pickup and delivery, and vehicle start and finish locations.
Must not be null or empty.
- Field: orders
Required: Yes.
Type: Array of order objects.
Description: The set of orders that are to be assigned by the optimiser. Must not be null
or empty.
- Field: fleet
Required: Yes.
Type: Array of vehicle objects.
Description: The set of vehicles making up the fleet. Must not be null or empty.
- Field: compartments
Required: No.
Type: Array of compartment objects.
Description: The set of compartments associated with the fleet.
- Field: fatigue_management
Required: No.
Type: Array of break objects.
Description: The set of break objects that describe how the drivers should take breaks.
- Field: order_vehicle_compatibility
Required: No.
Type: Array of attribute pair objects.
Description: The rules describing the compatibility between orders and vehicles.
- Field: order_compartment_compatibility
Required: No.
Type: Array of attribute pair objects.
Description: The rules describing the compatibility between orders and compartments.
- Field: order_precedences
Required: No.
Type: Array of order precedence objects.
Description: The order precedences for the scenario.
- Field: order_order_compatibility
Required: No.
Type: Array of attribute pair objects.
Description: The rules describing the compatibility between different orders.
- Field: load_order_order_compatibility
Required: No.
Type: Array of attribute pair objects.
Description: The rules describing the compatibility between different orders within a load.
- Field: current_routes
Required: No (unless replanning).
Type: Array of route objects.
Description: If replanning, these are the routes from the previous solution. These are ignored
if not replanning.
- Field: time_matrix
Required: No.
Type: Array of array of numbers which is a (square) matrix giving the transit times between
all pairs of locations in the scenario measured in minutes. The rows and columns are ordered
as per the order of the locations field. May be null, in which case the optimiser will
compute the transit times itself.
- Field: distance_matrix
Required: No.
Type: Array of array of numbers which is a (square) matrix giving the transit distances
between all pairs of locations in the scenario measured in kilometres. The rows and columns
are ordered as per the order of the locations field. May be null, in which case the optimiser
will compute the transit distances itself.