80 likes | 93 Views
Applying metaheuristic Tabu Search to optimize judge assignments in MBA competition, balancing hard and soft rules for fair evaluations.
E N D
Models and Methods for the Judge Assignment Problem Amina Lamghari Jacques A. Ferland Computer Science & OR Dept. University of Montreal
Problem Background • The John Molson MBA International Case Competition • Takes place every year for the last 35 years at Concordia University • 30 teams of business school students coming from top international universities • Partitioned in 5 groups of 6 teams • First part of the Competition is a round-robin tournament (5 rounds) • At each round, each team competes against each of the other 5 teams of its group • The three best teams move to the finals in the second part of the Competition • Problem: Judge Assignment to the competitions of the first part
Hard rules that must be satisfied A judge cannot be assigned to a competition involving a team coming from a University where he received his degree A judge cannot be assigned to a competition involving a team coming from a University where he is a faculty member 3 or 5 judges must be assigned to each competition At least one of these judges belongs to the set of lead judges Soft rules to be satisfied as much as possible The expertises of the judges assigned to a competition should be as different as possible to cover as many of the 6 fields of expertise as possible The number of competitions having 5 judges assigned should be maximized Judge Assignment to the Competitions of a Round Constraints Objective function
Mathematical Formulation Number of judges with expertise k assigned to j Minimize the number of competitions with 3 judges aij=1 iff i admissible for j At least one lead judge 3 or 5 judges assigned
Solution Approach • A metaheuristic approach based on Tabu Search Tabu Search is a metaheuristic that guides a local search procedure to explore the solution space allowing to move out of local minimums • Allows moving to neighbor solutions that can deteriorate the current objective function value • Uses a short-term memory (Tabu list) to forbid returning to recently visited solutions • Extend the solution space to allow infeasible solutions
Hard rules that must be satisfied A judge cannot be assigned to a competition involving a team coming from a Universitywhere he received his degree A judge cannot be assigned to a competition involving a University where he is a faculty member A judge cannot be assigned to a competition involving a team that he does not wish to evaluate If a team in a competition is presenting in French, then the judges assigned to this competition must be fluent in French 3 or 5 judges must be assigned to each competition At least one of these judges belongs to the set of lead judges At least one experienced judge, different from the lead judge, must be assigned to each competition Soft rules to be satisfied as much as possible The judges assigned to each competition should be balanced with regard to the number of experienced and new judges If several judges coming from firms are assigned to a competition then they should come from different ones The expertises of the judges assigned to a competition should cover as many of the 6 expertises as possible The number of competitions having 5 judges assigned should be maximized Gl Global constraints connecting the rounds A specific pair of judges should not be assigned more than once during all the rounds During the different rounds, a judge should not be assigned to different competitions involving the same team Judge Assignment for Several Rounds
Minimize the weighted sum of the violations of the soft rules Soft rules Deviation variables: number of violations of each soft rule
Metaheuristic Solution Approach • Sequential procedure based on Tabu Search • Includes two major phases Phase1 (initialization) • For each round p (p=1,…,5) individually, determine an initial solution xinitp accounting for the global constraints connecting the rounds as they become relevant • xbest := Up xinitp the best solution generated so far • xLast := Up xinitp the best current solution Phase 2 (iterative process repeated until the stopping criterion is met) • Generate a permutation P of (1,…,5) • For each round p in P • Determine a new initial solution x0p • Determine a new local optimal solution x*p • xLast := (xLast – xLastp)Ux*p • If xLast is better than xbest, then xbest := xLast