Allocating Students to Industry Placements Using Integer Programming and Ant Colony Optimisation

: The increasing demand for work-ready students has heightened the need for universities to provide work integrated learning programs to enhance and reinforce students’ learning experiences. Students beneﬁt most when placements meet their academic requirements and graduate aspirations. Businesses and community partners are more engaged when they are allocated students that meet their industry requirements. In this paper, both an integer programming model and an ant colony optimisation heuristic are proposed, with the aim of automating the allocation of students to industry placements. The emphasis is on maximising student engagement and industry partner satisfaction. As part of the objectives, these methods incorporate diversity in industry sectors for students undertaking multiple placements, gender equity across placement providers, and the provision for partners to rank student selections. The experimental analysis is in two parts: (a) we investigate how the integer programming model performs against manual allocations and (b) the scalability of the IP model is examined. The results show that the IP model easily outperforms the previous manual allocations. Additionally, an artiﬁcial dataset is generated which has similar properties to the original data but also includes greater numbers of students and placements to test the scalability of the algorithms. The results show that integer programming is the best option for problem instances consisting of less than 3000 students. When the problem becomes larger, signiﬁcantly increasing the time required for an IP solution, ant colony optimisation provides a useful alternative as it is always able to ﬁnd good feasible solutions within short time-frames.


