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

Add posibility of solution refinement using a second value of the penalty parameter #11

Open
pablokrupa opened this issue Jan 15, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@pablokrupa
Copy link
Member

Currently, the value of rho cannot change online. There is no current intent of changing this, since it would require recomputing many of the matrices of the problems (although it may become a possibility in the distant future).

However, something that could be added to improve the performance of the algorithm is to allow for the use of two values of rho: a large initial value, so that the algorithm converges quickly to a proximity of the optimal solution (for a given tolerance), an then a small value, so that it converges quickly to a very close point to the optimal solution (for another given tolerance).

This could be very useful because, in general, we find that the algorithm converges very quickly for reasonably large values of the penalty parameter to relatively large tolerances (1e-3 or so) if the initial point is far away from the optimal solution. However, it then takes a long time to converge to smaller tolerances (1e-5, for instance). In contrast, a small penalty parameter converges slowly to the optimal solution if the initial point is very far away, but very quickly if it is very close.

The approach proposed here would require defining two sets of variables: one for the initial penalty parameter and one for the "refinement" penalty parameter. Then, pointers would have to be used to refer to each of these sets of variables.

@pablokrupa pablokrupa added the enhancement New feature or request label Jan 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant