1pi=1wirisumwi(ci-ri) — различия между версиями
Dimitrova (обсуждение | вклад) (Новая страница: «==Постановка задачи== Рассмотрим задачу: <ol> <li>Дано <tex>n</tex> работ и один станок.</li> <li>Для ка...») |
Dimitrova (обсуждение | вклад) (→Описание алгоритма) |
||
Строка 8: | Строка 8: | ||
==Описание алгоритма== | ==Описание алгоритма== | ||
+ | Пусть <tex>time</tex> {{---}} текущий момент времени.<br/> | ||
+ | Для каждого очередного значения <tex>time</tex>, которое изменяется от <tex>0</tex> до времени окончания последний работы, будем: | ||
+ | <ol> | ||
+ | <li> Выбирать работу <tex>j</tex> из множества невыполненных работ, у которой <tex>r_{i} \le time</tex> и значение <tex>w_{i}(time - r{i})</tex> максимально.</li> | ||
+ | <li> Выполняем <tex>j</tex> в момент времени <tex>time</tex> и увеличиваем <tex>time</tex> на один. | ||
+ | </ol> | ||
+ | |||
+ | ==Доказательство корректности алгоритма== |
Версия 20:12, 18 июня 2012
Постановка задачи
Рассмотрим задачу:
- Дано работ и один станок.
- Для каждой работы известно её время появления и вес . Время выполнения всех работ равно .
Требуется выполнить все работы, чтобы значение
было минимальным.Описание алгоритма
Пусть
Для каждого очередного значения , которое изменяется от до времени окончания последний работы, будем:
- Выбирать работу из множества невыполненных работ, у которой и значение максимально.
- Выполняем в момент времени и увеличиваем на один.