Skip to content

Commit 732e9fc

Browse files
authored
Merge pull request #27 from XingyuZhang2018/master
avoid exceeding numfg in one step
2 parents b3ba9f8 + 12becab commit 732e9fc

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/linesearches.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ function bisect(iter::HagerZhangLineSearchIterator, a::LineSearchPoint, b::LineS
333333
fmax = p₀.f + ϵ
334334
numfg = 0
335335
while true
336-
if (b.α - a.α) <= eps(one(a.α))
336+
if (b.α - a.α) <= eps(one(a.α)) || numfg >= iter.parameters.maxfg
337337
if verbosity >= 1
338338
@warn @sprintf(" Linesearch bisection failure: [a, b] = [%.2e, %.2e], b-a = %.2e, dϕᵃ = %.2e, dϕᵇ = %.2e, (ϕᵇ - ϕᵃ)/(b-a) = %.2e",
339339
a.α, b.α, b.α - a.α, a.dϕ, b.dϕ, (b.ϕ - a.ϕ) / (b.α - a.α))
@@ -374,7 +374,7 @@ function bracket(iter::HagerZhangLineSearchIterator{T}, c::LineSearchPoint) wher
374374

375375
α = c.α
376376
while true
377-
while !(isfinite(c.ϕ) && isfinite(c.dϕ))
377+
while !(isfinite(c.ϕ) && isfinite(c.dϕ)) && numfg < iter.parameters.maxfg
378378
α = (a.α + α) / 2
379379
c = takestep(iter, α)
380380
numfg += 1

0 commit comments

Comments
 (0)