reinterpretcat / vrp

A Vehicle Routing Problem solver
https://reinterpretcat.github.io/vrp/
Apache License 2.0
331 stars 68 forks source link

many drivers vs many cars with complex constraints possible ? #58

Open gustav3d opened 2 years ago

gustav3d commented 2 years ago

Hello,

I want to tank you for doing this library in Rust :)

I wonder if its possible to modell with pickup deliveries fixed time windows, fixed breaks and exclusion((Some drivers can only use certain cars due to several criteria like drivers license, and cant be in same Car as certain gods(example:people that hate each other, or is allergic to dog))), certain goods cant be combined either - constraints for many Drivers vs many Cars?.

Thanks Gustav .

reinterpretcat commented 2 years ago

Hi,

the solver doesn't support drivers with pragmatic format yet, only vehicle types are supported.

I wonder if its possible to modell with pickup deliveries fixed time windows, fixed breaks

These features are supported. Exclusion I guess can be modeled with skills feature. Relevant documentation:

https://reinterpretcat.github.io/vrp/concepts/pragmatic/problem/jobs.html#pickup-and-delivery-job https://reinterpretcat.github.io/vrp/examples/pragmatic/basics/skills.html

gustav3d commented 2 years ago

is drivers supported if coding directly to the api ?

On Wed, 29 Dec 2021 at 20:22, Ilya Builuk @.***> wrote:

Hi,

the solver doesn't support drivers with pragmatic format yet, only vehicle types are supported.

I wonder if its possible to modell with pickup deliveries fixed time windows, fixed breaks

These features are supported. Exclusion I guess can be modeled with skills feature. Relevant documentation:

https://reinterpretcat.github.io/vrp/concepts/pragmatic/problem/jobs.html#pickup-and-delivery-job https://reinterpretcat.github.io/vrp/examples/pragmatic/basics/skills.html

— Reply to this email directly, view it on GitHub https://github.com/reinterpretcat/vrp/issues/58#issuecomment-1002743768, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABCY4KWIUWJ5WAKXNAAHT3UTNNWPANCNFSM5K6N6OKA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

reinterpretcat commented 2 years ago

No, it is not. However, the internal api is designed to support this in the future:

https://github.com/reinterpretcat/vrp/blob/master/vrp-core/src/models/problem/fleet.rs#L30-L44

Check its usage

gustav3d commented 2 years ago

Aha !, Thanks a lot for such a quick response.

On Wed, 29 Dec 2021 at 20:33, Ilya Builuk @.***> wrote:

No, it is not. However, the internal api is designed to support this in the future:

https://github.com/reinterpretcat/vrp/blob/master/vrp-core/src/models/problem/fleet.rs#L30-L44

Check its usage

— Reply to this email directly, view it on GitHub https://github.com/reinterpretcat/vrp/issues/58#issuecomment-1002747506, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABCY4LTIT2SJ4CRWR5Y72TUTNPBDANCNFSM5K6N6OKA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

gustav3d commented 2 years ago

Google Or-tools does not support drivers either, but there i fake it with cars. I dont think thats optimal though.

reinterpretcat commented 2 years ago

My idea was to use Actor model within tour which consists of joined data from a driver and a car:

https://github.com/reinterpretcat/vrp/blob/master/vrp-core/src/models/problem/fleet.rs#L95-L104

At the moment, the missing part is to build actors from multiple drivers and vehicles. The current implementation assumes that there is only one driver:

https://github.com/reinterpretcat/vrp/blob/master/vrp-core/src/models/problem/fleet.rs#L130-L131

gustav3d commented 2 years ago

Any discord chat for this project ?.

reinterpretcat commented 2 years ago

No, not yet. Maybe issues and discussions serves better from documentation point of view? Chat is good as it is nearly real time communication channel, but it is harder to seek in it for information later. So far, I would recommend to create a new discussion for questions and a new issue for bugs

gustav3d commented 2 years ago

Discord has full history search by default.

On Mon, 3 Jan 2022 at 11:12, Ilya Builuk @.***> wrote:

No, not yet. Maybe issues and discussions serves better from documentation point of view? Chat is good as it is nearly real time communication channel, but it is harder to seek in it for information later. So far, I would recommend to create a new discussion for questions and a new issue for bugs

— Reply to this email directly, view it on GitHub https://github.com/reinterpretcat/vrp/issues/58#issuecomment-1003988962, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABCY4PWQ7DEUASX3WJ2S3DUUFZAVANCNFSM5K6N6OKA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>