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
220 stars 133 forks source link

[DEFECT] Optimizers have no way to handle failures #2026

Open aalfonsi opened 1 year ago

aalfonsi commented 1 year ago

Thank you for the defect report

Defect Description

None of the optimizers have a prescribed way to handle failures. If a failure occurs the optimization process ends.

RAVEN has a flag for Samplers/Optimizers (ableToHandelFailedRuns) that is not used and it should be used to prescribe a way to handle failures in optimizers.

For example, for heuristic algorithms (e.g. GA, Simulating annealing, etc.) the failure can be considered as a "violation" of an implicit constraint.

Steps to Reproduce

Failure on demand using any optimizer

Expected Behavior

Optimizers to have a way to handle failures.

Screenshots and Input Files

No response

OS

MacOS

OS Version

No response

Dependency Manager

CONDA

For Change Control Board: Issue Review

For Change Control Board: Issue Closure

aalfonsi commented 1 year ago

@Jimmy-INL @wangcj05 @PaulTalbot-INL @mandd do you guys have any plan for this? I was thinking that for "Heuristic" approaches, a failure can be simply treated as an ImplicitContraint violation...for Gradient descent is a bit trickier.

wangcj05 commented 1 year ago

@aalfonsi FYI, we would like to resolve this issue, but it is not on our top priority list right now.

aalfonsi commented 1 year ago

I understand

wangcj05 commented 1 year ago

@PaulTalbot-INL @mandd @dylanjm @Jimmy-INL Let's plan have a design meeting for this issue.