# I cannot use the commands with\_optimizer() and getobjectivevalue() with JuMP, Gurobi

**URL:** https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854
**Category:** Optimization (Mathematical)
**Tags:** jump
**Created:** [July 6, 2022, 8:12pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854 "2022-07-06T20:12:37Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![medardo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/medardo/32/206937_2.png) [@medardo](https://discourse.julialang.org/u/medardo)
#### Post date: [July 6, 2022, 8:12pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/1 "2022-07-06T20:12:37Z")

</div>

Hi, please somebody can help me?  
I cannot use this commands when I want to use JuMP and Gurobi:

with\_optimizer()  
getobjectivevalue()

I recived UndefVarError: … not defined

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [July 6, 2022, 8:43pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/2 "2022-07-06T20:43:11Z")

</div>

Hi! Can you please provide a minimum working (or in this case, failing) example? It would make it much easier to help you

---

<div class="post-metadata">

### Author: ![medardo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/medardo/32/206937_2.png) [@medardo](https://discourse.julialang.org/u/medardo)
#### Post date: [July 6, 2022, 9:16pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/4 "2022-07-06T21:16:14Z")

</div>

Yes, thank you. I hace JuMP v1.1.1

```julia
using JuMP, Clp
m = Model(with_optimizer(Clp.Optimizer, LogLevel = 0)) 

R = [r for r=1:3] #Reactores
MP= ["A","B","C"] #Materia Prima
Pr=["E","F","G"] #Productos

@variable(m, F[mp in MP, r in R] >= 0)
@variable(m, P[p in Pr]>= 0)

@constraint(m, r1, sum(F["A",r] for r in R)<= D["A"]) 
@constraint(m, r2, sum(F["B",r] for r in R)<= D["B"])
@constraint(m, r3, sum(F["C",r] for r in R)<= D["C"])
@constraint(m, r4, P["E"]==1.5*F["A",1])
@constraint(m, r5, P["E"]==3*F["B",1])
@constraint(m, r6, P["F"]==1.5*F["A",2])
@constraint(m, r7, P["F"]==3*F["C",2])
@constraint(m, r8, P["G"]==2*F["A",3])
@constraint(m, r9, P["G"]==4*F["B",3])
@constraint(m, r10, P["G"]==3*F["C",3])
@constraint(m, r11, F["C",1]==0)
@constraint(m, r12, F["B",2]==0)

@expression(m, ganancias, sum(G[p]*P[p] for p in Pr))
@objective(m, Max, ganancias)
optimize!(m)

```

UndefVarError: with\_optimizer not defined

Stacktrace:  
[1] top-level scope  
@ In[3]:2  
[2] eval  
@ .\boot.jl:373 [inlined]  
[3] include\_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)  
@ Base .\loading.jl:1196

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [July 6, 2022, 10:04pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/5 "2022-07-06T22:04:54Z")

</div>

I just checked by searching the JuMP documentation, and it seems `with_optimizer` was deprecated in JuMP [v0.21.0](https://jump.dev/JuMP.jl/stable/release_notes/#Version-0.21.0-(Feb-16,-2020)). Please refer to the [latest tutorial](https://jump.dev/JuMP.jl/stable/tutorials/getting_started/getting_started_with_JuMP/) to see how optimizers should be specified 🙂

---

<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: [July 6, 2022, 10:14pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/6 "2022-07-06T22:14:02Z")

</div>

> [@medardo](#):
>
> `m = Model(with_optimizer(Clp.Optimizer, LogLevel = 0))`

The bad news is that we changed this syntax a couple of years ago. The good news is that now JuMP is 1.0, the syntax below won’t change in future:

```julia
m = Model(optimizer_with_attributes(Clp.Optimizer, "LogLevel" => 0))

```

---

<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: [July 6, 2022, 10:14pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/7 "2022-07-06T22:14:39Z")

</div>

> [@medardo](#):
>
> getobjectivevalue

Should be `objective_value(m)`. See the documentation for syntax.

---

<div class="post-metadata">

### Author: ![medardo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/medardo/32/206937_2.png) [@medardo](https://discourse.julialang.org/u/medardo)
#### Post date: [July 6, 2022, 10:36pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/8 "2022-07-06T22:36:49Z")

</div>

¡Muchas gracias!

---

<div class="post-metadata">

### Author: ![medardo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/medardo/32/206937_2.png) [@medardo](https://discourse.julialang.org/u/medardo)
#### Post date: [July 6, 2022, 10:38pm UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/9 "2022-07-06T22:38:34Z")

</div>

¡Muchas gracias! Now it works

---

<div class="post-metadata">

### Author: ![K5Julien](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/k5julien/32/210626_2.png) [@K5Julien](https://discourse.julialang.org/u/K5Julien)
#### Post date: [July 17, 2024, 8:01am UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/10 "2024-07-17T08:01:10Z")

</div>

> [@odow](#):
>
> ```julia
> Model(optimizer_with_attributes(Clp.Optimizer, "LogLevel" => 0))
> 
> ```

It seems it doesn’t work anymore:

```julia
julia> using GLPK

julia> optimizer_with_attributes(GLPK.Optimizer,
                       "tm_lm" => 60)
ERROR: UndefVarError: `optimizer_with_attributes` not defined
Stacktrace:
 [1] top-level scope
   @ REPL[50]:1

julia> using Gurobi

julia> optimizer_with_attributes(Gurobi.Optimizer,
                       "TimeLimit" => 60)
ERROR: UndefVarError: `optimizer_with_attributes` not defined
Stacktrace:
 [1] top-level scope
   @ REPL[48]:1

```

---

<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: [July 17, 2024, 8:21am UTC](https://discourse.julialang.org/t/i-cannot-use-the-commands-with-optimizer-and-getobjectivevalue-with-jump-gurobi/83854/11 "2024-07-17T08:21:29Z")

</div>

`optimizer_with_attributes` is part of JuMP.

If you’re not `using JuMP` you might want `MOI.OptimizerWithAttributes` which is the same thing with a different name.
