Skip to content

Commit ad66a20

Browse files
committed
vector adaptation for large-scale unconstrained optimization problems.
1 parent ae0a0eb commit ad66a20

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

src/ADNLPProblems/genbroydenb.jl

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,7 @@ function genbroydenb(; use_nls::Bool = false, kwargs...)
55
return genbroydenb(Val(model); kwargs...)
66
end
77

8-
function genbroydenb(
9-
::Val{:nlp};
10-
n::Int = default_nvar,
11-
type::Type{T} = Float64,
12-
kwargs...,
13-
) where {T}
8+
function genbroydenb(::Val{:nlp}; n::Int = default_nvar, type::Type{T} = Float64, kwargs...) where {T}
149
p = 7 // 3
1510
function f(x; n = length(x))
1611
s = zero(T)
@@ -26,22 +21,18 @@ function genbroydenb(
2621
end
2722
return s
2823
end
29-
x0 = fill(-one(T), n)
24+
x0 = Vector{T}(undef, n)
25+
fill!(x0, -one(T))
3026
return ADNLPModels.ADNLPModel(f, x0, name = "genbroydenb", minimize = true; kwargs...)
3127
end
3228

33-
function genbroydenb(
34-
::Val{:nls};
35-
n::Int = default_nvar,
36-
type::Type{T} = Float64,
37-
kwargs...,
38-
) where {T}
29+
function genbroydenb(::Val{:nls}; n::Int = default_nvar, type::Type{T} = Float64, kwargs...) where {T}
3930
p = 7 // 6
4031
function F!(r, x)
4132
m = length(x)
4233
@inbounds for i = 1:m
4334
diag = (2 + 5 * x[i]^2) * x[i] + 1
44-
neigh = 0
35+
neigh = zero(T)
4536
for j = max(1, i - 5):min(m, i + 1)
4637
if j != i
4738
neigh += x[j] * (1 + x[j])
@@ -52,6 +43,9 @@ function genbroydenb(
5243
end
5344
return r
5445
end
55-
x0 = fill(-1, n)
46+
47+
x0 = Vector{T}(undef, n)
48+
fill!(x0, -one(T))
49+
5650
return ADNLPModels.ADNLSModel!(F!, x0, n, name = "genbroydenb-nls"; kwargs...)
5751
end

0 commit comments

Comments
 (0)