Lifelong Planning A (LPA)** is an incremental version of the A* search algorithm that efficiently repairs the optimal path when the underlying graph's edge costs change. Unlike A*, which replans from scratch, LPA* reuses information from previous searches, updating only the vertex keys and rhs-values affected by the cost changes. This makes it highly suitable for real-time replanning in robotics and logistics, where obstacles appear, disappear, or map traversal costs update dynamically.
Glossary
Lifelong Planning A* (LPA*)

What is Lifelong Planning A* (LPA*)?
Lifelong Planning A* is an incremental graph search algorithm designed for repeated, efficient pathfinding in dynamic environments where edge costs change.
The algorithm maintains two estimates for each vertex: a g-value (the start distance) and an rhs-value (a one-step lookahead estimate). A vertex is locally inconsistent if these values differ, triggering a focused update. By propagating inconsistencies from changed edges, LPA* recalculates the optimal path with minimal computation, a process known as incremental search. This provides a significant performance advantage over static planners in applications like heterogeneous fleet orchestration, where agents must constantly adapt to new warehouse layouts or other moving agents.
Key Features of LPA*
Lifelong Planning A* (LPA*) is an incremental search algorithm designed for repeated, efficient pathfinding in dynamic graphs. Its core features enable it to reuse previous computations to find new optimal paths when edge costs change.
Incremental Search
LPA* is an incremental algorithm, meaning it does not recompute a path from scratch when the graph changes. Instead, it reuses information from the previous search (specifically, the g and rhs values of vertices) to repair the path. This is achieved by identifying and updating only the vertices whose cost-to-goal estimates are affected by the changed edge weights, making replanning significantly faster than a full A* search.
- Mechanism: When an edge cost changes, LPA* marks the predecessor vertices of the affected edge as locally inconsistent.
- Process: It then uses a priority queue to propagate these cost changes through the graph until consistency is restored and a new optimal path to the goal is found.
- Benefit: This makes it ideal for environments where small, frequent changes occur, such as a warehouse robot navigating around newly placed obstacles.
Local Consistency & Key Values
LPA* maintains two key cost estimates for each vertex s to track optimality and enable efficient updates:
g(s): The start distance, representing the current best known cost from the start vertex tos.rhs(s): The one-step lookahead value, a potentially better estimate derived from thegvalues ofs's successors and the cost of the connecting edges. It is defined asrhs(s) = min_{s' in Succ(s)}(g(s') + c(s, s')), wherecis the edge cost.
A vertex is locally consistent if g(s) == rhs(s). If g(s) > rhs(s), it is overconsistent, meaning a cheaper path to s has been found. If g(s) < rhs(s), it is underconsistent, meaning the previous best path to s is no longer valid due to an increased edge cost. The algorithm's priority queue sorts vertices by a key based on these values to efficiently resolve inconsistencies.
Heuristic-Guided Repair
Like A*, LPA* uses a heuristic function h(s) to guide its search towards the goal, ensuring efficiency. The heuristic estimates the cost from vertex s to the goal and must be admissible (never overestimates the true cost) and consistent for optimality guarantees.
During replanning, the priority queue uses a two-component key for each vertex s: [k1(s), k2(s)].
k1(s) = min(g(s), rhs(s)) + h(s, s_start): Prioritizes vertices based on the estimated total cost of a path from start to goal passing throughs.k2(s) = min(g(s), rhs(s)): Acts as a tie-breaker.
This key structure ensures the algorithm expands vertices in an order that focuses the repair effort on the most promising parts of the graph affected by changes, similar to A*'s best-first search but applied incrementally.
Optimality and Completeness
LPA* provides formal guarantees under specific conditions:
- Optimality: LPA* finds a shortest path from the start to the goal after processing all inconsistent vertices, provided the heuristic
his admissible and consistent. The first time it is run, it behaves identically to A* and returns an optimal path. On subsequent replans, it repairs the path to a new optimum. - Completeness: If a path from the start to the goal exists in the graph, LPA* will find it. If no path exists, it will report this fact.
- Conditional Guarantees: These guarantees hold as long as edge cost changes are non-negative. The algorithm can handle increases and decreases in edge costs, efficiently rewiring the path as needed.
Comparison to D* and D* Lite
LPA* is part of a family of incremental search algorithms, each with distinct characteristics:
- LPA*: Designed for dynamic graphs where the start is fixed and the goal is fixed. It is goal-directed, repairing paths from the start outward. It is the foundational algorithm for the others.
- D*: The original incremental algorithm designed for unknown environments where the robot discovers obstacles as it moves. It searches backwards from the goal and is more complex to implement.
- D Lite*: A simplification of D* that is equivalent to LPA but searches backwards from the goal*. It is the most widely adopted in robotics for real-time navigation because it efficiently handles a moving start (the robot) and a fixed goal. D* Lite essentially runs LPA* on a reversed graph, updating the heuristic to account for the robot's new position after each move.
Application in Fleet Orchestration
In Heterogeneous Fleet Orchestration, LPA*'s features are leveraged for real-time vehicle and robot routing:
- Dynamic Obstacles: When an autonomous mobile robot's sensors detect a new obstacle (e.g., a fallen pallet, a human worker), the affected graph edges' costs are increased. LPA* incrementally repairs the robot's path around it.
- Changing Task Priorities: If a high-priority task is assigned, the cost to traverse certain zones may be virtually reduced for the assigned agent. LPA* can efficiently compute a new, faster route.
- Fleet Re-routing: In a multi-agent system, when one agent is delayed or fails, its assigned path becomes blocked for others. The orchestration middleware can use LPA* to quickly replan paths for affected agents, minimizing system-wide disruption.
- Efficiency: The incremental nature provides sub-second replanning times, which is critical for maintaining high throughput in automated warehouses and manufacturing floors.
How Lifelong Planning A* Works
Lifelong Planning A* (LPA*) is an incremental search algorithm designed for repeated, efficient pathfinding in dynamic environments where edge costs in the graph can change.
Lifelong Planning A (LPA)** is an incremental version of the A* algorithm that reuses information from previous searches to find new optimal paths when graph edge costs change. It maintains two estimates for each node: a g-value (known cost from start) and a rhs-value (one-step lookahead cost). A node is consistent if g == rhs and locally inconsistent otherwise. The algorithm focuses repairs only on these inconsistent nodes, dramatically reducing computation compared to replanning from scratch.
The core mechanism is its priority queue, which sorts locally inconsistent nodes by a key combining the start distance estimate and heuristic to the goal. When an edge cost changes, LPA* updates the rhs-values of affected nodes and places them back in the queue. It then repeatedly expands the most promising inconsistent node, propagating cost changes until the goal is consistent and the optimal path is identified. This makes it ideal for real-time replanning in robotics and logistics, where environments are only partially known or dynamic.
Practical Applications of LPA*
Lifelong Planning A* (LPA*) excels in dynamic environments where path costs change incrementally. Its core strength is reusing previous search results to compute new optimal paths efficiently, making it a cornerstone algorithm for systems requiring repeated, fast replanning.
Dynamic Robot Navigation
LPA* is a foundational algorithm for mobile robots operating in partially known or dynamic environments. When a robot's sensors detect a new obstacle or a previously blocked passage becomes clear, LPA* efficiently repairs the existing path.
- Key Mechanism: It updates only the locally inconsistent vertices affected by the cost change, avoiding a full re-search of the graph.
- Example: An autonomous warehouse robot recalculates its route to a picking station in milliseconds after a human worker temporarily blocks an aisle, minimizing stoppage time.
Real-Time Strategy Games
In video games, units must navigate terrain where other units and destructible objects constantly alter the passable landscape. LPA* provides the incremental replanning needed for responsive unit movement.
- Key Mechanism: The game engine treats the map as a graph where edge costs represent terrain difficulty or unit presence. When a unit moves or a bridge is destroyed, LPA* updates paths for all affected units.
- Performance Benefit: This allows hundreds of units to replan simultaneously with minimal CPU overhead compared to restarting A* from scratch for each change.
Fleet Orchestration in Logistics
Within heterogeneous fleet orchestration platforms, LPA* enables efficient dynamic rerouting for Autonomous Mobile Robots (AMRs) when task priorities change or traffic conditions evolve.
- Key Mechanism: The warehouse floor plan is a graph. A replanning trigger, such as a new high-priority order or a vehicle breakdown, changes edge costs (e.g., marking a lane as congested). The orchestration middleware uses LPA* to compute new optimal paths for impacted AMRs.
- Integration: Works alongside Multi-Agent Path Finding (MAPF) and Conflict-Based Search (CBS) for initial global planning, with LPA* handling local, reactive adjustments.
Comparison with D* Lite
LPA* and D Lite* are the two primary focused incremental search algorithms. Understanding their differences is crucial for selecting the right tool.
- LPA*: Designed for known graphs with changing edge costs. It assumes the entire graph structure is known initially, but costs can update. It is goal-directed.
- D Lite*: Designed for planning in unknown terrain (e.g., planetary rovers). It effectively reverses the search to handle a moving start point (the robot) and discovers graph structure and costs via sensors. It is start-directed.
- Rule of Thumb: Use LPA* when the map is known but dynamic; use D* Lite when exploring an unknown environment.
Core Algorithmic Concepts
LPA*'s efficiency stems from its management of two key values for each graph vertex and its use of a priority queue.
- g(s): The known cost from the start to vertex
s. - rhs(s): The one-step lookahead value, computed as
min(g(s') + c(s', s))over predecessorss'. Ifg(s) == rhs(s), the vertex is consistent. - Process: When an edge cost changes, the algorithm marks affected vertices as locally inconsistent (
g(s) != rhs(s)) and places them in a priority queue. It then processes vertices in order of a key function (combining path cost and heuristic) until the goal is consistent and optimal. - Heuristic Reuse: The heuristic
h(s)guides the repair, just as in A*, ensuring the repair is focused toward the goal.
Limitations and Considerations
While powerful, LPA* is not a universal solution. Engineers must understand its constraints for proper system design.
- Graph Changes: LPA* is optimized for edge cost changes, not for adding or removing vertices. Significant graph alterations may require re-initialization.
- Memory Overhead: It must store the
gandrhsvalues for all vertices and maintain the priority queue, creating higher memory overhead than a single A* search. - Not for Holonomic Planning: LPA* searches a discrete graph. For smooth, kinodynamically feasible trajectories, its output path is typically post-processed by a local planner like the Timed Elastic Band (TEB) or used to seed a Lattice Planner.
- Deterministic Output: Like A*, it provides a deterministic optimal path given the same graph and heuristic, which is critical for auditable and repeatable system behavior.
LPA* vs. Other Replanning Algorithms
This table compares key technical characteristics of Lifelong Planning A* against other prominent algorithms used for real-time path replanning in dynamic environments.
| Feature / Metric | Lifelong Planning A* (LPA*) | D* Lite | A* (Repeated Search) | Rapidly-exploring Random Tree (RRT*) |
|---|---|---|---|---|
Algorithm Type | Incremental, heuristic search | Incremental, heuristic search | Complete, heuristic search | Sampling-based, asymptotically optimal |
Optimality Guarantee | Optimal for each replan | Optimal for each replan | Optimal for each search | Asymptotically optimal |
Core Replanning Mechanism | Reuses previous search tree; updates affected vertices | Reuses previous search tree; updates affected vertices | Discards previous search; plans from scratch | Discards previous tree; grows new tree from scratch |
Primary Use Case | Repeated searches on a graph with changing edge costs | Navigation in unknown/partially known environments | Single optimal path search or infrequent replanning | High-dimensional or kinodynamic planning |
Incremental Efficiency | ||||
Handles Dynamic Obstacles (Edge Cost Changes) | ||||
Handles New Start/Goal Locations Efficiently | ||||
Theoretical Time Complexity (Replan) | O(m log n), m affected edges | O(m log n), m affected edges | O(n log n), full graph | O(n log n), new samples |
Memory Overhead | Moderate (stores previous search tree) | Moderate (stores previous search tree) | Low (discards after search) | Low (discards after search) |
Deterministic Output | ||||
Common Application Context | Grid-based logistics, repeated route updates | Robotic exploration, real-time navigation | Static environment planning, one-off calculations | Robotic arm manipulation, complex vehicle maneuvers |
Frequently Asked Questions
Lifelong Planning A* (LPA*) is an incremental search algorithm designed for efficient replanning in dynamic environments. These questions address its core mechanisms, applications, and how it compares to other pathfinding algorithms.
Lifelong Planning A (LPA)** is an incremental version of the A* search algorithm that efficiently finds new optimal paths when edge costs in a graph change, by reusing information from previous searches. It maintains two estimates for each node: a g-value (the current best known cost from the start) and a rhs-value (a one-step lookahead value based on the g-values of predecessors and the cost of connecting edges). A node is consistent if its g-value equals its rhs-value. When an edge cost changes, LPA* marks the affected nodes as inconsistent and places them in a priority queue. It then repeatedly expands the most promising inconsistent node, updating its g-value and the rhs-values of its successors, until the goal is consistent and the optimal path is found. This process repairs only the necessary parts of the search graph, avoiding a complete recomputation from scratch.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Lifelong Planning A* (LPA*) is a key algorithm within a broader ecosystem of real-time replanning and multi-agent coordination techniques. The following cards detail its foundational predecessors, contemporary variants, and complementary frameworks used in dynamic fleet orchestration.
A* Algorithm
The foundational graph search algorithm upon which LPA* is built. A* finds the least-cost path from a start node to a goal node using a best-first search strategy guided by a heuristic function h(n).
- Core Mechanism: Maintains two lists:
OPEN(nodes to evaluate) andCLOSED(evaluated nodes). It expands the node with the lowestf(n) = g(n) + h(n), whereg(n)is the cost from the start, andh(n)is the estimated cost to the goal. - Optimality: Guaranteed to find an optimal path if the heuristic is admissible (never overestimates the true cost) and consistent.
- Contrast with LPA*: A* is a single-shot planner. It must replan from scratch if the graph changes, whereas LPA* reuses previous search results for efficiency.
D* Lite
A focused, incremental replanning algorithm that shares conceptual similarities with LPA* but is optimized for navigation in unknown or partially known environments. It is simpler to implement than the original D* algorithm.
- Primary Use Case: Often used in robotics for real-time navigation where the robot discovers obstacles (increased edge costs) as it moves.
- Key Similarity to LPA*: Both maintain two key values per node: a
g-value(best known cost) and arhs-value(one-step lookahead cost). They use these to track inconsistencies and focus repair efforts. - Key Difference: D* Lite typically searches from the goal backwards to the start, which is more efficient when the start state (robot's position) changes frequently, while the goal remains fixed.
Incremental Search
The overarching algorithmic paradigm to which LPA* belongs. Incremental search algorithms are designed to efficiently update the solution to a problem when given a small change to the input, reusing previous computations.
- Core Principle: Avoid recomputing from scratch. When edge costs in the graph change, the algorithm identifies the subset of the search space affected (the inconsistent states) and repairs the solution locally.
- Benefits for Fleet Orchestration: Enables real-time performance for frequent replanning triggered by dynamic obstacles, new tasks, or agent failures.
- Other Examples: Besides LPA* and D* Lite, this family includes Focused D* and Adaptive A*.
Warm Start
An optimization technique used in numerical solvers and planners where the solver is initialized with a solution from a previous, similar problem. LPA* inherently provides a powerful form of warm start for path planning.
- How LPA Implements It*: Instead of initializing the
g-valuesof all nodes to infinity (a cold start), LPA* initializes them with the values from the previous solution. The search then focuses on repairing inconsistencies. - Performance Impact: This can reduce replanning time from O(n) to O(1) for minor changes in a large graph, as only a local region needs updating.
- Broader Application: The concept is also critical in Model Predictive Control (MPC) and quadratic programming solvers used for trajectory optimization.
Heuristic Function
A function h(n) that estimates the cost from any node n to the goal. It is the guiding intelligence of A*-based algorithms like LPA*, determining which paths are explored first.
- Admissible Heuristic: Never overestimates the true cost. Required for A* and LPA* to guarantee path optimality. In robotics, Euclidean distance or Manhattan distance are common admissible heuristics.
- Consistent (Monotonic) Heuristic: Ensures that the estimated cost from a node to the goal is less than or equal to the cost to a successor plus the estimated cost from that successor. Consistency guarantees that nodes are never re-expanded, improving efficiency.
- Impact on LPA*: A more accurate heuristic (closer to the true cost without overestimating) dramatically reduces the number of nodes LPA* must re-evaluate during incremental repair.
Multi-Agent Path Finding (MAPF)
The broader problem domain where LPA* is often applied as a single-agent sub-component. MAPF involves finding collision-free paths for multiple agents from start to goal locations.
- LPA's Role*: In coupled or prioritized MAPF approaches, LPA* can be the low-level planner for a single agent, tasked with finding a path that avoids static obstacles and the reserved paths of higher-priority agents.
- Integration with Coordination: LPA*'s fast replanning is crucial when an agent's path is blocked by another agent's unexpected delay or a newly assigned task, requiring a quick re-route.
- Contrast with MAPF-specific algorithms: Algorithms like Conflict-Based Search (CBS) or Safe Interval Path Planning (SIPP) are designed from the ground up for multi-agent coordination, whereas LPA* is a single-agent engine often integrated into a larger coordination framework.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us