Coder Social home page Coder Social logo

yorak / verypy Goto Github PK

View Code? Open in Web Editor NEW
261.0 10.0 56.0 3.09 MB

A python library with implementations of 15 classical heuristics for the capacitated vehicle routing problem.

License: MIT License

Python 99.98% Batchfile 0.02%
parallel-savings cvrp vehicle-routing-problem python-library classical heuristics gurobipy nearest-neighbor savings-algorithm insertion-algorithms

verypy's People

Contributors

chkwon avatar dependabot[bot] avatar juherask avatar yorak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

verypy's Issues

Syntax for .vrp file format

Hello,

I found an example script which imports a .vrp format file and returns the optimal routing result in this repo.

I want to know how can I write the .vrp file as I want. That is, I want to specify customer nodes positions and so on. Actually, I have opened the .vrp file with a text editor, and I don't understand the syntax.

When I google it with some keywords like vrp file expansions syntax but I cannot reach what I want.

Thank you in advance!

Finish the incomplete implementations of the 3-opt* (inter-route 3-opt)

VeRyPy has a proven implementation of 3-opt* that operates on the entire solutions (which resides in local_search/solution_operators.py. Proven here means that it is able to replicate results from the literature.

3-opt* was one of the trickiest heuristics to implement, and, hence, there were many attempts, some of which remain incomplete. These were left where they were, because, even if the 3-opt* solution operation is verified to work through replication of Stewart & Golden results, VeRyPy would benefit from supporting implementations. For example, the 2 and 3 route heuristics as incompletely implemented in the do_3optstar_2route_move and do_3optstar_3route_move would allow a more convenient use of the 3-opt* in some special occasions. Another advantage would a unified interface to 3-opt* although with a slight performance and maintenance penalty.

While you, good reader, are at it, please also consider writing the do_naive_3optstar_move. In fact, thinking about it, that would be perfect place to start!

Add charging constant

I am not able to add a charging constant for the ECVRP problem. Is there any way to add a charging stations and charging constant for the ECVRP problem

Help with school bus routing on a map with known bus stop coordinates

I want to generate all the Routes for a school with the following given data:-

  • Capacity of the busses
  • Location [lat,lng] of the school
  • Location [lat,lng] of all the stops.

I need to generate the most optimal routes based on the stops, so was thinking of applying heuristics for the solution (Gillet & Miller Sweep heuristic).
All [Lat, Lng] data are available.

  • Blue Marker in the map is the school Location
  • Yellow Markers are the Stops

RouteGenIssue
?

How can I use the VeRyPy for this ?

Heuristics for VRPTW

This is a really wonderful collection of heuristics for CVRPs -- great job!

I'm wondering whether there are any algorithms here that are applicable for VRPs with time windows. Alternatively, do you have any good pointers to descriptions / implementations of heuristics for VRPTWs?

Thanks!
~ Ben

Documention

Hi ,
I am pretty new to vrp problems. Is there documention of this project to understand it better?

Check if the depot in endnode_to_route in savings could be initialized to None

For example, for a solution [0, 1, 2, 3, 0, 4, 5, 6, 7, 0] the corresponding endnode_to_route values would be [X, 0, None, 0, X, 1, None, None, 1, X]. Currenlty, the depot is assigned to the route 0 in endnode_to_route, but with a cursory glance, it would probably also be assigned to None (to indicate this, I've used X in the example), which would make the use of None in the code more consistent.

TW.CLOSE or OPEN Issue

Hi, I have tried to run your code for the vrptw and its is working perfectly for the arp, but I have an issue when timewondows are applied,
The following line is causing the issue: "wait_times = [max(0, ctrs['TWs'][i][TW.OPEN]-D[0,i]) for i in range(0,N)]".
Python gives me an error that "'int' object is not subscriptable", which I found out lies in the ctrs['TWs'][i][TW.OPEN] part of it.

Do you also have this issue or does it work with you?

Thank you so much on beforehand.

Regards
Line

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.