Problem-Driven Iterative Adaptation