Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

177523

.pdf
Скачиваний:
116
Добавлен:
29.02.2016
Размер:
885 Кб
Скачать
☆

Алгоритм 1.

Для построения приближенного алгоритма будем использовать жадный алгоритм. Для этого, по аналогии с задачей о рюкзаке, отсортируем список предметов в порядке убывания их размеров, и будем последовательно дополнять предметы к пустому множеству в соответствии с упорядочением. Если очередной предмет при добавлении к множеству приводит к тому, что суммарный объем предметов, входящих в сгенерированное множество превышает L, то отбрасываем его и переходим к рассмотрению следующего предмета упорядоченного списка. Описанный процесс продолжаем до тех пор, пока суммарный размер предметов множества не станет равным L или будет исчерпан упорядоченный список объектов.

Пример 2 . 4 . Объемы предметов ai приведены в таблице 2.2. Пре-

дельная сумма объемов предметов множества равна L=55. Необходимо найти такой набор предметов, сумма размеров которых была бы наиболее близка к L.

Таблица 2.2

ai

1

14

22

7

27

11

ai ≥ ai+1

27

22

14

11

7

1

 

1

2

3

4

5

6

Так как емкость множества 55, то мы сможем добавить в него в соответствии с нашим алгоритмом 3 предмета с объемами: 27, 22 и 1. Общий объем сгенерированного множества – 50. Это решение не является оптимальным, так как существует лучшее решение, которое дают предметы с объемами 22, 14, 11, 7 и 1. В этом случае объем – 55, т. е. данное решение является оптимальным.

Алгоритм 2.

Рассмотрим еще один алгоритм, который также является жадным при каждом из своих проходов.

1. На первом проходе этот алгоритм начинает с пустого множества и добавляет в него элементы из упорядоченного по убыванию объемов списка предметов. Если очередной предмет при добавлении к множеству приводит к тому, что суммарный объем предметов, входящих в сгенерированное множество превышает L, то отбрасываем его и переходим к рассмотрению следующего предмета упорядоченного списка. Описанный процесс продолжаем до тех пор, пока суммарный размер предметов множества не станет равным L или будет исчерпан упорядоченный список объектов.

42

2.На втором проходе алгоритм начинает свою работу со всевозможных одноэлементных множеств и добавляет к ним, аналогично первому проходу, элементы из упорядоченного по объемам списка предметов.

3.На третьем проходе алгоритм аналогичным образом исследует все трехэлементные множества и т. д.

Количество проходов алгоритма ограничено временем, отведенным на работу алгоритма. Если время позволяет, то на n +1 проходе, где n – количество предметов, алгоритм построит оптимальное решение (если оно не будет построено ранее, например, на некотором проходе сумма элементов сгенерированного множества совпадет с L).

Пример 2.5. Для приведенного в таблице 2.2 примера (упорядоченность: 27, 22, 14, 11,7,1) уже на втором проходе будет построено оптимальное решение задачи (Таблица 2.3).

 

 

 

Таблица 2.3

Номер

Размер

Добавляемые

Сумма элементов

 

прохода

начального

элементы

сгенерированного

 

 

подмножества

 

множества

 

0

0

27,22,1

50

 

1

27

22 1

50

 

 

22

27 1

50

 

 

14

27 11 1

53

 

 

11

27 14 1

53

 

 

7

27 14 1

49

 

 

1

27 22

50

 

2

27 22

1

50

 

 

27 14

11 1

53

 

 

27 11

14 1

53

 

 

27 7

14 1

49

 

 

27 1

22

50

 

 

22 14

11 7 1

55 ! опт.

 

 

22 11

14 7 1

55

 

 

22 7

14 11 1

55

 

 

22 1

27

50

 

 

14 11

27 1

53

 

 

14 7

27 1

49

 

 

14 1

27 11

53

 

 

11 7

27 1

46

 

 

11 1

27 14

53

 

 

7 1

27 14

49

 

43

2.5. Приближенный жадный алгоритм для задачи о раскраске графа

Требуется определить минимальное количество цветов с, в которые можно раскрасить вершины графа так, чтобы концы каждого ребра графа были окрашены в разные цвета.

