/FoodMatch

Batching and Matching for Food Delivery in Dynamic Road Networks

Primary LanguageC++

Batching and Matching for Food Delivery in Dynamic Road Networks

This repository contains official implementation of the algorithms defined in our paper.

Getting Started

These instructions will get you a copy of the project up and running on your local machine.

Prerequisites

The algorithms are implemented in C++11 (GCC 7.4.0) and evaluation scripts are implemented in Python 3 (Python 3.6)

Installation

Setup a conda environment which includes packages required to run evaluation scripts:

conda env create -f environment.yml
conda activate fm_evn

Datasets and evaluation procedure

We use two datasets for evaluation of algorithms:

  • Dataset provided by Swiggy : The code for simulation and algorithms defined in our paper is provided in ./Swiggy. An anonymized version of the proprietary dataset will be made available once an agreement is signed. Instructions to request data are available at this link

  • GrubHub dataset : We implement a simulation framework conforming to the structural assumptions made by Reyes et. al.[1,2] and compare our algorithm FoodMatch(adapted to work without road networks). The code for this is provided in ./GrubHub.

References

[1] Reyes, Damián et al. “The Meal Delivery Routing Problem.” (2018).
[2] Reyes, Damián. Innovations in last-mile delivery systems. PhD Dissertion. Georgia Institute of Technology, May 2018.
[3] Hungarian Implementation: https://bougleux.users.greyc.fr/lsape/