Skip to content

Support for mixing independent pickups and deliveries #241

@vaibhavmehrotra94

Description

@vaibhavmehrotra94

I am trying to use vroom for pickup and delivery scenario is it possible to use it for the same.

For Eg. :- Let's assume my vehicle has a capacity of 200 and I have jobs for delivery which have amount 100 each and pickup with amount 70. Now is it possible to configure VROOM's input in such a way that the truck is assigned to pickup 70 amount somewhere during the trip without breaching the vehicle capacity.

The provided JSON is what I tried to input for solving the above explained situation. Here I have taken job amount in negative for pickup's. (as for job's with id 2 and 4)

  "jobs": [
    {
      "id": 1,
      "location": [77.6447257, 12.8911828],
      "time_windows": [[64800, 72000]],
      "service": 11880,
      "amount": [256]
    },
    {
      "id": 1,
      "location": [77.6447257, 12.8911828],
      "time_windows": [[64800, 72000]],
      "service": 0,
      "amount": [-82]
    },
    {
      "id": 2,
      "location": [77.6500367, 12.8892035],
      "time_windows": [[64800, 72000]],
      "service": 1620,
      "amount": [-205]
    },
    {
      "id": 3,
      "location": [77.644629, 12.8948467],
      "time_windows": [[28800, 43200]],
      "service": 3000,
      "amount": [226]
    },
    {
      "id": 3,
      "location": [77.644629, 12.8948467],
      "time_windows": [[28800, 43200]],
      "service": 0,
      "amount": [-262]
    },
    {
      "id": 4,
      "location": [77.6141978, 12.8590643],
      "time_windows": [[39600, 50400]],
      "service": 3420,
      "amount": [-247]
    },
    {
      "id": 5,
      "location": [77.6400817, 12.9048541],
      "time_windows": [[28800, 43200]],
      "service": 3540,
      "amount": [232]
    },
    {
      "id": 6,
      "location": [77.6178125, 12.853929],
      "time_windows": [[64800, 72000]],
      "service": 1680,
      "amount": [234]
    },
    {
      "id": 7,
      "location": [77.6375484, 12.9233757],
      "time_windows": [[28800, 43200]],
      "service": 1740,
      "amount": [127]
    },
    {
      "id": 8,
      "location": [77.64630199999999, 12.9004965],
      "time_windows": [[39600, 50400]],
      "service": 2400,
      "amount": [-156]
    },
    {
      "id": 9,
      "location": [77.6141978, 12.8590643],
      "time_windows": [[54000, 64800]],
      "service": 1620,
      "amount": [-93]
    }
  ],
  "vehicles": [
    {
      "id": 1000,
      "start": [77.7352604, 13.0366671],
      "end": [77.7352604, 13.0366671],
      "capacity": [305],
      "time_window": [25200, 77400]
    },
    {
      "id": 1001,
      "start": [77.7352604, 13.0366671],
      "end": [77.7352604, 13.0366671],
      "capacity": [305],
      "time_window": [25200, 77400]
    }
  ],
  "options": { "g": true }
}```

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions