Free Python optimization framework

Saturday, October 27, 2007

Elefant solvers

Some months ago I got to know about the Elefant package, it contains some optimization routines that could be useful for OO (although, I haven't start to connect Elefant solvers yet).

However, their API seems to be very strange, for example:

minimize (c, x)
subject to b ≤ Ax ≤ b + d and l ≤ x ≤ u:
mysolver = intpointsolver.CLPSolver()
x, y, how = mysolver.Solve( c, A, b, r, l, u)

minimize 0.5*(x, Hx) + (c, x)
subject to b ≤ Ax ≤ b + d and l ≤ x ≤ u :
mysolver = intpointsolver.CLPSolver()
x, y, how = mysolver.Solve( c, H, A, b, r, l, u)
So I can't understand how should I implement those linear inequalities b ≤ Ax ≤ b + d where lower or upper coordinate is +/- inf (btw a small bug is using 'd' literal instead of 'r' or wise versa). I hadn't get any explanations from Elefant documentation.
Ok, maybe for [a, +inf) bounds they mean using d (that is r) = inf, but how should I handle (-inf, a] bounds?

Maybe Elefant developers will fix the issue.

No comments: