Merged
Conversation
- changes in API (tentative) - fix issues with double-printing log msg - retry warnings suppressed - updated unit tests - new unit test in CI
- update version to 0.10.0a1 - check SHA256 hash for rollout functions - tets_ocp: build optimizers in setUpClass
- more unit tests (TCP + direct iface) - opengen v0.10.0a2 - remove unnecessary log msg from low-level builder - OcpSolution: number formatting - website docs
- products of rectangles/zeros are of the same type - .with_preconditioning now works fine - updated website docs (complete example)
korken89
approved these changes
Mar 19, 2026
Collaborator
korken89
left a comment
There was a problem hiding this comment.
Python is not my strength, feel free to merge even you are happy 👍
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
New API
In a nutshell, an optimal control problem can be defined as follows
The user can choose a single or multiple-shooting formulation. The
OptimalControlProblemobject can be used to build an optimizer as followsThe solver can then be called as follows:
This calls either the TCP interface or the direct interface, depending on
build_configuration. The states and inputs can be accessed atresult.statesandresult.inputs. The cost at the solution isresult.cost.The generated optimizer is persistent and can be loaded at any point using
where
manifest_pathis the path to the fileoptimizer_manifest.json, which is automatically generated and can be found in the directory with the generated optimizer.Try it
Try opengen v0.10.0a2 at this Google Colab notebook.
Preview the documentation here.
See the updated README file.
Associated Issues
Target version
v0.10.0Priority
TODOs
CHANGELOG(s)CHANGELOG,Cargo.tomlandVERSION)