Online voluntary mentoring: Optimising the assignment of students and mentors
OOnline voluntary mentoring: Optimising theassignment of students and mentors
P´eter Bir´o and M´arton GyetvaiInstitute of Economics, CERS, andCorvinus University of Budapest { peter.biro,marton.gyetvai } @krtk.mta.hu February 15, 2021
Abstract
After the closure of the schools in Hungary from March 2020 due to thepandemic, many students were left at home with no or not enough parentalhelp for studying, and in the meantime some people had more free timeand willingness to help others in need during the lockdown. In this paperwe describe the optimisation aspects of a joint NGO project for allocatingvoluntary mentors to students using a web-based coordination mecha-nism. The goal of the project has been to form optimal pairs and studygroups by taking into the preferences and the constraints of the partici-pants. In this paper we present the optimisation concept, and the integerprogramming techniques used for solving the allocation problems. Fur-thermore, we conducted computation simulations on real and generateddata for evaluate the performance of this dynamic matching scheme underdifferent parameter settings.
Keywords: assignment, resource allocation, matching under preferences,integer programming computational simulation.
In Hungary, after the escalation of the COVID-19 virus, the government an-nounced the closure of all schools on 13 March 2020 (Friday evening) with effectfrom 16 March, and they requested all the schools (both primary and secondaryschools for students at ages between 6 and 18) to start online/distance educa-tion immediately. There was no central recommendation about the technologyand methodology used, so this was decided mainly by the board of each schoolusing a wide range of online platforms (e.g. Google Classroom, MS Teams, etc)or just sending the weekly assignments by post.A large number of students had difficulties to follow the distance education,partly because of the lack of equipment or internet connection, but also becausethe parents were not be able to help them at home, due to their lack of knowledge1 a r X i v : . [ c s . G T ] F e b n special subjects or just because of being at work (e.g., including those parentsworking intensively in health care). At the same time, many people, especiallythe elderly ones had to stay at home with spare time. Furthermore, in Hungarythere is also a scheme for secondary school students for voluntary work, whichthey can get credit for (that counts extra points at the centralised universityadmission), and very few possibilities remained for such services under the strictsocial distancing rules imposed. Therefore, there was both a large need formentoring, and also a significant amount of potential mentors, both elderly andyoung.A project was proposed in early April and then officially started with theopening of a web-application ( onkentesmentoralas.hu ) in early May in a co-operation of three parties. On behalf of the Institute of Economics of CERS,the Mechanism Design and the Education Economics research groups offeredtheir help in designing a mechanism for allocating students to mentors. TheHungarian Reformat Church Aid is a humanitarian organisation, which had alink to a governmental action group devoted to coordinate the voluntary helpin Hungary. The third party in the project was Matching problems under preferences in two-sided matching markets have beenwidely studied both in mathematics, computer science and economics, see e.g. arecent book on the algorithmic aspects of this topic by Manlove [24]. Beside thetheoretical studies, practical applications have been designed and implementedin many areas, see a recent survey on this [9].When both sides of the application have preferences, then the concept of sta-ble matchings was proposed in the seminal paper of Gale and Shapley [18] andhas been used since in many applications, such as resident allocation, collegeadmission and school choice. However, there can be some special features thatcan make the stable matching problem computationally hard to solve. In thiscase one robust approach to tackle these problems is (mixed) integer linear pro-gramming, that has been used recently for the hospital–resident problem withcouples [11], ties [22, 17], college admissions with lower and common quotas [4],and stable project allocation under distributional constraints [5]. In this paperwe also use MILP technique for solving the underlying optimisation problem.There are also many application, where preference of one or both sides domatter, but the solution is not necessarily stable or fair in some sense, butrather optimal. Examples are the allocation of papers to reviewers [19], courseallocation [15], or arranged marriages [16]. Scheduling problems are also closelyrelated, see a paper linking the two lines of researches [12].In our application of allocating mentors to students we can observe a dy-namic nature, so the literature on online matching is also related. Naturalapplications for online matching with preferences are deceased organ allocation[25], [3], allocation in social housing [23], [14], electric vehicle charging [20], orlending decisions [28].There are also applications, which are dynamic in nature, but instead ofonline matching protocols, batch allocations are also used. An important exam-ple is refugee allocation, where preferences of one or both sides may be takeninto account, together with some objective goals of maximising the likelihood ofsuccessful settlement of the refugee families, see [29], [6], [8]. Similar approachesare used in the allocation of foodbanks [26].3inally, an important example for an application where optimisation is usedfor the allocation are the kidney exchange programmes (KEPs), where kidneypatients with incompatible donors may exchange their willing donor amongthemselves. Seminal work on IP models for KEP’s is presented in [1] and [27],a recent survey is [7], and the European optimisation practices are summarisedin [13]. It is interesting to note that online matching is used in the US, partlybecause of the competition in between multiple national programmes [2]. How-ever, in Europe the national programmes use batch allocations, by conductingthe matching runs in 3-4 months regular intervals [10].
We describe the allocation mechanism that we designed with our partners andimplemented in the applications. The design is complex, it takes into accountthe preferences of both sides, and also some objective factors. The main noveltyand challenge in our solution concept is that besides mentor-student pairs wealso seek to form study groups, that makes the underlying optimisation problemmore elaborate.Our main theoretical contribution is an IP formulation that accommodatesall the complex constraints and objectives of our model.These results are complemented by computational experiments, where thegeneration of the instances is based on the real data that we collected in thefirst period of the application. In our simulation we analyse the effect of someoptimisation policy decisions with regard to various performance measures. Wealso test the effects of having shorter or longer matching periods, and the possi-bility of giving priority based on the waiting time. The results of the simulationhave been used to refine the design and optimisation policy of the application.
When describing the formal model, first we give a general description, then wespecify the variables for the solution, and finally we describe the input data forthe preferences, priorities and further objective factors.
General description
We have a set of students A = { a , a , . . . , a k } , mentors B = { b , b , . . . , b l } ,and subjects S = { s , s , . . . , s m } , the latter being specified with the year aswell (e.g., year 10 - Chemistry). We would like to form pairs (each consistingof one student and one mentor) and groups (each consisting of a set of studentsand one mentor) so that the online mentoring is conducted in these pairs andgroups in weekly periods. For every pair and group formed we also specify thesubjects that they are going to study and the amount of time that they aresupposed to spend with each subject during a week.4s the input of the problem the students give the list of subjects that theyneed mentoring in a preference order, specifying also the amount of time theywish to spend with a mentor per week (integer number between 1 and 3) foreach subject. So a student may ask 2 hours of mentoring in Maths and 1hour in Physics with higher preference for the former. The students can giveinformation on why they need mentoring (e.g., being a child of a single motherwho works in a hospital as a nurse), and about their objective circumstanceswith regard to their social background, such as the number of children/parentat home, etc, that can result in additional priority for them. Furthermore, theyalso provide information on the class they attend and whether they have ongoingonline education from that subject, if they are weak, medium or good students(by giving their final grade in the last semester), and whether they are willingto accept mentoring in groups or only in pairs. Finally, we ask what equipmentthey have at home (PC, tablet, smartphone).Regarding the mentors, we ask in which subjects they are willing to mentorstudents (including the years), and whether they have preference over the sub-jects, and some characteristic of the students, such as their age, how strong thestudents are in the subject, and their social status (some mentors can be espe-cially keen to teach socially disadvantaged or weak-performing students, somemight not). We ask the total number of hours that they wish to spend withmentoring per week and whether they are willing to do mentoring in groups.The organisers of this project decided that some of the above mentionedpriorities will only apply for such mentors that express their agreement. Forinstance, every mentor can tell whether she wishes to teach highly disadvantagedstudents, and if they say no then no priority is given for those students whenconsidering to allocate them to this mentor. However, if the mentor states thatshe would be happy to teach highly disadvantaged students then a high weight isadded. If the mentor is ignorant about this aspect, then a small weight is addedfor this priority factor. The same applies for the criterion whether the studentis a weak student with low grades from the last semester. If a mentor expressesthat she does not want to teach weak students then no priority is given forthese pairs, but if she wishes to teach weak students then extra weight is given.Thus we take the preferences of the mentors into accounts for some of thesecontroversial priorities, but for some others, e.g., number of children/parents inthe family, we always give an extra priority. In this way the pairs and groupresulted are more likely to be mutually satisfying. Notations: basic elements of the solution
As the basic building block of the optimisation model we have the set of possiblepaired mentoring activities E , where each activity e consists of a triple e =( a i , b j , s k ). Activity e is possible if student a i requested subject s k and mentor b j also offered s k .Let S ( a i ) and S ( b j ) denote the set of requested subjects by student a i andoffered subjects by mentor b j , respectively. Furthermore, student a i requested q ( a i , s k ) hours per week in subject s k and mentor b j offered Q ( b j ) hours per5eek in total. We write that ( a i , s k ) ∈ e if there is b j ∈ B such that e =( a i , b j , s k ), and similarly, we write that ( b j , s k ) ∈ e if there is a i ∈ A such that e = ( a i , b j , s k ).In the description of a solution, let x e denote the amount of hours scheduledfor activity e in a pair, and let y e be a binary variable denoting whether activity e is performed in a pair, i.e. y e = 1 ⇐⇒ x e >
0. In our practical applicationwe restrict x e ∈ { , , , } . Let P denote the set of pairs formed, i.e., P = { e ∈ E : y e = 1 } .Besides pairs, we also allow the formation of groups, whose final set in thesolution will be denoted by G . Each group g ∈ G consists of a triple g =( A g , b j , s k ), where A g ⊂ A is the subset of students involved in group g withmentor b j and subject s k . Here x g denotes the amount of time scheduled forgroup g , x g ∈ { , } , if g is formed. (Note that x g is not a variable in our MILPmodel, we use that only to describe our solution.)In our model and application, for simplicity, we assume that every mentorcan have at most five groups to supervise in a subject. Thus, for every mentor b j who is willing to teach groups in subject s k , we create five potential groups g k, j , g k, j , . . . , g k, j with capacity c kj each. We introduce a binary variable y k,tj to denote whether the potential group g k,tj is realised, in which case there areat least two and at most c kj students involved. Let x k,tj denote the number ofhours allocated for its weekly operation, where x k,tj ∈ { , , } . Note that y k,tj and x k,tj are the variables of our mixed integer programming formulation.For every activity e = ( a i , b j , s k ), we create a binary indicator variable y te denoting whether this mentoring activity is performed in potential group q k,tj .Therefore the set of students involved in this group will be A g = { a i ∈ A : e =( a i , b j , s k ) , y te = 1 } . The following formula summarises the feasibility conditionfor realising potential group q k,tj . y k,tj = 1 ⇐⇒ ≤ (cid:88) e :( b j ,s k ) ∈ e y te ≤ c kj For example, a potential group g k, j for mentor b j can be on 7-year Maths ( s k )for at most 5 students ( c kj = 5). If this group is realised ( y k, j = 1), a mentoringgroup g = ( A g , b j , s k ) will be formed where 2 ≤ | A g | ≤ x g = x k, j hoursper week.Regarding the personal mentoring hours in a group, as students in a groupmay have different requests, we estimate the actual mentoring hours by variable x te , where we assume that x te ≤ q k,tj and x te ≤ q ( a i , s k ), where e = ( a i , b j , s k ). One can consider to set these variables to be continuous in the interval [0 , references, priorities and further objective factors Here we describe the input more formally listing the information provided bythe users with regard to their attributes and preferences.
Students’ attributes and preferences
For every student a i , we collect the following attributes and preferences: • year i ∈ { , , . . . } : which year of study she attends. • class i : exact class she attends in the school (text). • P A i : preference list consisting of the subjects she requested mentoring(e.g., Math, Physics, History). Let rank i ( s k ) denote the rank of s k in P A i for s k ∈ S ( a i ). • RA i : number of requested hours for each requested subjects in the orderof preferences. Note that in our LP model q ( a i , s k ) denotes this constantfor each subject s k ∈ S ( a i ). • grades i : her grades from the last semester in the subjects requested, let gr ( a i , s k ) denote the grade of a i in subject s k , that is a value in between1 and 5 in Hungary (5 being the best, and 1 meaning Failed). • group i ∈ { , } : the value is 1 if a i is willing to accept mentoring in groups. • equipment i ∈ { , } : the value is 0 if she has a smartphone or tablet andthe value is 1 is she (also) has a laptop. • help i ∈ { , , } : self-reported neediness, whether a i has help at home (0=yes, 1= limited, 2= no)When forming the groups, the similarities between the students can be im-portant, therefore for those students willing to get mentoring in groups we definethe following values for each pair of students a i and a i (cid:48) . • sc i,i (cid:48) : the value is 1 if they attend the very same class and 0 otherwise. • dr ki,i (cid:48) = | q ( a i , s k ) − q ( a i (cid:48) , s k ) | : the difference between the requested amountsof time in subject s k . • dg ki,i (cid:48) = | gr ( a i , s k ) − gr ( a i (cid:48) , s k ) | : the difference between their last year’sgrades in subject s k . • de i,i (cid:48) = | equipment i − equipment i (cid:48) | : this value is 0 if they have the sameequipment and 1 if they have different ones.Furthermore, for those students wishing to get priority, we also ask questionabout her social background and circumstances, based on which we award thefollowing scores for student a i . 7 SD i ∈ { , , , } : a measure showing how socially disadvantaged is thestudent (3 being the maximum value). • N H i : an index for not enough help at home with a value between 0.5 and2.5 showing how many children are for one parent at home. Thus its valueis a half-integer between 0.5 and 2.5. • W S i ∈ { , , , } : showing how weak is the student based on her gradesand repeated years. • CY i ∈ { , , } : how critical the year is for the student, i.e, for last yearof studies = 2, and for one before the last year = 1. Mentors’ preferences
Here we describe what preferences the mentors provide on the subjects andstudents. • P M j : preference list of b j on the subjects she offers for mentoring (e.g.,Math, Physics, History). Let rank j ( s k ) denote the rank of s k in P M j for s k ∈ S ( b j ). Note that this may be set differently for the three differentage-categories, years 1-4, 5-8, 9-12. • Y M j ∈ { , , } : most preferred age of the student for b j (0= Year 1-4,1= Year 5-8, 2= Year 9-12). • DM j ∈ { , , } : whether b j is willing to mentor socially disadvantagedstudents (0= rather not, 1= does not matter, 3= would be very keen). • GP M j : grade-preference, = N if no preference is given, = W for weak,= M for medium, and = S for strong students. From this information, wecreate the following constants: P M j = 0 if GP M j = N and P M j = 1 if GP M j (cid:54) = N ; SM j = 0 if GP M J ∈ { M, S } , SM j = 1 if GP M J = N and SM j = 3 if GP M J = W ; finally W M j = 0 if GP M J = N , W M j = 1 . GP M J = W , W M j = 3 if GP M J = M , and W M j = 4 . GP M J = S .Here, P M j is an indicator whether b j has grade-preferences; SM j showhow willing b j is to mentor a weak student; finally, W M j is the bestaverage grade of the student according to b j ’s preference. In this section we show how we can formulate our problem as a mixed integerlinear program.First we describe the basic constraints for the feasibility of a solution. Wesummarise the feasibility requirements as follows.
Feasibility constraints:
8. Only use mutually acceptable paired mentoring activities in the solution(i.e., the subject should be requested by the student and offered by thementor linked).2. Only those mentors can have groups and only those students can be as-signed to groups who expressed their willingness to teach or study ingroups, respectively.3. Have at least two and at most a limited number ( c kj ) of students in eachgroup.4. We obey the weekly capacities of the mentors.5. The mentoring hours of a pair in a subject should not exceed the requestedamount by the student, and never be more than 3. The mentoring hoursper week for an active group is either 2 or 3.6. Every student can be mentored by at most one mentor in each subjectthat she requested.The first two conditions are automatically satisfied, since we only work withmentoring activities, where the subjects are mutually acceptable by both parties(i.e., requested by students and offered by mentors). Similarly, we only createpotential groups for those mentors who are willing to teach in groups and weonly have variables y te and x te for those students who are willing to study ingroup.Regarding the pairs, the connection between x e and y e can be establishedwith the following formula. y e ≤ x e ≤ · y e for every e ∈ E (1)A similar formula is added for each potential group, but with the minimumnumber of hours being 2.2 · y k,tj ≤ x k,tj ≤ · y k,tj for every b j ∈ B, s k ∈ S ( b j ) , t ∈ { , , } (2)For the realisation of potential groups, we set the following conditions.2 · y k,tj ≤ (cid:88) e :( b j ,s k ) ∈ e y te ≤ c kj · y k,tj (3)Every activity can be used either in a pair or in a group: y e + (cid:88) t y te ≤ e ∈ E (4)The above constraint is also enforced by the more general requirement thatevery student can have at most one mentor in each subject:9 e :( a i ,s k ) ∈ e (cid:32) y e + (cid:88) t y te (cid:33) ≤ s k ∈ S ( a i ) , a i ∈ A (5)For later usage in the objective function, we introduce some new variables β ki indicating whether student a i is involved in mentoring activity in subject s k and γ i indicating whether student a i is involved in any mentoring activity. Welink these variables with the basic variables as follows: β ki = (cid:88) e :( a i ,s k ) ∈ e (cid:32) y e + (cid:88) t y te (cid:33) for every s k ∈ S ( a i ) , a i ∈ A, and let γ i ≤ (cid:88) s k ∈ S ( a i ) β ki ≤ M · γ i for every a i ∈ A, where M is a large enough number, e.g., the number of subjects any studentcan possibly request mentoring (5 in our case).The weekly capacity of the mentors should not be exceeded: (cid:88) s k ∈ S ( b j ) (cid:88) e :( b j ,s k ) ∈ e x e + (cid:88) t = { ,..., } x k,tj ≤ Q ( b j ) for every b j ∈ B (6)The mentoring hours of a pair in a subject should not exceed the requestedamount by the student: x e ≤ q ( a i , s k ) for every e ∈ E, ( a i , s k ) ∈ e (7)When computing the volume of a solution, for groups we assume that theactual mentoring hours for a student ( x te ) is upper bounded by her originalrequest in this subject, and by the number of mentoring hours of the group.This can be formalised with the following constraints x te ≤ q ( a i , s k ) for every e ∈ E, ( a i , s k ) ∈ e, t = { , . . . , } (8) x te ≤ x k,tj for every e ∈ E, ( a i , s k ) ∈ e, t = { , . . . , } (9)Now, we turn our attention to the objectives. Possible objectives
1. Maximising the number of students getting a mentor.2. Maximising the number of pairs and groups realised with different weightsfor pairs and groups. 10. Maximising the number of mentoring hours realised with different weightsfor pairs and groups.4. Satisfying the preferences of the students and mentors as well with regardto the subjects.5. When forming groups, we improve cohesion if we have students a) fromthe same class, b) with the same type of equipment, c) their former gradesbeing as close as possible, and d) the number of scheduled hours for thegroup to be close to what the assigned students requested in that subject.6. Giving priority to certain students in needs (depending on the preferencesof the mentors for some criteria, such as social status and student pastperformance).7. When the same mentor-student pair can be involved in paired mentoringactivities in multiple subjects then this is preferable.We note that additionally one might wish to consider the genders of thementor-student pairs, or whether they live in the same city, geographic area, ormaybe if they attend the same school in the case of student mentors.Let w g denote the discount for a mentoring activity being realised in a group,as opposed to a pair. In our default setting, we use w g = 0 .
7, which means thateach mentoring hour in a group counts 0.7 hour in a pair. This is a crucialparameter, since it highly affects the share of groups in the final solution.Now we explain the rational behind each of the above listed objectives andwe formulate the corresponding linear terms for the objective function of thelinear program. The relative weights of these terms in the objective functionwere up to the expert choices by the organisers of this application. Note thatthe relative weights sum up to 100, so they can be interpreted as percentagesshowing the importance of the objective criteria.1.
Number of students allocated.
Allocating mentors to as many stu-dents as possible.
Rational pros:
We would like to involve as many students as possible inthe mentoring, even if for one subject requested.
Rational cons:
If this objective is dominating then we would have manymentoring activities with 1 hour only that can be inefficient for both stu-dents and mentors.
Relative importance in the application:
Linear term:
With the usage of variables γ i , we can simply express thisobjective as follows. (cid:88) a i ∈ A γ i Number of pairs and groups created.
Maximising the number ofpairs and groups realised with different weights for pairs and groups.11 ational pros:
We would like to create as many pairs and groups as pos-sible, to create the links between the parties.
Rational cons:
If this objective is dominating then we would have manymentoring activities with 1 hour only for pairs and 2 hours for groups thatcan be inefficient for both students and mentors.
Relative importance in the application:
Linear term:
Similar to the formula for β i , we express this objective asfollows. (cid:88) e ∈ E (cid:32) y e + (cid:88) t w g · y te (cid:33) Volume.
Maximising the number of mentoring hours realised with dif-ferent weights for pairs and groups.
Rational pros:
The number of mentoring hours is the most importantmeasure.
Rational cons:
The solution might be unbalanced, some students may getmany hours while some others may get none.
Relative importance in the application: Linear term:
Similar to the previous formula we now use the hours ratherthan the indicator variables, resulting in the volume of the solution. (cid:88) e ∈ E (cid:32) x e + (cid:88) t w g · x te (cid:33) As the volume will be the main objective in our optimisation, we will setthe relative weights for each mentoring activity accordingly. Let w e denotethe final weight of activity e in a pair and let denote w ge is the final weightof an activity in a group. We suppose that w ge = w e · w g = w e · . w e will be a sum of weights with respect todifferent objectives. The first objective is the volume, that we weighted50 for all activities, so let w we = 50 for every activity e .4. Preferences.
Satisfying the preferences of the students with regard tothe subjects, and the preferences of the mentors on the subjects and onthe ages of students.
Rational:
The higher the need of the student for a subject the moreimportant for her to get help, and the preference of the mentor shouldalso be taken into account for the subject and the age of the studentsupervised.
Relative importance in the application: Linear term:
Each activity e = ( a i , b j , s k ) will get an additional weightaccording to the preferences of the students and mentors as follows, thatwe denote by w pe . Let w pe = (6 − rank i ( s k ))+(6 − rank j ( s k ))+3 ∗ agepref ji ,where each of the first two terms gives a value between 1 to 5, dependingon how preferable this subject is for the student/mentor, and the last term12ives 3 if the age of the student is preferred by the mentor (among years1-4, 5-8, or 9-13).5. When forming groups, we shall preferably have students from the sameclass, with the same type of equipment, have their former grades as closeas possible, and have the number of scheduled hours to be close to whatthe assigned students requested in that subject. Rational:
Two students from the very same class are favorable to be putinto the same mentoring group, as they receive the same distance edu-cation from their home school. Forming groups for students with similarstrength can improve the efficiency of mentoring. Finally, the requestedhours by the students in a group should be close to the scheduled hours.Regarding the equipment, if one student in a group has a laptop and an-other only a tablet or smartphone then the possible interactions can belimited between them and the mentor (we consider tablets and smart-phones to be equally useful).
Relative importance in the application: Linear term:
For any two students a i and a i (cid:48) who are both willing to ac-cept mentoring let us introduce a binary variable z pi,i (cid:48) for every potentialgroup p = ( b j , s k , t ), where both a i and a i (cid:48) could belong to, i.e., if thereexist e = ( a i , b j , s k ) and e (cid:48) = ( a i (cid:48) , b j , s k ) The indicator variable z pi,i (cid:48) = 1if both a i and a i (cid:48) are assigned to p in the solution. This can be achievedwith the following new constraints. z pi,i (cid:48) ≥ y te + y te (cid:48) − p = ( b j , s k , t ) , e = ( a i , b j , s k ) , e (cid:48) = ( a i (cid:48) , b j , s k )(10) z pi,i (cid:48) ≤ y te for every p = ( b j , s k , t ) , e = ( a i , b j , s k ) (11) z pi,i (cid:48) ≤ y te (cid:48) for every p = ( b j , s k , t ) , e (cid:48) = ( a i (cid:48) , b j , s k ) (12)Furthermore let z ki,i (cid:48) = (cid:80) p : s k ∈ p z pi,i (cid:48) , where z ki,i (cid:48) is the indicator variableshowing whether a i and a i (cid:48) are in the same group for subject s k .The accumulated weight of group coherence criteria is GC ( z ) = (cid:88) a i ,a i (cid:48) ∈ A (cid:88) s k ∈ S (10 · sc i,i (cid:48) − · de i,i (cid:48) − dg ki,i (cid:48) − dr ki,i (cid:48) ) · z ki,i (cid:48)
6. Giving priority to certain students in needs (depending on the preferencesof the mentors for some criteria, such as social status and student pastperformance).
Rational:
Social welfare can improve if the students in need receive thementors. However, the criteria of being socially disadvantaged or being aweak student can be controversial for some mentors, so we allow them to13xpress their willingness to get paired with such students.
Relative importance in the application: Implementation with weights:
The combined social priority weight of e = ( a i , b j , s k ), denoted by w se , isas follows: w se = 3 · SD i · DM j + W S i · SM j +(1 . −| gr ( a i , s k ) − W M j | ) · P M j +2 · CY i +( N H i + help i )7. When the same mentor-student pair can be involved in paired mentoringactivities in multiple subjects then this is preferable. Rational:
It can be useful if not too many different mentors supervise thesame student.
Relative importance in the application: Linear term:
We introduce a new binary variable m ji to denote whether a i is mentored by b j in any subject in a pair with the following constraints. m ji ≤ (cid:88) e :( a i ,b j ) ∈ e y e ≤ · m ji (13)We shall minimise the number of mentoring pairs with a weight w m , thatis let M P ( y ) = w m (cid:88) i,j m ji where we set w m = 5 in our application. Final objective function
For w e = w we + w pe + w se (and w ge = w e · w g ), the final objective function is: (cid:88) e ∈ E w e · x e + (cid:88) t w ge · x te + GC ( z ) − M P ( y ) (14)To summarise, the main objective is to maximise the volume of the men-toring activities with considering the preferences and the social priorities of thestudents, improving the group cohesion, and decreasing the number of mentorsper students. During the first operating time of the allocation scheme (1 May to 15 June2020), the number of students who registered at the webpage was 14, while thenumber of mentors was 56. Because of the low number of student’s registration,14e could not observe the true potential of the model and application. Thereforewe decided to conduct computational experiments on partly generated data.Because of the low amount of observations, the main goal of our simulationwas to test our MILP model, rather than to give accurate prediction on theperformance of the scheme. However, we still tried to use the data available toget as realistic generated data as possible.We computed the correlations amongst the mentor variables, but, we onlyfound weak correlations. Hence we generated the variables independently, byrolling a biased dice independently for each variable and observation (studentand mentor). We used the available data to estimate these biases. In thissection, we describe the way we generated each variable. • School-ratio:
There were 14 students registered, out from 9 differentschools. Therefore in the simulator, we considered the student-school ratioto at most 67%. So when we considered 100 students, we generated 67schools, and for each student, we selected a school with replacement. • Number of subjects:
The average number of subjects requested perstudent was 2, with four as maximum. We used the following distributionfor the amount of subjects: (1: 50 %; 2: 30 %; 3: 10%; 4: 10%). • Time ( q ( a i ; s k ) ): The average time required by the students for mentoringper week in a subject was around 2 hours with a minimum of 1 andmaximum of 4. We used the distribution of (1: 33%; 2: 33%; 3: 25%; 4:9%). • Grades:
For the distribution of grades, we got almost every possibilityfrom the data, except grade 1, which means Failed in Hungary. In thesimulation, we generated all types of grades uniformly with the additionof 0, where 0 means the student left the bracket blank (which was 25% ofthe real cases). • Group: for the probability of a student acceptinggroup-mentoring. • Help:
For the three possible values we received 5-5-4 responses, respec-tively. Therefore, we decided to generate these values randomly with equalprobability. • Equipment:
All of the participants chose 0. We left this parameter outin the simulation because it is not crucial for the optimisation model. • Year:
Most of the registered students were from years 4-8 (92%), onlyone student was in year 11. Since the programme started at the end ofthe spring semester and after the matriculation exam, we assume that15he secondary school students were underrepresented in the application.Therefore we generated the students’ years uniformly from year 4 to 12. • Prior1 ( SD i ):
13 students out of 14 chose option 0, and the last re-maining student chose option 1. Therefore we generated higher ration ofunderprivileged students by using the (0: 65%; 1: 20%; 2: 10%; 3: 5%)distribution for this variable. • Prior2 (
N H i ): In the generator, we used the result of a 2016 censusof the Hungarian Central Statistical Office ( ) to generate the data. According to this censusthe ratio of the single-parent family is 18 . weconsidered simply 4).Number of children probability1 69.2%2 23.9%3 5.2%4 or more 1.7%Table 1: Families by number of children, ( )Therefore, for each student, we generated the number of parents and thenumber of siblings independently, according to the above described statis-tics. • Prior3 (
W S i ): In the real data, 64% of the students had 0 points, 28%had two and only one student had 3 points (no student got 1 point for thisvariable). We approximated the values of this variable with the Poissondistribution, where we set the expected value equal to the mean of thereal data (0 . • Prior4 ( CY i ): This point depends directly on the year of the student, soit is computed accordingly. • Matriculation:
This depends on the year of the student. Thereforewe only considered this variable when the student was from year 11 or12. Most students officially take the matriculation exam in year 12 inHungary, however, there is an option to advance some exams to previousyears. Hence we randomised this value for the students from year 11, byassuming that 40% of them do not want to practice for the matriculationexams (so they got the ”N”-letter, meaning no matriculation), 40% goingfor the base exam and 20% of them selecting advanced exam.16 .2 Mentors
When we generated the characteristics of the mentors, we used the distributionstaken from the real data. Since 56 mentors registered into the program, we havenot made as many assumptions as in the case of the students. • Group:
54% of the mentors agreed to the possibility of mentoring ingroups. • Time ( Q ( b j ) ): For the time capacity of the mentors, first we generatedranges with a distribution, and then we choose uniformly the exact valuefrom the range selected. The time-range of a mentor was 1-3 hours with40% probability, 4-6 hours with 40% probability, and 7-10 hours with 20%probability. • Social ( DM j ): We used the (0: 50%; 1: 40%; 3: 10%) distribution,reflecting the real data. • Weak (
GP M j ): Here 85% of the mentors chose option N , therefore wealso used 85% for generating option N and 5% for each the other threeoptions. • Student-Age (
Y M j ): We used the (0: 5%; 1: 20%; 2: 15%; N: 60% (nopreference given)) distribution, reflecting the real data.
Overall, there were 15 different subjects offered for selection. We generated thedistribution of the requested subjects according to the distribution of the sub-jects offered by the mentors. The assumption behind this is that the demandsand the supply of the subjects shall be balanced in the long run. However, wealso added a random noise to modify the distribution for every instance.Not all of the subjects are for each year. Therefore the distributions arenormalised for each year with regard to the subjects available. A student canrequest mentoring in multiple subjects. According to the data, the maximumnumber of subjects requested was 4 with an average of two. As we alreadydescribed, we used the (1= 50%, 2 = 30%, 3= 10%, 4 = 10%) distributionto generate the number of subjects requested by each student, and then withthe consideration of the student’s year, we picked the subjects randomly with adistribution that is close to distribution of the subjects offered by the mentors.The mentors can also have multiple classes. In the data, the average numberof subjects per mentor was 2.9. However, the maximum number of the subjectswas 9 for some mentors. Therefore some extreme values have increased theaverage a lot. We generated the number of subjects of each mentor with respectto their total time offered. If the mentor’s total time was less than 4 hours thenwe generated 1-3 subjects uniformly. If the total time was less than or equal to6, then we generated 1-4 subjects uniformly. Finally, in the case of time at least7, we generated 1-5 subjects. Whenever we allocated a subject to a mentor, weassumed that the mentor is willing to teach students of all age in this subject.17 .4 Comparison of generated and real data
To compare the simulated data to the real data, we generated 1000 instanceswith the same amount of mentors (56) and students (14) as in the real data.Then we checked whether the values of the real data are within the interquartilerange of the values of the generated data.Regarding the evaluation measures, only the
Social -points were not insidethis range with any type of objective value. This is reasonable since in thereal data, we have not received enough values (see, for example, Prior 1 and2). Therefore we adjusted the distributions. Hence the generated data got inaverage higher results than in reality.Also, when we considered the group-weight of 1 in the objective function,several other measures were also outside the interquartile range. The reasonbehind this instability is the few numbers of students in the real data.
In this section first we describe how we simplified the evaluation measures byclustering them based on one-shot simulations, and then we also present theperformance analyses with regard to some basic parameters.
For the basic setting we generated 100 large instances with 80 students and 40mentors in each, and we conducted a single match run for each of them. Thissetup differs from the real data, since the student/mentor ratio is much higherin the generated data. Our aim was to analyse the effect of using differentobjective functions when the programme has an ideal student/mentor ratio.Then we adjusted the main parameters to create alternative solutions, asfollows.
Alternative parameters • we modify w g from 0.7 to 0.5, 0.6, 0.8, 0.9, 1 • for w g = 0 . w pe = (6 − rank i ( s k )) + (6 − rank j ( s k )) + 3 ∗ agepref ji to b) w pe = (6 − rank i ( s k )) + (6 − rank j ( s k )) + 3 ∗ agepref ji ,and to c) w pe = (6 − rank i ( s k )) + (6 − rank j ( s k )) + 3 ∗ agepref ji Thus we generated five times 100 instances by varying w g and another twotimes 100 instances by changing the preference based weights. So altogether weconsidered 800 instances. The run time for solving the MILP model for theseinstances was relatively short, the average run time was 167 seconds with amaximum of 3 hours and 12 minutes. 18 .2 Clustering the evaluation measures Besides the seven objectives given in Section 3, we considered the following fiveperformance measures in the evaluation of solutions.
Evaluation measures
1. Number of paired mentoring hours and group mentoring hours separately.2. Number of pairs and number of groups separately.3. Total capacity of the mentors used.We analysed how the above described five evaluation measures behave to-gether with the seven different objective functions, that we presented earlier.However, for the evaluation of the different objective functions, we decided toreduce the dimension of the twelve measures. So, we calculated the similaritiesbetween the various measures with hierarchical clustering. All of the resultswere considered in the estimation. Figure 1 presents the dendrogram of themeasures.We decided to reduce the dimension of the 12 measures to 6 (as the redrectangles show in Figure 1). We chose the six dimensions, because accordingto Principal component analysis, with 6 component 96% of the total informationcan be saved. Additional component only increased the saved information withless than 2%.According to the hierarchical clustering, we evaluated the
Number students , Preference and
Social measures independently from the other measures.From the
Mentor capacity , Solo time , Mentor pairs and
Solo number measures with using Factor analysis method, we created a factor variable. Wecovered 84% of the total information in this factor. We named this factor as solo-factor because it is related to the measures of the non-group classes. For everymeasure a higher value increase the accumulated factor score. Interestingly thenumber of Mentor-student pairs (Objective 7) has a behavior very similar tothe solo-class time and number.We created another factor for the measures of
Group connection , Group time ,and the
Group number . We named this factor as
Group-factor . We could cover73% of the total information inside one factor. Higher
Group connection valuedecreases the Group-factor’s score, while for the other two measures higher valuewill increase it.Finally, from the
Number Pairs Groups and
Volume we created the so-called
Quantity-factor . For all of these measures higher values increase the factor’sscore. We could cover 81% information within this factor.
Figure 2 presents the distributions of the three factors as well as the Number ofstudents, Social and Preference scores of the different objective functions.19 u m be r _ P a i r s _ G r oup s V o l u m e G r oup_ c onne c t i on G r oup_ t i m e G r oup_nu m be r N u m be r _ s t uden t s P r e f e r en c e S o c i a l M en t o r _ c apa c i t y S o l o_ t i m e M en t o r _pa i r s S o l o_nu m be r . . . . . . . Similarities of the measures H e i gh t Figure 1: The dendrogram of the measures. The measures are describedin section 3
Number students : Objective 1
Number Pairs Groups : Objective 2;
Volume : Objective 3;
Preference : Objective 4;
Group connection :Objective 5;
Social : Objective 6;
Mentor pairs : Objective 7;
Solo time/Group time : Evaluation measure 1;
Solo number/Group number : Evaluation measure 2;
Mentor capacity :Evaluation measure 3;On the graphs of the Solo-factor and Group-factor, the influence of group-weight ( w g = W G ) is clearly visible. As the group-weight increases, the Solo-score decreases and the Group-score increases. The two quadratic-preferencemodels had very similar results in these cases compared to the original
WG 0.7 model, although there was a small decrease in the group-score.The Quantity factor’s score increases with the group-weight. Therefore ifthe number of pairs and groups, or the volume is more important in the opti-misation, then the usage of higher group-weights seems to be more appropriate.Group-weight also increases a bit the number of matched students. However,the best solution for this measure is when the preference of the students wasconsidered quadratically.Naturally the Preference measure is very high for the two quadratic prefer-ence cases. However, it seems that the group-weight parameter did not haveany effect on this measure.Social points appear to be very stable, the group-weight does not have much20 oth_sqrstud_sqrWG_0.5WG_0.6WG_0.7WG_0.8WG_0.9WG_1 -2 -1 0 1 2 3 score
Solo factor both_sqrstud_sqrWG_0.5WG_0.6WG_0.7WG_0.8WG_0.9WG_1-3 -2 -1 0 1 2 3 score
Group factor both_sqrstud_sqrWG_0.5WG_0.6WG_0.7WG_0.8WG_0.9WG_1 -2 0 2 score
Quantity factor both_sqrstud_sqrWG_0.5WG_0.6WG_0.7WG_0.8WG_0.9WG_1 60 70 80 score
Number of students both_sqrstud_sqrWG_0.5WG_0.6WG_0.7WG_0.8WG_0.9WG_1 2000 4000 6000 score
Preference both_sqrstud_sqrWG_0.5WG_0.6WG_0.7WG_0.8WG_0.9WG_1 500 600 700 800 900 score
Social
Figure 2: The distribution of the 3 factors and theNumber of students, Preference and the Socialmeasures.effect on the social aspect of the programme. However, the quadratic preferencecases have a slightly worse result for this measure.
We investigated also how the frequency of the matching runs affects the resultsin a dynamic setting. We considered the first 300 days of the programme, bygenerating a registration date for each student and mentor. We assumed thatboth the students and mentors joined the application uniformly random in theperiod considered. We also generated a leaving day for each applicant as follows.Presumably, if a student does not get any mentor within a reasonable time inthis programme, then he or she may well seek mentors using other channels.21e assumed that the students stay in this programme for an average of twoweeks, with two days of standard deviation with the assumption of the normaldistribution (but they remain at least seven days). The mentors may also leavea programme if they do not get any student soon enough after registration,however, we assumed that they are be more patient than the students. Hencethey leave the programme 3 weeks after registration in average (with a minimumof two weeks). Again we used normal distribution with setting two days for thestandard deviation.We also extended the stay of those students and mentors, who got matched.For any student, who was in a solution of a matching run, we added sevenmore days to their leaving time. We extended the staying time of the matchedmentors with 14 days. Figure 3 presents the flow of a matching run.
Create poolof matching run Matching run → Decrease time of mentors → Delete matched subjectof student increase the stayof the matched members Figure 3: Flow of a matching runFirst, we set up the pool of students and mentors of a matching run. Apool of students consists of those students who have already registered into theprogramme, but have not left it yet and have demand for some subject. Thepool of the mentors are those who have time for teaching, and already registeredbut have not left the pool yet.Then we calculate the optimal matching according to the policy setting andwe remove the satisfied subject from the list of the demanded subjects of eachselected student. For the allocated mentors, we decrease their total time offeredfor teaching with the allocated time.Then we increase the remaining time of stay of the allocated students andmentors, with 7 and 14 days, respectively.We considered four different frequencies for the matching-runs: 1, 2, 7 and 14days. We evaluated 100 generated instances according to these four frequencies.In the optimisation model, we considered the Final objective function (14) withthe default group-weight w g = 0 . frequency Number of solo-classes 1 frequency
Number of solo-classes 4
Figure 4: The formed solo-groupsIn both cases, more frequent runs resulted in more solo classes. Between the1 and 2 daily runs, the difference is not large, however as the matching runsbecame less frequent, the difference is visible. Figure 5 presents the results ofthe number of groups formed. frequency
Number of groups 1 frequency
Number of groups 4
Figure 5: The formed groupsIn both cases, less frequent runs resulted in more groups. Therefore inde-pendently from the sizes of the matching problems, more frequent runs werebetter with respect to paired-mentoring, and less frequent runs were better forforming more groups.How about the qualities of the solutions of each frequency? In the previousfigures, we focused on the number of pairs and groups. For the quality ofmatchings, first we considered the Social aspect of the programme. Figure 6presents the sum of the Social points in each type of matching runs.The Social score did not depend on the frequency of the matching runsthat much when in average one student registers per day. A small decrease isnoticeable as runs become less frequent in this case.However, when the average number of daily student registration is four, thenthe trend changes. The reason behind the change of trend is the higher numberof groups. 23 frequency
Social 1 frequency
Social 4
Figure 6: The sum of social scores in each example frequency
Volume 1 frequency
Volume 4
Figure 7: VolumeFigure 7 presents the volumes of optimal solutions. With fewer students,forming a group is more complicated. Hence more frequent runs have bettersocial points, because of the solo-groups. With a larger pool, more groups canbe formed, therefore we see an increase in the Volume, as well as in the Socialscore.
As in other dynamic allocation systems with bounded length duration of stays(e.g., organ allocation) one may try to improve the solutions with a prioritisationbased of waiting times .In the following part we investigate how the results change if we prioritisethose students and mentors, who registered earlier to the programme. It maydecrease the social-scores and the preference-scores of the matchings, but theremay be less early quits from the programme and also less unmatched partici-pants.Therefore we modified the weight of the activities, to w e = w we + w pe + w se + w te ,where w te = W T (cid:18) ( t r − t i ) + ( t r − t j ) (cid:19) ( a i , b j ) ∈ e (15)Here t r denotes the day of the matching run, t i is the registration date of24he student a i and t j is the registration date of the mentor b j . We also use aweight for the days passed, that we denote by W T .To test how the prioritisation by waiting time changes the solutions, weconsidered a 300 days period again with an average of three students registeringinto the programme in every day. We set 0,1,2 and 10 for the weight of thewaiting time priority regarding all the match-frequencies that we investigatedearlier.Figure 8 presents the Solo-groups’ and groups’ distributions of the results. frequency WT
Solo_number frequency WT
Group_number
Figure 8: The Solo and Group results with 0,1,2,10weight on the waiting timeWith the increase in the weight of the waiting time priority, the number ofpairs increased, but the number of groups decreased. We can observe a similartrend for each match-frequency, hence giving priority for the waiting time isgood for forming more pairs.However, overall, we can notice a small decrease in the Volume, as Figure9 presents. For WT=1 and 2 this reduction is negligible, but for WT=10 it issignificant. Thus giving priority by the waiting time, we loose more mentoringtime with the decreased number of groups than what we gain with more pairs.The same figure presents the change in the number of students as well.In every run-frequency, a higher WT resulted in a decrease in the number ofstudents allocated.Figure 10 presents the Preference and Social scores. In both cases, higherWT resulted in a relapse. It is connected to the decrease in Volume since fewermentoring hours in general means worse Preference and Social scores.Hence the prioritisation by the waiting time increase only the number ofpairs and decrease many other aspects of the programme. The setback in thesevalues is caused by the multiple demands and offers. For example, a studentmay have two different subjects requested. If there is a match for her firstsubject then she remains in the programme with her second remaining subjectwith an extended duration of stay, and so in a later run she may well receivea mentor for her second subject as well due to her increased priority instead ofallocating a freshly registered student for her first subject. In fact, the freshlyregistered student can even have higher Social score, or other scores can also bebetter for her, but the high waiting time priority for the aforementioned student25 frequency WT
Volume frequency WT
Students
Figure 9: The Volume and Number of students results with 0,1,2,10 weight onthe waiting time frequency WT
Preference frequency WT
Social
Figure 10: The Preference and Social results with 0,1,2,10 weight on the waitingtimeoverrules these scores. Thus the freshly registered student may not even get amentor, whilst the earlier matched student will get multiple mentors. Thereforethere is a setback in both match quality and somewhat also in quantity.To reduce the setback, caused by the multiple demands and offers by themembers, we also investigated how the solution would change, if we only considerthe extra priority on the waiting time for the first preferred subjects of thestudents. Figure 11 presents the results of these models, with the same setupsas earlier.In the pairs and groups, the effect was similar to the earlier investigatedcase. The weight on the waiting time of the first subject also increased thenumber of pairs and decreased the number of groups. However, the change isnoticeably smaller. Therefore the Volume appears to be more stable, but stillhas a slight reduction as the WT increases. However, the trend in the numberof students changed. In this case, a higher weight on the waiting time of thefirst subject increased the number of students matched. Because each studenthas one subject with this weight, those students who have not been selected yethas a higher chance to get matched than before.Regarding the preferences, we can notice a small increase when the runsoccur in every day or in every two days. However, the score decreases when the26 frequency WT
Solo_number frequency WT
Group_number frequency WT
Volume frequency WT
Students frequency WT
Preference frequency WT
Social
Figure 11: The results with weights 0,1,2,10 for thewaiting time regarding the first preferred subjectsonlyruns happen less frequently. The reason behind the change in the trend is maybebecause of the reduction in the number of groups. In general, more frequentruns resulted in more pairs and fewer number of groups. The weights for thewaiting time also increased the number of pairs and reduced the possibility toform a group. More pairs with higher preferences increased the preference score,but having fewer groups decreased it.The Social score decreased for every run frequency as we increased the WT.However, the effect is much smaller compared to the case when every subjectwas weighted. 27
Conclusion
In this paper we have described the optimisation aspect of a joint NGO projectfor allocating voluntary mentors to students. By taking the participants’ prefer-ences into account we aimed to create desirable pairs and study groups by usinginteger programming techniques for solving the dynamic allocation problem inthe real application and also for generated data. We believe that the lessonslearned can be useful for other countries and for similar applications.As a future work we are going to conduct a follow-up analyses on the datathat we are now gathering in the Hungarian application since the latest lockdownfor secondary schools in the 2020/2021 winter and spring period.
Acknowledgement
We thank our colleagues, D´aniel Horn and Zolt´an Hermann for helping design-ing the application on behalf of our Institute, D´avid Burka and his companyfor developing the website of the application (onkentesmentoralas.hu), and ourcollaborators in the two partner organisations, the Hungarian Reformat ChurchAid and
References [1] David J. Abraham, Avrim Blum, and Tuomas Sandholm. Clearing al-gorithms for barter exchange markets: Enabling nationwide kidney ex-changes. In
Proceedings of the 8th ACM Conference on Electronic Com-merce , EC ’07, pages 295–304, New York, NY, USA, 2007. ACM.[2] Nikhil Agarwal, Itai Ashlagi, Eduardo Azevedo, Clayton R Featherstone,and ¨Omer Karaduman. Market failure in kidney exchange.
American Eco-nomic Review , 109(11):4026–70, 2019.[3] Nikhil Agarwal, Itai Ashlagi, M Rees, P Somaini, and D Waldinger. Equi-librium allocations under alternative waitlist designs: Evidence from de-ceased donor kidneys.
Econometrica, forthcoming , 2020.[4] Kolos Csaba ´Agoston, P´eter Bir´o, and Iain McBride. Integer programmingmethods for special college admissions problems.
Journal of CombinatorialOptimization , 32(4):1371–1399, 2016.[5] Kolos Csaba ´Agoston, P´eter Bir´o, and Rich´ard Sz´ant´o. Stable project allo-cation under distributional constraints.
Operations Research Perspectives ,5:59–68, 2018.[6] Tommy Andersson, Lars Ehlers, and Alessandro Martinello. Dynamicrefugee matching. 2018. 287] Itai Ashlagi and Alvin E Roth. Kidney exchange: an operations perspec-tive. Working paper, 2020.[8] Kirk Bansak, Jeremy Ferwerda, Jens Hainmueller, Andrea Dillon, Do-minik Hangartner, Duncan Lawrence, and Jeremy Weinstein. Improvingrefugee integration through data-driven algorithmic assignment.
Science ,359(6373):325–329, 2018.[9] P´eter Bir´o. Applications of matching models under preferences. 2017.[10] P´eter Bir´o, Bernadette Haase-Kromwijk, Joris van de Klundert, and et al.Building kidney exchange programmes in Europe – an overview of exchangepractice and activities.
Transplantation , 103(7):1514–1522, 2019a.[11] P´eter Bir´o, David F Manlove, and Iain McBride. The hospitals/residentsproblem with couples: Complexity and integer programming models. In
In-ternational Symposium on Experimental Algorithms , pages 10–21. Springer,2014.[12] P´eter Bir´o and Eric McDermid. Matching with sizes (or scheduling withprocessing set restrictions).
Discrete Applied Mathematics , 164:61–67, 2014.[13] P´eter Bir´o, Joris van de Klundert, David Manlove, William Pettersson,Tommy Andersson, Lisa Burnapp, Pavel Chromy, Pablo Delgado, PiotrDworczak, Bernadette Haase, Aline Hemke, Rachel Johnson, Xenia Kli-mentova, Dirk Kuypers, Alessandro Nanni Costa, Bart Smeulders, FritsSpieksma, Mar´ıa O. Valent´ın, and Ana Viana. Modelling and optimisationin european kidney exchange programmes.
European Journal of OperationalResearch , 2019b.[14] Francis Bloch, David Cantala, and Dami´an Gibaja. Matching throughinstitutions.
Games and Economic Behavior , 2020.[15] Eric Budish, G´erard P Cachon, Judd B Kessler, and Abraham Othman.Course match: A large-scale implementation of approximate competitiveequilibrium from equal incomes for combinatorial allocation.
OperationsResearch , 65(2):314–336, 2017.[16] Nguyen Vi Cao, Emmanuel Fragniere, Jacques-Antoine Gauthier, MarleneSapin, and Eric D Widmer. Optimizing the marriage market: An appli-cation of the linear assignment model.
European Journal of OperationalResearch , 202(2):547–553, 2010.[17] Maxence Delorme, Sergio Garc´ıa, Jacek Gondzio, J¨org Kalcsics, DavidManlove, and William Pettersson. Mathematical models for stable match-ing problems with ties and incomplete lists.
European Journal of Opera-tional Research , 277(2):426–441, 2019.[18] David Gale and Lloyd S Shapley. College admissions and the stability ofmarriage.
The American Mathematical Monthly , 69(1):9–15, 1962.2919] Naveen Garg, Telikepalli Kavitha, Amit Kumar, Kurt Mehlhorn, and Juli´anMestre. Assigning papers to referees.
Algorithmica , 58(1):119–136, 2010.[20] Enrico Gerding, Alvaro Perez-Diaz, Haris Aziz, Serge Gaspers, AntoniaMarcu, Nicholas Mattei, and Toby Walsh. Fair online allocation of perish-able goods and its application to electric vehicle charging. 2019.[21] Douglas N Harris, Lihan Liu, Daniel Oliver, Cathy Balfe, Sara Slaughter,and Nicholas Mattei. How america’s schools responded to the covid crisis.
National Center for Research on Education Access and Choice & EducationResearch Alliance for New Orleans. https://educationresearchalliancenola.org/files/publications/20200713-Technical-Report-Harris-etal-How-Americas-Schools-Responded-to-the-COVID-Crisis. pdf , 2020.[22] Augustine Kwanashie and David F Manlove. An integer programming ap-proach to the hospitals/residents problem with ties. In
Operations ResearchProceedings 2013 , pages 263–269. Springer, 2014.[23] Jacob Leshno. Dynamic matching in overloaded waiting lists.
Available atSSRN 2967011 , 2019.[24] David Manlove.
Algorithmics of matching under preferences , volume 2.World Scientific, 2013.[25] Nicholas Mattei, Abdallah Saffidine, and Toby Walsh. Fairness in deceasedorgan matching. In
Proceedings of the 2018 AAAI/ACM Conference onAI, Ethics, and Society , pages 236–242, 2018.[26] Canice Prendergast. The allocation of food to food banks.
EAI EndorsedTrans. Serious Games , 3(10):e4, 2016.[27] Alvin E. Roth, Tayfun S¨onmez, and M. Utku ¨Unver. Efficient kidney ex-change: Coincidence of wants in markets with compatibility-based prefer-ences.
American Economic Review , 97(3):828–851, June 2007.[28] Mee Chi So, Lyn C Thomas, and Bo Huang. Lending decisions with limitson capital available: The polygamous marriage problem.