Reworking of the Optimization feature: Introducing VarOpti #574
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello all,
We are currently working on a rework of Optimization classes to make it easier to use it as a Simulation and to remove the possible duplication of code.
Here are what we have in mind:
OptiConstraint now inherit from DataKeeper:
OptiDesignVar is an abstract class:
We thought about removing OptiObjective (since its only a renaming of DataKeeper) but it should be clearer in scripting to use "Objective objects".
VarOpti will be created:
Regarding retrocompatibility, the old VarParam and VarParamSweep has the same behavior so just a renaming is required.
When declaring an OptiConstraint, the old get_variable is now named keeper.
VarOpti is made only to define the problem with eval function like: simu.run. For optimization without call to pyleecan, the old object can be used.
What do you think of this modification proposal ?
Best regards,
Ben