Task preference-based bottleneck assignment problem