Why is it that whenever I try to compile a binary variable, Julia returns this error to me?

```
In @variable(ModeloD,b[A],lower_bound = 0,Bin): Unrecognized keyword argument lower_bound
```

Is there a different way of putting the major and minor signs in binary variables in a robust model?

I’ve tried to use all of these and the error continues: `<=,> =,. <=,.> =, Lower_bound = 0, upper bound = 0`

```
using JuMP, JuMPeR, GLPKMathProgInterface
ModeloD = RobustModel(solver = GLPKSolverLP())
a = 1:4
A = a
@variable(ModeloD,b[A], lower_bound=0, Bin)
```

I believe that you should just remove the `lower_bound=0`

argument. There are only two values, so a lower bound does not make any sense. The documentation makes no mention of allowing lower bounds for binary values.

1 Like

odow
October 14, 2020, 8:35pm
#3
A binary variable has implicit bounds of `[0, 1]`

.

However, for future reference, the syntax is

```
model = Model()
@variable(model, x, Bin, lower_bound = 0)
# or
@variable(model, y >= 0, Bin)
```

The difference is that @RaquelSantos is using the old version of JuMP, where the syntax is just `@variable(model, y >= 0, Bin)`

.

```
julia> using JuMP, JuMPeR
julia> model = RobustModel();
julia> @variable(model, x >= 0, Bin)
x
julia> A = 1:4
1:4
julia> @variable(model, y[A], Bin, lowerbound=0)
y[i] ∈ {0,1} ∀ i ∈ {1,2,3,4}
```

3 Likes