When some subproblem is dual infeasible, DSP tries to use an extreme ray. However, getPrimalRays is not implemented in most solvers in Osi (except for Cplex as far as I checked).
|
std::vector<double*> rays = osi_[s]->si_->getPrimalRays(1); |
If getPrimalRays is implemented, a bundle cut may be generated by using the extreme ray of the dual infeasible subproblem. Otherwise, we would better return a message and terminate DSP gracefully.
Originally posted by @hideakiv in #211 (comment)