Skip to content

Commit

Permalink
Add HS201 (#345)
Browse files Browse the repository at this point in the history
* ajout des modèles hs201

---------

Co-authored-by: Nathanael Leblanc <[email protected]>
  • Loading branch information
tmigot and Nathanael-leblanc authored Sep 7, 2024
1 parent 25cfe7c commit 2ab618b
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/ADNLPProblems/hs201.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export hs201

function hs201(; n::Int=default_nvar, type::Type{T} = Float64, kwargs...) where {T}
f(x) = 4 * (x[1] - 5)^2 + (x[2] - 6)^2
x0 = T[8, 9]
return ADNLPModels.ADNLPModel(f, x0, name="hs201"; kwargs...)
end
25 changes: 25 additions & 0 deletions src/Meta/hs201.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
hs201_meta = Dict(
:nvar => 2,
:variable_nvar => false,
:ncon => 0,
:variable_ncon => false,
:minimize => true,
:name => "hs201",
:has_equalities_only => false,
:has_inequalities_only => false,
:has_bounds => false,
:has_fixed_variables => false,
:objtype => :other,
:contype => :unconstrained,
:best_known_lower_bound => -Inf,
:best_known_upper_bound => 45.0,
:is_feasible => true,
:defined_everywhere => missing,
:origin => :unknown,
)
get_hs201_nvar(; n::Integer = default_nvar, kwargs...) = 2
get_hs201_ncon(; n::Integer = default_nvar, kwargs...) = 0
get_hs201_nlin(; n::Integer = default_nvar, kwargs...) = 0
get_hs201_nnln(; n::Integer = default_nvar, kwargs...) = 0
get_hs201_nequ(; n::Integer = default_nvar, kwargs...) = 0
get_hs201_nineq(; n::Integer = default_nvar, kwargs...) = 0
25 changes: 25 additions & 0 deletions src/PureJuMP/hs201.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Hock and Schittkowski problem number 201.
#
# Source:
# Problem 201 in
# K. Schittkowski,
# More Test Examples for Nonlinear Programming Codes,
# Lectures Notes in Economics and Mathematical Systems 282,
# Springer Verlag, Heidelberg, 1987.
#
export hs201
"HS201 model"
function hs201(args...; n::Int = default_nvar, kwargs...)
model = Model()

#Déclaration des variables
@variable(model, x1)
set_start_value(x1, 8)
@variable(model, x2)
set_start_value(x2, 9)

#Définition de la fonction objectif
@objective(model, Min, 4*(x1-5)^2+(x2-6)^2)

return model
end

0 comments on commit 2ab618b

Please sign in to comment.