diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index acfe1490b2..fd7aa1a14c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - julia-version: ["1.6", "1.8", "1.9"] + julia-version: ["1.6", "1.9", "1.10"] os: [ubuntu-latest, macOS-latest, windows-latest] steps: - uses: actions/checkout@v4 diff --git a/src/solvers/augmented_Lagrangian_method.jl b/src/solvers/augmented_Lagrangian_method.jl index 42a7c0ef72..0d0f2acb09 100644 --- a/src/solvers/augmented_Lagrangian_method.jl +++ b/src/solvers/augmented_Lagrangian_method.jl @@ -318,8 +318,8 @@ function augmented_Lagrangian_method!( evaluation::AbstractEvaluationType=AllocatingEvaluation(), ϵ::Real=1e-3, ϵ_min::Real=1e-6, - ϵ_exponent=1 / 100, - θ_ϵ=(ϵ_min / ϵ)^(ϵ_exponent), + ϵ_exponent::Real=1 / 100, + θ_ϵ::Real=(ϵ_min / ϵ)^(ϵ_exponent), μ::Vector=ones(length(get_inequality_constraints(M, cmo, p))), μ_max::Real=20.0, λ::Vector=ones(length(get_equality_constraints(M, cmo, p))), @@ -332,9 +332,9 @@ function augmented_Lagrangian_method!( sub_cost=AugmentedLagrangianCost(cmo, ρ, μ, λ), sub_grad=AugmentedLagrangianGrad(cmo, ρ, μ, λ), sub_kwargs=(;), - sub_stopping_criterion=StopAfterIteration(300) | - StopWhenGradientNormLess(ϵ) | - StopWhenStepsizeLess(1e-8), + sub_stopping_criterion::StoppingCriterion=StopAfterIteration(300) | + StopWhenGradientNormLess(ϵ) | + StopWhenStepsizeLess(1e-8), sub_state::AbstractManoptSolverState=decorate_state!( QuasiNewtonState( M, @@ -359,9 +359,9 @@ function augmented_Lagrangian_method!( sub_kwargs..., ), ), - stopping_criterion::StoppingCriterion=StopAfterIteration(300) | ( - StopWhenSmallerOrEqual(:ϵ, ϵ_min) & StopWhenChangeLess(1e-10) - ), + stopping_criterion::StoppingCriterion=StopAfterIteration(300) | + StopWhenSmallerOrEqual(:ϵ, ϵ_min) | + StopWhenChangeLess(1e-10), kwargs..., ) where {O<:Union{ConstrainedManifoldObjective,AbstractDecoratedManifoldObjective}} alms = AugmentedLagrangianMethodState( diff --git a/test/solvers/test_augmented_lagrangian.jl b/test/solvers/test_augmented_lagrangian.jl index f10eda564d..9b156eae69 100644 --- a/test/solvers/test_augmented_lagrangian.jl +++ b/test/solvers/test_augmented_lagrangian.jl @@ -16,27 +16,6 @@ using LinearAlgebra: I, tr p0 = project(M, ones(d)) sol = augmented_Lagrangian_method(M, f, grad_f, p0; g=g, grad_g=grad_g) @test distance(M, sol, v0) < 8 * 1e-4 - if isnan(distance(M, sol, v0)) - print(sol) - augmented_Lagrangian_method( - M, - f, - grad_f, - p0; - g=g, - grad_g=grad_g, - debug=[ - :Iteration, - :Cost, - :Stop, - :Iterate, - " | ", - (:Change, "Δp : %1.5e"), - 1, - "\n", - ], - ) - end sol2 = copy(M, p0) augmented_Lagrangian_method!(M, f, grad_f, sol2; g=g, grad_g=grad_g) @test sol2 == sol