1. Codebase
In order to begin a design optimization using MachEval, the end user will need to configure or write the implementation of certain classes.
- Designer
Architect: whileeMachdoes contain exampleArchitectclasses, oftentimes custom code will be required to match the selected free variables.SettingsHandler: Similar to the architect, this object will likely need to be adjusted to match the optimization requirements.
- Evaluator
EvaluationSteps: Custom code for simple evaluations can be written directly asEvaluationStepobjects. For more complicated code, theAnalysisStepobject should be used with the corresponding Analyzers.
ProblemDefinition: For eachAnalysisStep, the user will be required to write aProblemDefinitionto convert the input state to the required Problem object.PostAnalyzer: A correspondingPostAnalyzeris required for eachAnalyzerused.
- DesignSpace
The user must implement the required methods as specified. This is where the objective functions are defined for the optimization.
Once the user has specified all of the required objects, they can be injected into the DesignProblem and utilized by the pygmo optimization code.