Given an alphabet {alpha (1),..., alpha (n)} with the corresponding list of weights [omega (1),..., omega (n)], and a number L greater than or equal to inverted right perpendicular log n inverted left perpendicular, we introduce the WARM- UP algorithm, a Lagrangian algorithm for constructing suboptimal length restricted prefix codes. Two implementations of the algorithm are proposed. The first one has time complexity O(n log n+n log <(<omega>)over bar>), where <(<omega>)over bar> is the highest presented weight. The second one runs in O (nL log(n/ L)) time. The number of additional bits per symbol generated by WARM-UP when comparing to Huffman encoding is not greater than 1/psi (L-inverted right perpendicular log(n + inverted right perpendicular log n inverted left perpendicular -L inverted left perpendicular-2). Even though the algorithm is approximated it presents an optimal behavior for practical settings. An important feature of the proposed algorithm is its implementation simplicity. The algorithm is basically a selected sequence of Huffman tree constructions for modified weights. The approach gives some new insights on the problem.