1sumwT — различия между версиями
| Shersh (обсуждение | вклад) м (→Время работы) | |||
| Строка 1: | Строка 1: | ||
| + | {| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;" | ||
| + | |+ | ||
| + | |-align="center" | ||
| + | |'''НЕТ ВОЙНЕ''' | ||
| + | |-style="font-size: 16px;" | ||
| + | | | ||
| + | 24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. | ||
| + | |||
| + | Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. | ||
| + | |||
| + | Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. | ||
| + | |||
| + | Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. | ||
| + | |||
| + | ''Антивоенный комитет России'' | ||
| + | |-style="font-size: 16px;" | ||
| + | |Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. | ||
| + | |-style="font-size: 16px;" | ||
| + | |[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки]. | ||
| + | |} | ||
| + | |||
| <tex dpi = "200" >1 \mid\mid \sum w_i T_i</tex> | <tex dpi = "200" >1 \mid\mid \sum w_i T_i</tex> | ||
Версия 09:33, 1 сентября 2022
| НЕТ ВОЙНЕ | 
| 24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России | 
| Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. | 
| meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. | 
| Задача: | 
| Есть один станок и работ. Для каждой работы заданы время выполнения дедлайн и стоимость выполнения этой работы . Необходимо минимизировать . | 
Содержание
Псевдополиномиальное решение
Описание алгоритма
Упорядочим работы в порядке неубывания дедлайнов. Обозначим за работу с максимальным .
Будем делить имеющиеся у нас работы на множества так, чтобы для любого , . Тогда в оптимальном расписании все работы из окажутся до , а работы из будут расположены после . Для работ из оптимальное время начала выполнения , для работ из оптимальное начало . Таким образом, для любой задача разбивается на две подзадачи.
Алгоритм вычисляет оптимальное расписание для всех работ рекурсивно.
Псевдокод
Приведенный ниже алгоритм вычисляет оптимальную последовательность работ для множества работ в начальный момент времени .
function (: int, : int[]): int[] if return find for to if return
Доказательство корректности алгоритма
| Лемма: | 
| Пусть   — любая оптимальная последовательность работ для данных дедлайнов ,  —  время завершения выполнения -ой работы. 
Рассмотрим  такие, что Тогда любая оптимальная последовательность работ для  будет оптимальна и для . | 
| Доказательство: | 
| Рассмотрим последовательность оптимальную для . Тогда — время завершения работы в данной последовательности. , . Рассмотрим 2 случая: 
 | 
| Лемма: | 
| Пусть веса работ  согласованы (из  следует ). Тогда существует оптимальная последовательность , в которой работа  предшествует работе , если  и , и все работы, выполненные до дедлайна, упорядочены в неубывающем порядке . | 
| Доказательство: | 
| Пусть — оптимальная последовательность. Если работа идет после работы в , то . Веса работ согласованы, поэтому , и выполняется для всех Т. Таким образом, если поместить работу сразу после , расписание останется оптимальным. Кроме того, если работа следует за работой , где и выполнены до дедлайна, тогда, после перемещения на позицию сразу после , работа все еще будет выполнена до дедлайна. Таким образом, общее значение минимизируемой функции не возрастет.Будем повторять перестановки, пока оптимальное расписание не будет удовлетворять условиям леммы. | 
| Теорема: | 
| Пусть работы  отстортированы в порядке неубывания дедлайнов, и веса согласованы. Обозначим за  работу с наибольшим .
Тогда существует работа  такая, что в оптимальном расписании все работы  размещены до , а оставшиеся работы размещены после . | 
| Доказательство: | 
| Обозначим за максимально возможное время завершения работы в любой последовательности, которая оптимальна в соответствии с . Обозначим за оптимальную последовательность, соответствующую и удовлетворяющую условиям леммы. Обозначим за время завершения работы из .Согласно лемме, последовательность оптимальна для исходных . Тогда по определению : . Таким образом, работе не может предшествовать работа такая, что > . Иначе работа j тоже была бы выполнена вовремя, что противоречит условиям леммы. С другой стороны, работе должны предшествовать все работы такие, что , так как . Если мы выберем в качеству работы самую большую работу такую, что , тогда , так как и обладает необходимыми свойствами. | 
Время работы
Пускай все времена выполнения работ различны. Тогда все множества работ, используемые в качестве аргументов рекурсивного вызова функции можно представить в виде , .
У нас максимум различных значений . Значит, мы вызовем в худшем случае раз. Более того, для фиксированного все значения для могут быть сосчитаны за .
Таким образом, мы получаем алгоритм, работающий за или , где .
См. также
Источники информации
- P. Brucker. Scheduling Algorithms (2006), 5th edition, стр. 95 - 98
