project and lecturer can accommodate only one stu-
dent). Therefore, to solve the MAX-SPA-P problem ef-
fectively, researchers often focus on using the approx-
imation solutions. In (Manlove and O’Malley, 2008),
authors presented a polynomial-time 2-approximation
algorithm for MAX-SPA-P, named SPA-P-approx. In
2012 (Iwama et al., 2012), Iwama et. al. proposed
an
3
2
-approximation algorithm, named SPA-P-approx-
promotion, which is a combination of ideas from
Manlove’s algorithm (Manlove and O’Malley, 2008)
and the approximation algorithm of Kir
´
aly (Kir
´
aly,
2011) for MAX-SPA-P. In 2018 (Manlove et al., 2018),
Manlove at. al. proposed
3
2
-approximation algorithm
to find stable matchings that are very close to having
maximum cardinality for MAX-SPA-P by using Integer
Programming model. Recently, Viet et. al. proposed
a local search strategy based on the min-conflicts
heuristic, named SPA-P-MCH algorithm, to find a max-
imum weakly stable matching for the SPA-P prob-
lem (Viet et al., 2020).
A variant of SPA that involves lecturer preferences
over students, which is known as SPA-S (the SPA with
lecturer preferences over Students). SPA-S requires
ranking in strict order of preferences. However, this
might not fair in practical applications. For example,
a lecturer may be willing to rank two or more students
equally in a tie. In 2022 (Olaosebikan and Manlove,
2022), Olaosebikan et. al. studied a variant of SPA-S
with Ties, referred to SPA-ST. The authors also pro-
posed a polynomial-time algorithm to find a supper-
stable matching for an instance of SPA-ST or to report
that no such matching exists.
As far as we are concerned, there is no research
related to the problem of SPA-P with Ties. It is worth
doing further research on the topic because this prob-
lem has many practical applications, especially for the
cases with ties. In this work, we propose a simple
heuristic algorithm to find a maximum stable match-
ing for an instance of SPA-P with Ties, denoted by
SPA-PT. The aim is to find a maximum stable match-
ing of students and projects with the following con-
straints: (i) the ranking in a strict order of students’
and lecturers’ preferences list over projects, and (ii)
the limitations on the number of students assigned to
a given project and a given lecturer.
The rest of this paper is structured as follows. Sec-
tion 2 reminds the SPA-PT problem. Section 3 de-
scribes our proposed algorithm. Section 4 presents
our experimental results, and concluding remarks are
given in Section 5.
2 SPA-P WITH TIES
In this section, we present the formal notions and
definitions related to the Student-Project Allocation
problem with preferences over Project with Ties, de-
noted by SPA-PT. For convenience, the notions used
for SPA-PT are similar to the ones given in (Manlove
and O’Malley, 2008). An instance of SPA-PT con-
sists of the following sets: S = {s
1
,s
2
,...,s
n
}
of students, P = {p
1
, p
2
,..., p
q
} of projects, and
L = {l
1
,l
2
,...,l
m
} of lecturers. Each lecturer l
k
pro-
vides a non-empty set P
k
of projects and ranks these
projects in a preference list (with ties allowed). We
assume that, there is no overlap of projects among
lecturers (i.e., P
k
partitions P , where k = 1,2,...,m).
Also, each student s
i
∈ S suggests a set of projects
A
i
⊆ P and ranks A
i
in a preference list (with ties al-
lowed). Moreover, each l
k
∈ L (resp. p
j
∈ P ) has
an associated capacity to specify the maximum num-
ber of students that l
k
can supervise (resp. that can be
assigned to p
j
), denoted by d
k
∈ Z
+
(resp. c
j
∈ Z
+
).
We denote A = {(s
i
, p
j
) ∈ S × P } by a set of ac-
ceptable pairs, where p
j
is given by l
k
, s
i
(resp. l
k
)
ranks p
j
in the s
i
’s (resp. l
k
’s) preference list, de-
noted by rank(s
i
, p
j
) (resp. rank(l
k
, p
j
)). If a student
s
i
strictly (resp. equally) prefers a project p
j
to (resp.
and) a project p
t
, then we denote by rank(s
i
, p
j
) <
rank(s
i
, p
t
) (resp. rank(s
i
, p
j
) = rank(s
i
, p
t
)). We use
notations for rank(l
k
, p
j
) similarly.
An assignment M is a subset of A. If (s
i
, p
j
) ∈ M,
then we say that s
i
is assigned to p
j
in M and vice
versa. If s
i
is assigned to p
j
in M, then we denote
M(s
i
) = p
j
, otherwise, we denote M(s
i
) = ∅ (i.e.,
unassigned). Consequently, if l
k
is the lecturer offer-
ing p
j
and s
i
is assigned to p
j
, then we can also say
that s
i
is assigned to l
k
and vice versa. Similarly, for
any project p
j
∈ P (resp. lecturer l
k
∈ L ), we denote
M(p
j
) (resp. M(l
k
)) by the set of students assigned to
p
j
(resp. l
k
) in M. We also say that, a project p
j
∈ P
(resp. lecturer l
k
∈ L ) is under-subscribed, full or
over-subscribed in M if |M(p
j
)| < c
j
, |M(p
j
)| = c
j
,
or |M(p
j
)| > c
j
(resp. |M(l
k
)| < d
k
, |M(l
k
)| = d
k
, or
|M(l
k
)| > d
k
), respectively.
Definition 1 (Matching). A matching M is an assign-
ment such that |M(s
i
)| ≤ 1 for each s
i
∈ S , |M(p
j
)| ≤
c
j
for each p
j
∈ P , and |M(l
k
)| ≤ d
l
for each l
k
∈ L
(i.e., each student is assigned to at most one project,
and no project or lecturer is over-subscribed in M). ◁
Definition 2 (Blocking Pair). An acceptable pair
(s
i
, p
j
) ∈ (S × P )\M is a blocking pair of a match-
ing M, if all the following conditions are fulfilled:
1. p
j
∈ A
i
(i.e., s
i
find p
j
acceptable);
2. Either M(s
i
) = ∅ or s
i
prefers p
j
to M(s
i
);
ICAART 2023 - 15th International Conference on Agents and Artificial Intelligence
666