From cd5bc2fe6dfe0c81290bc32b0cdc498b8a315898 Mon Sep 17 00:00:00 2001 From: Yulun Zhang Date: Tue, 28 Jul 2026 15:54:37 -0400 Subject: [PATCH 1/2] MD-PIBT is published --- _data/preprints.yml | 15 --------------- _data/pubs.yml | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/_data/preprints.yml b/_data/preprints.yml index aec587ace8ec..8cbd86d90cfb 100644 --- a/_data/preprints.yml +++ b/_data/preprints.yml @@ -16,21 +16,6 @@ # abstract: null -- key: Jiang2026MDPIBT - title: "Planning over MAPF Agent Dependencies via Multi-Dependency PIBT" - # site: https://yulunzhang.net/publication/zhang2026mggo/ - authors: [Zixiang Jiang, Yulun Zhang, Rishi Veerapaneni, Jiaoyang Li] - equal_contributions: [Zixiang Jiang, Yulun Zhang, Rishi Veerapaneni] - venue: arXiv - year: 2026 - thumbnail: /files/yulunzhang/thumbnails/simple_bigagents_MDPIBT.gif - eprint: arXiv:2603.23405 - tags: [mapf, warehouse] - links: - arXiv: https://arxiv.org/abs/2603.23405 - abstract: "Modern Multi-Agent Path Finding (MAPF) algorithms must plan for hundreds to thousands of agents in congested environments within a second, requiring highly efficient algorithms. Priority Inheritance with Backtracking (PIBT) is a popular algorithm capable of effectively planning in such situations. However, PIBT is constrained by its rule-based planning procedure and lacks generality because it restricts its search to paths that conflict with at most one other agent. This limitation also applies to Enhanced PIBT (EPIBT), a recent extension of PIBT. In this paper, we describe a new perspective on solving MAPF by planning over agent dependencies. Taking inspiration from PIBT's priority inheritance logic, we define the concept of agent dependencies and propose Multi-Dependency PIBT (MD-PIBT) that searches over agent dependencies. MD-PIBT is a general framework where specific parameterizations can reproduce PIBT and EPIBT. At the same time, alternative configurations yield novel planning strategies that are not expressible by PIBT or EPIBT. Our experiments demonstrate that MD-PIBT effectively plans for as many as 10,000 homogeneous agents under various kinodynamic constraints, including pebble motion, rotation motion, and differential drive robots with speed and acceleration limits. We perform thorough evaluations on different variants of MAPF and find that MD-PIBT is particularly effective in MAPF with large agents." - - - key: Zhang2026MGGO title: "Optimization of Edge Directions and Weights for Mixed Guidance Graphs in Lifelong Multi-Agent Path Finding" site: https://yulunzhang.net/publication/zhang2026mggo/ diff --git a/_data/pubs.yml b/_data/pubs.yml index c0c1f0efb1b7..8ff5a311c12d 100644 --- a/_data/pubs.yml +++ b/_data/pubs.yml @@ -31,6 +31,27 @@ ############### 2026 ################## +- key: Jiang2026MDPIBT + title: "Planning over MAPF Agent Dependencies via Multi-Dependency PIBT" + site: https://yulunzhang.net/publication/zhang2026mggo/ + authors: [Zixiang Jiang, Yulun Zhang, Rishi Veerapaneni, Jiaoyang Li] + equal_contributions: [Zixiang Jiang, Yulun Zhang, Rishi Veerapaneni] + venue: IROS + # pages: null + year: 2026 + thumbnail: /files/yulunzhang/thumbnails/simple_bigagents_MDPIBT.gif + eprint: arXiv:2603.23405 + tags: [mapf, warehouse] + links: # You can add additional links not listed below + arXiv: https://arxiv.org/abs/2603.23405 + Code: https://github.com/lunjohnzhang/MD-PIBT + Poster: null + Slides: null + Talk: null + Video: https://drive.google.com/file/d/17yvQbRzXKzzJ2fYr4LuE2J-1X8jafvWh/view?usp=sharing + abstract: "Modern Multi-Agent Path Finding (MAPF) algorithms must plan for hundreds to thousands of agents in congested environments within a second, requiring highly efficient algorithms. Priority Inheritance with Backtracking (PIBT) is a popular algorithm capable of effectively planning in such situations. However, PIBT is constrained by its rule-based planning procedure and lacks generality because it restricts its search to paths that conflict with at most one other agent. This limitation also applies to Enhanced PIBT (EPIBT), a recent extension of PIBT. In this paper, we describe a new perspective on solving MAPF by planning over agent dependencies. Taking inspiration from PIBT's priority inheritance logic, we define the concept of agent dependencies and propose Multi-Dependency PIBT (MD-PIBT) that searches over agent dependencies. MD-PIBT is a general framework where specific parameterizations can reproduce PIBT and EPIBT. At the same time, alternative configurations yield novel planning strategies that are not expressible by PIBT or EPIBT. Our experiments demonstrate that MD-PIBT effectively plans for as many as 10,000 homogeneous agents under various kinodynamic constraints, including pebble motion, rotation motion, and differential drive robots with speed and acceleration limits. We perform thorough evaluations on different variants of MAPF and find that MD-PIBT is particularly effective in MAPF with large agents." + + - key: Yan2026WinkTPG title: "WinkTPG: An Execution Framework for Multi-Agent Path Finding Using Temporal Reasoning" site: https://jingtianyan.github.io/publication/2026-06-07-winktpg From c549ae126053b50d0d2a9683e2adce5d1cfdc557 Mon Sep 17 00:00:00 2001 From: Yulun Zhang Date: Tue, 4 Aug 2026 13:57:26 -0400 Subject: [PATCH 2/2] add SRA preprint --- _data/preprints.yml | 13 +++++++++++++ files/yulunzhang/thumbnails/sra.png | Bin 0 -> 166968 bytes 2 files changed, 13 insertions(+) create mode 100644 files/yulunzhang/thumbnails/sra.png diff --git a/_data/preprints.yml b/_data/preprints.yml index 8cbd86d90cfb..719bb4547562 100644 --- a/_data/preprints.yml +++ b/_data/preprints.yml @@ -45,3 +45,16 @@ Code: https://github.com/smart-mapf/lifelong-smart abstract: "We present Lifelong Scalable Multi-Agent Realistic Testbed (LSMART), an open-source simulator to evaluate any Multi-Agent Path Finding (MAPF) algorithm in a Fleet Management System (FMS) with Automated Guided Vehicles (AGVs). MAPF aims to move a group of agents from their corresponding starting locations to their goals. Lifelong MAPF (LMAPF) is a variant of MAPF that continuously assigns new goals for agents to reach. LMAPF applications, such as autonomous warehouses, often require a centralized, lifelong system to coordinate the movement of a fleet of robots, typically AGVs. However, existing works on MAPF and LMAPF often assume simplified kinodynamic models, such as pebble motion, as well as perfect execution and communication for AGVs. Prior work has presented SMART, a software capable of evaluating any MAPF algorithms while considering agent kinodynamics, communication delays, and execution uncertainties. However, SMART is designed for MAPF, not LMAPF. Generalizing SMART to an FMS requires many more design choices. First, an FMS parallelizes planning and execution, raising the question of when to plan. Second, given planners with varying optimality and differing agent-model assumptions, one must decide how to plan. Third, when the planner fails to return valid solutions, the system must determine how to recover. In this paper, we first present LSMART, an open-source simulator that incorporates all these considerations to evaluate any MAPF algorithms in an FMS. We then provide experiment results based on state-of-the-art methods for each design choice, offering guidance on how to effectively design centralized lifelong AGV Fleet Management Systems. LSMART is available at this https URL." + +- key: Luo2026SRA + title: "Stress-Relief Annealing: Polynomial-Time Simulation-Free Layout Optimization for Automated Warehouses" + authors: [Xiangjie Luo, Yulun Zhang, Miyuki Koshimura, Makoto Yokoo, Jiaoyang Li] + venue: arXiv + year: 2026 + thumbnail: /files/yulunzhang/thumbnails/sra.png + eprint: arXiv:2608.01024 + tags: [warehouse, envopt] + links: + arXiv: https://arxiv.org/abs/2608.01024 + abstract: "We study the problem of optimizing physical layouts for automated warehouses, where hundreds to thousands of robots are coordinated to transport packages. Previous works have shown that optimizing the warehouse layout (e.g., the physical location of the storage shelves) significantly improves throughput. However, state-of-the-art layout optimization approaches are based on evolutionary optimization methods, which treat the entire warehouse as a black box and rely on random mutation to search for high-quality layouts. While the optimization outcomes are promising, these methods require a massive number of simulations to evaluate candidate solutions, making them sample-inefficient. In this paper, we present Stress-Relief Annealing (SRA), a polynomial-time simulation-free layout optimization algorithm. SRA turns the task demand into a per-vertex stress field that predicts where traffic will concentrate in the warehouse; the field's peak provably caps the throughput. Our experimental results show that (1) SRA improves both the throughput and the scalability of a human-designed warehouse, roughly doubling the number of robots it can sustain, (2) it matches or exceeds the throughput of the evolutionary baselines while taking only 19 minutes on one CPU core, against their 25,000 simulations and 25 hours on a 64-core machine, and (3) the gain generalizes across different Multi-Agent Path Finding algorithms, non-uniform task demands, and a warehouse with doubled dimensions." + diff --git a/files/yulunzhang/thumbnails/sra.png b/files/yulunzhang/thumbnails/sra.png new file mode 100644 index 0000000000000000000000000000000000000000..361fdb75dedcb6eaeb66141b02f75b36b2ade749 GIT binary patch literal 166968 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 literal 0 HcmV?d00001