{"paper":{"title":"Domain-Independent Dynamic Programming with Constraint Propagation","license":"http://creativecommons.org/licenses/by/4.0/","headline":"Integrating a general-purpose CP solver into domain-independent dynamic programming prunes states and solves more scheduling instances.","cross_cats":[],"primary_cat":"cs.AI","authors_text":"Emir Demirovi\\'c, Imko Marijnissen, J. Christopher Beck, Ryo Kuroiwa","submitted_at":"2026-03-17T15:19:47Z","abstract_excerpt":"There are two prevalent model-based paradigms for combinatorial problems: 1) state-based representations, such as heuristic search, dynamic programming (DP), and decision diagrams, and 2) constraint and domain-based representations, such as constraint programming (CP), (mixed-)integer programming, and Boolean satisfiability. In this paper, we bridge the gap between the DP and CP paradigms by integrating constraint propagation into DP, enabling a DP solver to prune states and transitions using constraint propagation. To this end, we implement constraint propagation using a general-purpose CP so"},"claims":{"count":4,"items":[{"kind":"strongest_claim","text":"constraint propagation significantly reduces the number of state expansions, causing our approach to solve more instances than a DP solver for Single Machine Scheduling and RCPSP, and showing similar improvements for tightly constrained TSPTW instances","source":"verdict.strongest_claim","status":"machine_extracted","claim_id":"C1","attestation":"unclaimed"},{"kind":"weakest_assumption","text":"The overhead of calling a general-purpose CP solver inside the DP loop remains acceptable relative to the pruning gains for the tested problem classes and instance sizes.","source":"verdict.weakest_assumption","status":"machine_extracted","claim_id":"C2","attestation":"unclaimed"},{"kind":"one_line_summary","text":"Integrating general-purpose constraint propagation into domain-independent dynamic programming reduces state expansions and solves more instances on scheduling and TSP problems.","source":"verdict.one_line_summary","status":"machine_extracted","claim_id":"C3","attestation":"unclaimed"},{"kind":"headline","text":"Integrating a general-purpose CP solver into domain-independent dynamic programming prunes states and solves more scheduling instances.","source":"verdict.pith_extraction.headline","status":"machine_extracted","claim_id":"C4","attestation":"unclaimed"}],"snapshot_sha256":"3c1e4dc4965040957636b850206fa0b4cf611430f7778f59612ee59c58d2d9fa"},"source":{"id":"2603.16648","kind":"arxiv","version":2},"verdict":{"id":"fd01c52e-ecb4-4d2c-82b9-4edd83735007","model_set":{"reader":"grok-4.3"},"created_at":"2026-05-15T10:03:10.425256Z","strongest_claim":"constraint propagation significantly reduces the number of state expansions, causing our approach to solve more instances than a DP solver for Single Machine Scheduling and RCPSP, and showing similar improvements for tightly constrained TSPTW instances","one_line_summary":"Integrating general-purpose constraint propagation into domain-independent dynamic programming reduces state expansions and solves more instances on scheduling and TSP problems.","pipeline_version":"pith-pipeline@v0.9.0","weakest_assumption":"The overhead of calling a general-purpose CP solver inside the DP loop remains acceptable relative to the pruning gains for the tested problem classes and instance sizes.","pith_extraction_headline":"Integrating a general-purpose CP solver into domain-independent dynamic programming prunes states and solves more scheduling instances."},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2603.16648/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"}