Originally posted by: EdKlotz
For convex quadratic objectives, CPLEX can solve your problem to global optimality either using the barrier or the primal or dual simplex method. This is the easy situation since any local optimal solution is also the unique global optimum.
Nonconvex QPs are more challenging, and can take much longer. CPLEX uses a spatial branch and bound algorithm to do this. So branching is required, even when all your variables are continuous.
For a description of the algorithm got http://orwe-conference.mines.edu/info.html and have a look at the slides from the tutorial
Performance Tuning For Cplex's Spatial Branch-and-Bound Solver For Global Nonconvex Mixed Integer Quadratic Programs
The first have of the presentation is all you need for the basic algorithm description; the second half does into binary nonconvex QPs that may or may not be relevant to your work.
For an even deeper dive on spatial branch and bound, have a look at Pierre Bonami's slides at https://developer.ibm.com/docloud/docs/roadef-2014/
#CPLEXOptimizers#DecisionOptimization