Closed nightdr closed 2 years ago
Travis build seems to be failing because it can't find a proper scipy version (see here).
Also, I'm ok with breaking backwards compatibility at this point (since we are pre v1.0)
And lets ignore travis (we should probably remove it from the CI because we're using github actions now)
Sounds good with me. Also, all the documentation changes look good to me.
Renamed the optimization interface, moved it to its own file, and made Chromosome
implement it (see the conversation about the interface for more details). Also renamed some of the modules to align with their classes.
I decided to leave the changes in doc/ out of this PR since I'll be looking at the docs in the near future.
Refactoring ContinuousLocalOptimization to be more flexible for other optimization methods. This version uses the structure I proposed with a separate Optimizer class:
rather than keeping the optimizer within the wrapper:
I didn't really have a preference when we discussed this, so if you prefer the latter, let me know and it's pretty easy to swap between the two approaches. The only significant difference between the two I can come up with is that it is easier to swap the optimizer in the former approach. Maybe this is useful if a user wants to have a different objective function/optimization method after a period of evolution?
Changing the interface like this would break existing code, do you think it's worth it to provide a legacy version of the class with some switch between the two if the new version can't be used?
On a side note, the linter is complaining about a lot of older code. So I'll probably have to go through that at some point and change things to get the score above the 9.8 threshold.