Giter Site home page Giter Site logo

vrph's Introduction

This version of VRPH is a fork of [COIN's VRPH](https://projects.coin-or.org/VRPH),
with a number of bugs fixed.  The first commit is a copy of VRPH 1.0.
I've reported the bugs upstream, but Chris has other things to do.


What follows is the original README: 



VRPH is a library of heuristics for quickly generating
solutions to Vehicle Routing Problems.  VRPH was
developed by Chris Groer as part of his dissertation at
the University of Maryland, College Park.  This code is
provided in hopes that it will be useful to others researching
computational methods for the VRP.

To compile VRPH, read the INSTALL file.  There are no
external dependencies and it should be straightforward
to build the code.  Building the code produces at least
4 binaries, all located in the VRPH-1.0/bin directory:

1) vrp_rtr - implementation of a metaheuristic for quickly
generating good solutions to the VRP

2) vrp_sa - implementation of a simulated annealing
algorithm for the VRP.  In general, solutions are not as
good as those produced by vrp_rtr.

3) vrp_ej - implementation of a neighborhood ejection-
injection algorithm for the VRP.  This can produce solutions
that are better than vrp_rtr and can be used to further
refine these solutions

4) vrp_init - implementation of two classical heuristics
for generating initial feasible solutions

There are several additional binaries that require you to
link with external software:

1) vrp_sp - implementation of a set partitioning-based
algorithm for the VRP.  Many feasible routes are generated
using the metaheuristic in vrp_rtr.  These are added as
columns/variables to the set partitioning problem.
This requires you to link with COIN-OSI and GLPK.  It should
not be hard to use a different MIP solver as there is very
little solver-specific code

2) vrp_plotter - a utility to write graphical illustrations
of solutions to a .ps file.  This requires one to link to
the open source PLPlot library.

The VRPH-1.0/doc directory is a placeholder for Doxygen-generated
documentation.  See the INSTALL file for details on creating
this documentation via the makefile.

Right now, the code is able to generate solutions to classical
capacitated VRPs.  Adding support for time windows, multiple
depots, etc. should not be too difficult and the code was
designed to make it somewhat easy to add new constraints.

The various subdirectories contain README's that describe
the data sets, etc.  See the LICENSE file in this directory for
details on the licensing of this code.

The run_all_tests.sh script runs the vrp_rtr binary on all of the
data files.  The compare_apps.sh script allow one to compare the
performance of the different applications by running them with
a fixed set of parameters on different sets of benchmark problems.

If you find the code useful, I'd like to know, so send me an email.
If you encounter bugs or problems, I'd like to know that too.

Chris Groer
[email protected]

vrph's People

Contributors

geoffleyland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

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.