A water-filling algorithm allocates a fixed resource among concave-return channels by choosing one Lagrange multiplier and setting each allocation to a thresholded expression. The multiplier is adjusted until the allocations sum to the resource budget.
To maximize for positive baselines, nonnegative allocations and a positive budget , the KKT conditions equalize the shifted values on allocated coordinates. The unique water level solves . Inactive coordinates have baselines at least the water level. Strict convexity of the negative objective ensures uniqueness, and sorting the baselines gives an efficient water-filling algorithm.

Articles by others on the same topic (1)

The water-filling algorithm is a technique used in various fields such as information theory, signal processing, and control theory, particularly for optimizing resource allocation under power constraints. It is often applied in problems involving multiple channels or dimensions, such as in the context of multiuser communication systems (like MIMO systems), where multiple users share the same communication medium.