Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Исследование эвристических методов решения минимаксной неоднородной задачи по различным критериям. Монография
.pdf
61
описанием рассмотренных типов алгоритмов. В данной главе
рассматриваются только неоднородные минимаксные системы.
Для дальнейшего рассмотрения предлагается адаптировать алгоритм
Крона, так как в настоящий момент он хорошо изучен для однородных
систем, где показал хорошие результаты. В связи с этим предлагается
адаптировать алгоритм для решения неоднородных минимаксных задач.

62
3 МОДИФИКАЦИЯ АЛГОРИТМА КРОНА
ДЛЯ НЕОДНОРОДНЫХ МИНИМАКСНЫХ ЗАДАЧ
3.1 Алгоритм Крона для неоднородных минимаксных задач
Алгоритм Крона впервые был разработан и применен для
однородных минимаксных задач, где показал хорошие результаты. В
данной работе преобразуем алгоритм для работы с неоднородными
минимаксными задачами. Предлагаем адаптированный алгоритм Крона
для минимаксных задач:
1) генерируем первоначальное решение;
2) вычисляем
=
mj
jii
ptt
,0
max
;
3) находим столбец min = min(timax), и max = max(timax);
4) в максимальном столбце берем произвольный элемент;
5) переносим задание с максимального столбца на минимальный
столбец и считаем T
max
для обоих столбцов. Если T
max
<max(timax), где
maxmin,i
, то обновляем решение и повторяем пункты 1-5;
6) если T
max
>max(timax),то выбираем следующий элемент из
максимального столбца и переходим к шагу 4;
7) находим столбец min = min(timax), max = max(timax);
8) в максимальном столбце берем произвольный элемент;
9) производим замену произвольного элемента максимального
столбца на минимальный элемент минимального столбца. Если
T
max
<max(timax), где
maxmin,i
, то обновляем решение и повторяем
пункты 7-9;
10) полученное решение – результат алгоритма;

63
Данный алгоритм применяется для неоднородной вычислительной
системы, т.е. когда время выполнения одного и того же задания может
отличаться на разных вычислительных устройствах. Алгоритм отличается
наибольшим по сравнению с точными алгоритмами быстродействием,
простотой и позволяет получить приемлемые по точности решения
[82,83,84, 103,105].
Пример решения. Приведем пример решения данным алгоритмом.
Исходная матрица (рисунок 3.1):
Рисунок 3.1 - Матрица нагрузки
Для данного алгоритма не требуется первоначального
упорядочивания, в связи с этим сразу начнем его прохождение.
Сгенерируем первоначальное решение (рисунок 3.2):
Рисунок 3.2 - Первоначальное решение

64
– вычислим сумму выбранных элементов столбцов, получаем
(7;11;15);
– выбираем первый и третий столбец;
– меняем выбор для восьмой строки с третьего на первый столбец;
– проверяем T
max
для обоих столбцов, 13 и 9. Фиксируем решение
(рисунок 3.3);
Рисунок 3.3 - Шаг 4
– следующий шаг (рисунок3.4):
Рисунок 3.4 - Шаг 5
– проверяем сумму по столбцам и фиксируем решение (рисунок 3.5):
Рисунок 3.5 - Шаг 6

65
– следующий шаг (рисунок 3.6):
Рисунок 3.6 - Шаг 7
– следующий шаг (рисунок 3.7).
Рисунок 3.7 - Шаг 8
– следующий шаг (рисунок 3.8).
Рисунок 3.8 - Шаг 9

