Originally posted by: SystemAdmin
I compared the diagnostics log between simulations with and without parameters, and there was no change in results or computational time for the simulations. I'm not sure that is the same thing as the cplex log.
Here is how it looks for me:
Simulation 1 Solver Setup
options = cplexoptimset(
'cplex'); options.diagnostics =
'on'; options.mip.tolerances.mipgap=0; options.mip.tolerances.absmipgap=0; options.preprocessing.presolve = 0; %options.mip.strategy.variableselect=3; % Does not seem to be invoked %options.mip.strategy.backtrack=0.50; % Does not seem to be invoked %options.mip.strategy.probe=3; % Does not seem to be invoked %options.mip.strategy.dive=2; % Does not seem to be invoked [x,resnorm,residual,exitflag,output]=cplexlsqbilp(Obj,d,CONSTineq,bineq,CONSTeq,beq,[],[],[],options);
Diagnostics Log
Number of nonzeros in lower triangle of Q = 159758 Using Approximate Minimum Degree ordering Total time
for automatic ordering = 0.02 sec. Summary statistics
for factor of Q: Rows in Factor = 832 Integer space required = 1248 Total non-zeros in factor = 160590 Total FP ops to factor = 40636142 Clique table members: 208. MIP emphasis: balance optimality and feasibility. MIP search method: dynamic search. Parallel mode: deterministic, using up to 2 threads. Root relaxation solution time = 0.14 sec. Nodes Cuts/ Node Left Objective IInf Best Integer Best Bound ItCnt Gap * 0 0 integral 0 -0.0000 -0.0000 11 0.00% Elapsed real time = 0.20 sec. (tree size = 0.00 MB, solutions = 1) Root node processing (before b&c): Real time = 0.17 Parallel b&c, 2 threads: Real time = 0.00 Sync time (average) = 0.00 Wait time (average) = 0.00 ------- Total (root+branch&cut) = 0.17 sec.
Simulation 2 Solver Setup
options = cplexoptimset(
'cplex'); options.diagnostics =
'on'; options.mip.tolerances.mipgap=0; options.mip.tolerances.absmipgap=0; options.preprocessing.presolve = 0; options.mip.strategy.variableselect=3; % Does not seem to be invoked options.mip.strategy.backtrack=0.50; % Does not seem to be invoked options.mip.strategy.probe=3; % Does not seem to be invoked options.mip.strategy.dive=2; % Does not seem to be invoked [x,resnorm,residual,exitflag,output]=cplexlsqbilp(Obj,d,CONSTineq,bineq,CONSTeq,beq,[],[],[],options);
Diagnostics Log
Number of nonzeros in lower triangle of Q = 116229 Using Approximate Minimum Degree ordering Total time
for automatic ordering = 0.02 sec. Summary statistics
for factor of Q: Rows in Factor = 516 Integer space required = 774 Total non-zeros in factor = 116745 Total FP ops to factor = 33032471 Probing time = 0.00 sec. Clique table members: 129. MIP emphasis: balance optimality and feasibility. MIP search method: dynamic search. Parallel mode: deterministic, using up to 2 threads. Root relaxation solution time = 0.09 sec. Nodes Cuts/ Node Left Objective IInf Best Integer Best Bound ItCnt Gap * 0 0 integral 0 -0.0000 -0.0000 11 0.00% Elapsed real time = 0.20 sec. (tree size = 0.00 MB, solutions = 1) Root node processing (before b&c): Real time = 0.17 Parallel b&c, 2 threads: Real time = 0.00 Sync time (average) = 0.00 Wait time (average) = 0.00 ------- Total (root+branch&cut) = 0.17 sec.
In both cases it takes equal amount of iterations (11) for the algorithm to reach the solution.
I found a way to see the options input for CPLEX and it seems that the parameters are being invoked but still it looks like they don't affect the optimization.
#CPLEXOptimizers#DecisionOptimization