# NLParameter

**URL:** <https://discourse.julialang.org/t/nlparameter/74163>\
**Category:** Optimization (Mathematical)\
**Tags:** jump\
**Created:** [January 6, 2022, 10:24pm UTC](https://discourse.julialang.org/t/nlparameter/74163 "2022-01-06T22:24:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jacob-roth](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jacob-roth/32/1862_2.png) [@jacob-roth](https://discourse.julialang.org/u/jacob-roth)\
**Post date:** [January 6, 2022, 10:24pm UTC](https://discourse.julialang.org/t/nlparameter/74163/1 "2022-01-06T22:24:01Z")

</div>

Is there any way to register an `NLParameter` as part of a `Model`? For example, I would like to create a model

```julia
model = Model(Ipopt.Optimizer)
@variable(model, x)
@NLParameter(model, p == 0)
@NLobjective(model, Min, (x + p)^2)

```

and then access `model[:p]` so that I can update the value with `set_value(model[:p], 1)`. I’d like to do this so that if I have multiple `model`s, then I can just update all the parameters like

```julia
for m in models
    set_value(m[:p], 1)
end

```

---

<div class="post-metadata">

**Author:** ![joaquimg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joaquimg/32/223_2.png) [@joaquimg](https://discourse.julialang.org/u/joaquimg)\
**Post date:** [January 6, 2022, 10:59pm UTC](https://discourse.julialang.org/t/nlparameter/74163/2 "2022-01-06T22:59:17Z")

</div>

Just do:

```julia
model = Model(Ipopt.Optimizer)
@variable(model, x)
@NLparameter(model, p == 0)
@NLobjective(model, Min, (x + p)^2)
model[:p] = p
set_value(model[:p], 2)

```

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [January 6, 2022, 11:12pm UTC](https://discourse.julialang.org/t/nlparameter/74163/3 "2022-01-06T23:12:17Z")

</div>

Update your packages. This was added in JuMP v0.22.

```nohighlight
julia> using JuMP

julia> model = Model();

julia> @NLparameter(model, p == 0)
"p == 0.0"

julia> model[:p]
"p == 0.0"

(tmp) pkg> st
      Status `/private/tmp/Project.toml`
  [4076af6c] JuMP v0.22.1

```
