La programación dinámica es un método cuantitativo para la toma de decisiones que resuelve problemas de optimización dividiéndolos en subproblemas más pequeños. Se utiliza para problemas como la asignación de recursos limitados. Resuelve cada subproblema una sola vez almacenando los resultados y construyendo la solución óptima de forma incremental mediante el principio de optimalidad de Bellman.