Научная статья на тему 'Точность итерационного алгоритма решения задачи распределения нагрузки в системах обслуживания'

Точность итерационного алгоритма решения задачи распределения нагрузки в системах обслуживания Текст научной статьи по специальности «Математика»

CC BY
150
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Точность итерационного алгоритма решения задачи распределения нагрузки в системах обслуживания»

Чжо Мью Хтун,

Национальный исследовательский университет «МИЭТ», Москва аспирант, e-mail: kyawmyohtun2013@gmail.com

Чжо Чжо Лин

Национальный исследовательский университет «МИЭТ», Москва

аспирант, e-mail: kklin1500@gmail.com

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

Введение

Центральное место в управлении распределенными системами обслуживания (РСО) занимает задача распределения поступающих заявок между обработчиками или задача диспетчеризации. В работе под РСО мы будем понимать совокупность подвижных обслуживающих объектов, закрепленных за определенной территорией, и единую систему управления ими. В задачу системы управления входит обеспечение реакции на заявки, поступающие от расположенных на этой территории неподвижных источников.

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

Широкий класс оптимизационных алгоритмов составляют методы итерационного улучшения определенного известного решения, которые основаны на пошаговом изменении некоторого решения задачи, называемого начальным. На каждой итерации алгоритма осуществляется подсчет целевой функции и, если ее значение изменяется в лучшую сторону, измененное решение становится начальным и процесс продолжается заданное число шагов. Сложность алгоритма определяется числом итераций. Точность решения, получаемого итерационными алгоритмами, в общем случае зависит от начального решения и количества итераций. Существует множество различных стратегий изменения решения на очередной итерации. В настоящей работе мы исследовали алгоритм, основанный на стратегии случайного поиска.

Модель распределенной системы обслуживания.

Математическую модель РСО, ориентированную на решение задачи диспетчеризации представим в следующем виде [1]:

N - число заявок, поступивших от обслуживаемых объектов;

M - число обслуживающих объектов;

Угу - целевая переменная, равная 1, если j -ый объект используется для обслуживания i -ого вызова и равная 0 в противном случае;

rij - время следования j -ого объекта к источнику i -ой заявки. Тогда, целевая функция системы, минимизирующая время реакции, имеет вид:

Treact = max(rijyij , "i = l, N "j = 1 M) ^ min

N _

При этом: Xy,j < 1, j = 1,M (1).

i =1

В такой постановке, число обработчиков заявок должно быть больше или равно числу самих заявок M > N. Исходной информацией для алгоритмов распределения заявок служит матрица R = \г^}, элементы которой, кроме времени движения обработчика к объекту, могут характеризовать и возможность выполнения объектом своей функции по отношению к источнику заявки. Итерационный алгоритм

Рассмотрим последовательность шагов исследуемого итерационного алгоритма при решении задачи диспетчеризации.

1. В качестве начального решения возьмем некую матрицу Y = {yj)NM, удовлетворяющую условию (1). Найдем Treact = max^yi = ^"j = 1M) .