66
– следующий шаг (рисунок 3.9).
Рисунок 3.9 - Шаг 10
Никакие дальнейшие перестановки не дадут улучшения решения. В
результате получили следующее распределение:
}6;5;2{},8;7;3{},4;1{
321
=== NNN
.
Таким образом, правильное распределение было получено за 10
шагов. Конечно, в представлении работы данного алгоритма случайный
выбор элемента был не совсем случаен, но даже если бы взяли элементы
последовательно, то получили бы исходный результат. Данный алгоритм
был представлен, когда в качестве первоначального решения берется
случайным образом выбранный набор [85,86,87,104].
В таблице 3.1 представлено сравнение решения по алгоритму Крона
со случайной первоначальной матрицей по квадратичному и
минимаксному критерию. Из предыдущего анализа известно, что
квадратичный критерий дает очень хороший результат. Кубический
критерий не рассматривается, так как его результаты сопоставимы или
хуже результатов квадратичного критерия.

67
Таблица 3.1
Сравнение квадратичного и минимаксного критерия
(случайная первоначальная матрица)
Процессоры
Задачи
3x50
3x100
3x150
3x300
3x500
3x700
Минимаксный критерий
324
644
973
1 946
3 244
4 539
Квадратичный критерий
303
589
874
1 737
2 873
4 022
4x50
4x100
4x150
4x300
4x500
4x700
Минимаксный критерий
246
487
730
1 461
2 441
3 407
Квадратичный критерий
229
439
650
1 276
2 114
2 940
5x50
5x100
5x150
5x300
5x500
5x700
Минимаксный критерий
196
391
584
1 170
1 949
2 734
Квадратичный критерий
184
354
517
1 011
1 667
2 321
6x50
6x100
6x150
6x300
6x500
6x700
Минимаксный критерий
165
328
486
972
1 628
2 271
Квадратичный критерий
157
295
433
841
1 375
1 916
Для анализа выбран интервал задач из диапазона [15;25]. Количество
экспериментов на каждом наборе параметров – 100 повторений. Результат
получаем как среднее арифметическое по всем экспериментам.
Из приведенной таблицы хорошо видно, что результат по
квадратичному критерию заметно лучше. Только смена критерия дала
прирост в качестве решения минимум 10% . В дальнейшем будем считать
квадратичный критерий для случайно сгенерированной стартовой матрицы
эталонным, поскольку он наиболее эффективный.
3.2 Модификация алгоритма Крона минимальной матрицей
Минимаксный критерий. Предложено модифицировать
первоначально решение так, чтобы исключить элементы, которые могут
внести максимальное отклонение от оптимального решения. То есть для

68
первоначального решения выбирать только минимальную нагрузку для
каждого задания. Пример такого выбора на рисунке 3.10.
Рисунок 3.10 - Образец минимального распределения
Как видно из приведенной матрицы, для нашего алгоритма это не
очень удачный пример, так как данная матрица уже отвечает всем
требованиям алгоритма и ни один элемент не будет перемещен. Но даже в
таком виде получаем сразу близкое к оптимальному решение
}7;6;5;2{},8;4;3{},1{
321
=== NNN
, значение минимаксного критерия равно
6.
Квадратичный критерий. Еще одним способом модификации
является применение квадратичного критерия. Возьмем матрицу,
представленную на рисунке 3.11. Посчитаем квадратичный критерий для
данной матрицы. При модификации квадратичным критерием, считается
критерий для всей матрицы. В связи с этим нет необходимости
дополнительной проверки по строкам. Критерием улучшения является
уменьшение квадратичного критерия.
T* = (2+4)2+ (4+7)2 + (1+7+1+6)2= 382.
– Проведем первую замену (рисунок 3.11):

69
Рисунок 3.11 - Шаг 2
– Подсчитаем квадратичный критерий для модифицированной
матрицы:
T* = (2+4+7)2+ (4+7)2 + (1+7+1)2= 371.
Критерий улучшился, фиксируем значение.
– Следующий шаг (рисунок 3.12):
Рисунок 3.12 - Шаг 2
T* = (2+7)2+ (4+7)2 + (1+7+2+1)2= 323.
И так далее, в итоге получим результат, аналогичный минимаксному
критерию. В случае применения минимальной матрицы, матрица решения
не будет изменена, так как изначально никакое одинарное изменение в
столбцах матрицы не приводит к улучшению квадратичного критерия. Для
сравнения посчитаем квадратичный критерий для минимальной матрицы и
оптимального решения.
.

70
Как видно из результатов, квадратичный критерий минимальной
матрицы также не очень сильно отличается от оптимального решения. В
связи с тем, что математически доказать эффективность применения
минимальной матрицы невозможно, проведем эксперимент по сравнению
данной модификации с эталонным алгоритмом Крона со случайной
матрицей по квадратичному критерию. Для минимальной матрицы будем
брать и квадратичный, и минимаксный критерий [88,89,90,101].
Результаты эксперимента представлены в таблице 3.2. Диапазон
распределения по задачам из интервала [15;25]. Для статистически точного
результата для каждого набора параметров проводилось 100
экспериментов.
Таблица 3.2
Сравнение квадратичного и минимаксного критерия (минимальная
первоначальная матрица) и квадратичного критерия (случайная матрица)
Наименование алгоритма
nm
3x50
3x100
3x150
3x300
3x500
3x700
1
2 3 4 5 6
7
Квадратичный критерий случайная
мат-ца
302
590,6
874,2
1733
2877
4019
Минимаксный критерий
минимальная матр.
293
580,6
865,4
1727
2869
4025
Квадратичный критерий
минимальная матр.
293
580,7
860,1
1716
2851
3997
4x50
4x100
4x150
4x300
4x500
4x700
Квадратичный критерий случайная
матр.
229
439,9
648,4
1282
2114
2948
Минимаксный критерий
минимальная матр.
217
425,1
635,4
1266
2100
2937
Квадратичный критерий
минимальная матр.
216
424,3
633,5
1258
2087
2914
5x50
5x100
5x150
5x300
5x500
5x700
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
