I haven't yet been able to boil down my example to an MWE, but I am hitting the below AssertionError that seems like a logic bug rather than numerical bug.
I am using Optim v2.0.1 and LineSearches v7.6.0 or v7.6.2, through OptimizationOptimJL from the SciML ecosystem. The I used here is algorithm BFGS(linesearch=LineSearches.BackTracking()). Is this likely to be an issue with LineSearches instead? Or perhaps with OptimizationOptimJL?
ERROR: AssertionError: !(hasproperty(state, :f_x)) || phi_0 == state.f_x
Stacktrace:
[1] InitialStatic
@ C:\Users\iwheeler\.julia\packages\LineSearches\lihz0\src\initialguess.jl:17 [inlined]
[2] perform_linesearch!(state::Optim.BFGSState{…}, method::BFGS{…}, d::Optim.ManifoldObjective{…})
@ Optim C:\Users\iwheeler\.julia\packages\Optim\DtV5C\src\utilities\perform_linesearch.jl:48
[3] update_state!(d::TwiceDifferentiable{…}, state::Optim.BFGSState{…}, method::BFGS{…})
@ Optim C:\Users\iwheeler\.julia\packages\Optim\DtV5C\src\multivariate\solvers\first_order\bfgs.jl:155
[4] optimize(d::TwiceDifferentiable{…}, initial_x::Vector{…}, method::BFGS{…}, options::Optim.Options{…}, state::Optim.BFGSState{…})
@ Optim C:\Users\iwheeler\.julia\packages\Optim\DtV5C\src\multivariate\optimize\optimize.jl:79
[5] optimize(d::TwiceDifferentiable{…}, initial_x::Vector{…}, method::BFGS{…}, options::Optim.Options{…})
@ Optim C:\Users\iwheeler\.julia\packages\Optim\DtV5C\src\multivariate\optimize\optimize.jl:45
[6] __solve(cache::OptimizationCache{…})
@ OptimizationOptimJL C:\Users\iwheeler\.julia\packages\OptimizationOptimJL\mYdL4\src\OptimizationOptimJL.jl:261
[7] solve!(cache::OptimizationCache{…})
@ OptimizationBase C:\Users\iwheeler\.julia\packages\OptimizationBase\y7Tug\src\solve.jl:236
[8] solve_call(::OptimizationProblem{…}, ::BFGS{…}; merge_callbacks::Bool, kwargshandle::Nothing, kwargs::@Kwargs{…})
@ OptimizationBase C:\Users\iwheeler\.julia\packages\OptimizationBase\y7Tug\src\solve.jl:282
[9] solve_up(prob::OptimizationProblem{…}, sensealg::Nothing, u0::Vector{…}, p::Tuple{…}, args::BFGS{…}; originator::SciMLBase.ChainRulesOriginator, kwargs::@Kwargs{…})
@ OptimizationBase C:\Users\iwheeler\.julia\packages\OptimizationBase\y7Tug\src\solve.jl:265
[10] solve_up
@ C:\Users\iwheeler\.julia\packages\OptimizationBase\y7Tug\src\solve.jl:256 [inlined]
[11] solve(prob::OptimizationProblem{…}, args::BFGS{…}; sensealg::Nothing, u0::Nothing, p::Nothing, wrap::Val{…}, kwargs::@Kwargs{…})
@ OptimizationBase C:\Users\iwheeler\.julia\packages\OptimizationBase\y7Tug\src\solve.jl:104
[12] macro expansion
@ .\timing.jl:689 [inlined]
[13] top-level scope
@ c:\Users\iwheeler\OneDrive - purdue.edu\Documents\01_Projects\temp_FulbrightPores\scripts\fulbright_sucrose.jl:446
Some type information was truncated. Use `show(err)` to see complete types.
I haven't yet been able to boil down my example to an MWE, but I am hitting the below
AssertionErrorthat seems like a logic bug rather than numerical bug.I am using Optim v2.0.1 and LineSearches v7.6.0 or v7.6.2, through OptimizationOptimJL from the SciML ecosystem. The I used here is algorithm
BFGS(linesearch=LineSearches.BackTracking()). Is this likely to be an issue with LineSearches instead? Or perhaps with OptimizationOptimJL?