Для данной задачи доказано, что число красок, даваемое лучшим приближенным полиномиальным алгоритмом, более чем вдвое превышает оптимальное. Рассмотрим простой алгоритм последовательной раскраски произвольного графа с N вершинами.

Алгоритм

Последовательно рассматриваем все вершины исходного графа, чтобы определить каким цветом их покрасить. Предположим, что мы хотим определить каким цветом должна быть покрашена вершина i.

1.Полагаем первоначально номер цвета для этой вершины c =1.

2.Пока в графе существуют вершины, смежные с вершиной i и покрашенные цветом c, увеличиваем номер цвета окраски вершины i на единицу: c : = c +1.

3.Окрашиваем вершину с номером i в цвет с.

Несложно увидеть, что максимально возможное число красок, используемое для раскраски графа данным алгоритмом, равно степени графа, увеличенной на 1 (степень графа – максимум из степеней его вершин).

Пример 2 . 6 . Решить задачу раскраски графа, приведенного на рис. 2.3.

3

3

2

2

2

4

1 1

6

5

1

2

Рис. 2.3

44

Раскраска вершин проводилась в соответствии с приведенным алгоритмом. Вершины графа просматривались в порядке возрастания их номеров. Как видно из рис. 2.3 минимальное число потребовавшихся красок равно 3.

2.6. Приближенные алгоритмы с гарантированной оценкой точности.

Рассмотрим задачу минимизации целевого функционала F(x) на множестве X . Обозначим

F* = min{F(x) | x X }

Предположим, что F* > 0 . Пусть приближенный алгоритм H отыски-

вает элемент множества X со значением

F H целевого функционала.

Введем в рассмотрение величину ∆H = F H

 

. Эта величина зависит от

F *

 

алгоритма H и от набора входных данных задачи. В данном разделе под

гарантированной оценкой точности решения, получаемого при помощи алгоритма H , будем понимать верхнюю оценку величины ∆H при лю-

бом наборе входных данных задачи.

В дальнейшем обозначения F* , F H , ∆H используются при рассмот-

рении конкретных задач и конкретных приближенных алгоритмов. Смысл этих обозначений не изменяется.

Рассмотрим NP - трудную в сильном смысле задачуP // ∑ wiCi . Задача

состоит в отыскании расписания, минимизирующего взвешенную сумму моментов завершения обслуживания n требований в системе из m параллельных идентичных приборов. Для каждого требования j задана длительность обслуживания p j и вес (относительная важность) w j . Расписание

однозначно определяется разбиением множества требований на подмножества N1, N2 ,K, Nm , где требования множества N1 обслуживаются прибором

1, и указанием порядка обслуживания требований в каждом подмножестве. При помощи перестановочного приема нетрудно показать, что достаточно ограничиться рассмотрением расписаний, при которых требования каждого подмножества упорядочены по правилуSWPT , т.е. по неубыванию значений p j w j . Таким образом, расписание однозначно определяется разбие-

нием множества требований на m подмножеств.

45

Опишем приближенный алгоритм A решения задачи P // ∑wiCi , кото-

рый состоит

в следующем.

Перенумеруем

требования

в поряд-

кеSWPT так, что

p1

w1

≤K ≤ pn

.

 

 

 

 

Организуем

 

 

wn

 

 

 

 

 

m

подмножеств

N1, N2 ,K, Nm ,

полагая

вначале

N1 = N2 =K= Nm = . Будем последовательно,

начиная с первого, рас-

пределять требования 1,2,K,n по

подмножествам. Пусть требования

1,2,K,k,k < n распределены, где 0

- фиктивное требование, соответст-

вующее начальной ситуации p0 = 0 . Требование k + 1

назначается сле-

дующим образом. Обозначим Pl

=

∑ p j , l =1,K, m . Находим такое под-

 

 

 

 

 

j N l l

 

 

 

множество Nl что Pl

= min Ph . Полагаем Nl =N l {k +1} и, если k +1 ≠ n

 

 

 

1≤h≤m

 

 

 

 

 

 

переходим к назначению требования k + 2 .

 

 

 

Временная сложность алгоритма A равна

O(n log n) , так как значе-

ния P1, P2 ,K, Pm можно хранить в виде кучи или поискового 2 - 3 дерева.

