Originally posted by: AnirudhSubramanyam
Why isn't the elapsed CPU time as measured by CPXXgettime() reproducible?
I place timestamps using this function before and after my solve statement and set CPX_PARAM_CLOCKTYPE to CPU time. When I run my CPLEX code (which includes callbacks) multiple times, I am not able to reproduce these times.
However, CPXXgetdettime() always returns the same number of CPU ticks no matter how many times I run it (under varying CPU load conditions). Also, CPXXgetdettime() has no way of knowing the amount of time spent inside callbacks. Is there a way to get a hold on the deterministic number of CPU ticks spent inside callbacks and hence, get a (reproducible) number on the amount of time my code takes?
This question is motivated from the issue of what time to report for the solution time of my code. When running the same problem multiple times, I get a coefficient of variation of about 15%, which is a bit ridiculous.
Note that my callbacks are completely deterministic and reproducible to the best of my knowledge.
Any help is appreciated.
Anirudh
#CPLEXOptimizers#DecisionOptimization