11export 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... )
2429end
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 + 2 l] = x[i + 6 ] + x[i + 7 ] - x[i + 8 ]^ 2 + x[i + 10 ]
40+ r[i + 3 l] = log (1 + x[i + 10 ]^ 2 ) + x[i + 11 ] - 5 * x[i + 12 ] + 20
41+ r[i + 4 l] = 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 + 5 l] = x[i + 6 ] - x[i + 19 ]
45+ end
46+ return r
47+ end
48+ x0 = ones (T, n)
49+ return ADNLPModels. ADNLSModel! (F!, x0, 6 l - 1 , name = " NZF1-nls" ; kwargs... )
50+ end
0 commit comments