Обозначим через

F*

и

F*

минимальное

значение функционала

∑wiCi при m = 1

1

 

n

 

 

и

m = n

соответственно.

Очевидно, что тогда

n

j

F1* = ∑w j ∑pi

j=1

i=1

n

и Fn* = ∑w j p j .

j=1

Найдем верхнюю и нижнюю оценки значения

F* . Очевидно, что

F* ≤ F A . Поскольку на итерации

j алгоритма A выполняется соотноше-

 

 

 

 

 

1

j−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ние Pl = min {Ph} ≤

 

∑pi , то имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1≤h≤n

 

m i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

1

j−1

 

 

 

 

 

 

1

n

j

 

1

 

 

n

 

1

 

 

 

m −1

 

F A ≤ ∑w j (

∑pi + p j ) =

 

∑w j ∑pi

+(1 −

)

∑w j p j =

F1* +

Fn* .

 

 

 

m

 

j =1

 

m i=1

 

 

 

 

 

 

m j=1 i=1

 

m

j=1

 

 

 

 

m

Для получения нижней оценки значения F * понадобится ряд вспомо-

гательных утверждений.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лемма

2.1.

Пусть

 

b1,b2 ,K,bn -

действительные

числа. Тогда

n

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( ∑b j )2 ≤ n ∑b2j .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p j

 

 

 

 

 

 

 

 

 

1

 

n

 

1

 

 

 

Лемма 2.2. Если

 

 

= C

, j =1,2,K, n , то F1* =

 

(

∑p j )2 +

Fn* .

 

 

 

 

 

 

 

 

 

 

 

w j

 

 

 

 

 

 

 

 

2C

j =1

2

 

 

 

46

Лемма 2.3. Если

p j

= C, j =1,2,K, n , тоF * −

1

F * ≥

1

(F * −

 

1

F * ) .

w j

2

m

2

 

 

 

 

 

 

 

 

n

1

n

Теорема

2.1.

 

 

Для

любого

расписания

справедливо

∑w jC j ≥

1

 

F1* +

m −1

Fn* .

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

2m

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство. Воспользуемся индукцией по числу r различных значений p j w j . При r =1 справедливость утверждения следует из лем-

мы 2.3. Пусть теорема верна при всех r ≤ k −1, k ≥ 2 . Пусть имеется k различных значений p j w j и p1 w1 =K= pq wq > pq+1 wq+1 .

Положим γ = wq+1 p1 ( pq+1w1) и рассмотрим вспомогательную задачу, в

которой веса обозначены w j и для первых q требований w j =γw j , j =1,K, q . Очевидно, что во вспомогательной задаче количество различ-

ных значений p j

равно k −1. Для вспомогательной задачи введем

 

w j

обозначения

 

 

 

 

 

 

1*

 

и

 

 

 

*n ,

аналогичные обозначениям для исходной задачи.

F

F

В

 

 

 

силу

 

 

индуктивного

предположения,

 

для

 

 

любого

 

 

расписания

∑

 

 

 

 

jC j −

1

 

 

 

*n ≥

1

(

 

 

1*

−

 

1

 

 

 

 

*n ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

F

F

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

m

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем обозначения X = F

* −

 

Fn* ,

 

 

 

 

 

=

 

 

 

* −

 

 

 

 

 

*n , Y = ∑w jC j −

Fn* ,

 

 

 

 

 

 

 

 

 

 

X

F

F

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= ∑w j

∑pi

 

 

 

 

 

 

∑w j p j , δ( X ) = X − X

 

 

 

 

 

Y = ∑w jC j −

 

 

 

 

 

 

 

, X

 

 

−

,

 

 

 

 

 

 

 

 

 

 

F n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

2 j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q = ∑

 

 

 

jC j

−

 

∑

 

j p j , δ(

 

 

) =

 

 

 

 

−

 

 

 

 

 

q .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

w

 

w

Y

Y

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

2 j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

≥

 

 

 

 

 

 

 

 

 

 

 

 

q

≥

 

 

 

q , а и равенств

 

j = γw j ,

 

 

 

 

 

 

Из леммы 2.3 следует, что mY

X

 

и mY

X

w

 

 

j =

 

 

 

,

 

 

X =

1

 

 

 

 

 

 

q +δ(

 

 

)

 

и

 

Y =

 

1

 

 

 

 

q +δ(

 

) . Возможны

 

два

случая:

 

 

1, q

 

 

X

X

Y

Y

 

 

 

γ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

γ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

 

 

δ(

 

 

 

) ≤ mδ(

 

 

 

)

 

и 2)

 

