D-gap functions and descent techniques for solving equilibrium problems