Given the EpsG problem (see the separate thread "BLEIC stopping criteria in v3.7.0 vs v3.6.0"), I went back to v3.6.0 and changed my optimization to use N boundary + 1 linear constraints. Here are the results:
#1: 108 variables, 96 data points v3.6.0 with N+1 linear constraints: iterations = 402, execution time = 157 to 158 ms v3.6.0 with N boundary + 1 linear constraints: iterations = 396, execution time = 5 ms
#2: 10 variables, 63 data points (selected from a larger set for each step), 96 steps v3.6.0 with N+1 linear constraints: max iterations = 428, avg iterations = 61, total execution time = 27 to 28 ms v3.6.0 with N boundary + 1 linear constraints: max iterations = 400, avg iterations = 59, total execution time = 19 ms
So, performance improvement in stage #1 (a relatively large number of independent variables, but one step) was about 32x. Improvement in stage #2 (a smaller number of independent variables, but a large number of steps) was about 1.45x.
Until the EpsG problem in v3.7.0 is addressed, I will have to stick with v3.6.0 -- it is faster, too.
|