δ(

 

 

) > mδ(

 

) . В первом случае получаем X ≤ mY ,

X

Y

 

 

X

Y

т.

е.

 

 

1

 

(F1* −

1

Fn* ) ≤ ∑w jC j −

1

Fn* . Во втором

случае из

 

 

неравенства

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q ≥

 

q следует, что mδ(

 

 

)

 

q > m

 

 

 

qδ(Y ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mY

X

X

Y

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку

 

 

 

 

 

 

 

γ <1

 

 

 

 

 

 

получаем

 

 

 

 

 

 

 

 

 

 

 

(1 −γ )δ(

 

)

 

q > (1 −γ )

 

qδ(Y )

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

Y

X

 

δ(

 

)

 

q +γ

 

q

 

qδ(Y ) >

 

qδ(

 

) +γδ(

 

)

 

q . Прибавляя к обеим

частям

X

Y

X

Y

X

Y

X

Y

47

этого неравенства X q Y q +γδ( X )δ(Y ) , получаем

( X q +δ( X ))(Y +γδ(Y )) > ( X q +γδ( X ))(Y q +δ(Y )) .

Однако

X q +δ( X ) = X , Y q +δ(Y ) = Y ,

 

 

 

 

 

 

 

 

 

q +γδ(

 

) = γY ,

 

 

q +γδ(

 

 

) = γX .

 

 

 

 

 

 

 

 

 

 

 

Y

Y

X

X

 

 

 

 

 

Поэтому последнее

неравенство

принимает вид γ

 

 

 

 

 

 

 

XY >γX Y . Из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mY

≥ X

и последнего неравенства следует γmYY > γX Y . Таким образом,

mY > X .

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

m −1

 

 

 

 

 

 

 

m −1

 

 

 

 

 

 

Из теоремы следует,

что F * ≥

 

F * +

F* ≥ F A

−

F * . Полагая,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m 1

 

 

 

2m n

 

 

2m

 

n

m = n получаем F *

≥

2

 

F * , откуда следует, что F* ≥

 

 

m + n

 

F* .

 

 

 

 

 

n

 

n +

1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m(n +1) 1

 

Сейчас нетрудно получить оценку сверху величины ∆A :

 

 

 

 

∆

A

= F A

/ F* ≤ (F* +

m −1

F* ) / F* ≤

3m −1

поскольку F* ≤ F* .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2m

 

n

 

2m

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.7. Задача об упаковке в контейнеры

Рассмотрим NP-трудную в сильном смысле задачу об упаковке в контейнеры, которая в терминах теории расписаний может быть сформули-

рована следующим образом. В условиях задачи P d j = d C j ≤ d j предпо-

лагается, что количество приборов равно числу требований m = n , общий директивный срок не меньше максимальной длительности обслуживания требований d ≥ max p j , и требуется отыскать минимальное число прибо-

j

ров и соответствующее расписание, при котором все требования будут обслужены к директивному сроку d .

Приведем описание четырех приближенных алгоритмов решения задачи об упаковке в контейнеры. В алгоритмах рассматривается некоторая перестановка π требований, требования последовательно выбираются из этой перестановки и назначаются на приборы в соответствии с некоторыми правилами. Резервом времени прибора l , обозначаемым Rl ,

называется разница между d и суммарной длительностью обслуживания требований, назначенных на прибор l .

В алгоритмах B1 и B2 перестановка π является произвольной. На шаге k алгоритма B1 или B2 выбирается требование, расположенное на месте k в перестановке π . В алгоритме B1 это требование назначается на прибор с наименьшим номером среди приборов с достаточным резервом

48

времени для завершения этого требования в срок. В алгоритме B2 это

требование назначается на прибор с наименьшим достаточным резервом времени.

Алгоритмы B3 и B4 отличаются от алгоритмов B1 и B2 соответственно

лишь тем, что требования в перестановке π расположены в порядке LPT (невозрастания значений p j ).

Алгоритм Bi может быть реализован за время O(n logmi ) , где mi -

количество приборов, найденное алгоритмом. Каждый из приборов обслуживает хотя бы одно требование. Очевидно, что mi ≤ n , i =1,2,3,4 .

Оценим точность получаемых при помощи алгоритмов B1 − B4

реше-

ний. Не ограничивая общности, будем считать, что d =1 и

p j ≤1,

j =1,K,n .

 

Докажем ряд вспомогательных утверждений для алгоритмов B1 и B2 . Введем в рассмотрение функцию ψ(x) , x [0,1] .

 

 

 

 

 

 

 

6 x, x [0, 1

6

],

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, x (1

 

 

 

 

 

 

],

 

 

 

 

 

 

 

 

 

 

 

9 x −

1

6

, 1

3

 

 

 

 

 

 

 

 

 

 

ψ(x)=

5

 

 

10

 

 

 

 

 

 

 

],

 

 

 

 

 

 

 

 

 

 

 

