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

2.3.Параллельные машины.Приближенное решение

.pdf
Скачиваний:
23
Добавлен:
28.03.2016
Размер:
857.77 Кб
Скачать

FPTAS для задачи Pm||Cmax Списочные расписания

Пусть x rx1 pk; : : : ; xms P Vk è x rx1; : : : ; xms P Vk 1. Ïî ÏÈ äëÿ x â Vk1 1 есть хорошее приближение y :

y

¤

x k 1.

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

Алгоритм 2:

 

 

 

 

 

 

 

 

 

 

помещает y y pk e1 â S,

 

 

 

 

 

 

добавляет в Vk1 некоторый вектор z из того же

 

 

 

параллелепипеда.

 

 

 

 

 

 

 

По (1) имеем: zi ¤ yi äëÿ âñåõ i.

 

 

 

 

 

 

 

z

 

¤ py

p

q ¤ x k

p

¤ px

 

p

q k:

 

 

 

1

1

k

 

1

k

 

1

k

 

 

 

zi

¤ y ¤ xi k

@i ¥ 2:

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

Таким образом, в Vk1 нашлось приближение для x P Vk.

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax Списочные расписания

Оценим точность. Для оптимального кортежа t P Vn â Vn1 существует приближение t1 :

max t1 ¤ n

max t p1 "{2nqn

max t ¤ p1 "q max t :

1¤i¤m i

1¤i¤m

i

1¤i¤m

i

 

1¤i¤m

i

 

 

 

^, не худший вектора

1 ïî

 

 

 

 

 

 

 

 

 

 

 

На выход Алгоритм 2 подает вектор t

 

 

 

 

 

t

 

значению ц.ф.

 

 

 

 

 

 

 

 

 

 

Трудоемкость Алгоритма ограничена сверху величиной

 

 

n

 

m

 

 

qm

 

m

 

 

 

O ° |Vk| OpnN

q Opnp1 2n{"

 

 

 

 

 

ln Cq.

 

 

k 1

 

 

 

 

 

 

 

 

 

 

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

трудна в сильном смысле.

FPTAS для задачи Pm||Cmax Списочные расписания

Замечание 1

При фиксированном m Алгоритм 2 полиномиален по n и 1{". Однако, при увеличении m трудоемкость стремительно растет. По всей видимости, существенно лучшую (полином. по m и ") схему придумать нельзя: P ||Cmax

Замечание 2

Алгоритм 2 строит

2-приближ. решение с труд. Opnp1 2nqm lnmpnpmaxqq,

3/2-приближ. решение с труд. Opnp1 4nqm lnmpnpmaxqq,

4/3-приближ. решение с труд. Opnp1 6nqm lnmpnpmaxqq. Далее покажем, что

2-приближенное решение можно построить за Opnq,

3/2-приближенное решение можно построить за Opmnq,

4/3-приближенное решение можно построить за Opn ln nq.

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax

Точность жадных алгоритмов

Списочные расписания

Аномалии списочных расписаний

 

 

Списочные расписания

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax

Точность жадных алгоритмов

Списочные расписания

Аномалии списочных расписаний

 

 

Algorithm 3 (Построение списочного расписания для P ||Cmax)

Выбрать L tj1; : : : ; jnu список (упоряд.) индексов работ. Положить ti 0 äëÿ âñåõ i 1; : : : ; m.

for k 1 Ñ n do

в момент t min ti ti íàçí. Jjk на свободную Mi ,

i

положить ti t pjk .

Определение 1

Расписание, полученное по списку L, будем обозначать черезL и называть списочным L-расписанием.

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax

Точность жадных алгоритмов

Списочные расписания

Аномалии списочных расписаний

 

 

Замечание 3

Заметим, что оптимальное оптимальное расписание для задачи P pmq||Cmax является списочным, но найти соответствующий список за полином, по всей видимости, невозможно.

Определение 2

LP T -упорядочением (Longest Processing Times First) назовем перестановку (список) работ по невозрастанию их длин:

pp1q ¥ pp2q ¥ ¥ ppnq:

Списочное расписание, построенное по этому списку, обозначим через LP T .

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax

Точность жадных алгоритмов

Списочные расписания

Аномалии списочных расписаний

 

 

Лемма 1

Пусть I пример задачи P ||Cmax, в котором n ¤ 2m, и существует оптимальное расписание OP T , где на каждой машине выполняется не более двух работ. Тогда расписаниеLP T оптимально. То есть,

Cmaxp LP T q Cmaxp OP T q:

Доказательство. Полагаем, что n 2m, и на каждой машине

в оптимальном расписании в точности две работы (иначе добавим несколько работ длины 0). Преобразуем OP T áåç изменения критерия к виду, который может быть получен с помощью LP T .

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax

Точность жадных алгоритмов

Списочные расписания

Аномалии списочных расписаний

 

 

 

 

 

 

 

M1

J1

 

 

J2

M1

J1

 

 

J2

 

M1

J1

 

 

J2

M2

J3

 

J4

 

M2

J3

 

J4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M1

J2

 

 

J1

M1

J3

 

J4

 

M1

J1

 

 

J4

 

 

 

 

 

 

M2

J1

 

 

J2

M2

J3

 

J2

 

 

 

 

a)

 

b)

 

 

 

 

c)

 

 

 

 

 

Рассмотрим три преобразования расписания.

1

Меняем местами J1 è J2, вып. на одной машине (a).

2

Перемещаем пары работ с одной машины на другую (b)

3

Пусть на M1 âûï. J1 è J2, à íà M2 âûï. J3 è J4. Ïðè ýòîì,

p1 ¥ p2;

p3 ¥ p4;

p1 ¥ p3;

p2 ¥ p4:

Поменяем местами работы J2 è J4 (c).

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax

 

 

Точность жадных алгоритмов

Списочные расписания

 

 

Аномалии списочных расписаний

 

 

 

 

 

 

 

 

 

 

 

M1

 

 

 

 

 

 

 

 

 

J1

 

 

 

 

J10

 

M2

J2

 

 

 

J9

 

M3

J3

 

J8

 

 

M4

J4

 

J7

 

 

 

M5

J5

 

 

J6

 

 

 

Очевидно, эти преобразования не увеличивают Cmax. Ñ èõ помощью можно привести расписание к следующему виду:

на каждой машине длина работы, выполняющейся первой, не меньше длины работы, выполняющейся второй;

длины работ, выполняющихся на M1; : : : ; Mm, образуют невозрастающую последовательность, а длины работ, выполняющихся вторыми неубывающую.

Полученное расписание имеет ту же структуру, что из LP T , è его длина равна Cmaxp OP T q.

Тахонов Иван Иванович

Параллельные машины. Приближенное решение

 

 

FPTAS для задачи Pm||Cmax

Точность жадных алгоритмов

Списочные расписания

Аномалии списочных расписаний

 

 

Теорема 2

Пусть OP T опт. расп. для задачи P ||Cmax. Верна оценка:

Cmaxp LP T q

¤

4

 

1

:

 

 

 

 

Cmaxp OP T q

3

 

3m

 

Расписание LP T строится с трудоемкостью Opn ln nq.

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

ñ LP T .

Докажем следующее свойство: Самая короткая работа (Jn) â примере I начинается и завершается последней.

Тахонов Иван Иванович

Параллельные машины. Приближенное решение