Mixed-Integer Linear Programming Models for Teaching Assistant Assignment and Extensions

In this paper, we develop mixed-integer linear programming models for assigning the most appropriate teaching assistants to the tutorials in a department. The objective is to maximize the number of tutorials that are taught by the most suitable teaching assistants, accounting for the fact that different teaching assistants have different capabilities and each teaching assistant’s teaching loadcannotexceedamaximumvalue.Moreover,withoptimizationmodels,theteachingloadallocation,atime-consumingprocess,doesnotneedtobecarriedoutinamanualmanner.Wehavefurtherpresentedanumberofextensionsthatcapturemorepracticalconsiderations.Extensivenumericalexperimentsshowthattheoptimizationmodelscanbesolvedbyanoff-the-shelfsolverandusedbydepartmentsinuniversities.


Introduction
Teaching assistants (TAs) are essential in many departments in universities because of limited numbers of lecturers.TAs are mainly postgraduate students, though in some universities TAs can also be undergraduate students.TAs are usually in charge of teaching tutorials in small classes.TA allocation, that is, which TA teaches which tutorial, is an essential task that is carried out in a department every semester.It has been well recognized that appropriate teaching staff allocation contributes to the equality of teaching [1,2].The teaching assistants are usually reallocated every semester.This is due to the following two reasons: (1) changes of staff (some TAs are no longer available because they have graduated or have other commitments and new TAs are available) and ( 2) changes of programs (some tutorials are cancelled and some new tutorials are developed).
There are many factors to consider in TA assignment.First, all tutorials must be taught in order to satisfy the needs of the teaching programs.Second, a TA should not be allocated a higher teaching load other than what is required by her/his role because of her/his limited available time.Third, TAs should teach tutorials that they are proficient with; otherwise it will cost them a lot of preparation time and the teaching outcomes will not be ideal.Fourth, we should consider whether two tutorials are delivered at the same time, and if so, they cannot be taught by the same TA.Fifth, it is easy to see that if a TA teaches several tutorials of the same lecture, in other words, repeating the tutorials, then it is easier for the TA to save time for preparation.Sixth, it might be difficult for a lecturer to manage if there are too many TAs for the lecturer and hence it may be desirable to control the number of TAs for a lecturer.
Our personal experiences show that almost all departments allocate teaching assistants manually in a trial-anderror manner.As we all know, this allocation is very timeconsuming process and may lead to unfavorable results which may jeopardize the teaching quality.In this regard, it is imperative and of vital significance to develop a systematic tool in order to better allocate the teaching assistants in a more efficient manner.
1.1.Literature Review.It is universally acknowledged that improving the teaching quality is the number one concern in all teaching activities.Academics have developed a number of new educational theories and pedagogical techniques to meet the teaching requirements in view of the changing society (e.g., [3,4]).Some studies are related to the timetabling of educational organizations.Valouxis and Housos [5] applied a constraint programming approach to solve a high school timetabling problem considering various practical constraints.Beligiannis et al. [6] proposed an adaptive algorithm to address the timetabling problem of an educational institute.Pillay and Banzhaf [7] examined the use of genetic algorithms to address an examination timetabling problem.A category of research that is more closely related to ours is optimization models proposed to better allocate teaching load for full time academic teaching staff in a teaching unit.For example, Breslaw [8] was among the first to develop a linear programming model to address a teaching staff assignment problem.His objective was to maximize the preference of the faculty members.Schniederjans and Kim [9] adopted a different mathematical approach-a goal programming model-to optimize the overall benefit to the teaching department.Badri [10] developed a more complex model that consists of a two-stage multiobjective scheduling approach.The objectives are twofold: first, the preference for tutorials by faculty members is incorporated; second, the time slots of the tutorials that are preferred by faculty members are also considered.Qu et al. [11] developed a very simple model for assignment lecturers to classes and tested the model with data from a university in Australia.As discussed in Badri [10], the abovementioned mathematical approaches could improve teaching quality by maximizing the preference of the faculty members.However, two key issues are neglected in the abovementioned studies.First, as the focus of teaching activities is to improve or guarantee the teaching quality, the teaching quality should be considered as the objective to maximize, rather than a constraint in the optimization model.In other words, teaching quality is much more important than faculty preference as the former is the number one concern in all teaching activities.Second, the abovementioned studies are mainly focused on teaching load allocation for full time academic staff, while the arrangement for teaching assistants is mostly treated in a very simple way, which may lead to unreliable results.
In most teaching units, teaching assistants are Ph.D. or senior students and they are working as teaching assistants on a part time basis.As a result, it is not appropriate to assign heavy teaching loads to them, due to the fact that they need to focus on their own studies/research.In this regard, the workload equity, namely, the workload of a teaching assistant should be in line with his or her availability, is also very important.Burgess [12] did a comparison study regarding different methods for allocating teaching tasks to faculty members.Vardi [13] carried out a similar work with the objective of analyzing the impacts of workload allocation on the satisfaction of working life of faculty members.Bentley and Kyvik [14] compared the teaching workload allocation statuses in a number of countries.There are a number of works related to the relations between research and teaching for academic staff (e.g., [15][16][17][18]).It should be stressed that all of the studies realized that equity has a vital impact on academics' satisfaction.Unfortunately, two issues are not properly addressed.First, the equity issue is largely neglected in the above teaching load allocation optimization models.Second, to the best of our knowledge, there is no research which focuses on the equity issue for teaching assistants.
In this study, we aim to develop teaching assistant assignment models in order to optimize the teaching quality by taking into account various constraints such as equality and availability of teaching assistants.The model can improve the "fitness" between teaching assistants and tutorials without jeopardizing the equity issue of teaching assistants.Further, this proposed model will reduce the workload for school heads, managers, or program coordinators by automatically selecting the optimal solutions.

