Hi!

I am very curious about why I obtained that my problem is integer unbounded ray if my objective clearly should be positive, in the form: sum{xi in X} ai*xi + sum{yi in Y} (yi-b)^2, with xi,ai>=0. Another point is that if I solve the relaxed problem I obtained a positive value, but when I turned to the integer version the best bound is greatly negative. I test other cases, modifying slightly the data and sometimes this negative relaxation appears at the first line of the root solution but then it turns to a positive value. Also, the issue happens with barrier or dual simplex set at the root. Any interpretation or suggestion about the cause of the problem will be appreciated. The issue occurs at the transition 22 of the attached results.

results_69_large_3.dat (519.4 KB)

When solving a problem with integer and binary variables and with option `qtolin=0`

, it can happen that the first lower bound that CPLEX computes is < 0, even though the objective is obviously \geq 0. But a better, positive bound should quickly be found.

At transition 21, however, CPLEX reports “unrecoverable failure: singular basis” which generally indicates that a solution could not be computed accurately using the computer’s double-precision floating-point arithmetic. At transition 22, the report of an “integer unbounded ray” is probably a side-effect of the same problem. Often the cause is a combination of small and large values in the coefficients or bounds, so you may want to investigate scaling your problem (or equivalently, changing units) to reduce the range of values.

You could also try adding `numericalemphasis=1`

to your `cplex_options`

string, to request more accurate (though maybe slower) computations. If that doesn’t help, then consider getting at least a trial of the Gurobi solver, which has the most extensive quadratic features; a comparison of the CPLEX and Gurobi logs can be helpful in determining the cause of any errors.

Thanks a lot Robert!