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

Исследование эвристических методов решения минимаксной неоднородной задачи по различным критериям. Монография

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
31
производительность серверов в кластере чаще всего неоднородна. В случае правильного распределения задач можно добиться сбалансированной нагрузки. Развитие облачных технологий только подстегнёт данный процесс.
Применение приближенных алгоритмов, работающих за известное и гарантированно определённое время, может существенно повысить возможность применения таких алгоритмов в неоднородных минимаксных задачах. Также необходимо понимать, что задача минимаксного распределения не может занимать время большее или сопоставимое с решением самой задачи.
Задачи проведенных исследований направлены на разработку методов и критериев, моделей для исследования, возможности решения минимаксных задач. Исследование методов применения генетических алгоритмов и оптимизированных списочных алгоритмов позволит повысить эффективность решения оптимизационных задач. Исследование различных критериев позволит определить тот алгоритм, который сможет оптимально загрузить системы.
Отсутствие возможности математически доказать эффективность определенного метода требует наличия удобного программного средства для автоматизированного проведения экспериментов с последующей оценкой полученных результатов. Решение задач моделирования для исследования алгоритмов и критериев субоптимизации решения минимаксных задач также потребует разработки специализированного информационного обеспечения.
32
2 ИССЛЕДОВАНИЕ МОДИФИЦИРОВАННЫХ АЛГОРИТМОВ
РЕШЕНИЯ НЕОДНОРОДНОЙ МИНИМАКСНОЙ ЗАДАЧИ
2.1 Модификация и исследование алгоритма Плотникова – Зверева
Субоптимизация решения минимаксных неоднородных задач рассматривается во многих работах. Задачи теории расписания являются современной актуальной проблемой, оптимальное решение которой необходимо для эффективного функционирования множества процессов в производстве, обслуживании и других сферах деятельности человека.
Широкое распространение для решения распределительной задачи получил простой и достаточно эффективный списочный алгоритм, предложенный В.Н. Плотниковым и В.Ю. Зверевым [12]. Он учитывает структуру и характеристики вычислительных устройств. Это приближенный метод поиска решения, близкого к оптимальному, использующий минимаксный критерий.
Приведем описание алгоритма с минимаксным критерием:
– упорядочим строки матрицы
по убыванию сумм всех элементов
строки
=
n
j
j
pt
1
1
))((
=
n
j
j
pt
1
2
))((
=
n
j
jm
pt
1
))((
. Этим достигается
распределение на первых этапах алгоритмов с большим временем счета и более равномерная загрузка ими вычислительных машин;
– в преобразованной матрице
выделим первую строку i=1 и
найдем в ней min
))((
1 j
pt
- минимальный элемент. Примем этот элемент за
элемент распределения и прибавим его к соответствующему элементу второй строки min
))((
1 j
pt
+
))((
2 j
pt
;
33
– вторая строка теперь учитывает предыдущее решение. Выберем из нее минимальный загруженный процессор min
))((
2 j
pt
, прибавим его к
соответствующему элементу третьей строки min
))((
2 j
pt
+
))((
3 j
pt
и так
далее, получим матрицу
;
на выполнение назначается минимальный элемент строки min
))((
ji
pt

, такой что min
0))((
ji
pt
.
Данный алгоритм применяется для неоднородной вычислительной системы, т.е. тогда, когда время выполнения одного и того же задания может отличаться на разных вычислительных устройствах. Алгоритм отличается наибольшим по сравнению с точными алгоритмами быстродействием, простотой и позволяет получить приемлемые по точности решения [25].
Приведем пример решения данным алгоритмом. Исходная матрица (рисунок 2.1):
             
Рисунок 2.1 - Матрица нагрузки
             
     
 
Рисунок 2.2 - Упорядоченная матрица нагрузки
34
Выполним упорядочивание матрицы (рисунок 2.2):
Начнем прохождение алгоритма:
Шаг 1: (0 0 1)
Шаг 2: (0 2 1)
Шаг 3: (0 3 1)
Шаг 4: (0 3 3)
Шаг 5: (2 3 3)
Шаг 6: (2 3 5)
Шаг 7: (2 4 5)
Шаг 8: (6 4 5)
Получили результирующий вектор (6;4;5) и значение минимаксного критерия, равное 6.
Модификация алгоритма квадратичным критерием. Для адаптации алгоритма к квадратичному критерию пришлось выполнить модификацию алгоритма. Описание алгоритма, модифицированного для использования квадратичного критерия:
– упорядочим строки матрицы
по убыванию сумм всех элементов
строки
=
n
j
j
pt
1
1
))((
=
n
j
j
pt
1
2
))((
=
n
j
jm
pt
1
))((
. Этим достигается
распределение на первых этапах алгоритмов с большим временем счета и более равномерная загрузка ими вычислительных машин;
– объявим строку – строкой текущего состояния;
– для каждого элемента столбца посчитаем квадратичный критерий

󰇡

))((
1 j
pt
󰇢
;
к строке добавим элемент строки
))((
1 j
pt
такой, что 
минимально;
– повторим последовательно для всех строк матрицы [58,59,75,80].
Пример решения по данному алгоритму:
35
Для упорядочивания используется минимаксный критерий, входные данные – из матрицы на рисунке 2.1.
Шаг 1 Критерий: 81 49 1 Вектор: 0 0 1 Шаг 2 Критерий: 50 5 49 Вектор: 0 2 1 Шаг 3 Критерий: 54 10 68 Вектор: 0 3 1 Шаг 4 Критерий: 46 101 18 Вектор: 0 3 3 Шаг 5 Критерий: 22 58 130 Вектор: 2 3 3 Шаг 6 Критерий: 54 94 38 Вектор: 2 3 5 Шаг 7 Критерий: 59 45 94 Вектор: 2 4 5 Шаг 8 Критерий: 77 65 56 Вектор: 2 4 6 Получили результирующий вектор (2; 4; 6) и значение минимаксного
критерия, равное 6, но при этом квадратичный критерий равен 56 и суммарная нагрузка на всех устройствах уменьшилась.
36
Рисунок 2.3 - Сравнение модификации для
]30,25[)(
ji
pt
Рисунок 2.4 - Сравнение модификации для
]40,15[)(
ji
pt
0
500
1000
1500
2000
2500
3000
3500
50 100 150 200
Средний квадратичный критерий по мнимаксному
критерию
Средний квадратичный критерий по квадратичному критерию
Средний t max по мнимаксному критерию
Средний t max по квадратичному критерию
0
500
1000
1500
2000
2500
3000
50 100 150 200
Средний квадратичный критерий по мнимаксному критерию
Средний квадратичный критерий по квадратичному критерию
Средний t max по мнимаксному
критерию
Средний t max по квадратичному критерию
Средний квадратичный критерий по минимаксному критерию
Средний квадратичный критерий по квадратичному критерию
Средний t max по минимаксному критерию
Средний t max по квадратичному критерию
Средний квадратичный критерий по минимаксному критерию
Средний квадратичный критерий по квадратичному критерию
Средний t max по минимаксному критерию
Средний t max по квадратичному критерию
37
Для определения эффективной модификации алгоритма на
диаграммах приведены результаты экспериментов (рисунки 2.3, 2.4). Количество экспериментов 1000 штук с одним набором данных, число приборов 3.
Модификация алгоритма кубическим критерием. Для адаптации
алгоритма по кубическому критерию пришлось выполнить модификацию, аналогичную модификации для квадратичного критерия алгоритма. Результат модификации алгоритма:
– упорядочим строки матрицы
по убыванию сумм всех элементов
строки
=
n
j
j
pt
1
1
))((
=
n
j
j
pt
1
2
))((
=
n
j
jm
pt
1
))((
. Этим достигается
распределение на первых этапах алгоритмов с большим временем счета и более равномерная загрузка ими вычислительных машин;
– объявим строку – строкой текущего состояния;
– для каждого элемента столбца посчитаем квадратичный критерий

󰇡

))((
1 j
pt
󰇢
к строке добавим элемент строки
))((
1 j
pt
такой, что
минимально;
– повторим последовательно для всех строк матрицы [60,61,81]. В качестве примера повторно возьмем матрицу нагрузки (см.
рисунок 2.1): Шаг 1 Критерий: 729 343 1 Вектор: 0 0 1 Шаг 2 Критерий: 344 9 343 Вектор: 0 2 1 Шаг 3 Критерий: 352 28 520
38
Вектор: 0 3 1 Шаг 4
Критерий: 244 1001 54 Вектор: 0 3 3 Шаг 5 Критерий: 62 370 1358 Вектор: 2 3 3 Шаг 6 Критерий: 270 764 160 Вектор: 2 3 5 Шаг 7 Критерий: 277 197 764 Вектор: 2 4 5 Шаг 8 Критерий: 405 349 288 Вектор: 2 4 6
Для сравнения с классическим минимаксным критерием были
проведены вычислительные эксперименты при различных размерностях задачи. Минимальное количество экспериментов по каждой размерности равнялось 1000. Среднеквадратическое отклонение не превышало 1%. Результат представлен в таблице 2.1.
Таблица 2.1
Сравнение кубического и минимаксного критерия
nxm
Куб
крит.
Мин. крит.
nxm
Куб.
крит.
Мин. крит.
nxm
Куб.
крит.
Мин. крит.
3Х340
[1-25]
708
799
3Х119
293
321
3Х19
40
48
[25-30]
2957
3056
1041
1062
179
183
[15-40]
2436
2693
832
933
138
149
4Х340
[1-25]
486
554
4Х119
183
197
4Х19
28
37
[25-30]
2203
2266
782
800
129
133
[15-40]
1692
1890
615
640
97
101
5Х340
[1-25]
337
407
5Х119
119
129
5Х19
31
32
[25-30]
1761
1824
635
652
104
105
[15-40]
1347
1502
491
525
89
95,5
39
Модификация алгоритма равномерным критерием. Данная
модификация носила экспериментальный характер. Получился следующий алгоритм:
– упорядочим строки матрицы
по убыванию сумм всех элементов
строки
=
n
j
j
pt
1
1
))((
=
n
j
j
pt
1
2
))((
=
n
j
jm
pt
1
))((
. Этим достигается
распределение на первых этапах алгоритмов с большим временем счета и более равномерная загрузка ими вычислительных машин;
– объявим строку – строкой текущего состояния;
– для каждого элемента столбца посчитаем квадратичный критерий

󰇡
󰇛 󰇛
))((
1 j
pt
 󰇜
󰇢
;
к строке добавим элемент строки
))((
1 j
pt
такой, что
минимально;
– повторим последовательно для всех строк матрицы.
Для данного критерия очень критичным является выбор

. Для
выбора

воспользуемся и проанализируем три критерия. Условимся, что


– матрица, содержащая в каждой строке минимальный элемент
исходной матрицы и остальные нули, и


– матрица, содержащая в
каждой строке максимальный элемент исходной матрицы и остальные нули. Тогда


 – критерий по максимальной матрице;


 – критерий по минимальной матрице;
=
=
n
Ni
ji
j
NptT
..1
ср
/
– критерий по среднему значению строки.
В связи с тем, что пример будет очень похож на квадратичный
критерий, принято решение его не приводить. Для анализа эффективности алгоритма был произведен эксперимент. Количество экспериментов 1000 повторов с одним набором данных [62,63,64,82]. Среднеквадратическое
40
отклонение не превышало 1%. Результаты эксперимента показаны на рисунках 2.5 и 2.6.
Рисунок 2.5 - Сравнение модификации для
( ) [15,25]
ij
tp
Рисунок 2.6 - Сравнение модификации для
( ) [25,30]
ij
tp
0
1000
2000
3000
4000
5000
6000
3x15
3x51
3x103
3x300
3x571
3x997
4x15
4x51
4x103
4x300
4x571
4x997
5x15
5x51
5x103
5x300
5x571
5x997
Средний t max по усредненному критерию (минимальная матрица) :
Средний t max по усредненному критерию (максимальная матрица) :
Средний t max по усредненному критерию (средний по строке) :
0
1000
2000
3000
4000
5000
6000
Средний t max по равномерному критерию (минимальная матрица) :
Средний t max по равномерному критерию (максимальная матрица) :
Средний t max по равномерному критерию (средний по строке) :
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]