hi all,,
in my project, i have to use matching between two ranked lists,
one for student, he choose 6 wanted project (by rank), that he want to assign,
and the other list is for the project, where the supervisor can choose 6 student (by rank)..
then after all choices done, start matching algorithm between the two lists.
there is an algorithm done by
but i don't knw if it help in my project or not..
- is this algo depends on stable marriage algorithm?
- can i find any thing help me understand the algo ?
assign each student to be free;
assign each project and lecturer to be totally unsubscribed;
while (some student si is free) and (si has a non-empty list) {
pj = first project on si ’s list;
lk = lecturer who offers pj ;
/* si applies to pj */
provisionally assign si to pj ;
/* and to lk */
if (pj is over-subscribed) {
sr = worst student assigned to pj ;
/* according to Lj */
k
break provisional assignment between sr and pj ;
}
else if (lk is over-subscribed) {
sr = worst student assigned to lk ;
pt = project assigned sr ;
break provisional assignment between sr and pt ;
}
if (pj is full) {
sr = worst student assigned to pj ;
/* according to Lj */
k
j
for (each successor st of sr on Lk )
delete the pair (st , pj );
}
if (lk is full) {
sr = worst student assigned to lk ;
for (each successor st of sr on Lk )
for (each project pu ∈ Pk ∩ At )
delete the pair (st , pu );
}
}
Thanxx