8000 Constrained optimization · Issue #355 · scikit-optimize/scikit-optimize · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Feb 28, 2024. It is now read-only.

Constrained optimization #355

Open
yangvz opened this issue Apr 17, 2017 · 7 comments · May be fixed by #971
Open

Constrained optimization #355

yangvz opened this issue Apr 17, 2017 · 7 comments · May be fixed by #971

Comments

@yangvz
Copy link
yangvz commented Apr 17, 2017

Since EI has an analytical formula, argmax(EI) should easily incorporate constraints. An example is weights, where sum(x's)=1, or points in a circle, where x^2+y^2<1. I've seen papers that use matlab's DIRECT algorithm.

As for python, scipy's COBYLA is a non-linearly constrained optimization algorithm. I'll try to see how it works when I have the time.

@MechCoder
Copy link
Member

The acquisition function already provides gradients (https://github.com/scikit-optimize/scikit-optimize/blob/master/skopt/acquisition.py#L264) which are utilized by lbfgs with bounds set on the parameters. Or is it something else that you are referring to?

@betatim
Copy link
Member
betatim commented Apr 17, 2017

I think the constrained here refers to "find maximum of f(x, y) subject to x + y < 2". So not bounds on the parameters directly but on combinations of them. Some previous thoughts/attempts on handling "invalid" parameter combos (I think this is related to constrained optimization but please correct me if wrong) are in #199 and #249

@schmoelder
Copy link
schmoelder commented Apr 9, 2019

Hey, I started using skopt recently and I really dig it. However, in order to be able to use it for all of my optimization problems, I'd need some kind of linear constraints s.t.
lb < x < ub
A * x <= b
This means, that some parts of the parameter space are "cut" and should not be evaluated and I think this is what OP and @betatim meant.
Is there any development activity regarding this?

@andreaaraldo
Copy link

I have the same need. For the moment, whenever a point is selected that is infeasible, i.e., it does not satisfy the constraints, i set the return value of the function evaluation to a "big number". But this method is not robust, as the particular value of this "big number" influences the performance of Bayesian Optimization. I think development here is needed

@ogencoglu
Copy link

This feature would be very much appreciated indeed!

Any updates on constrained optimization?

@janwendt
Copy link
janwendt commented Jan 30, 2020

+1 Maybe @holgern has time for this in the future?

@schmoelder
Copy link

Any update on this? I saw that there is an open pull request. Anything we can do to help?

@kernc kernc linked a pull request Nov 17, 2020 that will close this issue
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants
0