I have an MILP model, in which I am handling all Big M constraints with add_if_then constraints (following this topic). I generate this model only once (to save time) and solve it iteratively with different coefficients of the objective function (I only update the objective function) - coded via docplex in Python.
After some iterations, the binary/integer variables get real values (the optimality gap is 5%). What would be the reason of this (other than having Big M constraints)? Unfortunately, I am unable to share the entire model with you. However, I can provide you with further information.