GithubHelp home page GithubHelp logo

vrp-vrptw-gurobi-ipynb's Introduction

Vehicle Routing Problems

Objective and Prerequisites

Vehicle routing problems (VRPs) are combinatorial optimization problems that arise in the area of logistics [1]. In most variants, a set of customers needs to be visited and served (delivering or picking some goods) by a given fleet of vehicles. We want to find

  • a visiting sequence of customers for each vehicle
  • with minimal total routing costs, such that
  • each customer is visited exactly once,
  • the vehicle capacity is never exceeded,
  • and potentially other constraints are satisfied, e.g., time windows at the customers.

These notebooks demonstrate several ways to model vehicle routing problems as mixed-integer linear programs (MILP), without use of sophisticated column generation or cutting plane methods as needed in state-of-the-art approaches [2,3]. Therefore, the presented models have limited performance compared to the state-of-the-art, independent of the used solver. The formulations presented here should be a starting point to understand the modeling difficulties related to VRPs and to evaluate the performance for your problem instances. Currently, only the Capacitated Vehicle Routing Problem (CVRP) and the Vehicle Routing Problem with Time Windows (VRPTW) are considered but the mentioned modeling techniques might also be used for additional variants and side constraints.

These modeling examples are at an intermediate level, where we assume that you know Python and that you have some knowledge of how to build mathematical optimization models.

[1] Toth, P., & Vigo, D. (Eds.). (2014). Vehicle routing: problems, methods, and applications. Society for industrial and applied mathematics.

[2] Baldacci, R., Bartolini, E., Mingozzi, A., & Roberti, R. (2010). An exact solution framework for a broad class of vehicle routing problems. Computational Management Science, 7(3), 229.

[3] Pessoa, A., Sadykov, R., Uchoa, E., & Vanderbeck, F. (2020). A generic exact solver for vehicle routing and related problems. Mathematical Programming, 183, 483-523.

Gurobi License

In order to run this Jupyter Notebook properly, you must have a Gurobi license. If you do not have one, you can request an evaluation license as a commercial user, or a free license as an academic user.

Copyright © 2023 Gurobi Optimization, LLC

vrp-vrptw-gurobi-ipynb's People

Contributors

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