# Fixing a variable

**URL:** <https://discourse.julialang.org/t/fixing-a-variable/37569>\
**Category:** Optimization (Mathematical)\
**Tags:** jump, optimization\
**Created:** [April 14, 2020, 3:34pm UTC](https://discourse.julialang.org/t/fixing-a-variable/37569 "2020-04-14T15:34:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smith/32/13567_2.png) [@Smith](https://discourse.julialang.org/u/Smith)\
**Post date:** [April 14, 2020, 3:34pm UTC](https://discourse.julialang.org/t/fixing-a-variable/37569/1 "2020-04-14T15:34:57Z")

</div>

[Here](https://discourse.julialang.org/t/fixing-vs-constraining-a-variable-in-jump/27609/2) it is mentioned fixing a variable is better than adding a constraint:

Does `JuMP.fix` and setting bounds on variables work with vectors or loop is necessary? I have only managed it with a loop:

```julia
for i = 15:25
JuMP.fix(x[i], 1,force=true)
end

```

---

<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:** [April 14, 2020, 4:04pm UTC](https://discourse.julialang.org/t/fixing-a-variable/37569/2 "2020-04-14T16:04:53Z")

</div>

You can use standard Julia broadcasting (with some exceptions):

```nohighlight
model = Model()
@variable(model, x[1:4])
fix.(x, [1, 2, 3, 4])

```

But there is nothing wrong with using a for-loop.

---

<div class="post-metadata">

**Author:** ![Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smith/32/13567_2.png) [@Smith](https://discourse.julialang.org/u/Smith)\
**Post date:** [April 14, 2020, 4:17pm UTC](https://discourse.julialang.org/t/fixing-a-variable/37569/3 "2020-04-14T16:17:49Z")

</div>

Thanks. Using broadcasting syntax, the code runs marginally faster than the loop.
