How to handle c*x/((x+a)*(x+b))

This is neither convex nor concave, except perhaps over ac certain range, depending on the values of a, b, c.

For instance, if a = b = c = 1, then the 2nd derivative is negative for x < 2 and positive for x > 2.