Giter Club home page Giter Club logo

sc3-cvrp's Introduction

Shape-Controlled Clustering: A new approach to the Capacitated Vehicle Routing Problem

The goal of the challenge was to implement a solution to the Capacitated Vehicle Routing Problem with the following constraints:

  • Minimize the emptyings of every bin
  • Minimize the travel distance of every vehicle
  • Each bin needs to be emptied at least once a day

The proposed solution is based on a two-step approach:

  • Clustering of the bins to be emptied
  • Computation of the optimal path for each cluster

In particular, the clustering algotithm is based on a modification of KMeans which employs a customized distance measure: the Slender Distance. This distance is based on a weighted mean of the angular and spatial distance between two points, in order to control the shape of the generated clusters.

The computation of the minimum path for each cluster is then done with the Christofides algorithm, provided by the famous library OR-Tools.

The figure below shows a comparison between a classical KMeans (left) and the SC3 solution (right) employed by this project: as we can see, the 'radial' shape of the clusters in the right drastically decreases the total distance traveled by the vehicles.

sc3-cvrp's People

Contributors

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