6 x + 1 , x (1

3

, 1

2

 

 

 

 

 

 

 

 

 

 

 

5

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,1].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1, x

(1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее будем рассматривать расписания, построенные алгоритмом B1

либо B2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лемма 2.4. Пусть на некоторый прибор

 

 

назначены требования

1,K, j . Тогда ∑j ψ( pi ) ≤1710 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p1 ≥K≥ p j .

 

Не

 

ограничивая

общности, предположим,

 

 

что

 

Если

p ≤ 1

2

, то из определения ψ(x)

следует ψ

( p

)

≤

3

 

p

, i =1,K, j .

Тогда

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

2

 

i

 

 

∑j ψ( pi ) ≤ 3 ∑j

pi

≤ 3

2

. Если p1

> 1

2

, то

∑j

pi

 

<

1

2

. В этом случае доста-

i=1

 

2 i=1

 

 

 

 

 

 

 

i=2

 

 

 

 

 

 

 

 

 

 

 

 

 

точно показать, что ∑j ψ( pi ) ≤ 710 . Возможны следующие варианты:

i=2

49

1)p2 ( 13 , 12], p3 (0, 16] ,

2)p2 ( 16 , 13], p3 (0, 16] ,

3)p2 , p3 ( 16 , 13], p4 (0, 16],

4)p2 (0, 16].

При

 

 

 

 

вариантах

 

 

 

1)

 

 

 

и

2)

 

имеем

 

 

 

соответственно

j

 

 

6

 

 

 

1

 

6

 

1

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∑ψ( p j ) <

 

 

p2

+

 

+

 

 

(

 

− p2 ) =

 

 

, и

 

 

 

 

 

 

 

 

 

 

5

10

5

2

10

 

 

 

 

 

 

 

 

 

 

i=2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

9

 

 

 

1

 

 

 

 

6

1

 

 

 

 

1

3

≤ 710 . При варианте 3) имеем

∑ψ

 

 

 

 

 

 

 

 

 

 

 

( pi ) < 5 p2 −

10 +

5

( 2 − p2 ) =

2

+ 5 p2

i=2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∑j ψ( pi ) < 9 ( p2

+ p3 ) −

 

2

+ 6 (

1 − p2 − p3 ) =

2 +

3

( p2 + p3 ) <

 

7

10

, поскольку

i=2

 

 

5

 

 

 

 

 

 

 

10

5

2

 

 

 

 

 

5

5

 

 

 

 

 

 

 

 

 

 

 

 

. При варианте 4) имеем ∑j ψ( pi ) <

 

∑j

 

 

 

 

 

 

 

p2 + p3

<

1

6

pi <

6

10

.

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=2

 

5 i=2

 

 

 

 

 

 

Для прибора l обозначим через ψ(h)

максимальный резерв времени

для приборов h =1,K,l −1 , т. е. Q =

max

R . Положим Q

0

= 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

1≤h≤l −1

h

 

 

 

 

 

 

 

 

Лемма 2.5. Для любого требования,

назначенного

 

на

прибор l с

R ≥

1

2

справедливо p > Q .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство.

