150 likes | 347 Vues
Dinner and a Golf Outing: Solving the real “Social Golfer Problem”. Scott R. Schultz - Mercer University, Macon, GA. Outline. Motivation Problem Statement A Simple Example NP-Hard? Combinatorics Solution Approach Results. Motivation. Confronted with two related scheduling problems:
E N D
Dinner and a Golf Outing: Solving the real “Social Golfer Problem” Scott R. Schultz - Mercer University, Macon, GA.
Outline • Motivation • Problem Statement • A Simple Example • NP-Hard? • Combinatorics • Solution Approach • Results
Motivation • Confronted with two related scheduling problems: • Posed with problem of scheduling a golf outing with the objective of creating 4-somes which pair every golfer with every other golfer in the minimum number of rounds. • Joined a dinner club of 15 couples where 3 couples are paired up and trade off hosting dinners. The pairings are then redone so that couples are paired with all other couples in the minimum number of re-pairings.
Problem Statement Let m members of a set be divided into g groups of size s (m = g x s), determine a schedule for the minimum number of rounds such that each member is grouped with every other member at least once. Given w rounds, develop a schedule that minimizes the number of missed pairings when m members of a set are divided into g groups of size s (m = g x s).
Related Problem Social Golfer Problem Schedule g*s golfers into g groups of s players over w weeks, such that no golfer plays in the same group with any other golfer more than just once. The problem can be looked at as an optimization problem if for two given numbers g and s we ask for the maximum number of weeks the golfers can play together. Sellman, M., http://www.cs.brown.edu/~sello/golf.html
A Simple Example Optimal Solution: Round 1: ABC DEF GHI Round 2: ADGBEH CFI Round 3: AEI BFGCDH Round 4: AFHBDICEG Problem Size: m = 9 number of members g = 3 number of groups s = 3 size of group Solution Representation: Pairing Count Solution Evaluation: Number of missed pairs = 0.
NP-Hard? • Don’t know • No known algorithm for general case? • Related to the Kirkman Triple problem posed in 1847 and Social Golfer Problem posed in 1998 - many open problems
Combinatorics • number of sequences for a 3 group problem: • number of sequences in a problem with 4 groups: • number of possible combinations (C) in w rounds is:
Solution Approach Classic Johnson et al. Simulated Annealing Approach: 1. Get an initial solution S. 2. Get an initial temperature T > 0. 3. While not yet frozen do the following: 3.1 Perform the following loop l time. 3.1.1 Pick a random neighbor S’ of S. 3.1.2 Let D = cost(S’) – cost(S) 3.1.3 If D <= 0 (downhill move), Set S = S’. 3.1.4 If D > 0 (uphill move), Set S = S’ with probability e-D/T. 3.2 Set T = rT (reduce temperature). 4. Return S
Solution Approach Solution Representation: Round 1: ABC DEF GHI Round 2: ABC DEF GHI Round 3: ABC DEF GHI Round 4: ABC DEF GHI Solution Evaluation: Number of missed pairs = 27.
Solution Approach Neighborhood Generation Scheme: Randomly select a round and switch two randomly selected members not in the same group. Example: Select round 3 Round 1: ABC DEF GHI and members C and H. Round 2: ABC DEF GHI Round 3: ABH DEF GCI Round 4: ABC DEF GHI Solution Evaluation: Number of missed pairs = 23.
Results Desired solution – Missed Pairs = 0 * Perfect Pairing - each member paired with every other member once and only once + Pairing - each member paired with every other member once and no more than twice
Results Best solutions found: http://faculty.mercer.edu/schultz_sr/social_golfer/social_golfer.html
About the Author • Dr. Scott Schultz – assistant professor Mercer University, and consultant at Mercer Engineering Research Center. • Industry Experience: • 13 years automotive experience – Ford Motor Company. • 2 years furniture experience – Furniture Manufacturing Management center. • Consulting – manufacturing and military • Teaching Experience: • Simulation • Production, scheduling, inventory control • Operations Research • others…