A convergent decomposition algorithm for a class of linearly constrained optimization problems