# How to get ordering of constraints when calling eval\_constraint?

**URL:** <https://discourse.julialang.org/t/how-to-get-ordering-of-constraints-when-calling-eval-constraint/93772>\
**Category:** Optimization (Mathematical)\
**Tags:** jump\
**Created:** [January 30, 2023, 1:25pm UTC](https://discourse.julialang.org/t/how-to-get-ordering-of-constraints-when-calling-eval-constraint/93772 "2023-01-30T13:25:48Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [January 30, 2023, 8:50pm UTC](https://discourse.julialang.org/t/how-to-get-ordering-of-constraints-when-calling-eval-constraint/93772/2 "2023-01-30T20:50:28Z")

</div>

No need to use `eval_constraint`. This should point you in the right direction:

```julia
julia> using JuMP

julia> model = Model();

julia> @variable(model, x >= 0)
x

julia> @constraint(model, c, 2x <= 1)
c : 2 x ≤ 1.0

julia> @NLconstraint(model, nl_con, 0 <= sin(x) <= 0.5)
0 ≤ sin(x) ≤ 0.5

julia> variable_values = Dict(v => rand() for v in all_variables(model))
Dict{VariableRef, Float64} with 1 entry:
  x => 0.379509

julia> cons = all_constraints(model; include_variable_in_set_constraints = true)
3-element Vector{ConstraintRef}:
 c : 2 x ≤ 1.0
 x ≥ 0.0
 0 ≤ sin(x) ≤ 0.5

julia> sol = Dict(c => value(xi -> variable_values[xi], c) for c in cons)
Dict{ConstraintRef{Model, C, ScalarShape} where C, Float64} with 3 entries:
  0 ≤ sin(x) ≤ 0.5 => 0.370465
  x ≥ 0.0 => 0.379509
  c : 2 x ≤ 1.0 => 0.759019

julia> sol[c]
0.759018812310488

julia> sol[nl_con]
0.37046482764020316

julia> sol[LowerBoundRef(x)]
0.379509406155244

```

---

_[View the full topic](https://discourse.julialang.org/t/how-to-get-ordering-of-constraints-when-calling-eval-constraint/93772)._
