From 0cef744cfdd3cb5458ed79e4f4462d3df08540b1 Mon Sep 17 00:00:00 2001 From: Johanni Brea Date: Sat, 18 Jun 2022 23:32:40 +0200 Subject: [PATCH] fix --- src/constraints.jl | 20 ++++++++++---------- src/log.jl | 9 ++++----- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/constraints.jl b/src/constraints.jl index d248bb6..5e1394c 100644 --- a/src/constraints.jl +++ b/src/constraints.jl @@ -1,15 +1,15 @@ -struct BoxConstraints - lb::Vector{Float64} - ub::Vector{Float64} - al::Vector{Float64} - au::Vector{Float64} +struct BoxConstraints{V1, V2} + lb::V1 + ub::V2 + al::V1 + au::V2 end -function BoxConstraints(lb, ub) +function BoxConstraints(lb::V1, ub::V2) where {V1, V2} BoxConstraints(lb, ub, - [!isfinite(lb[i]) ? 1 : min((ub[i] - lb[i])/2, (1 + abs(lb[i]))/20) - for i in eachindex(lb)], - [!isfinite(ub[i]) ? 1 : min((ub[i] - lb[i])/2, (1 + abs(ub[i]))/20) - for i in eachindex(ub)] + convert(V1, [!isfinite(lb[i]) ? 1 : min((ub[i] - lb[i])/2, (1 + abs(lb[i]))/20) + for i in eachindex(lb)]), + convert(V2, [!isfinite(ub[i]) ? 1 : min((ub[i] - lb[i])/2, (1 + abs(ub[i]))/20) + for i in eachindex(ub)]) ) end _constraints(::Nothing, ::Nothing) = nothing diff --git a/src/log.jl b/src/log.jl index 3b3cf75..b38002a 100644 --- a/src/log.jl +++ b/src/log.jl @@ -1,7 +1,7 @@ log!(::Any, ::Any, ::Any, ::Any) = nothing -mutable struct BasicLogger{F} +mutable struct BasicLogger{F, V} fbest::Vector{Float64} - xbest::Vector{Vector{Float64}} + xbest::Vector{V} fmedian::Vector{Float64} frange::Vector{Float64} times::Vector{Float64} @@ -11,9 +11,8 @@ end function Base.show(io::IO, ::MIME"text/plain", s::BasicLogger) println(io, "BasicLogger") end -function BasicLogger(x0; verbosity = 1, - callback = (o, y, fvals, perm) -> nothing) - BasicLogger(Float64[], Vector{Float64}[], Float64[], Float64[], Float64[], +function BasicLogger(::V; verbosity = 1, callback = (o, y, fvals, perm) -> nothing) where V + BasicLogger(Float64[], V[], Float64[], Float64[], Float64[], callback, verbosity) end function log!(o::Optimizer{<:Any, <:BasicLogger}, y, fvals, perm)