SheffieldML / GPyOpt

Gaussian Process Optimization using GPy
BSD 3-Clause "New" or "Revised" License
928 stars 261 forks source link

design variables consisting of both continuous and discrete integer variables #347

Open AmosJoseph opened 4 years ago

AmosJoseph commented 4 years ago

Excuse me,How do GPyOpt deal with design variables consisting of both continuous and discrete integer variables,is GPyOpt efficient?

Best!

apaleyes commented 4 years ago

Can you be a bit more specific? GPyOpt can handle mixed domains (see this example), but it isn't clear what exactly is meant by "efficient" in your question.

AmosJoseph commented 4 years ago

Many thanks for your reply!

Can the problem with design variables consisting of both continuous(only one) and discrete integer variables(>5 and <18) be effectively solved,and moreover with acceptable time and computation cost?

Best!

apaleyes commented 4 years ago

This is still very broad to be answered precisely.

GPyOpt can certainly handled mixed domains. But optimizers we use are more or less standard, not specifically geared to concrete use cases. So the best way to answer your question is experiment and see if performance meets requirements in your specific case.

To the best of my knowledge GPyOpt doesn't have any special techniques. I thought we had this paper's implementation in, but can't locate it right now. @javiergonzalezh did we ever had it pushed? Is it in some obscure branch? That's the only thing that comes to mind.

javiergonzalezh commented 4 years ago

I don't think that the code in that paper is pushed. Regarding how efficient you can be when combining discrete and continuous variables I agree with @Andrei Paleyes ap2169@cam.ac.uk that it depends what you mean by that. Currently, discrete variables are rounded after the optimization is done, so the computation complexity of having, let's say, 10 continuous variables, is the same as having a mix of any type.

Hope this help!

El jue., 15 oct. 2020 a las 22:39, Andrei Paleyes (notifications@github.com) escribió:

This is still very broad to be answered precisely.

GPyOpt can certainly handled mixed domains. But optimizers https://github.com/SheffieldML/GPyOpt/blob/master/GPyOpt/optimization/optimizer.py we use are more or less standard, not specifically geared to concrete use cases. So the best way to answer your question is experiment and see if performance meets requirements in your specific case.

To the best of my knowledge GPyOpt doesn't have any special techniques. I thought we had this paper's http://proceedings.mlr.press/v80/lu18c.html implementation in, but can't locate it right now. @javiergonzalezh https://github.com/javiergonzalezh did we ever had it pushed? Is it in some obscure branch? That's the only thing that comes to mind.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SheffieldML/GPyOpt/issues/347#issuecomment-709604834, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABUJF46DPOG2GR4H2E3IK6TSK5TXRANCNFSM4SRMYW3Q .