Skip to content

Commit c101ba0

Browse files
authored
Classify avion2 and NZF1 as NLS (#340)
1 parent 753b946 commit c101ba0

File tree

4 files changed

+431
-6
lines changed

4 files changed

+431
-6
lines changed

src/ADNLPProblems/NZF1.jl

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
export NZF1
22

3-
function NZF1(; n::Int = default_nvar, type::Type{T} = Float64, kwargs...) where {T}
3+
function NZF1(; use_nls::Bool = false, kwargs...)
4+
model = use_nls ? :nls : :nlp
5+
return NZF1(Val(model); kwargs...)
6+
end
7+
8+
function NZF1(::Val{:nlp}; n::Int = default_nvar, type::Type{T} = Float64, kwargs...) where {T}
49
nbis = max(2, div(n, 13))
510
n = 13 * nbis
6-
function f(x; nbis = nbis, n = n)
7-
l = div(n, 13)
11+
l = div(n, 13)
12+
function f(x; l = l)
813
return sum(
914
(3 * x[i] - 60 + 1 // 10 * (x[i + 1] - x[i + 2])^2)^2 +
1015
(
@@ -22,3 +27,24 @@ function NZF1(; n::Int = default_nvar, type::Type{T} = Float64, kwargs...) where
2227
x0 = ones(T, n)
2328
return ADNLPModels.ADNLPModel(f, x0, name = "NZF1"; kwargs...)
2429
end
30+
31+
function NZF1(::Val{:nls}; n::Int = default_nvar, type::Type{T} = Float64, kwargs...) where {T}
32+
nbis = max(2, div(n, 13))
33+
n = 13 * nbis
34+
l = div(n, 13)
35+
function F!(r, x; l = l)
36+
for i = 1:l
37+
r[i] = 3 * x[i] - 60 + 1 // 10 * (x[i + 1] - x[i + 2])^2
38+
r[i + l] = x[i + 1]^2 + x[i + 2]^2 + (x[i + 3]^2) * (1 + x[i + 3])^2 + x[i + 6] + x[i + 5] / (1 + x[i + 4]^2 + sin(x[i + 4] / 1000))
39+
r[i + 2l] = x[i + 6] + x[i + 7] - x[i + 8]^2 + x[i + 10]
40+
r[i + 3l] = log(1 + x[i + 10]^2) + x[i + 11] - 5 * x[i + 12] + 20
41+
r[i + 4l] = x[i + 4] + x[i + 5] + x[i + 5] * x[i + 9] + 10 * x[i + 9] - 50
42+
end
43+
for i = 1:(l - 1)
44+
r[i + 5l] = x[i + 6] - x[i + 19]
45+
end
46+
return r
47+
end
48+
x0 = ones(T, n)
49+
return ADNLPModels.ADNLSModel!(F!, x0, 6l - 1, name = "NZF1-nls"; kwargs...)
50+
end

0 commit comments

Comments
 (0)