Изменения

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

Opi1sumu

178 байт добавлено, 18:53, 23 июня 2012
Нет описания правки
<tex>\Leftarrow</tex>
Пусть при добавлении <tex>k+1</tex>Введем понятие ''фронта'' расписания. ''Фронтом'' назовем вектор размеров тайм-слотов. Заметим, что от того, в каком порядке происходят перебрасывания из переполнившихся тайм-й слотов, итоговый фронт не зависит. Поэтому, если мы сначала положим все работы произошло переполнение нулевого в тайм-слотаслоты, игнорируя ограничение на их размер, а потом в каком-то порядке перекинем, итоговый фронт окажется тем же. В случае, если при построении тайм-слотов игнорировалось ограничение на их размер, ни одну единицу работы нельзя назначить позже.
Рассмотрим алгоритм добавления в Будем также рассматривать тайм-слотыбез номеров работ: работа <tex>i</tex> добавляется в каждом тайм-слоты <tex>[d_i слоте просто лежит сколько- m + 1; d_i]</tex>, после чего из переполнившихся работы перебрасываются в более ранние. Временно разрешим хранить в тайм-слоте сколь угодно много то единиц работ: отменим перебрасывание. Посмотрим на то, что получилосьОт этого итоговый фронт также не изменится. Так как работу нельзя выполнять одновременно на двух станках, то ни одну единицу работы отсрочить нельзя. Будем рассматривать тайм-слоты в порядке уменьшения по убыванию времени. Если в очередном тайм-слоте с <tex>td_1</tex> в данный момент больше, чем до <tex>m0</tex> работ, то остаток нужно перекинуть на какие-то более ранние тайм-слоты. ЗаметимВ каждый момент времени будем хранить, что выгоднее сколько работ ''необходимо'' перекинуть на наиболее поздние тайм-слоты: более ранние тайм-слоты могут понадобиться для перекидываний с тайм-слотов, идущих раньше просматриваемого. Изначально это число равно нулю.
Также заметимРассмотрим очередной тайм-слот. Пусть в нем занято <tex>h</tex> ячеек из <tex>m</tex>. Пусть <tex>h > m</tex>. Тогда текущий момент есть еще и <tex>a</tex> нераспределяемых позже единиц работы. Если <tex>h + a <= m</tex>, то можно назначить все нераспределяемые позже работы на это время, и сбросить их счетчик. Иначе, так как более <tex>m</tex> единиц работы сейчас выполнить нельзя, а также, ничего нельзя назначить позже, что алгоритм перекидывания работ таковто оказывается, что итоговое распределение количеств невыполняемых сейчас или позже работ в соответствующих тайм-слотах не зависит от того, в каком порядке обрабатывались переполнившиеся таймстало <tex>h + a -слотыm</tex>.
При рассмотрении очередного переполнившегося тайм-слота Если мы необходимо должны куда-то перекинуть несколько работ вышли из него. Так как перекидывание происходит в тайм-слот с наибольшим допустимым временемнулевого времени, а невыполненные единицы работы остались, то то, что неоходимо перекинуть что-то из нулевоготак как распределить их никак невозможно, влечет то, что не существует расписания, в котором можно успеть выполнить бы выполнились все эти работы.
}}
Анонимный участник

Навигация