Introduction
There is an increasing emphasis on Work Integrated Learning (WIL) in universities and other tertiary education providers [1] As a result, the number of students undertaking WIL is growing rapidly, and the need to effectively manage the processes involved is increasingly important.The Australian National Strategy of Work Integrated Learnin (http://cdn1.acen.edu.au/wp-content/uploads/2015/03/National-WIL-Strategyin-university-education-032015.pdf,accessed 21 July 2021) proposes actions in eight key areas, including: (1) developing university resources, processes and systems to grow WIL and engage business and community partners and (2) addressing equity and access issues to enable students to participate in WIL.
The problem of allocating students to industry placements is of significant interest.Several factors need to be considered in order to achieve an acceptable allocation.In particular, we consider the Industry Based Learning (IBL) allocation problem where students are allocated to industry placements.The aim is to provide an excellent educational experience to students whilst maximising industry partner satisfaction (and thus engagement).In addition, the allocation aims to provide gender diversity within placements and ensures that students allocated consecutive placements experience a diversity of sectors.Constraints arising from inclusive practices are increasingly important.For example, ref. [2] discusses this in the context of resettlement of refugees and comments that 'the remaining question is how to design mechanisms that cater to diversity objectives while still satisfying desirable properties'.
We have considered real problem instances, but it is notable that the number of student placements have been increasing overtime.Moreover, in certain university departments (e.g., nursing), the number of placements to be filled can involve a very large number of students and placements (>2000).A recent survey [3] of the placement of students in nurse practitioner programs in the United States found that only 12% of facilities used electronic means for placing students.They comment that 'an investment in these platforms could reduce faculty time for securing clinical placements'.Discussing a related problem of assigning students to medical schools, ref. [4] investigate the need to improve efficiency and reduce costs while ensuring that the pairing of students to medical schools is fair and ensures that students are allocated to suitable schools.
Integer programming (IP) is an effective approach to solving optimisation problems [5].The IBL problem is one that can be modeled effectively as an IP, particularly because the underlying structure is that of the assignment or bi-partite matching problem [6], which can be solved efficiently by commercial solvers.It is known that a linear assignment problem (LAP) can be solved in a polynomial time, and an IP problem is categorised as an NPcomplete problem from a complexity point of view [7].However, when problem instances are large and consist of a very large number of variables and/or complicating constraints, the IP can struggle to find feasible solutions, let alone prove optimality.In such cases, meta-heuristics [8] provide an alternative way of generating good solutions in reasonable time-frames (note that metaheuristics on their own have limitations; in particular, they cannot provide guarantees of solutions they find and they often struggle with problems which consist of nontrivial hard constraints) and in this study ant colony optimisation (ACO) [9] is the meta-heuristic of choice.ACO encompasses a collection of heuristics originally based on the behaviour of ants, which can be used to solve optimisation problems efficiently [9].
Compared to previous studies that investigate similar problems, the IBL problem is unique in that it considers aspects such as partner happiness and gender equity.Moreover, to solve this problem, we develop an exact method (IP) and heuristic method (ACO) to tackle the problem.The motivation for using ACO is that we can model potential solutions to the problem using sequences of students.ACO has proven to be effective in previous studies which modelled the problem in this way [9].The results of these algorithms are compared with the actual schedules that were manually created using data from previous semesters at the Faculty of IT, Monash University.Additionally, we generate problem instances with varying numbers of students, companies and placements, which are generated based on data for previous semesters.These problem instances allow testing of the algorithms for scalability and provide insight into how the algorithms would perform on allocation problems such as those arising in other domains that have much larger allocation requirements (for example, nursing).
This study makes four contributions: • Introduces a real-world allocation problem of allocating university students to industry placements; • Identifies key components of real data and uses this information to generate meaningful artificial data, which can serve as a benchmark dataset for the community; • Develops exact and heuristic methods based on IP and ACO to solve the allocation problem; • Investigates the performance of these methods on real data and analyses different aspects of the problem (e.g., proportion of students to placements) using artificial data.
The paper is organised as follows.In Section 3, the IBL problem is described; then, in Section 4, a model for this problem is given.The ACO approach is presented in Section 5. We then describe the random generation of instances of the IBL problem based on distributions from real data in Section 6.The results and performance of the IP and ACO for these instances is detailed in Section 7. The paper concludes in Section 8 and possibilities for future work are discussed.

Previous Work
The problem of finding matchings commonly occurs in a number of real-world situations [6].The basic idea underlying the problem is to identify pairings between objects in any two given sets.Hall's marriage problem [10] is a classic matching problem, where given a set of men and a set of women, the task is to maximise the number of pairs of men and women that can be 'married'.Similarly, a number of allocation problems include those where students need to be allocated to colleges [11] or projects [12], residents allocated to hospitals [11,13], and roommates allocated to rooms [14].In this paper, we consider allocations of students to placements, and so without loss of generality will refer to the two sets as 'students' and 'placements'.
In many cases, the set of students and (or) the set of placements have a list of preferred partners in the corresponding set.This is referred to as matching under preferences (e.g., see [6]).Preferences can be two-sided or, alternatively, only one set may have preferences.Preferences are not given to every member of the set, and a member's preference can be totally or partially ordered.For example, a placement may prefer student s 1 over s 2 , but be indifferent between possible matchings with students s 1 and s 3 .This gives rise to problems such as the stable matching problem (a matching is stable if there are no two pairs in the matching, say (s 1 , p 1 ) and (s 2 , p 2 ), where s 1 prefers p 2 to p 1 and s 2 prefers p 1 to p 2 ) with partially ordered and incomplete lists (SMPI) and the hospital/residents problem with partially ordered lists (HRP) [15].In many of these cases, the problem is NP-hard (e.g., [15]).
Irving defines three types of stable matchings [16].A weak stable matching is one where there are no pairs, (s 1 , p 1 ) and (s 2 , p 2 ), in the matching such that s 1 prefers p 2 to p 1 and s 2 prefers p 1 to p 2 .Strong stability occurs where, for any two pairs (s i , p i ), i = 1, 2, student s 1 strictly prefers their own partner to p 2 and s 2 either strictly prefers p 2 to p 1 or equally prefers both p 1 and p 2 .(Note: in this case at most one of the two pairs can hold an equal preference.)Super-stability occurs where, for any two pairs (s i , p i ), i = 1, 2, each s i strictly prefers their own partner to the other's partner.Irving and Manlove [17] discuss the case where there are ties in the preference lists which may also be incomplete.In this case, finding a maximum weakly stable matching is NP-hard.According to the findings of [16,17], the WIL problem is similar to a strong stable matching problem with ties in the preference lists and incomplete preference lists, and hence it is an NP-hard problem.
Several types of matching, assignment and allocation problems have been solved with IPs [18][19][20][21].Klaus et al. [18] provide an overview of matching under preferences and thoroughly review the literature in the area.Cholette [19] develops an embellished transportation IP model to find a matching between wineries to distributors.In at least one example, the model proposed a matching that resulted in a long-term partnership.Al-Yakoob and Sherali [20] examine the problem of assigning employees to 86 different gas stations distributed around Kuwait.They consider a multi-stage mixed integer programming approach, where in the first stage employees are assigned to stations and in the second stage individual shifts for the employees are determined.Naik et al. [21] consider the problem of online resource allocation in a grid environment.They use a linear programming approach, which is able to efficiently find new solutions when new information is available.Ref. [22] use an IP which optimises utility (student preference ratings) to allocate students to capstone projects with the constraint that each project requires a combination of students from different disciplines.
Meta-heuristics have also been applied to matching problems [23,24].Harper et al. [23] investigate a genetic algorithm for assigning students to projects with multiple objectives.Their proposed approach compares well with integer programming, but they observe that nonlinear objectives can be handled by their method, which is more suitable for project assignment.Gupta et al. [24] apply a genetic algorithm for matching security vulnerabilities to security profiles within an organisation.They show that the genetic algorithm is able to efficiently achieve maximum vulnerability coverage with a minimum cost profile.
ACO is proven on a number of problems, such as job scheduling [25], traffic assignment [26], image edge detection [27], and assembly line balancing [28,29].There have also been studies with ACO and optimisation of task allocation [30,31] and multi-objective resource allocation [32,33].Shyu et al. [31] show that ACO can be effective on the cell assignment problem in PCS networks where cells need to be assigned to switches while minimising cable and hand-off costs.

Problem Specification
The IBL Problem (IBLP) can be formally defined as follows.A set of n students S = {s 1 , . . ., s n } are to be allocated to industry placements offered by m companies C = {c 1 , . . ., c m }.Each company c ∈ C has a limited number, r c , of placements available.The total number of placements available is defined as R = ∑ c∈C r c .Each company c ∈ C is associated with one or more of b business sectors.Let B i ⊆ C denote the companies associated with business sector i and Each company interviews a subset of the students and gives each interviewed student a preference rating.The preference rating assigned to student s by company c is denoted by p sc ∈ {1, 2, 3}.The following is the meaning of the preference values: Rating 1: The company has a strong preference for the student; Rating 2: The company has a preference for the student but would prefer a student with rank 1; Rating 3: The company does not have a placement that is suitable for the student.
Students who are not interviewed by a company are automatically given a rating of 3 by that company.The following data are used in the allocation: 1.
Gender: the students are partitioned into two subsets of S which are denoted female F ⊆ S and male M ⊆ S. Some companies explicitly require an equitable gender mix; 2.
Degree type: there are d different degree types.For example, students may be enrolled in a computer science, software engineering, or an information technology degree.Companies may have a student preference partly based on degree type; 3.
Previous placement sector: For each student s, the list of the sectors of any previous placements undertaken is denoted by Q s , which is defined as follows: where E s is the set of business sectors for the student.
There are three sets of constraints to be satisfied when creating a feasible allocation: (a) if there are more students than placements available, then all placements should be filled (preferences permitting), (b) if not all placements can be filled, companies requiring fewer placements should be given preference, and (c) students taking more than one placement cannot undertake more than one placement in a given sector.

Integer Programming Model
A preliminary IP model is created for the IBLP, which is defined as follows.We define binary variables x for allocating students to companies as follows: x sc = 1 if student s is allocated to company c.Additionally, binary variables y are defined for counting purposes.Let A c be the number of students allocated to company c.The vector y c gives a unary representation of A c .Here, y ck = 1 if k ≤ A c and 0 otherwise.The length of this unary vector is modulo |S| = n for every company.For example, y c = [1, 1, 1, 0, 0] would represent three students allocated to company c from a total of |S| = 5 students available.This representation enables an efficient way to evenly distribute students among companies when there are insufficient students to fill the placements.The details of the notation used for the model are summarised in Table 1.

S
The set of n students S = {s 1 , . . ., The set of sets of companies belonging to each of the sectors: The set of companies belonging to sectors where student s has been previously placed There are multiple components in the objective function of the problem associated with company preferences.The aim is to maximise the number of allocations at the same time whilst respecting gender equity.The IP model is as follows: x sc , The problem is defined as a maximisation problem, which means the penalty terms are negated in the objective function.The first term in the objective sums the allocated preference values for each student s allocated to company c using the preference weights p sc .Here, a constant L is used to ensure the objective values are positive valued.(In principle, L is not required, though, positive values makes comparisons between the approaches more straightforward.)The second term includes a weight v c = r c ∑ k=1 k, where r c is the number of students requested by company c, to give priority to companies requesting smaller number of placements in case the total number of students is less than the total number of available placements.The third term in the objective ensures an equitable gender mix is provided for those companies that request it.
Constraint (3) ensures that a student is assigned to at most one company.Constraint (4) limits the number of students allocated to a company to be at most the number of placements available.Constraint (5) is the sector constraint ensuring a student cannot be allocated to a company with the same sector as any of the student's previous placements.The notation Q s is used to denote the set of companies belonging to the same sector(s) as the previous placements of student s, which is defined in (1).Constraints ( 6) and (7) ensure that the appropriate weight is applied to the number of students assigned to a company.

An Illustration of the Problem
In this section, an example of the IBL problem is presented to further illustrate the IP model.There are three students S = {s 1 , s 2 , s 3 }, where student s 3 is female and the others are male.Moreover, there are two companies C = {c 1 , c 2 } with two and one placement(s) available, respectively.Furthermore, assume that student s 1 has previous experience in the business sector of Company c 1 .Table 2 provides the list of preferences.
With these parameters fixed, the IP model optimises the allocation of students to companies respecting the preferences and constraints.The model resulting from this problem description is provided in Appendix A. The optimal solution of this IP model is x 11 = 0, x 12 = 1 (Student 1 is allocated to Company 2), x 21 = 1 (Student 2 is allocated to Company 1), x 22 = 0, x 31 = 1 (Student 3 is allocated to Company 1), x 32 = 0. Here, y 1 is unary [1, 1, 0], that is, Company 1 has two students, and y 2 is unary [1, 0, 0], that is, Company 2 has one students.

Ant Colony Optimisation
ACO is proven on a number of practical problems [9], and among the ACO implementations, Max-Min Ant System (MMAS) has been one of the most effective practical ACO variants [34].Hence, this approach is used as the basis for our ACO implementation for the IBL problem.We also found that the heuristic selection of the ant colony system [35] provides improved intensification; hence, we use this step for the selection of the solution components.Algorithm 1 shows the Max-Min Ant System applied to the IBL problem.
A solution is represented by π, which is a vector of placements.The length of π corresponds to the number of students and π i = j means that student i is allocated to placement j. (Note that this is not an allocation to a company but to a specific placement of a company.This difference is important in the case where a company requires more than one placement.)The input to the algorithm is an instance of the problem.The pheromone trails are initialised (Initialise(T )), where is the desirability of allocating student i to placement j.T := PheromoneUpdate(π bs ) 10: end while 11: return π bs A number of solutions (n ants ) to the problem are constructed in Lines 4-5.A solution is built incrementally by allocating a student to a placement using the pheromone information (AllocateStudents(T )).If a company preference for a student is 3 (not desired), the student is not allowed to be allocated to the corresponding placement(s).A placement for a student is selected using one of two rules.First, a random number is generated q ∈ (0, 1] and compared with the parameter q 0 .If q < q 0 , placement k is chosen for student i according to: Otherwise, if q ≥ q 0 , placement k is chosen probabilistically according to: Here, η is a heuristic factor that biases the selection towards higher preference placements, i.e., η ij = 1 p ij for student i and placement j.In Line 7, the iteration best solution is determined as the one with the minimum objective value (Equation ( 2)).The global best solution (Line 8) is then updated if a new better iteration of the best solution was found.Finally, in Line 9, the pheromone trails are updated in two steps.First, all solution components that are not found in the global best solution have evaporation applied: Otherwise, the solutions components are updated with the allocation found in the global best solution.In addition to evaporation, this step additionally includes a reward factor to favour components in the global best solution.The pheromones are updated according to: where δ = Q/ f (π bs ), f (π bs ) is the objective value of the global best solution determined according to Equation (2) and Q is selected such that 0.01 ≤ δ ≤ 0.1.The learning rate, ρ, was chosen to be relatively high at 0.1, and determined on a subset of the instances from the values [0.1, 0.05, 0.01].

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.A value α = 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 degi and secj are used for privacy reasons.

Experiments and Results
Two sets of experiments were undertaken.The first set of experiments compares the IP model with actual allocations from previous semesters.The second set of experiments is to determine how the model scales, as allocations must be generated in short run-times.There are two aspects to investigate in the second set of experiments.These are to test how the IP model scales with problem size (numbers of students and companies) and also to see how the performance varies with respect to the ratio of the number of students to the number of companies.
The parameter settings for MMAS were determined by using previous studies as a guide and fine-tuning by hand.The initial pheromone values were chosen as τ ik = 1 p ij and n ants = 10, which is the number of solutions constructed per iteration.To choose between deterministic or probabilistic selection, q 0 = 0.9 was determined from the range [0.1, 0.2, 0.5, 0.8, 0.9].The learning rate ρ = 0.1 was determined from the range [0.1, 0.05, 0.01].

Integer Programming and Real Data
The IP model was run on real datasets.The original allocations were built by hand taking several hours over a two week period of the scheduler's time.In a few cases in the manual allocation, private arrangement students were allocated to companies that had not interviewed them.This process was incorporated in the simulations by making a comparison with these students included and excluded from the student data set.In the former case, their ranking was given a value of 2.
The results are presented in Table 3.The first column specifies the year and semester (Year-Sem.).The second and third columns specify the number of students and the number of companies for the corresponding year/semester.For the original allocation, we report the average allocation (Avg.), the number of first preferences assigned (#1 s) and the number of last preferences assigned (#3 s).(Note: the IP model does not allow these by implementing it as a hard constraint.)For the IP model, the average allocation (Avg.), number of first preferences (#1 s) and time taken in seconds (Time (s)) to allocate are reported.In all but one instance, the IP model achieves better average allocation outcomes than the manual allocation.The only exception is 2014-1, where the IP model has a higher average allocation.The reason this happens is because the sector constraints were overridden by the manual allocation and as this is implemented as a hard constraint in the IP model, the IP is unable to find improvements.However, if this constraint is relaxed in the IP model, the average allocation improves to 1.15, which is significantly better than the manual allocation.

Investigating Artificial Data
Problem instances were generated using the respective distributions detailed in Section 6.The numbers of students and the numbers of companies were limited to values that would be practically feasible.The number of students ranged between 250 and 900 and the number of companies ranged between 200 and 600.The number of students was chosen to be at least as many as the number of companies.
The problem generator and the IP model were implemented in Python 3.6.In order to solve the IPs, Gurobi 8.0.0 [36] was used.Each run was given 30 min of wall-clock time.During an actual allocation, 30 min was seen as a time limit that was acceptable.Since the real instances always had less than 100 students, the run-times were within a second.For those instances which could not be solved in the 30 min limit, an additional run with a limit of 2 h was conducted to determine if any solution could be found.For MMAS, 25 runs per instance were conducted and the average values and associated standard deviations across all the runs are reported.

Results
Tables 4 and 5 present the results of the IP model and MMAS on problem instances generated by the various distributions discussed in Section 6.The first two columns specify the number of students (Stu.) and companies (Comp.),respectively.The next four columns specify the criteria used to measure the quality of solutions (three columns) and the time taken (in seconds) by the IP.The first is #1 s, or the number of students assigned to companies with a preference rating of 1.The larger the number of students with #1 s, the better the solution.Second, Avg. or the average allocation of student preferences assigned to the companies in a solution.Third, Obj is objective value in Equation (2).The next six columns are associated with MMAS.Since 25 runs per instance with MMAS were conducted, standard deviations (SDs) associated with each criteria are also shown.
For most instances (up to 3000 students and 3000 placements), the IP is able to find optimal solutions, often quite quickly.The IP solutions are better than the MMAS solutions considering number #1 preferences and average allocations for all these instances.When the proportion of students to companies is high (25% and 50%), solutions with students having a preference of 1 are found for all placements.Beyond 3000 students, the IP struggles to find solutions within the 30 min time limit.In these cases, MMAS finds solutions, but it is not possible to quantify their quality.Despite no guarantee on the quality of the solution, at the very least a feasible solution to any large instance can be found within five minutes.For real problems, these solutions can be provided to the industry partners in lieu of a manual allocation that can be very problematic in construction.
Not surprisingly, the IP run-times progressively increase as the problem size increases.Runs take more than a minute when there are more than 1000 students and 750 companies.However, this is still a feasible time-frame to obtain good solutions.As previously discussed, MMAS provides an alternative when the IP run-times become too large.This leads to a distinct advantage in real student allocation systems, where solutions can be built, modified (e.g., incorporating a constraint such as a student must not be allocated to a company), and re-built quickly if the user is unhappy with the allocation for some reason.The objective criteria are investigated further in Figures 2-4, using data with at most 2500 students.Larger instances are not considered since the IP model often fails to find solutions within the time limit.Figure 2 shows the difference in #1 preferences from MMAS to the IP Model ( MMAS−IP

IP
).The chart on the left splits the results by student numbers, whereas the figure on the right splits the results by the proportion of students to placements ([0.25, 0.5, 0.75, 1.0]).Firstly, regarding the number of students, we see that the differences increase with increasing problem size, i.e., MMAS does not scale well.However, once the problem instances are very large (>2000 students) the advantage of the IP model is diminished.In fact, as it is seen in Table 5, if the problem instances are very large, MMAS is by far the preferred method since on occasion the IP model struggles to even find solutions.On examining the chart to the right of Figure 2, we see that in the datasets with low proportions (0.25), the differences between MMAS and the IP model are large.The difference reduces with increasing proportions (0.5 and 0.75) followed by a slight increase when the proportion is 1.0.This is not surprising since when the proportions of placements are low, the IP model is significantly more efficient and is able to find the optimal solutions.Figure 3 shows a breakdown of the average allocations for the IP model by proportion of student to placements ([0.25, 0.5, 0.75, 1.00]).In low proportions of placements to students (0.25), we see that the average allocation is always close to 1.0, demonstrating that most of the placements were satisfied with #1 preferences, whereas, when the proportions become higher and there are more placements to fill, it is more difficult for a company to obtain its ideal preference/s.This is expected since if there are very few placements and many students (0.25), several first choice students can be allocated to each placement, whereas, at the other end of the scale with one placement per student (1.0), unless there are many (possibly unique) first choice students for every placement, an average allocation 1.0 can never be achieved.Figure 3 shows a breakdown of the average allocation for MMAS by proportion of student to placements ([0.25, 0.5, 0.75, 1.00]).First, we note that the allocations are generally in a tight band, slowly increasing with increasing proportions.A comparison to the IP model shows several obvious differences.Overall, the average allocation is lower with low proportions of placements to students and increases slightly when the proportions are higher (0.75 and 1.0 compared to 0.25 and 0.5).

Conclusions and Future Work
In this study, we investigate the problem of allocating students to industry placements, which we refer to as the IBL allocation problem.This problem differs from those in previous studies by considering multiple requirements of the companies, such as company preferences for students, gender mix and sector constraints.We propose an exact approach to solve the problem via integer programming.We find that although the IP model is very effective on real data, it has limitations in the way it scales with large problem sizes.Hence, we also propose an ACO-based heuristic with the aim of finding good solutions in reasonable time-frames.Compared to manual allocations on real instances since 2012, we see that the IP model improves upon these allocations in several respects, including the average allocation preference and the number of placements allocated their #1 preferences.This study demonstrates the value of automation in industry placement programs at universities by providing excellent solutions with a high degree of flexibility.
The real data show a trend of increasing numbers of students who would like to participate in IBL placements.Moreover, other university departments (e.g., nursing) typically require much larger numbers of placements (up to 4000 placements at some institutions).This provides the motivation to investigate how the proposed approaches deal with increasing scales.Hence, based on information from the real data (e.g., distribution of preferences), we generated a number of artificial problem instances.The IP solves small to medium problems very effectively, finding optimal solutions within 30 min, but struggles when the instances consist of more than 3000 students and may fail to find solutions for the largest instances.For these problem instances, we see a clear advantage provided by ACO, where it is able to find good solutions in small time-frames, although optimality cannot be proved.

Future Work
For the IBL placement allocation, the IP model is a viable option and scales well for the current program (<200 students per placement cycle).As such, it will be interesting to investigate whether or not the model can easily be modified to deal with industry placement programs at other universities.The authors of this study are currently investigating possibilities in this direction.
For very large similar allocation problems (such as allocating students to nursing placements), ACO is the preferable option, but with no guarantee of optimality.This leads to several potential research directions, where the IP and ACO approaches may be further enhanced to provide improved solutions in short time-frames.In particular, IP-based decompositions, such as Lagrangian relaxation [37,38], have proved to be effective in the past and combinations of IPs and ACO have also been proven on a range of problems [39][40][41][42].Moreover, large neighbourhood search approaches [43,44] may prove to be very effective in this context.Additionally, parallel implementations of ACO and associated hybrids [45,46] have proved to be effective in the past and such approaches could help to reduce run-times, enabling good solutions for large problems to be found in under a minute.

F
The set of male students M ⊆ S The set of female students F ⊆ SParameters r cThe number of available placements in company c R The total number of placements available: R = ∑ c∈C r c p sc p sc ∈ {1, 2, 3} is the preference rating of student s by company c v c Constants which are used to prioritise companies with relatively low numbers of placements Variables x sc Binary variables where x sc = 1 if student s is allocated to company c y c A vector of binary variables providing a uniary representation of the number of students allocated to company c

Figure 1 .
Figure 1.Bar charts representing the distributions of sectors and degrees used in generating the artificial data.

Figure 2 .
Figure 2. The % difference from MMAS to the IP model with respect to #1 Prefs.On the left, results are presented as averages over number of students.For example, 600-900 is the average for the problem instances in the range of 600-900 students.On the right, the results are split by proportion of placements to students [0.25, 0.5, 0.75, 1.00].

Table 1 .
The table of notations used in the IP model.

Table 2 .
The table of preferences and the number of available placements of companies.

Table 3 .
Comparison between the IP model and actual (manually created) schedules.Adjusted runs (*) remove students who were not interviewed by any of the partners, as there are no preferences for these students.For 2012-1 and 2012-2, the IP model is unable to place 1 student, and for 2013-2, two students.

Table 4 .
The results of the IP model and MMAS in instances with varying number of students (250-900) and companies (200-700).Stu.: number of students; Comp.: number of companies; #1 s: number of times a rating of 1 was achieved; Avg.: average allocation.

Table 5 .
The results of the IP model and MMAS on instances with varying number of students (250-900) and companies (200-700).Stu.: number of students; Comp.: number of companies; #1 s: number of times a rating of 1 was achieved; Avg.: average allocation.