Skip to content

Commit a5acef0

Browse files
authored
Fix bug in x0 for SlackModels (#92)
Add unit test on `x0` of `SlackModel`
1 parent cb9bbf4 commit a5acef0

3 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/slack-model.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ function slack_meta(meta::AbstractNLPModelMeta{T, S}; name = meta.name * "-slack
130130

131131
x0 = similar(meta.x0, meta.nvar + ns)
132132
x0[1:(meta.nvar)] .= meta.x0
133-
x0[(meta.nvar):end] .= zero(T)
133+
x0[(meta.nvar + 1):end] .= zero(T)
134134
return NLPModelMeta(
135135
meta.nvar + ns,
136136
x0 = x0,
@@ -175,7 +175,7 @@ function SlackNLSModel(
175175

176176
meta = slack_meta(model.meta, name = name)
177177
x0 = similar(model.meta.x0, model.meta.nvar + ns)
178-
x0[(model.meta.nvar):end] .= zero(T)
178+
x0[(model.meta.nvar + 1):end] .= zero(T)
179179
x0[1:(model.meta.nvar)] .= model.meta.x0
180180
nls_meta = NLSMeta{T, S}(
181181
model.nls_meta.nequ,

test/nlp/slack-model.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
nlp = SlackModel(SimpleNLPModel(T, M))
1111
n = nlp.meta.nvar
1212
m = nlp.meta.ncon
13+
@test nlp.meta.x0[1:2] == T[2; 2]
1314

1415
x = randn(T, n)
1516
y = randn(T, m)

test/nls/slack-model.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
n = nls.meta.nvar
99
m = nls.meta.ncon
1010
ne = nls_meta(nls).nequ
11+
@test nls.meta.x0[1:2] == ones(T, 2)
1112

1213
x = randn(T, n)
1314
v = randn(T, n)

0 commit comments

Comments
 (0)