Objectives and Contributions.
The objective of this research is to develop mixed-integer programming models [19][20][21][22][23] that are able to generate the optimal allocation plan of teaching assistants.The contribution of the paper is threefold: First, we develop a new approach that is able to enhance the overall teaching performance or quality of a teaching unit essentially at no cost.This is due to the fact that our model enables more teaching assistants to teach tutorials that they are competent at.As a result, the teaching assistants' satisfaction can be improved and teaching quality is accordingly improved.The basic assumption is very reasonable: the teaching quality is positively related to the "fitness" between teaching assistants and tutorials that they teach.However, it is very challenging if we want to reach the optimal solution manually: one cannot guarantee that the optimal decision is made.By contrast, mathematical programming approaches could obtain optimal decisions for department heads to assign the teaching tasks.
Second, this allocation is usually done by senior academics (e.g., head of school, deputy head of school, department chair, school manager, and program coordinator).They are naturally very busy with their teaching, research, supervision, and other commitments.Our model can save the valuable time for these academics.
Third, the model considers the maximum teaching load of each teaching assistant.Teaching assistants are usually on a part-time basis.Imposing too much teaching to them will jeopardize their performance in their full time commitment (i.e., study/research).If this allocation is carried out manually by senior academics, it is likely that the maximum teaching is violated due to the fact that manual checking is very time-consuming.This deficiency can be completely overcome using our models.
Fourth, we also consider whether two tutorials are delivered at the same time, and if so, they cannot be taught by the same TA.
Fifth, it is easy to see that if a TA teaches several tutorials of the same lecture, in other words, repeating the tutorials, then the TA can save time for preparation.Our model thus aims to increase the number of tutorial repetitions.
Sixth, it might be difficult for a lecturer to manage if there are too many TAs for the lecturer and hence it may be desirable to control the number of TAs for a lecturer.This factor is also formulated in our model.
The remainder of this paper is organized as follows.Section 2 describes considerations in teaching assistant allocation.Section 3 builds a basic integer linear optimization model.Section 4 reports a number of practical extensions to the basic model.The results of numerical experiment are reported in Section 5. Conclusions are presented in Section 6.

Problem Description
This study examines the allocation of teaching assistants at a department or school.In a department, many tutorials for undergraduates and postgraduates are taught by teaching assistants.A teaching assistant has limited time that can be spent on teaching.Different teaching assistants have different maximum numbers of teaching hours because (i) they have different availability and (ii) they have different willingness to teaching.In reality, most teaching assistants are Ph.D. students in a teaching unit.Some students have research scholarships which limit the number of hours that they can spend in teaching, while the others have no scholarships so that the number of hours that they can spend in teaching is only limited by the visa requirement (for international Ph.D. students).As different teaching assistants have different expertise, we classify the relation between a tutorial and a teaching assistant into three types.(i) In the first type, the teaching assistant is unable to teach that tutorial.For example, in a department of mathematics, a teaching assistant with expertise in statistics cannot teach the tutorial for "Group Theory."(ii) In the second type, the teaching assistant can teach a tutorial, but it is not the most suitable person.For example, a teaching assistant with expertise in the structural engineering can teach the elective tutorial "Introduction to Geotechnical Engineering" for civil engineering students, but she/he is not the most suitable person for teaching it, as a teaching assistant with the expertise in geotechnical engineering is more suitable.(iii) In the third type, the teaching assistant is one of the most suitable persons to teach a tutorial.For example, a teaching assistant with expertise in transport engineering should teach the tutorial "Traffic Flow Theory" or "Traffic Engineering Fundamentals" if possible.Another example is that if the teaching assistant taught this tutorial and was highly appraised last year, she or he should also teach it this year if possible.
We can now see that the purpose of optimizing the allocation of teaching assistants includes constraints that all tutorials are taught and that the available teaching time of teaching assistants is satisfied and an objective of maximizing the total number of tutorials delivered by the most appropriate teaching assistant.At the same time, some other practical factors must also be taken into account.For instance, we should consider whether two tutorials are delivered at the same time, and if so, they cannot be taught by the same TA; it is easy to see that if a TA teaches several tutorials of the same lecture, in other words, repeating the tutorials, then the TA can save time for preparation; it might be difficult for a lecturer to manage if there are too many TAs for the lecturer and hence it may be desirable to control the number of TAs for a lecturer.

