В настоящее время мы пытаемся создать подходящее приложение, которое соответствует студентам и выпускникам для события. Мероприятие состоит из нескольких временных интервалов, в каждом из которых каждый ученик может быть назначен одному выпускнику.
Для каждого временного интервала у выпускников есть максимальное и минимальное количество студентов, которое должно быть им назначено, а у студентов есть минимальное количество временных интервалов, в течение которых они должны быть назначены для выпускника. Студенты также никогда не должны назначаться дважды на одного и того же выпускника. Но вот настоящий кикер: студенты могут представить ранжированный список предпочтений для мероприятия, который содержит рейтинг выпускников, с которыми они хотели бы поговорить.
Алгоритм должен создавать расписание, которое содержит «справедливое» распределение студентов по выпускникам и временным интервалам.
Мы уже пришли к выводу, что, вероятно, мы не сможем найти оптимальное решение, поэтому мы хотим попытаться использовать локальный поиск, чтобы получить что-то вроде «честного» графика. Однако для запуска локального поиска сначала необходимо создать несколько случайных (но действительных!) Расписаний с учетом возможностей и ограничений. В этом алгоритме «случайного заполнения» мы сталкиваемся с некоторыми проблемами, поскольку мы не можем понять, как создать недетерминированный алгоритм, который с учетом вышеупомянутых ограничений создает даже случайное расписание.
Мы пытались преобразовать проблему в проблему потока, но результирующий граф слишком велик, чтобы его можно было решить за разумное время, и мы попробовали какой-то подход FCFS, но всегда есть крайние случаи, в которых существуют конфликты, которые потребовать, чтобы алгоритм зашел в рекурсивный цикл, который может занять так много времени, что мы могли бы просто перебрать график.
Хотя мы сами ничего не можем понять, нам кажется, что должна быть какая-то похожая проблема, которую можно решить с помощью алгоритма, который уже был найден ранее. Если у кого-то есть опыт с подобной проблемой, мы будем рады его помощи.