Loading solver…

CP-SAT - Warehouse Logistics Optimization

Problem: assign pallets to shelf slots to minimize demand-weighted handling time, respecting load size and weight limits.

Product demand

Average handling time

Seconds per job · Lower is better

—
Sampling the current layout…

Drag a pallet to move · Drag empty space to orbit · Scroll to zoom

How it works
  • Three aligned rows provide 36 pallet slots in a square arrangement. An offset passage splits the middle row into one bay on the left and three on the right. The forklift compares this shortcut with routes around the rack ends.
  • The green Receiving pad marks arrivals; the blue Dispatch pad marks departures.
  • Colors identify product groups. Each crate has its own width, depth, and height, which determine its rendered shape and how the load stacks.
  • The forklift follows the aisles, turns toward a load, raises its forks, collects the pallet, and lowers it for transport.
  • About once per minute of unpaused playback, an oil spill closes a crossing for 20 seconds. Cones mark the closure, and new jobs take a detour. Spills avoid the forklift’s committed path. The graph and optimizer use the currently open routes; clearing a spill restores the shortcut without rearranging stock.
  • Heavier pallets slow loaded driving, increasing travel time by up to 50% at 700 kg. The graph and placement optimizer account for the same payload-dependent travel times.
  • Demo shelf limits decrease with height: 700 kg at the bottom, 550 kg in the middle, and 400 kg on top. Dragging or randomizing can exceed these limits; amber outlines mark top-heavy loads, and the entire affected rack sways with its posts, shelves, and stored pallets. This is an illustrative effect. Optimize respects the limits for every movable pallet. The active job stays reserved until it finishes; optimize again afterward if its load is still too high.
  • Dispatch goals send pallets to the blue pad. Matching replenishments arrive on the green pad and return to the reserved shelf slot, keeping inventory steady.
  • The graph samples independent dispatch-and-receive pairs against the current arrangement, using the same routes, turns, lift speeds, and handling times as the forklift. Each goal starts from a fixed reference position. The rolling window contains up to 200 jobs; the visual 4× playback speed does not change these times.
  • Trials do not change inventory. Active transfers retain their reserved shelf position in the estimate. Every order is replenished, and product demand sets the relative order mix.
  • CP-SAT minimizes demand-weighted handling time with one pallet per slot, shelf weight limits, and load-size clearance. Correcting a top-heavy arrangement can increase handling time. Button-driven layout changes animate over 0.2 seconds; rearrangement labor and order queues are outside this model.
Show problem and solver code

CP-SAT model and solver

Assign each pallet to one shelf slot, respect size and weight limits, preserve active transfers, and minimize demand-weighted handling time.

Problem data and shelf constraints