Giter Site home page Giter Site logo

buaa-bda / ridesharing-lmd Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 4.0 10.48 MB

Last-Mile Delivery Made Practical: An Efficient Route Planning Framework with Theoretical Guarantees

License: MIT License

C++ 55.37% Makefile 1.98% C 5.49% Python 37.16%
ridesharing dial-a-ride last-mile-delivery spatial route-planning

ridesharing-lmd's Introduction

LMD: Last-Mile Delivery Made Practical: An Efficient Route Planning Framework with Theoretical Guarantees

This repository stores the source code of the proposed algorithm to solve the Last-Mile Delivery (LMD) problem in the following paper.

[1] Last-Mile Delivery Made Practical: An Efficient Route Planning Framework with Theoretical Guarantees. Yuxiang Zeng, Yongxin Tong, Lei Chen. PVLDB 13(3): 320-333 (2019). link

If you find this work helpful in your research, please consider citing our paper and the bibtex are listed below:

@article{DBLP:journals/pvldb/ZengTC19,
  author    = {Yuxiang Zeng and Yongxin Tong and Lei Chen},
  title     = {Last-Mile Delivery Made Practical: An Efficient Route Planning Framework with Theoretical Guarantees},
  journal   = {{PVLDB}},
  volume    = {13},
  number    = {3},
  pages     = {320--333},
  year      = {2019},
}

Usage of the algorithms

Environment

gcc/g++ version: 7.4.0

OS: Ubuntu

Compile the algorithm

cd algorithm && make all

fesif: the FESI algorithm in the paper

chst: the algorithm of constructing an HST

Run the algorithm

1. First randomly construct several indexes of HST
cd ../dataset && python batchRunHST.py
batchRunHST.py: a python script to construct the HSTs

2. Run the FESI algorithm with the constructed HST
./fesif ./synData/location/mu100/loc_00.txt ./synData/6000_150_2_8_mu100/data_00.txt ./synHST/mu100/loc_00/hst_0000.txt loc_00.txt: the locations of all the metric spaces
data_00.txt: the information of the couriers and requests
hst_0000.txt: our index, HST

3. We also provide our python scripts to conveniently conduct all the experiments
cd ../dataset && python batchRunSyn.py
batchRunSyn.py: a python script to run the experiments on synthetic datasets cd ../dataset && python batchRunReal.py
batchRunReal.py: a python script to run the experiments on olist datasets

Description of the data generator

Environment

Python: 2.7

Run the scripts

caiData: the data of our real dataset Cainiao

caiHST: some samples of our HSTs for the Cainiao dataset

olistData: the data of our real dataset Olist

olistHST: some samples of our HSTs for the Olist dataset

synData: some samples of our synthetic dataset

synHST: some samples of our HSTs for the synthetic dataset

genDataSyn.py: a script to generate the synthetic datasets in the experiments

batchRunHST.py: a python script to construct the HSTs

batchRunSyn.py: a python script to run the experiments on synthetic datasets

batchRunOlist.py: a python script to run the experiments on Olist datasets

Related resources

We have maintained a paper list of the studies on the shared mobility service (e.g., ridesharing, food delivery and urban logistics). link

Presentation slides

VLDB20-LMD-github.ppsx is our presentation slides in VLDB 2020.

Contact

ridesharing-lmd's People

Contributors

yzengal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.