bbopt / NOMAD.jl

Julia interface to the NOMAD blackbox optimization software
Other
47 stars 5 forks source link

How to use biobjective function in NOMAD.jl #36

Open sivabkumar opened 3 years ago

sivabkumar commented 3 years ago

In the user guide of NOMAD they said that NOMAD will be able to handle biobjective function also. Is it possible in our NOMAD.jl also?

salomonl commented 3 years ago

Infortunately, NOMAD.jl is based on the software NOMAD 4, which does not implement a biobjective optimization algorithm. You have to use the C++ version of NOMAD 3.9 to have this functionality.

ufechner7 commented 5 months ago

Well, you can always create a resulting objective that is a linear combination of any number of objectives with different weights. I think this will just work. By changing the weights you get the Pareto front...

salomonl commented 5 months ago

Not really, with this type of approach, you could miss non-convex parts of the Pareto front. You could reimplement the BiMADS algorithm given in this paper

MULTIOBJECTIVE OPTIMIZATION THROUGH A SERIES OF SINGLE-OBJECTIVE FORMULATIONS

or if you need more objectives the MultiMADS algorithm

A mesh adaptive direct search algorithm for multiobjective optimization

If you have enough patience, note that we are planning to upgrade NOMAD.jl, to make use of a new multiobjective algorithm, DMulti-MADS, implemented in NOMAD 4 but still in beta testing for the moment.