Я хочу, чтобы ученики средней школы с классами. Студенты имеют список курсов, которые они должны принять:Расчет сочетаний курсов для планирования студентов
student_1_requests = [:EEN41, :SDN11T, :HUN11, :PPN41, :AUN21T, :TYN21T, :ZJPHN, :ZLUNCH]
график кандидат является хэш-значением которого является массив курсов, которые предлагаются в то же время:
candidate_schedule = {
a_band => [:EEN41, :HGN22, :PPN41],
b_band => [:SDN11T, :HUN11, :EEN41],
c_band => [:TYN21T, :SLN11],
d_band => [:PPN41, :TYN21T],
l_band => [:ZLUNCH],
e_band => [:EEN41, :SDN11T, :HUN11, :PPN41],
f_band => [:AUN21T, :TYN21T, :PPN41],
g_band => [:ZJPHN, :GAN42]
}
студент должен иметь класс каждый период/диапазон дня. Таким образом, чтобы быть жизнеспособным, как минимум один из курсов в каждой группе должен появиться в student_requests, и для каждой группы в течение дня студент должен быть в состоянии поместить другой запрос.
Я тестирую запросы студентов на расписание кандидатов, чтобы удовлетворить большинство потребностей студентов. Я пытаюсь ответить:
Будет ли это
candidate_schedule
позволяет студенту быть назначен на все их просьбы? Иными словами, есть ли, по крайней мере, одна комбинация курсов, которая позволила бы им иметь все 8 своих курсов, один курс в каждой группе?В сколько комбинаций/различными способами может студент быть помещен в график кандидата в то же время планируется для каждого курса они обратились с просьбой, и то, что эти комбинации, как это:
student_schedule_options = { :option_1 => {a => :EEN41, b => :HUN11, c => :TYN21T, d => :PPN41, e => :SDN11T, f => :AUN21T, g => :ZJPHN}, :option_2 => ... }
Было бы еще более интригующим, если бы можно было увидеть случаи, когда 7 из 8 запросов могли быть удовлетворены, и сообщить ему группу и курс/с, которые нельзя было бы сопоставить, что позволило бы внести изменения в расписание кандидатов, чтобы улучшить его ,
Итак, из каждой группы студент должен посещать по крайней мере один или может посещать все курсы из 'кандидат_секунда'? Кроме того, являются ли эти группы предпосылкой другого? например: взять f_band студент должен закончить c_band и взять b_band студент должен закончить d_band? – Surya
группа - это массив, в котором перечислены все курсы, которые встречаются, например, в течение первого класса дня. У каждого учащегося должен быть класс для участия в первом периоде, и каждый ученик запрашивает такое же количество курсов, как и группы, поэтому массив course_request должен сопоставляться с кандидатом-расписанием, так что каждый из каждого из В каждой группе дня доступны восемь курсов. Массив запроса курса предназначен для одного студента, кандидат-график - это курсы, доступные для школы.С подходом к этому я бы прошел через всех студентов. – zqe