Originally posted by: AsToN
Hey guys,
I am using CPLEX' Matlab Class API to optimize multiple integer problems in parallel. The problem data is similar except one vector that changes.
When I am using a parallel loop (parfor) to run separate CPLEX optimizations on the 4 workers of my machine I experience a strange behaviour. The runtime CPLEX needs to retrieve the solutions is significantly longer when the problems are run in parallel than what they are when they are run sequentially (and we are talking of several times longer). When I am comparing the parallel and the sequential run the input data is completely identical and CPLEX also reports same results using the same solution path (according to the log file).
I am pretty sure it is not because of oversubcription of threads (I have 4 cores with 2 threads each and thus I am using 4 workers and CPLEX is limited to use 2 threads --> should be fine I guess) or because the transmitting of the data needs too long. I already checked that and the data transmission times are negligible. Plus the runtime is taken from CPLEX itself, so shouldn't be affected by any such issues.
I experience the same behaviour with GUROBI, although the effect isn't as dramatic (still a 100% longer on average).
Any ideas why this can happen?
#CPLEXOptimizers#DecisionOptimization