-
Notifications
You must be signed in to change notification settings - Fork 75
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
Multi-location skills – one and only one should be selected #20
Comments
Regarding the refueling example. Would break with specified location after some period of time (or distance) work better for this purpose? Logically, you don't want to refuel your vehicle right after beginning, as it is still full, or in the end, risking to run out of fuel in the middle of tour. Interval break which has to be taken after specific working time (can be extended for distance too) is supported as experimental (unstable) feature. |
Thanks, I didn’t realize that location and even better several locations can be set for breaks. |
Thanks to your advice, I am now using This leads me to a side question. The solution return the following stop description
Would it be possible to add a specific jobId by passing an additional and optional property in break definition? |
I think it can be a |
Yes, indeed, it could be one |
I've added a tag property for break in the master branch. The plan is to make a new release this week, I just need to add some extra checks for solution checker |
Thanks a lot. |
The combination of |
I think it should be possible: if I'm not mistaken, only problem validation prevents it at the moment: https://github.com/reinterpretcat/vrp/blob/master/vrp-pragmatic/src/validation/vehicles.rs#L91 If you pass true for last parameter ( |
Thanks a lot. |
I meant that you can checkout the source code, modify the line above, build binaries locally and test it |
Ok. I'll get it. Thanks |
Sorry for my late reply, pub fn validate_vehicles(ctx: &ValidationContext) -> Result<(), Vec<FormatError>> {
combine_error_results(&[
check_e1300_no_vehicle_types_with_duplicate_type_ids(ctx),
check_e1301_no_vehicle_types_with_duplicate_ids(ctx),
check_e1302_vehicle_shift_time(ctx),
// check_e1303_vehicle_breaks_time_is_correct(ctx),
check_e1304_vehicle_reload_time_is_correct(ctx),
check_e1305_vehicle_limit_area_is_correct(ctx),
check_e1306_vehicle_dispatch_is_correct(ctx),
check_e1307_vehicle_has_no_zero_costs(ctx),
])
} It indeed work as expected ! |
I am currently updating my application with the latest version of vrp_cli (v.1.18.1), and it seems that the |
Hi, no, there was no changes in api contract. I'll check it once I have time (just returned from vacation). Update: actually, there is |
Sorry, it is my fault. "breaks": [
{
"time": [
"2019-07-04T12:00:00Z",
"2019-07-04T14:00:00Z"
],
"duration": 3600.0,
"locations": [
{}
],
"tag": "testTag"
} This is not the case anymore, as clearly stated in our docs... "breaks": [
{
"time": [
"2019-07-04T12:00:00Z",
"2019-07-04T14:00:00Z"
],
"places": [
{
"tag": "testTag",
"duration": 3600.0
}
]
}
] Sorry for the trouble, and thanks again |
I have a specific use case that seems not possible to model with vrp-cli. But I may have missed something or thought about it in the wrong way.
Would it be possible to have a task, a job skill, assigned to a vehicle, that can be done in several places but only one should be selected at the end. It is similar to a location problem and thus somehow similar to dispatch or reloads, but without capacity question.
A current example of this problem is the integration of the refueling of the vehicles.
This task has to be done during the vehicle shift. It has to be done, but only once and only in few specific petrol stations (for accounting question). Therefore, the location/allocation of the petrol station should be done to a vehicle and integrated into its tours.
I thought first to loop over petrol stations, solve each problem and then keep the less costly one. But there may be a better option?
The text was updated successfully, but these errors were encountered: