How can one use AddMinEquality and AddMaxEquality to distribute assignments evenly? My model variables are boolean, hence I try to minimize difference between maximum and minimum of sum of bools.
assignments = []
for c in cars:
a = model.NewIntVar(0, total_assignments, c)
model.Add(a == sum(car_sch[(d, c)] for d in days))
assignments.append(a)
assignment_min = model.AddMinEquality(assignments)
assignment_max = model.AddMaxEquality(assignments)
model.Minimize(assignment_max - assignment_min)
After some testing
assignments = []
for c in cars:
a = model.NewIntVar(0, total_assignments, c)
model.Add(a == sum(car_sch[(d, c)] for d in days))
assignments.append(a)
min_value = model.NewIntVar(0, total_assignments, "min val")
assignment_min = model.AddMinEquality(assignments)
max_value = model.NewIntVar(0, total_assignments, "max val")
assignment_max = model.AddMaxEquality(assignments)
model.Minimize(max_value - min_value)