JuliaSmoothOptimizers / JuliaSmoothOptimizers/JSOSolvers.jl

R2: model decrease overflow with Float32 on brownden problem

Open
#214 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Julia
Stars
78
Forks
18
Avg merge
1h 30m
Merged PRs (30d)
1

Description

Hi there,
I noticed that R2 overflows with Float32 on the first iteration of Brownden problem from `OptimizationProblems.ADNLPProblems`.
The overflow comes from the way the model decrease is computed: `ΔTk = norm_∇fk^2 / σk`. Since `norm_∇fk` is really big, `norm_∇fk^2` overflows.
I notice that by comparing R2 with my own implementation of R2 that computes the model decrease as `ΔTk = dot(∇fk,∇fk / σk)` which does not overflow and converges.
However I acknowledge that computing `ΔTk` as in R2 is faster than what I implemented since `norm_∇fk` is already computed, while my implementation has to compute an extra dot product.

Not sure what you want to do to address that, if it is any problem at all, just thought I'd mention it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.