Originally posted by: SystemAdmin
[MaryFenelon said:]
You should not be seeing randomness when running the exact same model in the exact same computing environment, unless you are using one of our parallel algorithms in what we call opportunistic mode. You will get opportunistic parallel mode if you set the number of threads to a number larger than one and do not set the parallel mode. To get the deterministic parallel mode, set the parallel mode parameter to the value representing deterministic and also set the thread parameter. The choice of parallel mode was introduced in CPLEX 11.
It is expected that you will see different paths when you have changed your program, model or computing environment. One of the reasons is that we use floating point arithmetic which has limited precision; this leads to different tie breaking in many of the CPLEX algorithms. The order of the variables and constraints also dictates some of the tie breaking and so you can see different paths when you generate/write/read/solve a MPS file versus generate/write/read/solve an LP file. In the LP format, the variables will be added in the order in which they appear in the constraints, which is probably different than the order of original creation. You can look at the CPLEX FAQ entitled "I made a few small changes to my integer program..."
for some more comments on this topic.
#CPLEXOptimizers#DecisionOptimization