Skip to content

Assertion error hit during optimization #1255

Description

@Ickaser

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions