-
Notifications
You must be signed in to change notification settings - Fork 128
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
Initial designs don't respect constraints #291
Comments
Good catch, Andrei, thanks! until this is solved a comment in the docstring might help. What do you think? |
I don't think such bugs belong to the docs. We should just fix it right away. Any thoughts on how to approach sobol and latin? |
To clarify why this is complicated: it appears that neither method really can be done in incremental fashion. So unlike with random design, it doesn't seem possible to just dismiss a point and add a new one. Some initial thoughts:
All three have their flaws, so I am not advocating for any of these atm. This is just to get the conversation going. |
Hi Andrei, if the bug can be fixed right away this is even better. If not at least we can point it out in the docstring e.g., "This initial design cannot be used with a parameter space with constraints". As a user I would appreciate that before having to figure out why my simulation crashes because it is evaluated on bad points. |
That is actually a good idea, to rule out the bug quickly while we are thinking about how to respect the constraints - just throw a quick exception. |
Resurrecting this conversation since I just ran into the same issue. I'd be happy to contribute a small PR to at least solve this for
Thoughts? |
@ntenenz that sounds wonderful, please go ahead with the PR. All your suggestions sound fair, except that I don't believe we need to be backwards compatible. This is just a bug that needs fixing, not a feature that is chaning behavior. |
It seems that none of the initial designs checks for constraints.
It isn't obvious how to fix it though. For random things are pretty clear: consider points individually, and just reject and resample until you give up or the necessary amount is collected. Not sure if the same approach applies to Latin and Sobol.
The text was updated successfully, but these errors were encountered: