I have a decision variable Y[c,j,i] = 1 if machine j is candidate for machine i of client c, 0 otherwise.
I am using the weighted Euclidean distance to measure the matching between machine i and j according to some features K. K is a vector.
I want to maximize the matching level for the feature K[1] defined as :
M[i, c] = 1 if Y[c,j,i]*(K[1][j] - K[1][i]) >=0, 0 otherwise.
To do so, I need to write something like : F1 = Sum_over_i{Sum_over_c{ M[i, c]}}.
Does it make sense to use it as is in a Binary Programming formulation ? I read about variable indicators and constraints indicators but I am not sure how to use them or even if they are applicable and meaningful in this scenario.
I am using Gurobi 8.0 with Python 2.7 to implement it.