Originally posted by: SystemAdmin
Hey,
I am using Cplex (Version 12,3) together with Matlab. I wanted to try the new functionality to solve nonconvex quadratic problems. Although I set the solutiontarget to 2 I still receive the CPLEX Error " 5002: Q in objective is not positive semi-definite." Do I need to set any other properties, or am I missing something else? Here is a small testconfiguration I tried in Matlab with the target function X2*X1 + 10*X3*X1 (the problem I want to solve in the long run is much larger)
cplex = Cplex(
'mipex1'); cplex.Model.sense =
'minimize'; cplex.Model.obj = [0,0,0]; cplex.Model.lb = [0,0,0]; cplex.Model.ub = [inf,inf,inf]; cplex.Model.ctype =
'CC'; cplex.Model.A = [ 1, 1 ,0 ]; cplex.Model.lhs = [10]; cplex.Model.rhs = [inf]; cplex.Model.Q = [0 , 0.5 , 5 0.5 , 0 , 0 5 , 0 , 0]; cplex.Param.solutiontarget.Cur = 2; cplex.solve;
With the cplex result:
Tried aggregator 1 time. MIQP Presolve eliminated 0 rows and 1 columns. Number of nonzeros in lower triangle of Q = 1 Using Approximate Minimum Degree ordering Total time
for automatic ordering = 0.00 sec. Summary statistics
for factor of Q: Rows in Factor = 2 Integer space required = 2 Total non-zeros in factor = 3 Total FP ops to factor = 5 Presolve time = 0.01 sec. Error using cplexlink123 *CPLEX Error 5002: Q in objective is not positive semi-definite.*
It would be awsome if anyone had an idea how to solve my problem.
Thanks in advance,
Felix
#CPLEXOptimizers#DecisionOptimization