Basic Optimization Model
To address the teaching assistant (TA) assignment problem, we develop an integer optimization model similar to Qu et al. [11].However, we will present rich extensions to the basic optimization in the next section.The notations used in the basic optimization model are listed below.
subject to: The objective function (1) maximizes the total number of tutorials that are taught by the most suitable TAs.Equation (2) imposes that all tutorials are taught.Equations ( 3) and ( 4) take into account the available time of each TA.Finally, (5) defines the domains of the decision variables.

Proposition 1. The above integer linear programming model cannot be solved as a linear program.
Proof.We construct an example to show that relaxing the integrality constraints may not lead to a correct solution.Suppose that there are two TAs and one tutorial; the tutorial requires two hours; the first TA is the most suitable but has only one available hour; the second TA, with two available hours, can teach the tutorial but is not the most suitable.It is evident that the only feasible solution to the problem is to let the second TA teach the tutorial.However, solving a linear program will require the first TA to teach for one hour and the second TA to teach for one hour.
The size of the above integer linear programming model is usually not large for several reasons.First, many courses do not have tutorials.Second, even in one department, there are several areas of specialization and TAs in one area of specialization can usually only teach tutorials for courses in this area.For example, in a mathematics department, there are at least three areas: pure mathematics, applied mathematics, and statistics.Even in the area of applied mathematics, there is, for instance, financial mathematics, chemical mathematics, medical mathematics, and operations research.TAs in one subarea may not be able to teach tutorials in other subareas.As a result, the overall model for a department can be decomposed for each area or subarea.Our numerical experiments in Section 5 show that the model can be solved by off-the-shelf solvers such as CPLEX.

Extensions to the Basic Integer Programming Model
The above basic integer linear programming model captures the most essential features of the TA assignment problem.However, there are many other realistic factors that must be addressed before the above model can be put into use directly or put into use after minimal manual adjustment.
We elaborate these factors and present approaches on how to model these factors.

Time Conflict of Two Tutorials.
Usually the schedules of the tutorials are a priori determined.For instance, if the course "Basics of Calculus" has 3 tutorials, then the 3 tutorials are usually scattered uniformly in a week.As a result, it is likely that one tutorial (say, tutorial  is from 4:00 pm to 5:00 pm on Monday) has time overlap with another tutorial (say, tutorial  is from 3:00 pm to 5:00 pm on Monday).In this case, the two tutorials cannot be taught by the same TA.
To address this difficulty, we define a new binary parameter   , which equals 1 if and only if tutorial  and tutorial  have no time conflict, meaning that they could be taught by the same TA.We add the following constraints to the basic model to formulate the time constraints: [M1]:   +   ≤ 1 +   ,  ∈   ∩   ,  ∈ ,  ∈ ,  < .(6) Equation ( 6) means that, for each TA  ∈ , if two tutorials  and  have time conflict, that is,   = 0, then the TA can teach at most one of them because   +   ≤ 1 +   = 1.Proposition 2. In constraints (6) if there are a set of tutorials denoted by Ω such that   = 0, ∀ ∈ Ω,  ∈ Ω, and  < , then we can strengthen the constraints by combining some of them to one constraint: Proof.The results hold trivially based on observation.

