This is the Consensus-Based Bundle Algorithm (CBBA), a decentralized market mechanism for assigning tasks to a robot fleet without a central planner. Each robot alternates two phases every round:
Bundle build:
for robot i, pick task j maximizing
score(j) = R − w · dist(last waypoint, task_j)
if score(j) > y_j (current best known bid):
append j to bundle_i, set y_j = score(j), z_j = i
Consensus:
for every task j, all robots converge to
y_j ← max over robots of their y_j
z_j ← robot achieving that max
if a robot's own claim on j lost (z_j ≠ i):
drop j and every task added after it in the bundle
Robots only need a simple pairwise agreement rule — highest bid wins, ties broken by robot id — and no message needs to reach every robot at once. Because a robot drops a task (and everything queued after it) the moment it is outbid, bundles keep shrinking and growing until the round in which no robot's bid changes: that is convergence, and CBBA guarantees it always terminates with a conflict-free assignment (every task owned by exactly one robot).
- Robots / Tasks sliders — resize the fleet and the job list before generating a new scenario.
- Step round — runs one bundle-build + consensus round and shows the updated claims.
- Auto-run — steps automatically until the assignment converges.
- Send robots to tasks — once converged, animates each robot travelling its committed path in task order.
- Drag the field to pan, scroll/pinch to zoom — the bid-matrix heatmap (top-right) and the fleet-cost sparkline (bottom strip) update live alongside the field.
Real-world relevance: this is the same family of algorithm used to coordinate search-and-rescue drone teams, warehouse pick-robots and multi-UAV surveillance — anywhere a fleet must split up a job list on the fly with only local, peer-to-peer communication.