Student-Teacher matching problem The problem I want to solve is as follows:
I have data about how many teaching hours different students spend with their teacher in order to pass their exams. The teaching varies from 25-55 hours. In the school there are approximately 15 teachers and given a set of 10 student-teacher features that describe personality characteristics such as, age, sex, education, nationality, etc., I want to develop a student-teacher match model in order to minimize the teaching hours a student needs to pass the exams.

Any idea of what sort of algorithms I should use, or any examples I can look at?
This seems to be a recommendation problem. You can find a nice overview here.