Dynamic Programming is a powerful problem solving approach developed primarily through problem-specific algorithms in Computer Science and Operations Research. Domain-Independent Dynamic Programming (DIDP) is a novel a model-and-solve framework where problems are specified as dynamic programs in a declarative modeling language and then solved by a general-purpose solver. In this talk, I will introduce DIDP, show examples of problem modeling, discuss our heuristic search-based solver, and present numerical results showing strong performance compared to mixed integer programming and constraint programming on a variety of combinatorial optimization problems in area such as routing and scheduling.