# JuMP, one constraint with two inequalities in the expression, is it possible?

**URL:** <https://discourse.julialang.org/t/jump-one-constraint-with-two-inequalities-in-the-expression-is-it-possible/73843>\
**Category:** Optimization (Mathematical)\
**Created:** [December 31, 2021, 12:19am UTC](https://discourse.julialang.org/t/jump-one-constraint-with-two-inequalities-in-the-expression-is-it-possible/73843 "2021-12-31T00:19:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Luiz\_Monteiro](https://avatars.discourse-cdn.com/v4/letter/l/b77776/32.png) [@Luiz\_Monteiro](https://discourse.julialang.org/u/Luiz_Monteiro)\
**Post date:** [December 31, 2021, 12:19am UTC](https://discourse.julialang.org/t/jump-one-constraint-with-two-inequalities-in-the-expression-is-it-possible/73843/1 "2021-12-31T00:19:11Z")

</div>

Hi, I am having trouble to implement the following constraint (with two inequalities). Does JuMP accept this kind of expression?  
@constraint(model, con4[i in Vtotal, j in Vcustomer; i != j], x[i,j] \* Menergy[i,j] - (1-x[i,j])\*Q  
\<= y[i] - y[j] \<= x[i,j] \* Menergy[i,j] + (1-x[i,j])\*Q)

---

<div class="post-metadata">

**Author:** ![mike\_k](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mike_k/32/211864_2.png) [@mike\_k](https://discourse.julialang.org/u/mike_k)\
**Post date:** [January 1, 2022, 4:19pm UTC](https://discourse.julialang.org/t/jump-one-constraint-with-two-inequalities-in-the-expression-is-it-possible/73843/2 "2022-01-01T16:19:59Z")

</div>

Happy new year and welcome,  
I don’t know if JuMP supports such constraints, but you could split them up into two sets of constraints, e.g.,

```julia
@constraint(model, con4[i in Vtotal, j in Vcustomer; i != j], x[i,j] * Menergy[i,j] - (1-x[i,j])*Q
<= y[i] - y[j] )

```

and

```julia
@constraint(model, con5[i in Vtotal, j in Vcustomer; i != j], y[i] - y[j] <= x[i,j] * Menergy[i,j] + (1-x[i,j])*Q)

```

(Note that I did not check if the above syntax is correct)

---

<div class="post-metadata">

**Author:** ![jd-foster](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jd-foster/32/35824_2.png) [@jd-foster](https://discourse.julialang.org/u/jd-foster)\
**Post date:** [January 2, 2022, 6:43am UTC](https://discourse.julialang.org/t/jump-one-constraint-with-two-inequalities-in-the-expression-is-it-possible/73843/3 "2022-01-02T06:43:54Z")

</div>

You may also consider using expression definitions for complicated terms:  
[https://jump.dev/JuMP.jl/stable/manual/expressions/](https://jump.dev/JuMP.jl/stable/manual/expressions/)  
[https://jump.dev/JuMP.jl/stable/reference/expressions/#JuMP.@expression](https://jump.dev/JuMP.jl/stable/reference/expressions/#JuMP.@expression)

(or if you’re expression is not linear or quadratic, see [Nonlinear Modeling · JuMP](https://jump.dev/JuMP.jl/stable/manual/nlp/#Create-a-nonlinear-expression))

---

<div class="post-metadata">

**Author:** ![Luiz\_Monteiro](https://avatars.discourse-cdn.com/v4/letter/l/b77776/32.png) [@Luiz\_Monteiro](https://discourse.julialang.org/u/Luiz_Monteiro)\
**Post date:** [January 5, 2022, 12:51am UTC](https://discourse.julialang.org/t/jump-one-constraint-with-two-inequalities-in-the-expression-is-it-possible/73843/4 "2022-01-05T00:51:42Z")

</div>

@mike_k Thank you for your reply. I solve it with the two constraints.

---

<div class="post-metadata">

**Author:** ![Luiz\_Monteiro](https://avatars.discourse-cdn.com/v4/letter/l/b77776/32.png) [@Luiz\_Monteiro](https://discourse.julialang.org/u/Luiz_Monteiro)\
**Post date:** [January 5, 2022, 12:52am UTC](https://discourse.julialang.org/t/jump-one-constraint-with-two-inequalities-in-the-expression-is-it-possible/73843/5 "2022-01-05T00:52:45Z")

</div>

@jd-foster Thank you for your reply and the link.
