# JuMP @Variable

**URL:** <https://discourse.julialang.org/t/jump-variable/85853>\
**Category:** Optimization (Mathematical)\
**Tags:** question, jump\
**Created:** [August 17, 2022, 1:48am UTC](https://discourse.julialang.org/t/jump-variable/85853 "2022-08-17T01:48:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yuri\_Mizusawa](https://avatars.discourse-cdn.com/v4/letter/y/e480ec/32.png) [@Yuri\_Mizusawa](https://discourse.julialang.org/u/Yuri_Mizusawa)\
**Post date:** [August 17, 2022, 1:48am UTC](https://discourse.julialang.org/t/jump-variable/85853/1 "2022-08-17T01:48:01Z")

</div>

Hi,  
I am solving an optimization problem with jump using the following table:

```julia
Row │ time room_1 room_2 room_3 w_day     
     │ Float64 Float64 Float64 Float64 String  
─────┼─────────────────────────────────────────────
   1 │ 10.0 2.0 1.0 5.0 Monday
   2 │ 11.0 3.0 1.0 6.0 Monday

```

I need to create a binary variable x[time,room,w\_day], my problem is that for time 10 I can only have courses 2, 1 and 5. that would get me x[10,2,Monday], x[10,1,Monday] and x[10,5,Monday].  
Usually I make the variable, like:

```julia
@variable(model, x[10,[1,2,5],"Monday"], Bin)

```

But JuMP is interpreting the string as a list of strings and giving me the following:

```julia
x[10,1,M] binary
 x[10,2,M] binary
 x[10,5,M] binary
 x[10,1,o] binary
 x[10,2,o] binary
 x[10,5,o] binary
 x[10,1,n] binary
 x[10,2,n] binary
 x[10,5,n] binary
 x[10,1,d] binary
 x[10,2,d] binary

```

What am I doing wrong?  
Thank you!

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [August 17, 2022, 2:07am UTC](https://discourse.julialang.org/t/jump-variable/85853/2 "2022-08-17T02:07:54Z")

</div>

> [@Yuri\_Mizusawa](#):
>
> What am I doing wrong?

JuMP interprets `"Monday"` as an index set (it’s an iterable object). If you want a one-element set, write `["Monday"]` instead, i.e., `@variable(model, x[10,[1,2,5],["Monday"]], Bin)`.

---

<div class="post-metadata">

**Author:** ![Yuri\_Mizusawa](https://avatars.discourse-cdn.com/v4/letter/y/e480ec/32.png) [@Yuri\_Mizusawa](https://discourse.julialang.org/u/Yuri_Mizusawa)\
**Post date:** [August 17, 2022, 11:05pm UTC](https://discourse.julialang.org/t/jump-variable/85853/3 "2022-08-17T23:05:15Z")

</div>

Thank you! I knew I was missing something.
