# Unsupported constraint only in infeasibility analysis

**URL:** <https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721>\
**Category:** Optimization (Mathematical)\
**Tags:** question, gurobi\
**Created:** [February 18, 2026, 10:43am UTC](https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721 "2026-02-18T10:43:33Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ohmsweetohm1](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ohmsweetohm1/32/49126_2.png) [@ohmsweetohm1](https://discourse.julialang.org/u/ohmsweetohm1)\
**Post date:** [February 18, 2026, 10:43am UTC](https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721/1 "2026-02-18T10:43:33Z")

</div>

I have a JuMP.jl model that I solve using Gurobi. For some cases (data) it is infeasible.

I am using `MathOptAnalyzer.jl` to generate an infeasibility report:

```julia
MathOptAnalyzer.analyze(MathOptAnalyzer.Infeasibility.Analyzer(), model; optimizer=optimizer)

```

However, it fails with

```julia
MathOptInterface.UnsupportedConstraint{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.Interval{Float64}}("")

```

How can this happen?

---

<div class="post-metadata">

**Author:** ![WalterMadelim](https://avatars.discourse-cdn.com/v4/letter/w/3e96dc/32.png) [@WalterMadelim](https://discourse.julialang.org/u/WalterMadelim)\
**Post date:** [February 18, 2026, 11:02am UTC](https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721/2 "2026-02-18T11:02:22Z")

</div>

It’s easy in real life to figure out why the model is infeasible, just by constructing the constraints one-by-one.

For example, if the only element in the model is `JuMP.@variable(m, x >= 0)`, then it cannot be `INFEASIBLE`.

And the infeasibility is closed related to the nature of the problem. If the modeler knows what the physical constraints are about, then eliminating infeasibility should be easy.

---

<div class="post-metadata">

**Author:** ![ohmsweetohm1](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ohmsweetohm1/32/49126_2.png) [@ohmsweetohm1](https://discourse.julialang.org/u/ohmsweetohm1)\
**Post date:** [February 18, 2026, 6:33pm UTC](https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721/3 "2026-02-18T18:33:47Z")

</div>

I do not agree with the statement that this is easy.

But nevertheless, my question was why is there suddenly an unsupported constraint during the IIS computation?

---

<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 18, 2026, 7:00pm UTC](https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721/4 "2026-02-18T19:00:51Z")

</div>

Hi @ohmsweetohm1,

If you’re using Gurobi, you don’t need MathOptAnalyzer to compute the conflict.

Just follow: [Solutions · JuMP](https://jump.dev/JuMP.jl/stable/manual/solutions/#Conflicts)

It should be enough for something like:

```julia
compute_conflict!(model)
if get_attribute(model, MOI.ConflictStatus()) == MOI.CONFLICT_FOUND
    iis_model, _ = copy_conflict(model)
    print(iis_model)
end

```

Do you have a reproducible example for your error? It’s probably because Gurobi doesn’t support interval constraints natively, so they’re bridged, and we’re not bridging them correctly in the analyser (this is a bug).

I’ve opened an issue: [Inner Optimizer does not use bridges · Issue #32 · jump-dev/MathOptIIS.jl · GitHub](https://github.com/jump-dev/MathOptIIS.jl/issues/32)

---

<div class="post-metadata">

**Author:** ![ohmsweetohm1](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ohmsweetohm1/32/49126_2.png) [@ohmsweetohm1](https://discourse.julialang.org/u/ohmsweetohm1)\
**Post date:** [February 18, 2026, 7:22pm UTC](https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721/5 "2026-02-18T19:22:51Z")

</div>

So MathOptAnalyzer is not dispatching to compute\_conflict! if the solver supports it?

---

<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 18, 2026, 7:39pm UTC](https://discourse.julialang.org/t/unsupported-constraint-only-in-infeasibility-analysis/135721/6 "2026-02-18T19:39:32Z")

</div>

Nope. I’ll open a feature request: [Use solver's IIS if supported · Issue #63 · jump-dev/MathOptAnalyzer.jl · GitHub](https://github.com/jump-dev/MathOptAnalyzer.jl/issues/63)

MathOptAnalyzer (and MathOptIIS) are still somewhat experimental. They still need a bunch of work before a v1.0 release
