Runtime measurement
Hi,
I am solving a QCP problem:
f(x) = x(1)^2 + x(2)^2 + x(3)^2, with constraints x(1)*x(2) + x(3)^2 = 1 and x(1)*x(3) >= 1.
I transformed the QCP into a QP and am solving the QP using Gurobi. However, I encountered the following issues during the solution process:
(1) First, when running the code, the runtime frequently equals 0. I don't understand what a runtime of 0 implies. Even though the number of iterations and the loop process remain unchanged, why does the runtime fluctuate between 0, 0.0009994, and 0.02 seconds? If I want to compare the time of Gurobi with other algorithms, what time metric should I use for a fair comparison? Is it the average time, or are there other approaches?
Moreover, when I run the qcp file provided in Gurobi's official MATLAB examples with output turned off, I also encounter runtime = 0 and fluctuations in runtime. Conversely, when running the qp file with output turned off, these issues do not occur.
(2) Secondly, in my code, I have set certain parameters to improve Gurobi's computational efficiency:
params.QCPDual = 0;
params.Outputflag = 0;
params.TimeLimit = 0.1;
params.Presolve = 0;
params.Method = 1;
params.OptimalityTol = 1e-4;
params.FeasibilityTol = 1e-4;
params.Threads = 4;
params.Heuristics = 0.0;
% params.Aggregate = 0;
params.AggFill = 1;
params.PreCrush = 0;
Are there other ways to further improve computational efficiency?
Thanks
Please sign in to leave a comment.
Comments
0 comments