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

2.2.Параллельные машины.Полиномиально разрешимые задачи

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

Полиномиально разрешимые задачи

Минимизация длины расписания

Псевдополином. точные алгоритмы

Суммарное взвешенное время завершения работ

 

 

Algorithm 5 (Решения P m||Cmax)

Инициализация. F0p0; 0; : : : ; 0q : 1, Fjp0; 0; : : : ; 0q : 0 @j ¥ 1, Прямой ход. Вычисление Fj

for j 1 Ñ n do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for t1 0 Ñ C do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

: : :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for tm 0 Ñ C do

 

 

 

 

 

 

 

 

 

 

 

 

 

Fjpt1; : : : ; ti; : : : ; tmq : "

 

0;

 

 

 

 

 

 

 

ti pj;

 

Fj 1pt1; : : : ; ti pj; : : : ; tmq иначе.

Пусть

T

t p

t1; t2; : : : ; tm

q

q

1

u.

 

 

 

 

 

 

 

 

 

 

t

 

: Fnpt

 

 

 

 

 

 

 

 

 

Найти в

T

вектор p

 

 

 

 

minP

max ti.

 

 

 

t

t1

; t2 ; : : : ; tmq:

max ti

 

 

 

 

 

 

 

 

 

 

i

t T

 

 

i

Обратный ход. Восстановление решения

 

 

 

 

 

 

 

 

 

for j n Ñ 1 do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for i 1 Ñ m do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if Fjpt ; : : : ; t ; : : : t q Fj 1pt ; : : : ; t

pj; : : : t q then

 

 

 

1

i

m

 

1

 

i

 

 

 

 

m

 

 

 

Jj назначить на Mi,

 

 

 

 

 

 

 

 

 

 

 

 

 

t : t pj.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Параллельные машины. Точное решение задач

 

 

Полиномиально разрешимые задачи

Минимизация длины расписания

Псевдополином. точные алгоритмы

Суммарное взвешенное время завершения работ

 

 

Теорема 7

Задача P m||Cmax разрешима с трудоемкостью, не

m

q Opn

m 1

m

превосходящей OpnC

 

pmaxq:

Замечание 3

Алгоритм псевдополиномиален при фиксированном m, но с

увеличением числа машин трудоемкость стремительно растет. По всей видимости, лучшего (полиномиального по m)

алгоритма не существует: задача P ||Cmax NP-трудна в сильном смысле.

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

Параллельные машины. Точное решение задач

 

 

Полиномиально разрешимые задачи

Минимизация длины расписания

Псевдополином. точные алгоритмы

Суммарное взвешенное время завершения работ

 

 

Динамическое программирование для P m|| °wjCj

Заметим:

достаточно рассматривать расписания, в которых на каждой машине работы выполняются в порядке W SP T :

wp1q

¥

wp2q

¥ ¥

wpniq

;

pp1q

 

pp2q

ppniq

 

 

 

 

таким образом, расписание определяется разбиением J на множества J i работ, вып. на Mi.

Обозначим:

C некоторая верхняя оценка на длину оптимального

расписания. Например,

n

pj.

C

 

j°1

Fjpt1; t2; : : : ; tmq минимальное значение критерия для tJ1; : : : ; Jju при условии, что Mi освобождается в ti.

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

Параллельные машины. Точное решение задач

 

 

Полиномиально разрешимые задачи

Минимизация длины расписания

Псевдополином. точные алгоритмы

Суммарное взвешенное время завершения работ

 

 

Идея алгоритма:

1 Упорядочим работы по W SP T .

2 Вычислим значения Fj äëÿ âñåõ j ¤ n è ti ¤ C. 3 Найдем минимум Fn.

4 Восстановим решение.

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

Параллельные машины. Точное решение задач

 

 

Полиномиально разрешимые задачи

Минимизация длины расписания

Псевдополином. точные алгоритмы

Суммарное взвешенное время завершения работ

 

 

Algorithm 6 (Решения P m|| ° wjCj)

Инициализация. Упорядочить работы по W SP T .

Fjpt1; t2; : : : ; tmq : 8 @j ¥ 0, @i ¥ 1, @ti P t0; : : : ; Cu.

F0p0; 0; : : : ; 0q : 0. P : 0. Прямой ход. Вычисление Fj for j 0 Ñ n 1 do

for t1 0 Ñ P do

: : :

for tm 0 Ñ P do

 

Fj 1pt1; : : : ; ti pj; : : : ; tmq : min "

Fj 1pt1; : : : ; ti pj; : : : ; tmq

 

Fjpt1; : : : ; ti; : : : ; tmq wjpti pjq

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(после циклов по ti) P : P pj.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обратный ход. Восстановление решения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть pt ; t ; : : : ; t q arg min Fnpt1; : : : ; tmq.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for j n Ñ 1 do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for i 1 Ñ m do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if Fjpt ; : : : ; t ; : : : t q

Fj 1pt ; : : : ; t

pj; : : : t q wjt then

 

 

1

i

m

1

i

m

 

 

 

 

 

i

 

Jj назначить на Mi,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t : t

 

pj.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Параллельные машины. Точное решение задач

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полиномиально разрешимые задачи

Минимизация длины расписания

Псевдополином. точные алгоритмы

Суммарное взвешенное время завершения работ

 

 

Теорема 8

Задача P m|| ° wjCj разрешима с трудоемкостью, не

m

q Opn

m 1

m

превосходящей OpnC

 

pmaxq:

Замечание 4

Алгоритм псевдополиномиален при фиксированном m, но с

увеличением числа машин трудоемкость стремительно растет. По всей видимости, лучшего (полиномиального по m)

алгоритма не существует: задача P || ° wjCj NP-трудна в сильном смысле.

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

Параллельные машины. Точное решение задач

 

 

Полиномиально разрешимые задачи

Минимизация длины расписания

Псевдополином. точные алгоритмы

Суммарное взвешенное время завершения работ

 

 

Литература к лекции

1 Brucker P. Scheduling algorithms разделы 5.1.2, 5.1.3

2Pinedo M. Scheduling. Theory, Algorithms, and Systems разделы 5.2, 5.3.

3P.Shuurman, G.Woeginger Approximation Schemes - A Tutorial

4S. Sahni. Algorithms for scheduling independent tasks // Journal of the ACM 23: 116 127 (1976).

5Gonzalez T., Sahni S. Preemptive Scheduling of Uniform Processor Systems // J. of the Association for Computing Machinery, Vol.25, No.1, 1978

6U. Schwiegelshohn. An alternative proof of the Kawaguchi-Kyan bound for the Largest-Ratio-First rule // Oper. Res. Lett. 39(4): 255-259 (2011)

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

Параллельные машины. Точное решение задач