-
Notifications
You must be signed in to change notification settings - Fork 344
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Steps of pickup and delivery? #1209
Comments
No there is no way to set precedence constraints on shipments or jobs. See #581 for some more context. |
Is this something that someone have looked more into or thinking of extending on VROOM? Someone mentioned an idea of subsequence of deliveries/jobs. We would be very interested in adding such functionality. |
Outside the discussions mentioned here, I've had no clue so far that this would be very useful for our customers. I'm not saying this is not interesting (I'd need to get more info on use-cases), but this has not been given much consideration so far. |
It’s not easy to explain but will give it a try.
Here is a use-case described for delivery and emptying full skips/containers.
In this use-case we can use the vehicle capacity to hold 5 empty skips and 1 full skip. [5,1]. The vehicle start and end location is on the depot.
We have a depot of empty skips. We have 3 locations that is going to have an empty skip delivered, 2 locations that is going to have the skip picked up and returned and 2 locations that is going to have the skip emptied. To empty a skip we need to take the skip to a location for garbage handling.
The above will be a typical route that we need to drive as efficient as possible, and this is what we want to have a solution to optimize using VROOM.
On locations where you are going to empty a skip most cases the most efficient is to bring an empty skip and replace it, then go to the garbage facility and empty the skip or deliver some of the empty skip already on the vehicle. After a skip is emptied the skip can be delivered to a location or returned to depot.
The input below is just part of the use-case described and obviously does not work with pickup and delivery on jobs.
ID 5002 should always be completed after 5003.
{
"vehicles": [
{
"id": 70,
"profile": "car",
"start": [
2.35044,
48.71764
],
"end": [
2.35044,
48.71764
],
"capacity": [
5,
1
],
"skills": []
}
],
"jobs": [
{
"service": 300,
"id": 5000,
"skills": [],
"location": [
2.35044,
48.71764
],
"description": "Pickup at depot",
"pickup": [
2,
0
]
},
{
"service": 300,
"id": 5001,
"skills": [],
"location": [
1.98935,
48.701
],
"description": "Deliver location 1",
"delivery": [
2,
0
]
},
{
"service": 300,
"id": 5002,
"skills": [],
"location": [
2.03655,
48.61128
],
"description": "Deliver full and pickup empty at garbage facility",
"pickup": [
1,
0
],
"delivery": [
0,
1
]
},
{
"service": 300,
"id": 5003,
"skills": [],
"location": [
2.89357,
48.90736
],
"description": "Deliver empty skip and pickup full",
"pickup": [
0,
1
],
"delivery": [
1,
0
]
}
]
}
Med vennlig hilsen / Best regards
Jim Jakobsen

Frakt24 / Bros Interactive AS
Telefon: +47 40 500 250
Email: ***@***.***
Web: https://frakt24.no
Lik oss på Facebook !
… 13. jan. 2025 kl. 09:18 skrev Julien Coupey ***@***.***>:
Outside the discussions mentioned here, I've had no clue so far that this would be very useful for our customers. I'm not saying this is not interesting (I'd need to get more info on use-cases), but this has not been given much consideration so far.
—
Reply to this email directly, view it on GitHub <#1209 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/A3CJKNONS22F6CN4QB5DLPT2KNZEVAVCNFSM6AAAAABU5A256CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKOBWGQ3DAMRRGU>.
You are receiving this because you authored the thread.
|
You example is only using jobs. If you have pickup & delivery constraints then you would get a better description of your problem by using shipments. |
Yes as I mentioned using jobs will not work. Here is one using shipments. Where I created a job to get he skip that was emptied at the recycle facility location back on the vehicle. This works as long as there is only one location I'm going to pick up a skip and drive to empty it. Is I add more shipment from locations to recycle facility and create a job for adding the skip back on the vehicle it will do all the jobs ut to the vehicle capacity every time the vehicle is at the location for recycle facility. Capacity on the vehicle is [5,1] (5 empty skips and 1 full) So if there was a way to say that job id: 5002 have to be completed after id: 6, this would have worked beautifully :) { |
Not sure I actually grasp all the details of the use-case but since you're always picking things at different locations to bring them somewhere else (either for delivering or emptying), I think you should always be using shipments, and never have jobs in your model. I'm not saying using only shipments will solve the problem if there are still precedence constraints between shipments, just that jobs do not seem to make sense in your context. |
Hello VROOM team, I have a challenge that I’m wondering if VROOM is capable of solving. For example, I have 4 orders that I want to optimize for the fastest and most efficient route. Each order has 1 pickup and 1 delivery, and we can call them orders 1, 2, 3, and 4. Is there any way to set it so that order 2 must be delivered before order 3 can be picked up?
The text was updated successfully, but these errors were encountered: