Alternating forward–backward splitting for linearly constrained optimization problems