Getting unbounded ray in JuMP

I have an unbounded linear program that I am solving using Gurobi with the attribute:

set_attribute(model,  "InfUnbdInfo", 1)

set_attribute(model, "DualReductions", 0)

and the model is indeed unbounded. I want to get an extreme ray for this unbounded model ("UnbdRay" in Gurobi), but in the JuMP manual I could not find how to do that. Any tips regarding how to get an extreme ray of an unbounded LP would be much appreciated. Also is there a solver-independent way of getting an extreme ray (provided the LP is unbounded)?

If primal_status(model) is INFEASIBILITY_CERTIFICATE, then value(x) is a primal unbounded ray (a certificate of dual infeasibility).

I guess I need to add an explicit example of this to the documentation.

(Edit: see [docs] add section on unbounded rays by odow · Pull Request #3945 · jump-dev/JuMP.jl · GitHub)

Okay that works, thanks @odow!

1 Like