anriseth / MultiJuMP.jl

MultiJuMP enables the user to easily run multiobjective optimisation problems and generate Pareto fronts.
Other
61 stars 11 forks source link

Add JuMP v1.8 section to the README #55

Closed odow closed 1 year ago

odow commented 1 year ago

Big news for multi-objective optimization in JuMP: JuMP v1.8 now has native support for multi-objective optimization.

Hopefully, this should mean that all users of this package can switch to pure-JuMP (although we're currently missing a normal boundary intersection method and the nice plotting recipes).

See the documentation for details: https://jump.dev/JuMP.jl/v1.8/tutorials/linear/multi_objective_knapsack/

matbesancon commented 1 year ago

@anriseth I could merge but since this is more or less sunsetting your repo I'll let you decide :)

anriseth commented 1 year ago

Nice to see native support 😊

ashefa commented 1 year ago

Big news for multi-objective optimization in JuMP: JuMP v1.8 now has native support for multi-objective optimization.

Hopefully, this should mean that all users of this package can switch to pure-JuMP (although we're currently missing a normal boundary intersection method and the nice plotting recipes).

See the documentation for details: https://jump.dev/JuMP.jl/v1.8/tutorials/linear/multi_objective_knapsack/

Does missing the implementation of NBI (which supports nonlinear problem) relate to vector-valued objective definition of multi-objective optimization problem in JuMP? Can it be implemented and added to the MOA.Algorithm()?

odow commented 1 year ago

At the moment JuMP doesn't support vector-valued @NLobjectives. The work-around is to use an epigraph formulation:

model = Model()
@variable(model, obj[1:2])
@NLconstraint(model, obj[1] >= ...)
@NLconstraint(model, obj[2] >= ...)
@objective(model, Min, obj)

There's no explicit NBI method (you could open an issue), but you'll find MOA.Dichotomy() with a MOA.SolutionLimit() works well.

If you get stuck, please post on https://discourse.julialang.org/c/domain/opt/13

ashefa commented 1 year ago

At the moment JuMP doesn't support vector-valued @NLobjectives. The work-around is to use an epigraph formulation:

model = Model()
@variable(model, obj[1:2])
@NLconstraint(model, obj[1] >= ...)
@NLconstraint(model, obj[2] >= ...)
@objective(model, Min, obj)

There's no explicit NBI method (you could open an issue), but you'll find MOA.Dichotomy() with a MOA.SolutionLimit() works well.

If you get stuck, please post on https://discourse.julialang.org/c/domain/opt/13

Thanks, no I just have a multi-objective model where one of the objectives is quadratic. I just wanted to know is there possibility to use (implement) NBI or not. That's OK.