Algorithms

The algorithms package provides optimization algorithms for warehouse operations, including order batching, routing, and sequencing.

Overview

The algorithms package is organized into specialized subpackages:

  • ItemAssignment: Assign order items to storage locations.

  • OrderSelection: Select a subset of orders from a larger order pool.

  • Batching: Group orders into batches to optimize picker workload.

  • Routing: Find optimal picking routes through the warehouse.

  • Sequencing: Determine the order in which tasks should be executed.

Base Classes

Algorithm

All algorithms inherit from the base Algorithm class:

Key Methods:

  • solve(input_data) - Main entry point to run the algorithm

  • _run(input_data) - Abstract method implemented by subclasses

Batching Algorithms

Order batching algorithms group orders into batches for efficient picking.

Priority-Based Batching

Savings-Based Batching

Savings-Based Batching

Local Search Batching

Routing Algorithms

Routing algorithms determine the path through pick locations.