Ryan ONeill | Order up! How do I deliver it? Build on-demand logistics apps | Pydata Global 2023

Learn how to build on-demand delivery apps using Python and OR-tools. Covers demand forecasting, worker scheduling, route optimization, and key considerations for logistics systems.

Key takeaways
  • Python and OR-tools have become the de facto standard for optimization and logistics modeling

  • Three core components for on-demand delivery systems:

    • Forecasting (predicting demand)
    • Scheduling (matching supply/workers to demand)
    • Route planning (optimizing delivery sequences)
  • LAD (Least Absolute Deviations) regression is preferred over least squares for forecasting because:

    • More robust to outliers
    • Can be customized through optimization modeling
    • Implemented as a linear programming problem
  • Scheduling optimization aims to:

    • Balance overstaffing and understaffing penalties
    • Account for worker availability constraints
    • Match economic targets like orders per driver hour
    • Adapt to different time periods (morning/evening/etc.)
  • Route planning considerations:

    • Vehicle capacity constraints
    • Depot locations and delivery points
    • Drive time and distance optimization
    • Assignment and sequencing of stops
  • OR-tools provides multiple paradigms in one library:

    • Linear programming
    • Mixed integer programming
    • Constraint programming
    • Satisfiability solving
    • Local search capabilities
  • Moving from manual/siloed processes to integrated technology platforms improves operational efficiency

  • Models can be customized based on business needs:

    • Different penalties for over/undersupply
    • Seasonal variations
    • Economic conditions
    • Geographic considerations