Saving Improvement Method Evolution¶
In some multistart methods, when only a few of constructions and when the improvement method consume a lot of time, is interesting to record de evolution of the improvement method. If not, if we can see the evolution of the multistart method, we can get an incorrect vision about the algorithm because the improvement method doesn't register its evolution.
But registering improvement method is not trivial because we need to implement it in a very efficient way. Moreover, motivated by performance, a improvement method is not required to use a solution object in the process of improvement, the requirement is to change the update the passed solution when the improvement method finish. Maybe, we have to reconsider this last fact.
Several questions arise here:- The improvement method need to construct a full solution in each step when it improves the solution or is better to have a LightSolution structure to hold the key information?
- It is necessary at all save the solution or is ok only with solution value in the register of improvement method?
- We need a general framework to analyze the evolution of any improvement or we only need to register the value when the method found a better solution?
Obviosly, all these questions are answered with a balance between performance and required uses. I think that is ok if we only register the solution value (not the whole solution). Maybe it could be useful to register all improvement steps in a improvement method, but we never use this in our research, so we will only regiter the value when this is better than current best value.
I think that this discussion (I'm alone, I know) is enought to implement the recording system.