Dear Prof. Rubin,
I have reconfigured the numerical experiments as follows:
- CPLEX Versions 12.9, 12.10, 20.1
- With or without deterministic parallel limited to four threads
- With or without c.parameters.preprocessing.reduce.set(1)
- Notebook 1: Windows 10 Pro 64-bit, Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz (8 CPUs), ~2.1GHz, 32GB RAM, Dell Latitude 7400
- Notebook 2: Windows 10 Pro 64-bit, Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 CPUs), ~2.0GHz, 16GB RAM, HP ProBook 470 G5
This results in 24 different settings. I run each setting with ten instances (among them test.sav) known to trigger error 3019 when using the setting defined by 12.10, Notebook 1, with c.parameters.preprocessing.reduce.set(1) and without deterministic parallel limited to four threads (called setting S
1 in the following).
Only setting S
2 defined by 12.10, Notebook 2, with c.parameters.preprocessing.reduce.set(1) and without deterministic parallel limited to four threads showed the same problematic behavior as setting S
1 (i.e., for all ten instances error 3019 occurred [and very close to the root/before processing nodes with depth > 0]). Actually, I run this setting on a third notebook of a colleague, with the same results.
The error has not occurred for any instance when applying the remaining settings.
I was not aware that there is a newer CPLEX version than 12.10 (a lot of numbers have been skipped). Updating to 20.1 seems to fix the problem for me (or alternatively activating deterministic parallel with four threads), however, I still feel a bit uncomfortable with the situation. To be honest, I still can't explain where the problem was, why it occurred, why it doesn't occur under the new version or changed parameters, and what I would do in the future if the error occurs again. Is there any way to detect more precisely and comprehensible what the problem was?
Thank you very much for your help, it allowed me to continue my work.
Best regards
------------------------------
Jan E. J.
------------------------------
Original Message:
Sent: Tue March 02, 2021 03:38 PM
From: Paul Rubin
Subject: CPLEX Error 3019: Failure to solve MIP subproblem.
With the preprocessing reduce parameter set to 1, CPLEX 20.1 solves your problem to optimality in under a minute on my PC, getting a solution with objective value 21. Without the preprocessing setting, CPLEX finds an incumbent of 22 and a best bound of 21 fairly quickly but after 2+ minutes has still not gotten the incumbent down to 21.
I also tried CPLEX 12.10 (the only other version I have installed). With the preprocessing setting, it gets a proven optimum of 21 in under two minutes. Turning on the data check parameter did not change that. (I did not expect it to, but tried just for completeness.)
I'm running on Linux Mint, and CPLEX uses four threads (deterministic parallel) as opposed to eight on your machine according to your log. So perhaps the problem has something to do with either computer architecture or number of parallel threads. You might try 12.10 with deterministic parallel limited to four threads and see if that helps.
------------------------------
Paul Rubin
Professor Emeritus
Michigan State University
------------------------------