I’m currently dealing with an LP problem where the solution to the primal turns out to be infeasible, leading to an unbounded dual. In order to create a feasibility cut, I’m aiming to acquire the extreme ray values from the unbounded dual. I’ve explored options like JuMP.dual() and JuMP.shadow_price(), but these functions don’t seem to provide dual extreme ray values.

Could someone enlighten me if there’s a function in JuMP that can facilitate this process? My intention is to solve the primal and extract the extreme ray values directly, without having to manually implement the dual formulation.

If dual_status(model) is INFEASIBILITY_CERTIFICATE, then the dual(constraint) is the associated dual ray.

In some cases, even if the problem is unbounded, the solver might not return a dual ray. In this case, the dual status is NO_SOLUTION. You might need to set some solver options, like disabling presolve, in order to force the solver to compute a certificate.

Ah. I’m guessing this is the same question as Benders Subproblem Infeasibility - #2 by odow? If so, let’s just keep to the other thread. No need to duplicate things (I was sick yesterday, so sorry for the delayed reply. I do see and reply to all the JuMP questions here.)