1pi=1wirisumwi(ci - pi -ri) — различия между версиями
Dimitrova (обсуждение | вклад) (→Постановка задачи) |
Dimitrova (обсуждение | вклад) (→Постановка задачи) |
||
Строка 3: | Строка 3: | ||
<ol> | <ol> | ||
<li>Дано <tex>n</tex> работ и один станок.</li> | <li>Дано <tex>n</tex> работ и один станок.</li> | ||
− | <li>Для каждой работы известно её время появления <tex>r_{i}</tex> и вес <tex>w_{i}</tex>. Время выполнения всех работ равно <tex>1</tex>.</li> | + | <li>Для каждой работы известно её время появления <tex>r_{i}</tex> и вес <tex>w_{i}</tex>. Время выполнения всех работ <tex>p_i</tex> равно <tex>1</tex>.</li> |
</ol> | </ol> | ||
Требуется выполнить все работы, чтобы значение <tex>\sum w_{i}(c_{i} - p_{i} - r_{i})</tex> было минимальным. | Требуется выполнить все работы, чтобы значение <tex>\sum w_{i}(c_{i} - p_{i} - r_{i})</tex> было минимальным. |
Версия 20:22, 18 июня 2012
Постановка задачи
Рассмотрим задачу:
- Дано работ и один станок.
- Для каждой работы известно её время появления и вес . Время выполнения всех работ равно .
Требуется выполнить все работы, чтобы значение
было минимальным.Описание алгоритма
Пусть
Для каждого очередного значения , которое изменяется от до времени окончания последний работы, будем:
- Выбирать работу из множества невыполненных работ, у которой и значение максимально.
- Выполняем в момент времени и увеличиваем на один.