# Dynamic NL expression in julia

**URL:** <https://discourse.julialang.org/t/dynamic-nl-expression-in-julia/81658>\
**Category:** Optimization (Mathematical)\
**Tags:** question, jump\
**Created:** [May 25, 2022, 2:19pm UTC](https://discourse.julialang.org/t/dynamic-nl-expression-in-julia/81658 "2022-05-25T14:19:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![manoj.centura](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/manoj.centura/32/216443_2.png) [@manoj.centura](https://discourse.julialang.org/u/manoj.centura)\
**Post date:** [May 25, 2022, 2:19pm UTC](https://discourse.julialang.org/t/dynamic-nl-expression-in-julia/81658/1 "2022-05-25T14:19:12Z")

</div>

Hi, I am using Juniper to solve MNILP and with array of nonlinear expression i am getting invalid model error. is there a way to generate nonlinear expression names in a loop like

```julia
@variable(model,x)
zz=0.0
for i in 1:5
    for j in 1:5
        global zz=zz+1
        println(zz)
        xmm_$zz=@NLexpression(model,x+x*x+zz)
    end
end
println(model)
```

---

<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:** [May 25, 2022, 8:29pm UTC](https://discourse.julialang.org/t/dynamic-nl-expression-in-julia/81658/2 "2022-05-25T20:29:29Z")

</div>

> I am using Juniper to solve MNILP and with array of nonlinear expression i am getting invalid model error.

What code did you try and what is the error? Remember that it is easier to help if you can provide a reproducible example.

Do you want something like the following?

```julia
model = Model()
@variable(model, x)
@NLexpression(model, xmm[i=1:5, j=1:5], x + x * x + 5(i-1) + j)
xmm[2, 3]

```

---

<div class="post-metadata">

**Author:** ![manoj.centura](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/manoj.centura/32/216443_2.png) [@manoj.centura](https://discourse.julialang.org/u/manoj.centura)\
**Post date:** [May 27, 2022, 10:42am UTC](https://discourse.julialang.org/t/dynamic-nl-expression-in-julia/81658/3 "2022-05-27T10:42:46Z")

</div>

Thanks for the reply. I am trying to build a NL exp.

```julia
           for t in 1:N
           WBMOM[t]= @NLexpression(mod,Tnkcn[t,1] + Tnk[p,t]*Tnkcn[t,2]*zz*Tnk[p,t]
           	   + Tnk[p,t]*Tnkcn[t,3]*(zz*Tnk[p,t])^2 +Tnk[p,t]*Tnkcn[t,4]*(zz*Tnk[p,t])^3 +
               Tnk[p,t]*Tnkcn[t,5]*(zz*Tnk[p,t])^4
           	   +Tnk[p,t]*Tnkcn[t,6]*(zz*Tnk[p,t])^5 +Tnk[p,t]*Tnkcn[t,7]*(zz*Tnk[p,t])^6	)
           end

This resolves this issue. But model is still invalid and trying to pinpoint the expression /constraints.
```
