Skip to content
This repository has been archived by the owner on Jan 24, 2023. It is now read-only.
/ iypt-planner Public archive

Helps organizers of IYPT tournament schedule juries

Notifications You must be signed in to change notification settings

yurloc/iypt-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IYPT Jury Planner

IYPT Jury Planner is a Java-based application with GUI that is used to fill juries for the International Young Physicists’ Tournament. It helps to quickly find a distribution of people to juries that not only complies to the tournament regulations but also satisfies various extra constraints without involving tedious manual work.

To learn more about IYPT competition, visit iypt.org.

Jury rules

There are a few basic rules for a jury that are implied by tournament regulations:

  1. Each jury has the same number of members.

  2. The role of jury chairman is occupied.

  3. Team leaders cannot be members of jury for a fight where their team participates.

  4. Any chairman cannot grade the same team more than twice.

On top of that, there are additional soft requirements, i.e. some nice-to-have properties of the distribution. For example:

  1. No juror should remain idle during the whole tournament. Juror workloads should be balanced.

  2. The rate of team leads and local jurors (provided by the Local Organizing Committee) should be balanced across all juries.

  3. The sum of biases of jurors in each jury should be balanced across all juries. Bias is a statistic based on historical data and describes a person’s tendency to be either nice or strict in grading the fighting teams.

Satisfying these requirements makes the juries “better”, therefore we aim to meet as much of them as possible. However many of them are contradictory so it is hard to meet one without breaking two others and it is usually impossible to meet all of them.

Jury optimization

You may have guessed that finding the best jury schedule is an example of optimization problem. The typical feature of such problems is that there is no effective algorithm for finding the best (optimal) solution. This is where metaheuristics weigh in. IYPT Jury Planner is powered by OptaPlanner, a software library which allows to write applications for optimizing real-life planning problems without having to re-implement metaheuristic algorithms.