while linearizing some constraints containing divisions, I founda formulation which works and is interpreted as linear by Pyomo, and I absolutely have no idea why:
mod.coupling_temp2[m]*sum(mod.same_service[o1, o2, m] for o1, o2 in product(mod.OPERATIONS, mod.OPERATIONS)) == mod.sum_similarities[m]
Coupling_temp2 and sum_similarities are real numbers, while same_service is a binary. Shouldn't a multiplication of variables always be considered nonlinear? Everytime I tried to express a constraint as a multiplication of variables, even if they're binaries, I always get told the constraint is nonlinear, but maybe I'm tripping.