yurloc / iypt-planner

Helps organizers of IYPT tournament schedule juries
4 stars 0 forks source link
iypt optaplanner

:hide-uri-scheme: = 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 http://iypt.org.

== Jury rules

There are a few basic rules for a jury that are implied by tournament http://iypt.org/Official_Documents/Tournament_Regulations[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:

. No juror should remain idle during the whole tournament. Juror workloads should be balanced. . The rate of team leads and local jurors (provided by the Local Organizing Committee) should be balanced across all juries. . 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 https://en.wikipedia.org/wiki/Combinatorial_optimization[optimization problem]. The typical feature of such problems is that there is no effective algorithm for finding the best (optimal) solution. This is where https://en.wikipedia.org/wiki/Metaheuristic[metaheuristics] weigh in. IYPT Jury Planner is powered by http://www.optaplanner.org[OptaPlanner], a software library which allows to write applications for optimizing real-life planning problems without having to re-implement metaheuristic algorithms.