JuliaQUBO / PseudoBooleanOptimization.jl

Pseudo-Boolean Optimization Library for Julia
https://psrenergy.github.io/PseudoBooleanOptimization.jl/
MIT License
2 stars 0 forks source link

Quadratization under maximization #6

Open pedromxavier opened 10 months ago

pedromxavier commented 10 months ago

Currently, PBO assumes the minimization sense throughout its methods. This has a special impact in the quadratization where different methods are selected according the each term's sign. As pointed out in psrenergy/ToQUBO.jl#77, this gets in the way of efficient, in-place quadratization. A solution would be to add an optional flag or sign (-1, 1) parameter to multiply and divide each term`s coefficient before and after quadratization, respectively.

Any input, @bernalde @pedroripper?

bernalde commented 10 months ago

I support the use of the optional flag parameter (we use it in other projects as well). Just make sure to keep the "books" for the sign inversion. Tests will be required.

pedroripper commented 10 months ago

The optional flag sounds good to me too