Closed pgkirsch closed 9 years ago
Also the To generate a feasibility-finding...
message should only be displayed when we can confidently say that a GP is infeasible. Otherwise it misleads a user into thinking their GP is infeasible.
Agreed -- I think the short-term fix (for 0.3.2) should be to only print the feasibility-finding suggestion for primal-infeasible GPs (and not for UNKNOWN).
Once that's fixed, we should leave this ticket open and move to FUTURE to work on better diagnostics/error messages for tricky GPs like this where a variable is unbounded but masked by constraints in both directions.
edit: the issue of better ways to handle UNKNOWN is captured in #519.
We don't have standard status messages besides "optimal" right now, so I just reworded the error message in the PR. Should we standardize status messages?
Ok, looks good for now. Standardizing / parsing status messages from various solvers sounds too complicated for 0.3.2.
I was adamant that the GP below is feasible so I solved it by hand. It is indeed feasible, but when I run the code, it gives me the following message:
This suggests that my problem is infeasible, which is not true because I can tell you a value for each variable that will satisfy all of the constraints.
Original code:
It turns out the issue is that
A_pod
is not bounded. When I add a lower bound onA_pod
, e.g.A_pod >= 1
, I get a solution.The tricky thing is that it looks like
A_pod
is bounded because it has an equality constraint, however, the solver is quite happy to letD
go to zero along withA_pod
.tl;dr: I think the bound checking heuristic might need to be enhanced.