Ping,
All solvers work with tolerances and suffer from rounding errors. There are cases where your model is on the brink of feasibility. Hence with some solver settings (or different solvers) you get an “optimal” solution with others the model is reported as infeasible. The Cplex guys have done a nice video about analyzing infeasible models. Perhaps this helps: https://www.youtube.com/watch?v=tUALbhJ2xWY
-Michael