idaholab / raven

RAVEN is a flexible and multi-purpose probabilistic risk analysis, validation and uncertainty quantification, parameter optimization, model reduction and data knowledge-discovering framework.
https://raven.inl.gov/
Apache License 2.0
218 stars 133 forks source link

[TASK] Multi-objective Optimization for Different Optimizers #1795

Open Jderrill opened 2 years ago

Jderrill commented 2 years ago

Issue Description

Is your feature request related to a problem? Please describe. I have several current cases that I am working on that could benefit from a multi-objective optimization option.

Describe the solution you'd like It would be useful to have a multi-objective optimization feature in the optimizers (especially gradient descent and GA) with the ability to minimize 2 variables and produce a pareto-front type visualization to observe the optimal configuration.

Describe alternatives you've considered You could probably fake this with a raven running raven architecture. Outer loop as one objective, inner with the other. But there is significant overhead with this for large problems, and visualization of a pareto front may become difficult.


For Change Control Board: Issue Review

This review should occur before any development is performed as a response to this issue.


For Change Control Board: Issue Closure

This review should occur when the issue is imminently going to be closed.

PaulTalbot-INL commented 2 years ago

Another approach we've used in the past is to have the models ensemble with another "post-run" model that combines the objectives into a single weighted target objective; this yields a single optimal location on the pareto front rather than the front itself.

As for returning the pareto front, this sounds more similar to the limit surface search algorithm than the optimization algorithm. That said, there's more similarities than differences between the Optimizer.RavenSampled base class and the LimitSurfaceSearch sampler.