Skip to content

Commit b122964

Browse files
committed
modify simple model
1 parent 43bc9cf commit b122964

1 file changed

Lines changed: 21 additions & 7 deletions

File tree

test/nlp/simple-model.jl

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,20 @@ end
153153
NLPModels.equality_constrained(meta::SimpleNLPMeta) = length(meta.jfix) == meta.ncon > 0
154154
NLPModels.unconstrained(meta::SimpleNLPMeta) = meta.ncon == 0 && !has_bounds(meta)
155155

156-
function SimpleNLPModel(::Type{T}, ::Type{NLPModelMeta}) where {T}
156+
function SimpleNLPModel(::Type{T}, ::Type{NLPModelMeta}; fixed_var = false) where {T}
157+
if fixed_var
158+
lvar = zeros(T, 2)
159+
uvar = T[1; 0]
160+
else
161+
lvar = zeros(T, 2)
162+
uvar = ones(T, 2)
163+
end
157164
meta = NLPModelMeta{T, Vector{T}}(
158165
2,
159166
nnzh = 2,
160167
ncon = 2,
161-
lvar = zeros(T, 2),
162-
uvar = ones(T, 2),
168+
lvar = lvar,
169+
uvar = uvar,
163170
x0 = T[2; 2],
164171
lcon = T[0; 0],
165172
ucon = T[0; Inf],
@@ -170,13 +177,20 @@ function SimpleNLPModel(::Type{T}, ::Type{NLPModelMeta}) where {T}
170177
)
171178
return SimpleNLPModel(meta, Counters())
172179
end
173-
function SimpleNLPModel(::Type{T}, ::Type{SimpleNLPMeta}) where {T}
180+
function SimpleNLPModel(::Type{T}, ::Type{SimpleNLPMeta}; fixed_var = false) where {T}
181+
if fixed_var
182+
lvar = zeros(T, 2)
183+
uvar = T[1; 0]
184+
else
185+
lvar = zeros(T, 2)
186+
uvar = ones(T, 2)
187+
end
174188
meta = SimpleNLPMeta{T, Vector{T}}(
175189
2,
176190
nnzh = 2,
177191
ncon = 2,
178-
lvar = zeros(T, 2),
179-
uvar = ones(T, 2),
192+
lvar = lvar,
193+
uvar = uvar,
180194
x0 = T[2; 2],
181195
lcon = T[0; 0],
182196
ucon = T[0; Inf],
@@ -187,7 +201,7 @@ function SimpleNLPModel(::Type{T}, ::Type{SimpleNLPMeta}) where {T}
187201
)
188202
return SimpleNLPModel(meta, Counters())
189203
end
190-
SimpleNLPModel() = SimpleNLPModel(Float64, NLPModelMeta)
204+
SimpleNLPModel(; kwargs...) = SimpleNLPModel(Float64, NLPModelMeta; kwargs...)
191205

192206
function NLPModels.obj(nlp::SimpleNLPModel, x::AbstractVector)
193207
@lencheck 2 x

0 commit comments

Comments
 (0)