I've implemented a benders decomposition and now I'm comparing its solution to the one of Gurobi. All integer variables of the model are binary.
It seems that only if the input data is well designed that make Gurobi return a integer solution, the results of both methods will be the same. Otherwise Gurobi will return a non-integer solution, while it takes benders decomposition far more time to solve and as result, one more binary variable of the benders decomposition will be set to 1, as the rest of the solution are the same, thus the objective value of two methods are different.
I've tried setting the parameter IntegralityFocus to 1 but it only rounds the non-integer value. In addition, the master problem always returns an integer solution due to its smaller scale so I cannot get the same non-integer solution as which of Gurobi.
I'm quite sure that the benders decomposition is implemented properly, otherwise it will never show the same result as Gurobi.
I need your advice to fix this issue. Thank you in advance!
Please sign in to leave a comment.