Open juropo opened 2 months ago
This should be mentioned in the documentation in an appropriate place (perhaps when discussing the Gurobipy solver, or in the docstring of the solver). Once this is done, I say we close this issue. I would not label it as a bug per se.
I am afraid "fixing" this by, say, setting the values of the variables to a feasible value after optimization, can introduce nasty bugs, especially in a case where Gurobipy would, for one reason or another, actually return variables with infeasible values that are actually important and affect the objective function. Unless it is possible to figure out which of the variables are "unimportant". I do not know if this information is available from the solver.
This is an issue with desdeo's implementation of GurobipySolver specifically, not with the actual gurobipy package.
In a corner case situation, where some of the decision variables do not contribute to the objective function being optimized and aren't even interacting with other more important decision variables through constraints, it may happen that an optimal solution is returned where these unimportant decision variables violate some constraints of the problem definition. This does not affect the value of the objective function or the more important decision variables in any way as far as I can tell.
I assume that this happens, because gurobipy never even includes these decision variables it its optimization.
I am not sure if this issue is even worth fixing, but I thought it should be documented somewhere at least.