Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unboundness master idea #27

Closed
IainNZ opened this issue Apr 21, 2014 · 1 comment
Closed

Unboundness master idea #27

IainNZ opened this issue Apr 21, 2014 · 1 comment

Comments

@IainNZ
Copy link
Owner

IainNZ commented Apr 21, 2014

In the event the master is unbounded, we'll have a ray and a feasible solution (I think thats what we get, or can get - need to look into this)

So the cutting plane problem is now

  • for a constraint u^T x <= b
  • given feasible y and ray r
  • find a u and s such that u^T (y + s*r) > b
  • but its actually much easier than that - you just need to find a u such that u^T r > 0 because then you just scale s

So thats, mathematically, how you do it. But working this into the oracle interface is a bit more painful. A fallback would be just setting s to a biggish-M - better than the box at least.

@IainNZ IainNZ closed this as completed in d390829 Feb 18, 2015
@IainNZ
Copy link
Owner Author

IainNZ commented Feb 18, 2015

No choice essentially but to punt on this, because its a MIP, Gurobi will declare unboundedness without even checking the cutting planes. Actually, even worse, it does for the heuristic, but doesn't add them to the master.

The solution: add a add_box option to add a box only if user wants it.

Todo:

  • document, and
  • maybe make a warning in _solve_robust if unbounded is that status.

@IainNZ IainNZ reopened this Feb 18, 2015
@IainNZ IainNZ closed this as completed in aa60bb4 Feb 18, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant