Domain-Independent Dynamic Programming: Generic State Space Search for Combinatorial Optimization
Ryo Kuroiwa, J. Christopher Beck
TL;DR
This work presents Domain-Independent Dynamic Programming (DIDP), a framework that treats dynamic programming as a general modeling paradigm rather than problem-specific code. It introduces Dynamic Programming Description Language (DyPDL) to encode DP models and Cost-Algebraic A* Solver for DyPDL (CAASDy) to solve them, enabling domain-independent state-space search with dual-bound heuristics. Across six combinatorial optimization problems (e.g., CVRP, SALBP-1, Bin Packing, MOSP, Graph-Clear, and TSPTW), CAASDy often matches or surpasses traditional MIP/CP approaches, notably in TSPTW, MOSP, and Graph-Clear, while highlighting memory limitations on larger instances. The approach also bridges AI planning and OR, providing a flexible, extensible path to apply planning-inspired search and heuristics to declarative optimization problems, with clear avenues for future enhancements such as stronger dominance rules and planning-driven heuristics.
Abstract
For combinatorial optimization problems, model-based approaches such as mixed-integer programming (MIP) and constraint programming (CP) aim to decouple modeling and solving a problem: the 'holy grail' of declarative problem solving. We propose domain-independent dynamic programming (DIDP), a new model-based paradigm based on dynamic programming (DP). While DP is not new, it has typically been implemented as a problem-specific method. We propose Dynamic Programming Description Language (DyPDL), a formalism to define DP models, and develop Cost-Algebraic A* Solver for DyPDL (CAASDy), a generic solver for DyPDL using state space search. We formalize existing problem-specific DP and state space search methods for combinatorial optimization problems as DP models in DyPDL. Using CAASDy and commercial MIP and CP solvers, we experimentally compare the DP models with existing MIP and CP models, showing that, despite its nascent nature, CAASDy outperforms MIP and CP on a number of common problem classes.
