Git Product home page Git Product logo

openridepoolsimulator's Introduction

OpenRidepoolSimulator

OpenRidepoolSimulator is a C++ framework designed to aid the study of algorithms for ridepool assignment problems. Its modular design is intended to make it easy to modify only the components one is interested in exploring and changing. The base implementation closely follows the design presented in "On-demand high-capacity ride-sharing via dynamic trip-vehicle assignment" (Alonso-Mora et al, PNAS 2017).

The design allows flexibility to control:

  • Batching intervals
  • Map, vehicle, and request inputs
  • Easily create your own assignment algorithms
  • Easily create you own rebalancing policy
  • Insert you own CTSP subproblem heuristic
  • Easily change parameters for RTV graph generation

The software is tested on linux with G++ compiler. Optimization is written with Mosek Optimizer version 8.1.0.56 and may not be compatible with later or current versions of the Mosek.

To compile the program, simply enter the directory and run the "make" command.

To run the simulator, in the console enter

./prog x

where x is the number of threads the simulator may use in parallel. Addiitonally, you may include the following arguments, all given as keywords followed by values. For example, to run the program with 500 vehicles you would use

./prog x VEHICLE_LIMIT 500

They keywords include (more listed in file settings.cpp):

  • DATAROOT - (default "./data") location to look for simulation inputs
  • RESULTS_DIRECTORY - (default "results") location to write results to, ignores if folder not found
  • VEHICLE_LIMIT - (default no limit) maximum number of vehicles to load from vehicle file.
  • MAX_WAITING - (default 300) maximum waiting time for served passengers
  • MAX_DETOUR - (default 600) maximum detour for served passengers
  • REQUEST_DATA_FILE - (default requests.csv) Input request file within DATAROOT/requests/
  • CARSIZE - (default 4) maximum number of passengers per vehicle
  • INITIAL_TIME - (default 0) starting time of simulation given as HHMMSS.
  • FINAL_TIME - (default 24000) ending time of simulation given as HHMMSS.
  • INTERVAL - (default 60) time that passes between subsequent assignment epochs
  • RTV_TIMELIMIT - (default 0) number of miliseconds the RTV graph generator can spend on each vehicle

This software was produced by Matthew Zalesak and Vindula Jayawardana.

openridepoolsimulator's People

Contributors

matthewzalesak 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.