Skip to content

Conversation

@robfalck
Copy link
Contributor

@robfalck robfalck commented Nov 8, 2023

Adding POEM 094 which proposes

  • Separating analysis and optimization drivers
  • Providing methods to get certain optimizer information from the driver in an optimizer-independent way
  • Adding an Autoscaler class to provide automatic scaling of design variables and responses.
  • Implementation of one or more Autoscaling algorithms initially.

@tuckerbabcock
Copy link
Member

I think these changes will be great an allow more flexibility from external users to write their own Drivers, and the addition of an Autoscaler class makes a lot of sense to allow more flexible scaling approaches.

About the new Autoscaler class and API, I wonder if the proposed scale method provides enough granularity for very general autoscaling algorithms that may include an automatic re-parameterization of design variables or responses like the method introduced in this paper.

I may be wrong, but I believe that the scaling capabilities that exist in OpenMDAO today are equivalent to multiplying the design variable or response vector by a diagonal matrix and adding a bias vector (with the entries for scaler on the diagonals and adder in the bias vector). More generally, at least for the design variables, I think we may want to allow for general transformation matrices that effectively re-parameterize the optimization problem, and I think this may require more internal changes to how OpenMDAO handles scaling.

I'm very excited for these changes to make their way into OpenMDAO.

@robfalck robfalck changed the title Create POEM_094.md: Driver Autoscaling and Refactor POEM_094.md: Driver Autoscaling and Refactor May 16, 2024
@robfalck robfalck merged commit 682514f into master Aug 14, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants