-
Notifications
You must be signed in to change notification settings - Fork 3
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
Automatically detect diagonal / sparse parameters #1
Comments
That's a good idea. At least diagonal parameters for the quadratic cost should be easy to implement using the current data structures. |
Y2F now supports diagonal parameters. It automatically checks if a parametric Hessian (quadratic cost) of a stage is diagonal, and uses diagonal FORCES parameters if possible. (see a8def66) Regarding general sparse parameters: It is not clear, when exactly sparse parameters should be used. We would need to introduce some kind of measure of sparsity. Depending on this measure, a parameter would be added as a full parameter or as a sparse parameter. Another option would be to let the user decide using a setting. |
That's great! I think we should also exploit sparsity in the polytonic constraints (A*x <= b) if say the density is below a threshold d, with d=0.3 or similar being the default option (which can be overridden by the user, d=0.0 would switch off sparsity and d=1.0 would always enforce sparsity) |
I see three different situations in which sparse inequalities can arise:
|
Sparse polytopic were added with commit 77d0df8. The bound for the sparsity of a matrix was fixed at 20%, i.e. matrices with more than 80% zeros are regarded as sparse. This bound should be adjusted after we have more experience with the type of problems getting solved by Y2F. Making the bound a setting for users might also be a good a idea. |
FORCES Pro has support for specially structured sparse parameters (see the FORCES documentation for details). It would be great if Y2F could identify this structure and take advantage of it when generating the solver.
The text was updated successfully, but these errors were encountered: