Replies: 5 comments
-
The reason that the behaviour is not reproducible by default is that the rho update (and the consequent matrix refactorisation) is determined based on the initial factorisation time and the time taken for subsequent iterations. Since this time may vary slightly (e.g. if there are other unrelated processes running), you get slightly different behaviour between solves even on the same problem. To avoid this you can set The best choice depends on the problem, but I would suggest that something like 25-50 is reasonable. If you make it too small then sometimes the solver's idea of the You could also run the solver with the default choice of |
Beta Was this translation helpful? Give feedback.
-
Thank you so much for your detailed reply. This is really helpful. Regarding the last strategy(You could also run the solver with the default choice of adaptive_rho_fraction and see what iteration count the solver is on before the first factorisation), I am not exactly sure where should I find this information, pasted below: ( I only saw the iteration count interval is around 200 highlighted in bold problem: Thank you again! |
Beta Was this translation helpful? Give feedback.
-
The second to last entry in each row of the numerical output is the current value of That's not particularly helpful to you though, and it seems that the print interval is defined by a #define and is not configurable through the settings (it is here). A hackish way around this in the short term is to just manually set that to something small (e.g. 1 or 5) and then rebuild. That's not a particularly satisfying answer though. I think it should probably either be configurable or the solver should always write a summary line for those iterations when the rho value has updated. I will open an issue about this now. |
Beta Was this translation helpful? Give feedback.
-
Thank you, I have tried to set the seed to reproduce the results, however, still can't reproduce. Would setting the adaptive tho interval be the only way to ensure the same results? |
Beta Was this translation helpful? Give feedback.
-
To clarify - the solver does not used random number generation at any point, so setting seed values is not relevant. The issue is that by default (i.e. when Setting "adaptive_rho_interval" non-zero will instead just fix a number of iterations between updates. In that case the solver will do exactly the same thing every time. |
Beta Was this translation helpful? Give feedback.
-
Thank you for making this wonderful tool! I am trying to use it get a consistent and reproducible output. I found setting adaptive_rho_interval to an integer served that purpose. I am not sure what is the typical value for adaptive_rho_interval? I understand that it will be different for each problem but I am trying to get a ballpark idea. Is this value the higher the better?how do we select it?
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions