Algoritmo de programación de clases para mostrar la mejor coincidencia con los criterios?

Estoy buscando crear un sistema donde pueda ingresar los cursos (3-7 cursos) que desea tomar en una universidad y luego seleccionar preferencias (Mañana, Día, Tarde, Noche / M, T, W, TR, F ).

Necesito una forma para que cuando el programa consulte la base de datos (MySQL), devuelva la mejor programación posible que se realizó de acuerdo con esos parámetros. Lo estoy escribiendo en php.

¿Alguien sabe la mejor manera de hacer esto? ¿O un enlace a algún código de muestra del que pueda entenderlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta