# Allocating Students to Industry Placements Using Integer Programming and Ant Colony Optimisation
## 6 Generating Problem Instances  
The problem instances were generated using a number of distributions based on actual data from instances of the Faculty of Information Technology's Industry Based Learning (IBL) program. The distributions used were the sector distribution, the degree distribution, the student distribution, the preference distributions, and the number of placement distributions:1. Sector distribution: the IBL industry partner companies come from a variety of sectors (e.g., banking, consulting, energy, not for profit). The _sector distribution_ gives the probability distribution of a partner company belonging to a given sector. This distribution is based on the frequencies of partner companies' sectors based on historical data.
2. Degree distribution: students from a variety of degrees take part in the IBL program. The _degree distribution_ gives the probability of a student belonging to a given degree. This distribution is based on the frequencies of student's degree type based on historical data.
3. Student rating distribution: the overall performance of students during the selection interviewing process depends partially on the students' abilities (soft and hard skills). Three categories were used to denote a student's rating level: strong, medium and weak based on the number of 1s the student received. A student receiving at least ten 1s was rated as'strong'; a student receiving between three and nine 1s was rated as'medium', and a student with at most two 1s was rated as 'weak'.
4. Preferences distributions: for each student, the likelihood of being allocated a 1, 2 or 3 depends on a number of factors. If a student is not interviewed by a company, by default they will be allocated a rating of 3 for that company's placements. Not all degree types are suitable for all the company sectors. For example, a company in sector \(X\) may prefer students in degree \(Y\). Based on historical data, a matrix of preference distributions for each pair (company sector and the degree of the student) was obtained. For each given sector, degree pair, we weighted the preference distribution \([a,b,c]\), where \(a\), \(b\), and \(c\) are the frequency of 1s, 2s and 3s, respectively, as follows. For a student rated as medium, the distribution is unchanged. For a student rated as weak, the distribution becomes\([(1-3\alpha)a,(1+\alpha)b,(1+2\alpha)c]\), and for a student rated as strong, the distribution becomes \([(1+3\alpha)a,(1-\alpha)b,(1-2\alpha)c]\) where \(\alpha\in[0,1/3]\). A value \(\alpha=0.01\) means that on average a strong student will be ranked a '1' more often than a weak student.
5. Number of placements: different partners offer different numbers of placements in a given placement period. Additionally, the same partner might offer a different numbers of placements in different placement periods. For each sector, a distribution based on the frequencies of the number of placements offered by companies in this sector was used. This distribution is based on the historical data.  
To provide further information about the distributions, the bar charts of the sector distribution and the degree distribution are provided in Figure 1. The exact names are removed and the terms deg\(i\) and sec\(j\) are used for privacy reasons.  
Figure 1: Bar charts representing the distributions of sectors and degrees used in generating the artificial data.