Encontrar soluciones óptimas para el problema de enrutamiento de vehículos con servicios de recogida y entrega con ventanas de tiempo: Un enfoque de programación dinámica basado en representaciones de red de estado-espacio-tiempo