Skip to content

Releases: csu-hmc/opty

Version 1.3.0

05 Aug 08:10
Compare
Choose a tag to compare
  • Added support for Python 3.12.
  • Added a function that generates a numerical objective function and its
    gradient from a symbolic objective function: create_objective_function().
  • Fixed constraint violation plot on Problem by removing the assumption
    that each equation of motion was simply a function of one state.
  • Added an option to display the Cython compilation output and to automatically
    display the output if compilation fails. Display does not always work on
    Windows due to limitations in Python's capturing STDOUT on Windows with
    certain system encodings.
  • Added support for variable duration solutions by passing in a symbol for the
    node time interval instead of a float.
  • Switched to Sphinx Gallery for displaying examples in the documentation.
  • Moved the three documentation examples to the Sphinx Gallery page.
  • Added new examples:
    • A variable duration pendulum swing up example.
    • A car parallel parking example.
    • A quadcopter drone flight example.
    • A cycling time trial example that uses SymPy's new muscle models.
    • A block sliding over a hill example.
  • Updated the generated Cython code to use memory views.
  • Problem now supports solving problems with no unknown input trajectories.
  • Corrected plot ordering for the trajectories so that mismatches no longer
    occur.
  • Improved default plot display for larger number of variables and support
    customizing axes to default plots.
  • Problem and other primary classes and methods can now be imported
    directly from the top level opty namespace, e.g. from opty import Problem.
  • Better handling of SymPy variable names that generate invalid or clashing C
    variable names by appending an underscore to all opty generated C variable
    names.
  • Switched to pytest for unit testing.

What's Changed

  • Version 1.2.0 by @moorepants in #113
  • Change setup() -> setup_method() due to pytest deprecation. by @moorepants in #116
  • Fix mistake in the parse_free docstring by @tjstienstra in #118
  • Function to generate object and objective gradient evaluator functions by @tjstienstra in #115
  • Use the create_objective_function in the pendulum swing up example. by @moorepants in #120
  • Show args and kwargs in Problem init explicitly by @tjstienstra in #130
  • Clarify that the objective should not contain any known symbols by @tjstienstra in #137
  • Improve constraint violation visualization by @tjstienstra in #125
  • Added option to show Cython compilation output and display more informative error. by @moorepants in #149
  • Implements support for variable duration solutions by @moorepants in #150
  • Use Sphinx Gallery for the examples. by @moorepants in #153
  • Car parallel parking example by @moorepants in #154
  • Use env.yml in CI and build docs, fixes #155. by @moorepants in #158
  • Added an example of drone flight trajectory optimization with quaternions. by @moorepants in #163
  • Switched to Cython memoryviews by @moorepants in #170
  • Pass in the detected device encoding to subprocess run for detecting Windows encoding. by @moorepants in #174
  • Try different way to get the encoding on Windows. by @moorepants in #175
  • two link pendulum to be uprighted using opty with variable h by @Peter230655 in #178
  • Handle no input trajectories. by @moorepants in #183
  • One-legged Cycling Time Trial Example by @moorepants in #164
  • Added test to check all variable ordering and ensure plot_trajectories honors input order. by @moorepants in #187
  • Use a more unique symbol for h internally, fixes #162. by @moorepants in #188
  • Added all from direct_collocation and utils to package namespace. by @moorepants in #193
  • Add Vyasarayani example to the gallery, but left multi option version in examples dir. by @moorepants in #199
  • Append an underscore to all Opty generated C variable names to avoid variable name clashes in included code. by @moorepants in #200
  • Made create_objective_function signature match rest of opty, made node_time_interval required. by @moorepants in #201
  • Plot sliding block 2 by @Peter230655 in #195

New Contributors

Full Changelog: v1.2.0...v1.3.0

Version 1.2.0

28 Nov 14:36
Compare
Choose a tag to compare
  • Dropped support for Python 2.7, 3.6, & 3.7.
  • Added support for Python 3.9, 3.10, & 3.11.
  • Bumped minimum dependencies up to versions released around mid 2020, except
    for cyipopt which is set to 1.1.0 since that is the first version released on
    PyPi under the name cyipopt (instead of ipopt).
  • Much faster symbolic Jacobian algorithm introduced. For constraints made up
    of hundreds of thousands SymPy operations there can be greater than 200X
    performance increase.
  • logging.info() used for providing information to the user.
  • Moved to Github Actions continous integration.

What's Changed

  • Made all count variable names consistent across the codebase. by @moorepants in #94
  • Updating opty to work with new dependency minimums by @moorepants in #96
  • Use the libmamba solver in CI and test Python 3.10. by @moorepants in #103
  • Drop support for Python 3.6 & 3.7, add support for 3.10 & 3.11. by @moorepants in #104
  • Update to use correct name for cyipopt package and Problem class by @brocksam in #101
  • Added some basic info logging to ConstraintCollocator. by @moorepants in #105
  • Adds a Github CI workflow for testing on all operating systems. by @moorepants in #110
  • Implement function for computing Jacobians using a more efficient algorithm by @brocksam in #102

New Contributors

Full Changelog: v1.1.0...v1.2.0

Version 1.1.0

09 Jan 14:13
Compare
Choose a tag to compare
  • Added support for Windows.
  • Drop support for Python 3.5, add support for 3.7 and 3.8.

Version 1.0.0

30 Jan 19:35
Compare
Choose a tag to compare

This release corresponds to the publishing in the Journal of Open Source Software.