How does the algorithm work?

The “optimised preference program” is designed to ensure auditability, the fairest result for all applicants in the same priority group, and discourage gaming of the allocation.

The allocation of applicants to prevocational training positions is optimised so that it maximises more applicants receiving the best preference possible. The allocation is performed using an algorithm that executes a simulated annealing approach to optimisation. It incorporates a pseudo random number generator (PRNG) with a configurable seed to ensure a fair approach to randomisation. The following steps are undertaken by the algorithm.

  1. Reads input files that specifies the prevocational training networks and positions available, the list of applicants and their preferences, and the seed for the pseudo random number generator. A different seed is used for each allocation.
  2. Establishes whether there are more applicants than positions. In rounds where there are more applicants, the list of applicants is randomly shuffled using the PRNG. Applicants who are shuffled below the position cut off are removed from the allocation.
  3. Applicants in the allocation are then initially randomly allocated to positions using the PRNG.
  4. The algorithm then rates the quality of the allocation by adding all the applicant preference allocations. A first preference scores zero, second preference scores one and so on.
  5. A simulating annealing algorithm iteratively searches millions of allocation permutations to minimise the total preference score for all applicants. Its objective is to get as close to zero as possible, if everyone receives their first preference the total preference score is zero.
  6. Writes a result file the outputs the applicant and their allocated preference.

Joint applicants

Joint applicants are run through the algorithm in the same way as all other applicants. Once the allocation is complete the computer program checks to see if joint applicants are in the same prevocational training network. If this is the case no further processing is required, however, if joint applicants have been allocated to different networks, the program searches to identify other allocated applicants who would benefit most from a swap with one of the joint applicants.

In situations where there are more applicants than positions, one of the joint applicants can be randomly removed from the allocation and not offered a position.

In situations where positions are limited, it is possible that the algorithm will not allocate joint applicants to the same network. This will occur when the algorithm determines that any swap would disadvantage another applicant.

Job share applicants

The computer program creates a single “virtual” applicant for job share applicants and the virtual applicant is allocated using the algorithm.

Extenuating cicumstances and change in personal circumstances applicants

Prior to allocation, the applicants’ networks for allocation are limited meaning they will not be allocated to networks not on their limited preferences list. The applicant’s limited preferences then run through the algorithm with other applicants. Applicants with limited networks need to recognise that they can be allocated to the lower prevocational training network preferences that they chose in their application with the same likelihood as any other applicant. A special consideration applicant’s preferences are given the same weight as any other applicant and within their list of limited preferences, meaning they are no more or less likely to receive a good offer than anyone else. For instance, if a special consideration applicant submitted 10 preferences (instead of the normal 15) it is possible for the applicant to receive the 10th preference as an offer with the same probability as any other applicant with similar set of network preferences.

In situations where there are limited positions and networks it is possible that the applicant will not be allocated. In this situation HETI will notify the applicant.