Skip to content

Reinforcement Learning and Optimization for Field Service Dispatching

License

Notifications You must be signed in to change notification settings

jixjia/easydispatch

 
 

Repository files navigation

easydispatch

This is a field service dispatching planner, focusing on Reinforcement Learning and Optimization based automatic Dispatching.

Online Demo

We are working on demo.

Problem Definition

Quick Start

EasyDispatch relies on Postgres DB, Redis and Kafka. Those three components can be started by [docker-compose] (https://docs.docker.com/compose/install/) or provisioned seperately. You also should have npm and node for frontend development.

  1. To run easydispatch locally, first install it by:
git clone https://github.com/alibaba/easydispatch.git && cd easydispatch
pip install -e .
  1. Then copy and modify env file from $easydisaptch/etc/dev_env_sample to $easydisaptch/dev.env . Start the database, redis and kafka by docker composer.
docker-compose -f kafka-redis-postgres-compose.yml -p dispatch up
  1. Open another terminal, populate some sample data and run the frontend:
python -m dispatch.cli database init
python -m dispatch.cli server start --port 8000 dispatch.main:app 
  1. Visit the page at : http://localhost:8000/login

planner_ui

OS and Environements

We tested it on Ubuntu 20.04 and MacOS, Python 3.7 / 3.8

Reference

The frontend and server technology stack (vue + python) were adapted from Netflix Dispatch. Data structures are not compatible.

About

Reinforcement Learning and Optimization for Field Service Dispatching

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 62.7%
  • Vue 27.2%
  • JavaScript 9.8%
  • Other 0.3%