# Is using parallel computing to create JuMP constraints possible and useful?

**URL:** <https://discourse.julialang.org/t/is-using-parallel-computing-to-create-jump-constraints-possible-and-useful/109992>\
**Category:** Optimization (Mathematical)\
**Tags:** jump, parallel, constraint\
**Created:** [February 9, 2024, 4:19pm UTC](https://discourse.julialang.org/t/is-using-parallel-computing-to-create-jump-constraints-possible-and-useful/109992 "2024-02-09T16:19:47Z")\
**Posts on this page:** 2\
**Page:** 1

<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:** [February 9, 2024, 4:19pm UTC](https://discourse.julialang.org/t/is-using-parallel-computing-to-create-jump-constraints-possible-and-useful/109992/1 "2024-02-09T16:19:47Z")

</div>

I was wondering if there is any advantage to generate JuMP constraints with `@threads` regarding the CPU times.

```
    Threads.@threads for c in set_curtailments
        @constraint(model, sum(x[:, c]) .<= y[c] * nrow(data_sites))
        @constraint(model, sum(x[s, c] * data_sites[s, 2] for s in set_sites) >= pars.powerContractualized * y[c])
    end

```

and equivalent formulation with container constraints:

```
        @constraint(model, [c in set_curtailments], sum(x[:, c]) .<= y[c] * nrow(data_sites))
        @constraint(model, [c in set_curtailments], sum(x[s, c] * data_sites[s, 2] for s in set_sites) >= pars.powerContractualized * y[c])

```

I would intuitively expect the first to be much faster if the number of CPU cores available is greater than 2.

Also, I could not test it because I get:

`[7608] signal (11.1): Erreur de segmentation` which is a `segmentation fault` when using the Threads.

---

<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:** [February 9, 2024, 8:17pm UTC](https://discourse.julialang.org/t/is-using-parallel-computing-to-create-jump-constraints-possible-and-useful/109992/2 "2024-02-09T20:17:00Z")

</div>

You cannot use parallelism when building a JuMP model

> **[Parallelism · JuMP](https://jump.dev/JuMP.jl/stable/tutorials/algorithms/parallelism/#When-building-a-JuMP-model)**
>
> Documentation for JuMP.
