There are no alternative.
If the number of tasks and of workers is fixed. You can compute the average, and using an epsilon, add the following constraints:
for all workers:
model.Add(sum(assigned_tasks) <= average + epsilon)
model.Add(sum(assigned_tasks) >= average - epsilon)
model.Minimize(epsilon)
This is less precise, but much faster.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…