tiн'=(tiн-t0)/dt
tiк'=(tiк-t0)/dt
Полученное рациональное число будем округлять внутрь интервала: tiн' в большую сторону, tiк' в меньшую. Далее в задачу о назначениях введем h кандидатов и W+h работ - количество работ будем рассчитывать по формуле
Каждому i-ому экзамену будет соответствовать (tiк'-tiн') работ. Работы с индексом от W до W+h соответствуют отдыху (отсутствию учебы) в данный интервал времени.
Заполнение матрицы стоимостей задачи назначений.
Для работ, соответствующих отдыху : сxy, y>W cxy=L0*dt
сxy: y-> i.(в соответствии с номером работы y находим номер i соответствующего ей экзамена.
x < (tiн-t0): cxy=0
(tiн-t0) <= x <= (tiк-t0): cxy= Qix*Ii'/Qi0, Qix=U*dt*(1 - M(tiк' - x)
x > (tiк-t0): cxy=0
В большинстве случаев количество работ не будет равно количеству кандидатов. Если используемое программное обеспечение в явном виде не позволяет решать несбалансированные задачи о назначениях, то нужно добавить фальшивых кандидатов или работы.
Далее находим максимум задачи о назначениях. Если используемое программное обеспечение в явном виде не позволяет находить максимум, то инвертируем знаки элементов матрицы и подвергаем полученную матрицу минимизации.
Интерпретация полученного ответа.
График подготовки к экзаменам на основе полученного результата строится следующим образом:
Для каждого x-ого кандидата (x=1..h)
Определяем индекс y работы, на которую назначен данный кандидат x.
интервал времени (t0;t0+dt*x) должен быть посвящен
* Если y>W, то отдыху.
* Если нет, то по индексу y определяем индекс i экзамена, который соответствует y-ой работе. Данный интервал должен быть посвящен подготовке к экзамену i.
Замечания