Originally posted by: Mark L. Stone
cplex.solutiontarget = 2 directs cplexqp to attempt to find a local minimum, which is what MATLAB Optimization Toolbox's quadprog attempts to do. cplexqp and quadprog may not necessarily find the same local minima, even if provided the same initial (starting) point, and the local minimum which is found by either of them can be strongly affected by the initial point provided, as well as by various algorithm choices.
cplex.solutiontarget = 3 attempts to find the (a) global minimum, which is a functionality which quadprog does not have when the Hessian matrix is not positive semi-definite.
This is called optimalitytarget, rather than solutiontarget, in the latest versions of CPLEX.
Because your Hessian matrix is negative semi-definite, your problem is a concave programming problem, Therefore, if the constraint region is compact (not unbounded in any direction), there will be a global minimum somewhere on the extreme of the constraint region. In general, there is the possibility that the problem has one or more local minima which are not global minima.
#CPLEXOptimizers#DecisionOptimization