AlabamaASRL / asset_asrl

https://alabamaasrl.github.io/asset_asrl/
Apache License 2.0
29 stars 6 forks source link

Auto scaling and string naming #61

Closed jbpezent closed 1 week ago

jbpezent commented 1 week ago

Version 0.5.0 introduces two major new features in an effort to simplify the definition of more complex optimal control problems.

  1. Optional automatic scaling utilities have been added to phase and OptimalControlProblem . Users can specify ODEs and problems in convenient units and then declare a set of cannonical units for the ODE variables on a per-phase basis. Under the hood, we use the user supplied units to non-dimensionalize all variables, constraints, and objectives. In general, the non-dimensionlization will result in a problem nearly identical to one that a user non-dimensionalizes manually.

  2. Users now have the option of giving string names to components of their models in the ODE constructor. These can then be used in place of integer indices everywhere within the integrator, phase, and OptimalControlProblem interfaces.

Updated examples using the new interface additions can be found in the examples/UpdatedInterface folder of the repo.