@@ -328,10 +328,7 @@ function SolverCore.solve!(
328328 ∆_effective = min (β * χ (s), Δk)
329329
330330 if has_bnds
331- @. l_bound_m_x = l_bound - xk
332- @. u_bound_m_x = u_bound - xk
333- @. l_bound_m_x .= max .(l_bound_m_x, - ∆_effective)
334- @. u_bound_m_x .= min .(u_bound_m_x, ∆_effective)
331+ update_bounds! (l_bound_m_x, u_bound_m_x, false , l_bound, u_bound, xk, ∆_effective)
335332 set_bounds! (ψ, l_bound_m_x, u_bound_m_x)
336333 set_bounds! (solver. subsolver. ψ, l_bound_m_x, u_bound_m_x)
337334 else
@@ -399,10 +396,7 @@ function SolverCore.solve!(
399396 if η1 ≤ ρk < Inf
400397 xk .= xkn
401398 if has_bnds
402- @. l_bound_m_x = l_bound - xk
403- @. u_bound_m_x = u_bound - xk
404- @. l_bound_m_x .= max .(l_bound_m_x, - Δk)
405- @. u_bound_m_x .= min .(u_bound_m_x, Δk)
399+ update_bounds! (l_bound_m_x, u_bound_m_x, false , l_bound, u_bound, xk, Δk)
406400 set_bounds! (ψ, l_bound_m_x, u_bound_m_x)
407401 set_bounds! (solver. subsolver. ψ, l_bound_m_x, u_bound_m_x)
408402 end
@@ -430,10 +424,7 @@ function SolverCore.solve!(
430424 if ρk < η1 || ρk == Inf
431425 Δk = Δk / 2
432426 if has_bnds
433- @. l_bound_m_x = l_bound - xk
434- @. u_bound_m_x = u_bound - xk
435- @. l_bound_m_x .= max .(l_bound_m_x, - Δk)
436- @. u_bound_m_x .= min .(u_bound_m_x, Δk)
427+ update_bounds! (l_bound_m_x, u_bound_m_x, false , l_bound, u_bound, xk, ∆k)
437428 set_bounds! (ψ, l_bound_m_x, u_bound_m_x)
438429 set_bounds! (solver. subsolver. ψ, l_bound_m_x, u_bound_m_x)
439430 else
0 commit comments