Участник:Dominica
Версия от 03:05, 30 апреля 2016; Dominica (обсуждение | вклад)
Задача: |
|
Решение за
Эта задача может быть решена сведением к решению задачи о назначениях. А именно, покажем, что решение задачи состоит сопоставлении различным заданиям различных времен начала выполнения работы. Если сопоставляем работе время , то вклад в целевую функцию будет . Далее будет показано, что при построении оптимального расписания нам нужно будет рассмотреть всего различных времен начала работ. Следовательно, подобная задача может быть решена за .
Поскольку
— монотонно неубывающие функции, то это значит, что в оптимальном расписании работы должны начинать исполняться как можно раньше. Первые самых ранних для начала исполнения времен могут быть вычислены следующим алгоритмом, в котором мы предполагаем, что все работы отсортированы по неубыванию времени появления := for =
Лемма: |
Существует оптимальное расписание в котором все задач распределены по всем временам , которые выбирает приведенный выше алгоритм. |
Доказательство: |
Предположим, что в некоторое оптимальное расписание | входят времена где и максимально возможное для этого расписания. Из того, как в алгоритме выбирались значения для следует, что — минимальное возможное время, большее в которое вообще можно начать выполнять какое-нибудь задание.