A JSON Input Example

This appendix contains an example of the JSON input required for creating a schedule for two vehicles and two orders to allocate. Site time is specified at each location. The vehicles operate using a cost-per-hour rate.

Time windows are specified at all locations (e.g. at the Hallam location, the time windows are 5am to 10am and 2pm to 6pm). There are also fatigue management rules in place (all drivers are required to take a single 35 minute break in every 4 hour period of work).

{
  "id": "8046e1d7-f713-447a-9fb0-3ce9115ade29",
  "general": {
    "name": "Example Scenario",
    "iterations": 3000,
    "iteration_scheme": "Batched",
    "colocated_pickups": true,
    "batched_loads": true,
    "rush_hour": true
  },
  "locations": [
    {
      "id": "DEPOT",
      "name": "Opturion Office",
      "address": "18 Kavanagh Street St, Southbank, VIC 3006",
      "longitude": 144.966167,
      "latitude": -37.82261,
      "site_time": "0:30",
      "attributes": [],
      "time_windows": [
        {
          "start": "5:00",
          "end": "10:00"
        },
        {
          "start": "11:00",
          "end": "18:00"
        }
      ]
    },
    {
      "id": "Hallam",
      "name": "Hallam ",
      "address": "11 Hallam Crescent",
      "site_time": "00:05",
      "longitude": 145.28085,
      "latitude": -38.018 ,
      "time_windows": [
        {
          "start": "5:00",
          "end": "10:00"
        },
        {
                                                                                 

                                                                                 
          "start": "11:00",
          "end": "18:00"
        }
      ]
    },
    {
      "id": "Skye",
      "name": "Skye",
      "address": "11 Skye Road",
      "site_time": "00:10",
      "longitude": 145.19373,
      "latitude": -38.12327,
      "time_windows": [
        {
          "start": "5:00",
          "end": "10:00"
        },
        {
          "start": "11:00",
          "end": "18:00"
        }
      ]
    }
  ],
  "orders": [
    {
      "id": "Order1",
      "pickup_location": "DEPOT",
      "delivery_location": "Hallam",
      "earliest_delivery_time": "10:30",
      "latest_delivery_time": "14:20",
      "delivery_service_time": "0:30",
      "pickup_time_windows":[
        {
          "start": "5:00",
          "end": "10:00"
        },
        {
          "start": "14:00",
          "end": "18:00"
        }
      ],
      "weight": 100,
      "volume": 3
    },
    {
      "id": "Order2",
      "pickup_location": "DEPOT",
      "delivery_location": "Skye",
                                                                                 

                                                                                 
      "earliest_delivery_time": "10:30",
      "latest_delivery_time": "14:20",
      "delivery_service_time": "0:30",
      "pickup_time_windows":[
        {
          "start": "05:00",
          "end": "10:00"
        },
        {
          "start": "11:00",
          "end": "18:00"
        }
      ],
      "weight": 300,
      "volume": 3
    }
  ],
  "fleet": [
    {
      "id": "Vehicle1",
      "registration": "Opturion-001",
      "driver": "D1",
      "start_location": "DEPOT",
      "finish_location": "DEPOT",
      "maximum_weight": 600,
      "maximum_volume": 10,
      "earliest_start_time": "6:00",
      "latest_start_time": "10:00",
      "latest_finish_time": "18:30",
      "maximum_drive_time": "8:00",
      "maximum_work_time": "9:00",
      "cost_per_use": 150,
      "cost_per_hour": 30.75,
      "cost_per_km": 0.2,
      "attributes": [],
      "break_scheme": "SH"
    },
    {
      "id": "Vehicle2",
      "registration": "Opturion-002",
      "driver": "D2",
      "start_location": "DEPOT",
      "finish_location": "DEPOT",
      "maximum_weight": 600,
      "maximum_volume": 10,
      "earliest_start_time": "6:00",
      "latest_start_time": "10:00",
      "latest_finish_time": "18:30",
      "maximum_drive_time": "8:00",
                                                                                 

                                                                                 
      "maximum_work_time": "9:00",
      "cost_per_use": 150,
      "cost_per_hour": 30.75,
      "cost_per_km": 0.2,
      "attributes": [],
      "break_scheme": "SH"
    }
  ],
  "rush_hour": [
    {
      "start": "08:00",
      "end": "10:00",
      "speed_scale": 0.8
    }
  ],
  "fatigue_management": [
    {
      "id": "SH",
      "number": 1,
      "duration": "0:35",
      "interval": "4:00"
    }
  ]
}