,
J. Christopher Beck
Creative Commons Attribution 4.0 International license
In domain-independent dynamic programming (DIDP), a problem is formulated as a dynamic programming (DP) model and then solved by a general-purpose solver. In the existing software for DIDP, a model is defined using expressions composed of a predefined set of operations. In this paper, we propose the Rust Programmable Interface for DIDP (RPID), new software for DIDP, where a model is defined by Rust functions. We discuss the design of RPID and compare it with existing DP-based frameworks, including decision diagram-based (DD-based) solvers. In our experiments, RPID is up to hundreds of times faster than the existing DIDP implementation with the same models. In addition, new DIDP models, enabled by the flexibility of RPID, outperform existing models in multiple problem classes. We also show that the relative performance of RPID and existing DD-based solvers depends on problem class with, so far, no clear dominant solver technology.
@InProceedings{kuroiwa_et_al:LIPIcs.CP.2025.23,
author = {Kuroiwa, Ryo and Beck, J. Christopher},
title = {{RPID: Rust Programmable Interface for Domain-Independent Dynamic Programming}},
booktitle = {31st International Conference on Principles and Practice of Constraint Programming (CP 2025)},
pages = {23:1--23:21},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-380-5},
ISSN = {1868-8969},
year = {2025},
volume = {340},
editor = {de la Banda, Maria Garcia},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CP.2025.23},
URN = {urn:nbn:de:0030-drops-238845},
doi = {10.4230/LIPIcs.CP.2025.23},
annote = {Keywords: Decision Diagrams \& Dynamic Programming, Modelling \& Modelling Languages}
}
archived version
archived version
archived version
archived version