0

I'm using cplex to solve a nonconvex MIQP, with the optimality target set to the global solution (CPXPARAM_OptimalityTarget = 3).

I'm getting drastically different solutions (.2135 vs .4197), depending on whether I use cplex v12.10 or v20.1. In both cases, the solution is reported as being within tolerance, and they can't both be within tolerance of the global solution.

When you set the optimality target to find the global solution, and it reports that the solution is integer optimal or within tolerance, is it really the global solution? I'm having a hard time reconciling how the answers could be so different unless the solver is getting stuck in a local optimum. Is there some other reason this might occur?

The problem has 205 integer variables and 2 continuous variables. The quadratic matrix has simple structure -- the submatrix corresponding to the 205 integer variables is diagonal.

David Choi
  • 23
  • 3
  • The solver should not be stuck in a local-optimum as it's not a local-solver, but a global-solver (in this mode). Numerical issues on the other hand are possible (i guess; i never did use cplex for non-convex things). Before someone else provides ideas: 1) Try both solvers again with [numerical-emphasis](https://www.ibm.com/docs/en/icos/12.8.0.0?topic=parameters-numerical-precision-emphasis) set to true. 2) Also inspect if the solvers differ in respect to [QToLin](https://www.ibm.com/docs/en/icos/12.8.0.0?topic=parameters-linearization-switch-qp-miqp). 3)Also look for num-trouble presolve opts – sascha Jun 07 '21 at 09:31
  • 1)reloaded the lp and re-ran with numerical-emphasis true -- same results, 2) on both solvers QToLin is set to automatic 3) there are options for preprocessing, but none that clearly pertain to numerical trouble – David Choi Jun 07 '21 at 14:53
  • Note that the quadratic terms need to be in the objective for Cplex to handle nonconvexities. – Erwin Kalvelagen Jun 07 '21 at 17:07
  • Yes good clarification -- the quadratic matrix is not a constraint, its the objective function, there are two equality constraints which are linear (MIQP not MIQCP) plus upper and lower bounds on all variables: max x' Q x subject to Ax = b and L <= x <= U, and all x integer except for 2 continuous variables (and Q is PSD ) – David Choi Jun 07 '21 at 21:41
  • 1
    You may want to throw this at Gurobi (e.g. via NEOS). – Erwin Kalvelagen Jun 07 '21 at 22:21

0 Answers0