A distributed algorithm for constrained optimization problem in multi-agent systems with communication delays