Repetition of Tutorials
. Some tutorials may belong to the same course, for example, "Basics of Calculus," and in these tutorials TAs deliver the same contents to students.The tutorials are repeated for two reasons.First, the tutorial class can have a small size of students to facilitate interactions among the students and between students and the TA.Second, repeating the tutorials could provide students with the flexibility of choosing the time slot, choosing the TA, and possibly attending the tutorial twice to improve the learning outcomes.It is convenient for a TA to teach several tutorials that belong to the same course so that she could save time for preparation.
To incorporate the advantage of assigning several tutorials that belong to the same course to one TA, we first define a weight  to represent the benefit of assigning one more same tutorial to a TA.The weight  should be understood to be the value of the saved preparation time by TA.We further define a set  to be the set of courses with at least two tutorials.The set of tutorials that belong to course ℎ ∈  is defined to be  ℎ .We define new decision variables  ℎ to be the number of tutorials for course ℎ ∈  that are assigned to TA  ∈ .The objective function (1) should be revised to and the following constraints should be added: Equation ( 9) counts  ℎ and the new objective function (8) has the extra term  ∑ ℎ∈ ∑ ∈ max( ℎ − 1,0).It should be noted that the extra term  ∑ ℎ∈ ∑ ∈ max( ℎ − 1,0) has the "max" operator that makes the model nonlinear.We propose the following method to linearize the objective function (8).To make the model clear, we explicitly define the new sets, parameters, and decision variables.
Proposition 3. In constraints (13)  Ten random instances are generated for each model in each combination, and therefore we have a total of 10 × 5 × 9 = 450 instances.The instances are generated as follows.In [M0], for each tutorial-TA combination, there is 1/3 chance that the TA cannot deliver the tutorial, 1/3 chance that the TA can but is not the most suitable, and 1/3 chance that the TA is the most suitable for delivering tutorial; the minimum number of tutorials that must be delivered by a TA is 0; the maximum number of tutorials that can be delivered by a TA is an integer uniformly drawn between 1 and 3; the minimum number of available hours per week for a TA is 0; the maximum number of available hours per week for TA is an integer uniformly drawn between 1 and 5; the number of contact hours required for a tutorial is an integer uniformly drawn between 1 and 2. In [M1], five pairs of tutorials are randomly chosen to have time conflict.In [M2], the number of courses is equal to half the number of tutorials and each tutorial is randomly assigned to a course; the weight  is set at 0.33.In [M3], the maximum number of TAs for a course is an integer uniformly drawn between 1 and 3.In [M4], the maximum number of days a TA works is an integer uniformly drawn between 1 and 5.We report the average CPU time required to solve one instance for each model over the ten random instances in Table 1.It can be seen that all of the models can efficiently be solved.This demonstrates the practical relevance of the proposed models.

Conclusions
In this paper, an integer programming model is developed to maximize the teaching quality by assigning most appropriate teaching assistants to their tutorials.The model is very useful for teaching units as (1) it can improve teaching quality by allocating suitable teaching assistants to teach the tutorials; (2) the teaching allocation does not need to be manually allocated, which is a time-consuming process; and (3) the maximum teaching load of each staff will not be violated as it is modeled as hard constraints.Some extensions, which are formulated as mixed-integer linear programming models, are further addressed to consider more practical factors.This includes the following ones: (1) we consider whether two tutorials are delivered at the same time, and if so, they cannot be taught by the same TA; (2) we increase the number of repetitions of tutorials so that it is easier for the TAs to save time for preparation; (3) a lecturer can control the number of TAs for her/his class.Numerical experiments show that these models can efficiently be solved by off-theshelf solvers, demonstrating the practical relevance of the proposed models.
Sets : set of tutorials   : set of tutorials that TA  ∈  may teach;   = { ∈  |  ∈   } : set of TAs   : set of TAs who can deliver tutorial  ∈ ;   = an index  ∈  that refers to a particular tutorial : an index  ∈  that refers to a particular TA : the minimum number of available hours per week for TA  ∈   max  : the maximum number of available hours per week for TA  ∈ Defined Sets: set of courses with at least two tutorials  ℎ : set of tutorials that belong to course ℎ ∈   ℎ ≤  ℎ , ℎ ∈ ,  ∈

Table 1 :
the value of  could be set to | ℎ |.Proof.The upper bound of  ℎ is | ℎ |.Therefore, it is sufficient to set  to | ℎ | in constraints (13).4.3.Controlling the Number of TAs for One Course.Some lecturers may want to control the number of TAs for his course.For instance, no lecturer wants to have 12 TAs to teach his tutorials.To reflect this requirement, we define parameter  ℎ as the maximum number of TAs that are assigned to the tutorials for course ℎ ∈ .We further define intermediate binary decision variables  ℎ which equal 1 if and only if TA  ∈  teaches at least one tutorial for course ℎ ∈ .(15) the value of  could be set to | ℎ | because the upper bound of  ℎ is | ℎ |.Controlling the Number of Days a TA Works.A TA may like to teach five tutorials, but she may not like to teach one tutorial every day.To reflect this requirement, we define parameter   as the maximum number of days TA  ∈  would like to teach.Evidently,   = 1, 2, 3, 4, 5.We further define set Θ  to be the set of tutorials taught on day  = 1, 2, 3, 4, 5, where 1 means Monday, 2 means Tuesday, and so on.We define intermediate binary decision variable   that equals 1 if and only if TA  ∈  needs to teach on day  = 1, 2, 3, 4, 5.The following constraints could capture the requirement regarding the number of days a TA works:[M4]:   ≥   ,  ∈ ,  = 1, 2, 3, 4, 5,  ∈ Θ  Computation time (s) of the models.
We carry out extensive numerical experiments to demonstrate the computational efficiency.The experiments are implemented on a PC with 3.30 GHz of Intel Core i5 CPU and 4 GB of RAM.The algorithm is coded in Matlab 2011b, calling