Изменения

Перейти к: навигация, поиск

QSumCi

Нет изменений в размере, 01:36, 13 июня 2015
Алгоритм решения
|definition = Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения.<br>Цель {{---}} составить такое расписание, чтобы суммарное время окончания всех работ было минимальным.}}
==Алгоритм решения==
Пусть <tex> i_1, i_2, \cdots i_r </tex> последовательность работ, выполняемых на станке с номером <tex> j </tex>. Тогда вклад этих работ в целевую функцию будет равен <tex> p_{j1i1}\cfrac{r}{s_j} + p_{j2i2}\cfrac{r-1}{s_j} + \cdots + p_{jrir}\cfrac{1}{s_j} </tex>. [[Задача_о_минимуме/максимуме_скалярного_произведения|Отсюда]] видно, что сумма оптимальна, когда последовательность <tex> p_{ij} </tex> не возрастает.
Теперь введем неубывающую последовательность <tex> t_1, t_2 ... t_n </tex>, которая состоит из <tex> n </tex> минимальных элементов из множества <tex> \{\cfrac{1}{s_1}, \cfrac{1}{s_2} \cdots \cfrac{1}{s_m}, \cfrac{2}{s_1}, \cfrac{2}{s_2} \cdots \cfrac{2}{s_m}, \cfrac{3}{s_1} \cdots \}</tex>. Тогда <tex> t_i</tex> показывает на каком станке и какой по счету с конца должна выполняться работа с номером <tex>i</tex> в отсортированном по длительности списке работ. Сопоставляя работы и <tex> t_i</tex> составляем расписание.
33
правки

Навигация