I write a simple QCP problem as follows, and I used different solvers to solve it. But, some of them, such as CONOPT, IPOPT, cannot get the optimal solution.

Clearly, the optimal solution is x=1, the optimal objective value is -1. However, some solvers return x=0.

That is not surprising. Conopt, Ipopt, Snopt, … are local solvers. They terminate in a local optimum (KKT conditions are fulfilled). You see this in the model status: **** MODEL STATUS 2 Locally Optimal. You need a solver with a global perspective to get the global optimum for a non-convex problem as yours, e.g. Antigone, Baron, … (see solver table at https://www.gams.com/latest/docs/S_MAIN.html#SOLVERS_MODEL_TYPES and check the last column ‘Global’). You can also pay more attention to your starting point. The Conopt manual (https://www.gams.com/latest/docs/S_CONOPT.html#CONOPT_INITIAL_VALUES) is a good source for information on that.