robertfeldt / BlackBoxOptim.jl

Black-box optimization for Julia
Other
432 stars 56 forks source link

JuMP interface? #1

Closed mlubin closed 10 years ago

mlubin commented 10 years ago

Hi, nice work on this package. I see in the README that you're interested in making an interface to JuMP. I'm not too familiar with global black-box optimization, but JuMP is focused (so far) on constrained optimization for problems given by closed-form expressions of well-defined classes like LP, QP, SOCP, MIP, etc. That's not to say that we're not interested in making it more general, just that these are the problems we're most familiar with and have had time to implement.

What would algebraic modeling for black-box problems look like? It seems, naively, that a modeling language may not be so useful if the only input to the algorithm is a black-box julia function and box constraints.

CC: @IainNZ

robertfeldt commented 10 years ago

Please see if my reply to Iain on the mailing list sheds any light on this. Copy of the relevant part:

Yes, in principle arbitrary constraints can be handled if they can be mapped to objectives and then we can leverage that (some of) these methods are good at multi-objective evaluation.

Example: Say that you want to optimize rosenbrock2d with the additional constraint that x[1] < x[2] + 1. If there is a way to transform the constraint into the function f(x) = x[1] - x[2] - 1 then we can do a multi-objective optimization on the same box with two objectives that both should be minimized

f1(x) = rosenbrock2d(x) f2(x) = x[1] - x[2] - 1

we can transform in other ways if we want to weight them etc. Is this (the type of transformations etc) something that JuMP will/can support?