The input to the MAXIMUM SAVING PARTITION PROBLEM consists of a set V = {1, . . . , n}, weights w i , a function f, and a family S of feasible subsets of V. The output is a partition (S 1 , . . . , S l ) such that S i ∈ S, and j ∈V w j − l i=1 f (S i ) is maximized. We present a general 1 2 -approximation algorithm, and improved algorithms for special cases of the function f.