Home - MayerTh/RVRPSimulator GitHub Wiki
RVRPSimulator is a [discrete event simulator] (https://en.wikipedia.org/wiki/Discrete_event_simulation) for the domain of vehicle routing. It provides a simulation model, which supports modelling various vehicle routing problem instances (also known as multi-constraint or rich vehicle routing problems). The RVRPSimulator model is classified after a recent Rich Vehicle Routing Problem taxonomy from [Lahyani et al. (2015)] (https://www.researchgate.net/publication/267308629_Rich_vehicle_routing_problems_From_a_taxonomy_to_a_definition). Another big benefit of the RVRPSimulator model is the support of dynamic and stochastic vehicle routing problems.
Build and run examples
Requirements
RVRPSimulator requires JDK version 1.8 or later and Maven 3.3.3. If you work with a current version of [Eclipse] (http://www.eclipse.org/), you only have to make sure that your JDK version is is up to date. Eclipse comes with an embedded Maven version 3.3.3, which is able to build RVRPSimulator. The metaheuristics framework [SEREIN] (https://github.com/TobiasUhlig/serein), used in one of the implemented examples, is included within the source. The [VRP-REP instance specification] (http://www.vrp-rep.org), also used in one of the implemented examples, is available in the maven central repository and referenced as Maven dependency.
Download, build and run examples
Download the sources and build the parent (vrpsim-parent) via maven, with the [maven goal] (https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html) install
. If you use for example eclipse, import the downloaded projects into your workspace via Import Existing Maven Projects and use to build the embedded maven.
- vrpsim-core
- vrpsim-examples
- vrpsim-parent
- vrpsim-util
- vrpsim-visualization
Note that the sources of vrpsim-examples are not needed to build and run your own simulation. After the successful build you can run the following examples as Java Applications.
- vrpsim.examples.christofides.VisulizeChristofides#main
- adapt static variable workWith [CMT01 - CMT14] to visualize different solved problem instances published by [Christofides et al. (1997)] (http://archive.numdam.org/ARCHIVE/RO/RO_1976__10_1/RO_1976__10_1_55_0/RO_1976__10_1_55_0.pdf)
- vrpsim.examples.dynamiccustomer.DynamicCustomer#main
- Only a model with Dynamic Customers, which are deploying dynamic demands periodically on an order bord is visualized, no vehicles are routed
- vrpsim.examples.simple.Simple#main
- Random simple model (you can change seed here for different models) with radom routing
If you would like to start straigt without reading the complete documentation, have a look at the [simple example] (https://github.com/MayerTh/RVRPSimulator/wiki/Simple-example).
Navigation
Following navigation, which you also can find on the right side, will help you to guide you through the documentation:
- [Home] (/MayerTh/RVRPSimulator/wiki/)
- Getting started
- [Simple model] (/MayerTh/RVRPSimulator/wiki/Simple-example)
- [Simple model, adding behaviour] (/MayerTh/RVRPSimulator/wiki/Simple-example,-adding-behaviour)
- [Documentation] (/MayerTh/RVRPSimulator/wiki/Documentation)
- [RVRPSimulator model] (/MayerTh/RVRPSimulator/wiki/RVRPSimulator-model) 2. [Network elements] (/MayerTh/RVRPSimulator/wiki/Network-elements) 3. [Structure elements] (/MayerTh/RVRPSimulator/wiki/Structure-elements) 4. [Behaviour elements] (/MayerTh/RVRPSimulator/wiki/Behaviour-elements) 5. [Solution elements] (/MayerTh/RVRPSimulator/wiki/Solution-elements)
- [RVRPSimulator engine] (/MayerTh/RVRPSimulator/wiki/RVRPSimulator-engine)
- [RVRPSimulator Classification] (/MayerTh/RVRPSimulator/wiki/RVRPSimulator-Classification)