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

Support for categorical factors and discrete numeric factors #393

Open
ArnoStrouwen opened this issue Aug 18, 2022 · 2 comments
Open

Support for categorical factors and discrete numeric factors #393

ArnoStrouwen opened this issue Aug 18, 2022 · 2 comments

Comments

@ArnoStrouwen
Copy link
Member

I use Surrogates.jl quite often for chemical reaction optimization.
Everything goes well, as long as only continuous process factors, such as temperatures, pressures and concentrations are involved.

However, almost invariably the question comes if we can also try out a different solvent, or ligand.
Currently, I think Surrogates.jl does not support this?

Similarly even for factors that are continuous by nature it occurs often that only 5 different pressures can be practically achieved.

@vikram-s-narayan
Copy link
Contributor

vikram-s-narayan commented Aug 19, 2022

Currently, I think Surrogates.jl does not support this?

Yes that is correct. To the best of my knowledge, categorical and discrete numeric factors are not supported at present.

Similarly even for factors that are continuous by nature it occurs often that only 5 different pressures can be practically achieved.

Could you share a minimum working example or dataset to enable us to test with various surrogates?
Also, if you have gradient information available, you can give GEKPLS a try. GEKPLS is intended to work with high-dimensional datasets.

@ArnoStrouwen
Copy link
Member Author

There is no gradient, these are noisy physical experiments.

This is a nice paper that involves discrete numeric factors (and categorical if you do not use descriptors for the ligands), with data and code available: https://par.nsf.gov/servlets/purl/10231959 .

The problem in porting this to Surrogates.jl is not to get a surrogate to fit, but to perform the optimization loop that uses the information captured in the surrogate.

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

2 participants