擅长:python、mysql、java
<p>GPyOpt只支持<code>c(x0, x1, ..., xn) <= 0</code>形式的约束,因此您所能做的最好的就是选择一个足够小的值,并“夹心”您所拥有的约束表达式。假设0.1足够小,那么可以这样做:</p>
<pre><code>(x0 + x1 + x2 + x3 + x4 + x5) - 100000000 <= 0.1
(x0 + x1 + x2 + x3 + x4 + x5) - 100000000 >= -0.1
</code></pre>
<p>然后呢</p>
^{pr2}$
<p>API应该是这样的:</p>
<pre><code>constraints = [
{
'name': 'constr_1',
'constraint': '(x[:,0] + x[:,1] + x[:,2] + x[:,3] + x[:,4] + x[:,5]) - 100000000 - 0.1'
},
{
'name': 'constr_2',
'constraint': '100000000 - (x[:,0] + x[:,1] + x[:,2] + x[:,3] + x[:,4] + x[:,5]) - 0.1'
}
]
myBopt = GPyOpt.methods.BayesianOptimization(f=f, domain=bounds, constraints = constraints)
</code></pre>