2. Произведем изменение в известном решении, с помощью случайных парных обменов. Механизм формирования пары элементов, между которыми производится обмен обработчиками, заключается в получении двух случайных величин в диапазоне от 0 до М, номеров строк в матрице Y = {Уу \NM, с последующей их перестановкой и получением новой матрицы Y" = {yujMN Найдем T" recht. Оценим изменение времени реакции системы. Если T"reacht<T recht, запомним этот вариант решения и положим T' 'macht = Treacht.

3. Повторим шаг 2 заданное число раз*.

4. Решением задачи будет последний вариант, запомненный на шаге 2.

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

• достижение заданной точности;

• ограничение на время решения задачи;

• ограничение на число итераций.

Для системы управления РСО критичным является именно время решения задачи, поскольку оно непосредственно влияет на ее характеристики. Это и определяет тот факт, что на практике используется критерий 2, который не зависит от производительности вычислительной системы. Задание числа итераций алгоритма в шаге 3 определяется исходя из значения ограничения по времени. Однако, для исследования точностных свойств алгоритмов, используют критерии 1 или 3. В работе мы используем 3-ий критерий, т.к. первый критерий не обеспечивает

гарантированного завершения работы алгоритма.

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

Результаты вычислительного эксперимента

Точность получаемых решений и быстродействие итерационного алгоритма исследовались путем решения тестовых примеров размерностью N = М = 18 и N = М = 24 для числа итераций от 104 до 108. Ниже представлены результаты исследований (таблицы 1-4). В качестве начального, использовалось решение задачи, полученное с помощью последовательного (минимаксного) алгоритма [2]. В каждом случае проводился пятикратный запуск программы и усреднение полученных результатов.

Таблица 1 - Точность решения (N = 18, начальное время реакции - 318)

Число итераций Время реакции системы Среднее значение

104 216 303 308 318 253 279

5*104 275 257 242 265 210 249

105 251 239 251 209 241 238

5*105 212 216 224 216 229 219

106 209 217 215 188 229 211

5*106 201 208 204 202 202 203

107 201 208 201 188 180 195

5*107 188 171 186 178 185 181

108 168 178 187 168 163 172

Таблица 2 - Быстродействие алгоритма (N = 18)

Число итераций Время решения задачи (сек) Среднее значение

104 0.03 0.038 0.035 0.044 0.04 0.037

5*104 0.147 0.153 0.145 0.155 0.154 0.151

105 0.285 0.291 0.304 0.31 0.308 0.299

5*105 1.43 1.447 1.511 1.535 1.567 1.498

106 2.895 2.991 3.106 3.066 3.254 3.062

5*106 14.51 15.39 14.96 15.95 15.59 15.28

107 29.70 31.83 32.75 31.76 32.64 31.74

5*107 137.4 143.1 157.4 149.8 163.6 150.3

108 285.5 297.6 304.2 316.0 323.0 305.3

Таблица 3 - Точность решения (N = 24, начальное время реакции - 377)

Число итераций Время реакции системы Среднее значение

104 353 367 377 362 362 364

5*104 342 365 354 357 351 353

105 353 361 344 350 338 349

5*105 325 348 327 348 345 338

106 294 321 259 327 245 289

5*106 239 243 237 307 237 252

107 215 245 293 230 239 244

5*107 216 230 215 215 216 218

108 215 215 216 215 209 214

Таблица 4 - Быстродействие алгоритма (N = 24)

Число итераций Время решения задачи (сек) Среднее значен ие

104 0.032 0.035 0.033 0.0373 0.035 0.034

5*104 0.166 0.155 0.154 0.169 0.157 0.160

105 0.348 0.357 0.364 0.352 0.352 0.354

5*105 1.648 1.651 1.635 1.646 1.654 1.647

106 3.244 3.276 3.26 3.261 3.276 3.263

5*106 16.36 16.8 16.52 16.36 17.39 16.69

107 34.02 34.1 34.32 34.25 34.52 34.24

5*107 168.6 168.0 167.0 168.2 169.9 168.3

108 336.9 333.8 358.8 357.7 358.2 349.1

Отметим, что при размерности задачи N = 18 и числе итераций 106 время решения задачи не превышает 3 секунд, при этом время реакции РСО по отношению к начальному решению удается уменьшить на 25-30%. Тесты подтверждают и хорошую сходимость алгоритма. При увеличении числа итераций точность решения повышается практически для всех серий экспериментов.

При увеличении размерности решаемой задачи до N = 24 (таблицы 3 и 4) и тенденция к увеличению точности найденных решений при росте числа итераций сохраняется.

Как и в случае меньшей размерности, для числа итераций 106 время решения задачи незначительно превышает 3 секунды, при этом время реакции также удается уменьшить на 20-25%.

Вычислительные эксперименты проводились на компьютере с процессором Intel Core Duo T5270 @1.40GHz и памятью 2.0 GB. Различие по времени решения задачи объясняется выбранной стратегией улучшения начального распределения, которая основана на случайных парных обменах. В случае совпадения выбранных на этапе 2 алгоритма строк требуется повторная генерация одного из случайных чисел.

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

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

Заключение

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

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

Литература

1. Абаев А.В. Моделирование временных характеристик оперативной деятельности подразделений ГПС. //Информационные технологии и проблемы математического моделирования сложных систем: Сборник научных трудов, выпуск 6. Иркутск: ИрГУПС, 2008.

2. Чжо Мью Хтун. Исследование эффективности алгоритмов решения задачи диспетчеризации. // Современная техника и технологии: Исследования и разработки - 2011 г. Международная научная заочная конференция: сборник докладов. Липецк, 2011. С 40-42.

i Надоели баннеры? Вы всегда можете отключить рекламу.