Обсуждение участницы:Анна — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(1ripipsumwu| 1 \mid r_i,p_i=p \mid \sum w_i U_i)
(P \mid p_i=1 \mid \sum w_i U_i)
Строка 4: Строка 4:
 
Дано <tex>m</tex> одинаковых станков, на которых нужно выполнить <tex>n</tex> работ. Любая работа на любом станке выполняется единицу времени. Для каждой работы есть время окончания <tex>d_i</tex> {{---}} ожидается, что до этого времени она будет закончена, и штраф <tex>w_i</tex>, который нужно будет выплатить в случае, если работа была закончена после <tex>d_i</tex>. Необходимо минимизировать суммарный штраф, который придется выплатить.
 
Дано <tex>m</tex> одинаковых станков, на которых нужно выполнить <tex>n</tex> работ. Любая работа на любом станке выполняется единицу времени. Для каждой работы есть время окончания <tex>d_i</tex> {{---}} ожидается, что до этого времени она будет закончена, и штраф <tex>w_i</tex>, который нужно будет выплатить в случае, если работа была закончена после <tex>d_i</tex>. Необходимо минимизировать суммарный штраф, который придется выплатить.
 
}}  
 
}}  
Оптимальное расписание для этой задачи будем задавать множеством работ <tex>S</tex>, за которые штраф начислен не будет. Работы, которые завершатся с опозданием, могут быть выполнены в конце в любом порядке.
+
== Описание алгоритма ==
 +
Оптимальное расписание для этой задачи будем задавать множеством работ <tex>S</tex>, за которые штраф начислен не будет. Работы, которые завершатся с опозданием, могут быть выполнены в конце в любом порядке.<br>
 +
Чтобы построить множество <tex>S</tex>, будем добавлять работы в порядке неуменьшения их времен окончания, и как только некоторая работа <tex>j</tex> опаздывает, удалим из <tex>S</tex> работу с минимальным значением <tex>w_i</tex> и поставим <tex>j</tex> на ее место.<br>
 +
Пусть есть работы <tex>1 \cdots n</tex> с временами окончания <tex>d_1 \leq d_2 \leq \cdots \leq d_n</tex>. Тогда следующий алгоритм вычислит оптимальное множество <tex>S</tex>.

Версия 09:30, 5 мая 2016

[math] P \mid p_i=1 \mid \sum w_i U_i[/math]

Задача:
Дано [math]m[/math] одинаковых станков, на которых нужно выполнить [math]n[/math] работ. Любая работа на любом станке выполняется единицу времени. Для каждой работы есть время окончания [math]d_i[/math] — ожидается, что до этого времени она будет закончена, и штраф [math]w_i[/math], который нужно будет выплатить в случае, если работа была закончена после [math]d_i[/math]. Необходимо минимизировать суммарный штраф, который придется выплатить.

Описание алгоритма

Оптимальное расписание для этой задачи будем задавать множеством работ [math]S[/math], за которые штраф начислен не будет. Работы, которые завершатся с опозданием, могут быть выполнены в конце в любом порядке.
Чтобы построить множество [math]S[/math], будем добавлять работы в порядке неуменьшения их времен окончания, и как только некоторая работа [math]j[/math] опаздывает, удалим из [math]S[/math] работу с минимальным значением [math]w_i[/math] и поставим [math]j[/math] на ее место.
Пусть есть работы [math]1 \cdots n[/math] с временами окончания [math]d_1 \leq d_2 \leq \cdots \leq d_n[/math]. Тогда следующий алгоритм вычислит оптимальное множество [math]S[/math].