Для алгоритма

B1 pi > Ql

для любого

требования,

назначенного на прибор l . Рассмотрим алгоритм B2 .

 

 

 

 

 

 

Пусть Q < 1

2

. Тогда

R <

1

2

 

, h =1,K,l −1

и длительность обслужива-

 

 

 

 

 

 

l

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ния первого назначенного на прибор l требования больше, чем Ql . Обо-

значим эту длительность через τ . Если τ > 1

2

, то лемма доказана. Если

τ ≤ 1

 

, то R ≥ 1

 

 

 

 

 

 

2

2

и длительность второго назначаемого на прибор l

тре-

 

 

l

 

 

Ql .

Обозначим эту длительность через τ′.

Если

бования больше,

чем

τ +τ′ ≤ 12 ,

то

лемма

2.5

доказана. Если τ +τ′ > 12 , то длительность

третьего назначаемого на прибор l требования больше чем Ql . Повторяя

приведенные рассуждения конечное число раз, получаем справедливость утверждения леммы.

При Ql ≥ 12 имеем τ > Ql ≥ 12 , что и требуется.

50

 

Лемма 2.6. Пусть на

 

 

прибор

 

l

назначены требования 1,K, j и

Ql

< 12 . Если ∑j

pi

 

≥1 −Ql , то ∑j ψ( pi ) ≥1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство.

Не

 

ограничивая

 

общности,

 

 

предположим,

что

p

≥Kp

j

. Если

p

 

> 1

2

, то ψ( p ) =1

и справедливость утверждения лем-

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мы доказана.

. Поскольку ∑j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть p1 ≤ 12

pi ≥1 −Ql > 12 , имеем l ≥ 2. Из леммы 2.5

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

p

≤

2

следует,

 

 

что

 

 

 

p

> Q .

 

Возможны

 

 

 

варианты:

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1) Q

l

(0,

1

6

] , 2)

Q

l

( 1

6

,

1

3

] , 3)

Q

l

( 1

3

, 1

2

] .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В условиях первого варианта ∑j ψ( pi ) ≥

 

6

∑j

pi ≥

6

 

(1 −Ql ) ≥

6 5

 

=1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

5 i=1

 

5

 

 

 

1

 

 

 

Пусть в условиях второго варианта

j = 2 . Поскольку p + p

2

>

2

име-

 

 

 

 

 

 

 

 

p ≥ 1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

< 1

 

 

 

 

1

 

 

 

 

 

ем

 

либо

 

 

 

3

,

либо

 

 

p ≥

3

 

и

Q

l

< p

2

3

.

В первом

 

случае

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ψ( p1) +ψ( p2 ) = 65 p1 + 95 p2 = 65 ( p1 + p2 ) + 53 p2 > 65 (1 −Ql ) + 53Ql = 65 − 53 Ql ≥1,

поскольку Ql ≤ 13 .

 

 

Пусть в условиях второго варианта

j ≥ 3 . Если p ≥

1

или p ≥ 1

3

и

 

 

 

 

< 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

1

 

Q

l

< p

2

3

то, как показано выше, ψ( p ) +ψ( p

2

) ≥1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

≤ p < 1

 

.

Тогда

 

 

Предположим,

 

 

 

 

что

 

 

Q

l

< p

 

3

∑j ψ( pi ) ≥

 

 

 

 

 

 

 

 

 

 

∑j

 

 

 

 

 

 

2

1

 

 

 

 

9

p1 +

9

p2

−

1

+

6

pi ≥

9

( p1 + p2 ) −

1

+

 

6

(1 −Ql − p1 − p2 ) =

 

 

 

 

 

 

5

 

 

 

 

i=1

 

 

5

 

5

 

5

 

5 i=3

 

 

 

 

5

 

5

 

 

 

 

 

 

=53 ( p1 + p2 ) − 15 + 65 (1 −Ql ) > 65 − 15 =1 .

Вусловиях третьего варианта из j ≥ 2 следует p1 > 13 , p2 > 13 и далее

∑j ψ( pi ) ≥

6

( p1 + p2 ) +

1

 

>1. Лемма 2.6 доказана.

5

5

i=1

 

 

 

 

 

 

 

51

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]