-
Notifications
You must be signed in to change notification settings - Fork 5
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
Expanding Algorithm to More Complex Scenarios #2
Comments
Hi there, I'm glad you appreciate our work :)
|
I'm very sorry for not describing it accurately enough, what I meant was: the VRP problem is defined in the article coaxed as a fleet of vehicles (each with capacity Q) departing from a parking lot, serving each customer once, and then returning, with the goal of minimizing the total travel cost.RouteFinder considers a collection of VRP variants that each consist of one or more attributes, resulting in a rich set of routing problems with practical relevance.If our problem is that, for example, a fleet of vehicles has three types, each type of vehicle provides services A, B, and C. For each customer, it is necessary to receive the services in the order of A, B, and C, and then the vehicle returns, with the aim of minimizing the total travel cost. If this is the problem, then we should need to add a new attribute, how to implement it, can it be done under RouteFinder framework? |
Interesting topic! Are you referring by any chance to the Skill-VRP? If so, @ngastzepeda is working on this right now :) |
Hi @JY00002 , If you have further questions or would like to contribute to the code, feel free to reach out to me via email! |
@fedebotu @ngastzepeda Thank you very much for your quick and professional response, which has allowed me to experience the charm of the open-source community, it's really great! I am very much looking forward to your work on the SVRP! |
We are not aware of any other learning-based frameworks that solve this problem yet, but if you are not set on learning-based methods and just want to solve a specific problem, you could have a look at PyVRP. It allows for modelling client groups and vehicles via profiles, but I don't know if you can also model the precedence constraints you mention. |
I have an idea that I'm not sure is feasible, which is to use a mask mechanism for priority constraints. Specifically, for example, when a vehicle with capability B is selecting service targets, it could mask nodes that have not yet received service A, as well as nodes that have already received services B or C. Do you think this approach is applicable to the RouteFinder architecture? |
Yes, I was thinking along those lines, but the precedence constraints themselves would also need to be saved in the TensorDict. For your case the precedence may always be A->B->C, which is easier, because all would be of the same shape and even the same values. But to do this in a general way (i.e. one customer could have A->C, another B->A->D, etc.) we should think a bit more about how to do this in a general, but clean way. |
I am very much looking forward to your solution. |
I would like to express my sincere appreciation for the open-source project that you have made available. The work you have done is not only impressive but also incredibly valuable to the community.
I have found it to be a great tool for many robotic systems problems. However, I am currently facing a challenge where I need to extend the algorithm to more complex scenarios. Specifically, I am looking to add new base capacities and integrate the algorithm with different types of robotic systems.
Here are the details of my inquiry:
1.Adding New Base Capacities: I would like to know if there are any existing mechanisms or modules within the project that can be used to add new base capacities. If not, what would be the recommended approach to implement such features?
2.Integration with Robotic Systems: As I plan to integrate the algorithm with various robotic systems, I am curious about the level of customization and flexibility the algorithm offers in this regard. Are there any considerations or specific requirements I should be aware of when integrating with different robotic platforms?
Thank you once again for your outstanding work.
The text was updated successfully, but these errors were encountered: