Добрый день!
Есть следующая задача.
Имеется
конвейеров, каждый из которых имеет
рабочую секцию.
Имеется поток работ, который распределяется между конвейерами. Каждая работа
имеет собственный срок завершения - дата
, собственную длину занимаемых на конвейере секций
.
Каждая i-я из
секций данной работы имеет собственный срок выполнения в днях -
. К концу этого срока данная секция работы ДОЛЖНА быть выгружена с конвейера, срок пребывания секции на конвейере не должен ни превышать, ни быть меньше
.
Секции подаются на конвейер слева, секции не могут быть никоим образом выгружены с конвейера, секции выходят с конвейера справа только по завершению срока. Секции обрабатываются в том порядке, в котором подаются на конвейер, т.е. никоим образом одна секция не может "обогнать" другую на данном конвейере.
Цель оптимизации:
Основная: Увеличить количество выполняемых работ.
Вторичная: Минимизировать количество работ, распределяемых между разными конвейерами. Иными словами, предпочтительнее всю работу выполнять на одном и том же конвейере.
Ограничения:
1. Секции должны быть на конвейере на весь срок своего исполнения.
2. Секции не могут обгонять друг друга на конвейере.
3. Работы должны быть выполнены в срок, не ранее, не позднее.
Выходные данные:
1. График загрузки и выгрузки конвейеров. (Порядок загрузки и выгрузки работ, количество и даты на каждом из конвейеров.)
2. Сколько дополнительных и/или каких секций может быть вдобавок обработано в каждый день, чтобы не мешать основной цели оптимизации?
Помогите, пожалуйста, разобраться в методах решения, подскажите направления, что почитать, с чего начать?
Заранее благодарю за поддержку и Ваши советы.