-
-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: Koopman expectation combined with collocation techniques #30
Comments
If by collocation techniques you mean SciML/ModelingToolkit.jl#562, that was just merged a few days ago and hasn't connected to the Koopman stuff yet, but the intention is to start bringing the Koopman into the same realm as these other tools. |
Yes, I was confused I meant the novel MTK collocation tools, not DiffEqFlux, those are only for curve fitting when you have data. |
No, you can use DiffEqFlux to solve optimal control problems (https://diffeqflux.sciml.ai/dev/examples/optimal_control/) or stochastic optimal control problems (https://neuralpde.sciml.ai/dev/examples/100_HJB/). But that's very "manual": you can mix those with Koopman by hand, but I don't think most users will. The higher level interface is MTK, and yes optimization of controls with uncertainty or process noise is definitely something we want to support in the high level interface, but this whole thing is quite new so it'll take some time to really build out of all the planned methods. |
I was specifically thinking about https://diffeqflux.sciml.ai/dev/examples/collocation/ when I was talking about DiffEqFlux only being about curve fitting, not in general. In the examples you posted, it is in my opinion not only about them being very manual but it is also about single shooting vs methods that discretize the state, and then going for some sparse optimization. |
Is it possible to combine the Koopman expectation method with collocation techniques defined in DiffEqFlux for very efficient stochastic optimal control?
The text was updated successfully, but these errors were encountered: