I tried mod_inf.lp and confirmed that with the default thread settings CPLEX 20.1 gets an optimal solution and with one thread it is declared integer infeasible at the root. With a limit of two threads, CPLEX thinks it is feasible. I noticed that the probing reductions were different in each run, so I tried it with one thread and probing turned off:
CPXPARAM_Threads 1CPXPARAM_MIP_Strategy_Probe -1Solution time increased dramatically, but it made it out of the root node, eventually found a feasible solution (about four minutes in on my PC) and was making good progress when I interrupted the run.
Then I ran with four different threads settings (1 ... 4). In all four runs, the aggregator resulted in the same reduced dimensions. The number of things probing fixed/tightened was inversely related to the number of threads: 697 variables/729 bounds with one thread; 680/701 with two threads; 618/632 with three threads; 601/618 with four threads. I don't know why more threads would translate to fewer changes, unless the various threads get in each other's way. In any case, it appears that probing might be overly aggressive in your case (?).
Might this be a bug? Your maximum condition number is not what I would call horrible, and you have no adventures in scaling in the model (nonzero coefficients range from 1 to 10, nonzero right-hand sides from 1 to 93).
------------------------------
Paul Rubin
Professor Emeritus
Michigan State University
------------------------------