Skip to content
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

Any suggestion for setting params for float? #273

Open
whtqh opened this issue Nov 1, 2023 · 2 comments
Open

Any suggestion for setting params for float? #273

whtqh opened this issue Nov 1, 2023 · 2 comments

Comments

@whtqh
Copy link

whtqh commented Nov 1, 2023

I am testing the time cost for proxqp, and I wonder if the time could be less using T = float compared to T = double.
However, using the same setting will make the qp unstable and unsolved.
I guess the default setting params in proxqp/setting.hpp is tuned for double.
Is there any suggestion for tuning and the most important params for time cost?

btw, I have adjusted the eps_abs and eps_rel

// float -> 0.0035
problem_.settings.eps_abs = sqrt(std::numeric_limits<T>::epsilon()) * 10;
problem_.settings.eps_rel = sqrt(std::numeric_limits<T>::epsilon()) * 10;
@whtqh
Copy link
Author

whtqh commented Nov 1, 2023

https://inria.hal.science/hal-03683733/file/Yet_another_QP_solver_for_robotics_and_beyond.pdf

I found the paper very informative, and I'm eager to learn more tuning techniques. Could you please provide me with additional tips and strategies?

@whtqh
Copy link
Author

whtqh commented Nov 1, 2023

I use the params below, and the abnormal time cost will not appear in my own practice.

    // problem_.settings.mu_min_eq = 1e-4;
    // problem_.settings.mu_min_in = 1e-3;
    // problem_.settings.mu_max_eq_inv = 1e4;
    // problem_.settings.mu_max_in_inv = 1e3;
    // problem_.settings.eps_refact = 1e-3;

    // problem_.settings.max_iter = 500;
    // problem_.settings.max_iter_in = 100;
    // problem_.settings.default_rho = 1e-2;

However, the time cost of float does not decrease compared to double.
I think the float type should have some adv on Eigen SSE speed-up?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant