[RBFOpt] problem with binary vector input and linear constraints

Giacomo Nannicini giacomo.n at gmail.com
Sun Jan 21 10:29:57 EST 2018


Hi Zhengxing,
I don't know of any python package that natively supports linear
constraints, besides the approach that you yourself suggested.
You may want to have a look at NOMAD, it probably has a python
interface. It supports constraints specified as black boxes, so it is
most likely not efficient in dealing with explicit linear constraints,
but that's the only thing that comes to mind.

By the way, in principle it is not too hard to implement linear
constraints within RBFOpt if you use Gutmann's method: all subproblems
in Gutmann's method are solved via solvers that support linear
constraints (Bonmin and Ipopt), so it is doable. But other parts are a
bit trickier (sampling subject to linear constraints, for example, is
not implemented).

Giacomo

On Sat, Jan 20, 2018 at 2:58 PM, Zhengxing Chen <czxttkl at gmail.com> wrote:
> Hi Giacomo,
>
> Thanks for the reply.
>
> Does there exist any other python package that can deal with black-box
> optimization with binary inputs and linear constraints? I couldn't find one
> as far as I search.
>
> Thanks,
> Zhengxing
>
>
>
>
>
>
>
> On Sat, Jan 20, 2018 at 1:51 PM, Giacomo Nannicini <giacomo.n at gmail.com>
> wrote:
>>
>> Hi Zhengxing,
>> your intuition is correct. Binary variables are natively supported
>> (just say they are integer and in [0, 1]), but linear constraints are
>> not. You can add violation of constraints as a penalty to the
>> objective function. However, I should remark that in practice this
>> only works in case the feasible region is "lightly constrained". If
>> finding a feasible point becomes difficult, then the method will fail
>> because the numerics of the penalty function are typically very bad.
>>
>> Giacomo
>>
>> On Wed, Jan 17, 2018 at 3:49 PM, Zhengxing Chen <czxttkl at gmail.com> wrote:
>> > Hi,
>> >
>> > I have a black-box minimization problem f(x), where x is a binary vector
>> > and
>> > x must satisfy some linear equality constraints.
>> >
>> > Is RBF-OPT applicable to my problem? I can imagine a way to do it: set
>> > variables to be integers and bound them in [0, 1], and also let f(x)
>> > return
>> > a very large number if x doesn't satisfy the constraints. But I'm not
>> > sure
>> > if this violates any assumption of the model.
>> >
>> > Thanks,
>> > Zhengxing
>> >
>> >
>> >
>> > _______________________________________________
>> > RBFOpt mailing list
>> > RBFOpt at list.coin-or.org
>> > https://list.coin-or.org/mailman/listinfo/rbfopt
>
>


More information about the RBFOpt mailing list