Originally posted by: RWunderling
CPLEX has an auto-repair feature for singular bases that repairs the singularity by replacing columns with slacks in the basis. However, when a slack itself is involved in a singularity such a replacement is not very useful, which is what this warning is about. Nevertheless, CPLEX can recover from it, but your performance may not be better or even worse than when solving your model from scratch.
Thus, you should really question your use of your previous basis, i.e. make sure that the changes of the model you perform are consistent with keeping the basis non-singular, or better maintaining primal or dual feasibility. Consider for instance the following LP:
c1: x + y <= b
c2: x <= c
If you now install a basis declaring y and the slack of c1 basic, you end up with the following singular basis matrix:
(1 1)
(0 0)
which could trigger the warning message you are seeing. Installing such a basis (via readBasis or directly) will likely not help speed up the solution of your model. If your algorithm dictates such changes, you should consider turning off the advance indicator to instruct CPLEX to solve the modified problem from scratch.
#CPLEXOptimizers#DecisionOptimization