Chess players are rated using the Elo rating system, which assigns a (non-unique) number to each player based on their level of skill. The model simulates an online chess-matchmaking platform, which tries to match players of similar skill level.
The platform uses a search width x, which is the maximum allowable difference in Elo rating between two matched players. N players are drawn from a distribution of Elo ratings and arrive (independent of their rating) according to a stationary Poisson process with rate λ. When a player arrives, and there is an existing, unmatched player with Elo rating within x of the first player's Elo rating, they are matched. If not, then the player waits for an opponent with an appropriate Elo rating to arrive.
1. To create the Elo distribution, first generate a normal distribution with mean 1200 and standard deviation
elo_mean: Mean of normal distribution for Elo rating.
- Default: 1200.0
elo_sd: Standard deviation of normal distribution for Elo rating.
- Default: 1200 / (np.sqrt(2) * special.erfcinv(1 / 50))
poisson_rate: Rate of Poisson process for player arrivals.
- Default: 1.0
num_players: Number of players.
- Default: 1000
allowable_diff: Maximum allowable difference between Elo ratings.
- Default: 150.0
- avg_diff: The average Elo difference between all pairs.
- avg_wait_time: The average waiting time.
Original author of this problem is Bryan Chong (March 15, 2015).
- allowable_diff
Minimize the average Elo difference between all pairs of matched players.
Maximum allowable difference is between 0 and 2400.
The average waiting time is ≤ δ.
- budget: Max # of replications for a solver to take.
- Default: 1000
- upper_time: Upper bound on wait time.
- Default: 5.0
- N/A
- initial_solution: (150,)
First draw x from a normal distribution with mean 150 and standard deviation 50, then set x = min (max (x, 0), 2400).
Unknown
Unknown