This paper presents an optimization-based solution approach for the dynamic multi-level capacitated lot sizing problem (MLCLSP) with positive lead times. The key idea is to solve a series of mixed-integer programs in an iterative fix-and-optimize algorithm. Each of these programs is optimized over all real-valued variables, but only a small subset of binary setup variables. The remaining binary setup variables are tentatively fixed to values determined in previous iterations. The resulting algorithm is transparent, flexible, accurate and relatively fast. Its solution quality outperforms those of the approaches by Tempelmeier/Derstroff and by Stadtler.