Научная статья на тему 'ПРИМЕНЕНИЕ АЛГОРИТМОВ СЛУЧАЙНОГО ПОИСКА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ДИСПЕТЧЕРИЗАЦИИ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ ОБСЛУЖИВАНИЯ'

ПРИМЕНЕНИЕ АЛГОРИТМОВ СЛУЧАЙНОГО ПОИСКА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ДИСПЕТЧЕРИЗАЦИИ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ ОБСЛУЖИВАНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
31
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННАЯ СИСТЕМА ОБСЛУЖИВАНИЯ / АЛГОРИТМ СЛУЧАЙНОГО ПОИСКА / РАСПРЕДЕЛЕНИЕ ЗАЯВОК / DISTRIBUTED SERVICE SYSTEM / RANDOM SEARCH METHOD FOR SOLUTIONS / REQUESTS FLOW DISTRIBUTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лупин Сергей Андреевич, Тхан Зо У, Чжо Мью Хтун

Предложено в качестве алгоритмической основы для систем управления распределенными системами обслуживания (РСО) использовать методы случайного поиска решений. Показано, что эти методы обеспечивают снижение времени реакции РСО.It has been proposed as an algorithmic basis for the control systems to use the methods for random search of solutions, which provide to bring down the response time of the system service.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Лупин Сергей Андреевич, Тхан Зо У, Чжо Мью Хтун

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

Текст научной работы на тему «ПРИМЕНЕНИЕ АЛГОРИТМОВ СЛУЧАЙНОГО ПОИСКА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ДИСПЕТЧЕРИЗАЦИИ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ ОБСЛУЖИВАНИЯ»

Тгш* = шаХг.у ,, V/ = 1,N V, = 1,М) ^ шш. (1)

Здесь N - число заявок, поступивших от обслуживаемых объектов; M - число обслуживающих объектов; у у - целевая переменная равна 1, если 1-й объект используется для обслуживания ]-го вызова, и равна 0 в противном случае; г у - время следования 1-го объекта к источнику]-й заявки. При этом

N _

^ y У < 1, j = 1, M. (2)

t=i

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

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

Шаг 1. Случайным образом сформируем матрицу Y = {yij}NM, которая удовлетворяет условию (2).

Шаг 2. Найдем время реакции системы как Treact = max( ГуУ у, Vi = 1, N; Vj = 1,M) .

Если оно меньше известного, запомним этот вариант решения.

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

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

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

При реализации алгоритма значительные вычислительные ресурсы затрачиваются на формирование матрицы Y = {yij}NM, удовлетворяющей условию (2). Для ускорения этой процедуры можно использовать принцип формирования случайного вектора с неповторяющимися элементами с помощью нескольких случайных величин [2].

Если заполнять элементы вектора p случайными числами и при этом проверять, чтобы элементы не повторялись, то чем больше заполненных элементов, тем чаще будут выпадать повторяющиеся цифры. В результате на генерацию случайного вектора длиной N с неповторяющимися элементами будет затрачиваться неоправданно много времени. Теоретическая оценка математического ожидания числа бросков Т (операций rand), необходимых для заполнения вектора уникальными числами, дает следующий результат:

N 1

T = N 2 - * N (in N + 0,557). (3)

k=1 k

Ускорение генерации вектора достигается за счет того, что случайное число получается как комбинация двух случайных чисел меньшей размерности, что снижает вероятность повторов. Представим набор чисел, которыми заполняется вектор, в виде упорядоченной последовательности от 1 до N. Тогда одно из чисел будет отражать номер раздела этой последовательности, а второе - смещение в этом разделе. Принцип заполнения вектора длиной N=36 для разбиения 4x9 приведен на рис. 1 и 2.

При генерации очередной случайной позиции вначале проверяем, полностью ли использован раздел последовательности. Если да, то возвращаемся к выбору раздела. В противном случае случайным образом определяем смещение относительно начала раздела в векторе USED. Проверяем, использована ли данная ячейка или нет. Если использована, то возвращаемся к выбору смещения. Если нет, то определяем элемент в векторе P, увеличиваем счетчик заполненных элементов в разделе, устанавливаем флаг занятости смещения в разделе и переходим к заполнению следующего элемента вектора.

I I

|1|2|3|4|5|б|7|8|9 |10|11|12|B|14|15|16|17|18| 19|20|21|22|23|24|25|2бЫ 28|29|30|3l|32|33|34|35|36|

row - 0 1 I row - I I 1 row - 2 1 1 row - 3

row - 2 position 5

placement 2 * + J ^23)

HE

Г Л.......ТТТТ

row = rand() %4; position ~ 1 +rand() %9; placement = row * 9 + position;

............

Рис. 1. Разбиение случайного вектора для ускорения его генерации

Рис. 2. Алгоритм генерации случайного вектора

Результаты статистических исследований способа ускорения генерации случайного вектора длиной N=36 для различных разбиений следующие:_

Разбиение вектора 1x36 2x18 3x12 4x9 6x6 9x4 12x3 18x2

Число бросков 150 127 113 100 88 75 67 54

При этом математическое ожидание числа бросков, необходимых для формирования случайного вектора с помощью одной случайной величины, согласно (3) составляет 7(36) ~ 150.

Результаты исследования эффективности алгоритма случайного поиска с использованием одной и двух случайных величин для формирования матрицы У = {уу}им приведены в табл.1. В каждом случае проводился пятикратный запуск программы и усреднение полученных результатов.

Таблица 1

Эффективность алгоритма случайного поиска (N=18)

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

Без разбиения вектора

104 250 272 278 268 268 267,2

5 104 251 245 241 231 251 243,8

105 216 224 241 232 231 228,8

5105 220 203 222 216 220 216,2

106 201 215 204 208 222 210,0

5106 208 201 201 215 203 205,6

107 199 201 198 189 194 196,2

С разбиением вектора (6x3)

104 303 282 284 284 282 287,0

5 104 232 224 251 231 251 237,8

105 210 251 210 245 244 232,0

5105 222 215 209 186 228 212,0

106 208 217 209 208 181 204,6

5106 181 186 208 204 208 197,4

107 181 181 181 204 181 185,6

Полученные для размерности N=18 результаты показывают, что использование ускоренной генерации случайного вектора не изменяет точностных характеристик алгоритма. При росте числа итераций точность найденных решений повышается в обоих случаях.

Анализ временных параметров алгоритма (табл.2) при использовании ускорения генерации также подтверждает ее эффективность. Поскольку модификации подвергали только одну часть алгоритма - операцию получения случайного вектора - выигрыш по времени составил 25-30%. С ростом числа итераций эффективность ускоренной генерации повышается.

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

Временные параметры алгоритма с ускореной генерацией вектора (табл.4) при увеличении размерности решаемой задачи до N=24 по прежнему подтверждают ее эффективность. Получаемый выигрыш по времени составляет 30-35% (рис.3).

Таблица 2

Быстродействие алгоритма случайного поиска (N=18)

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

Nlter значение

Без разбиения вектора

104 0,261 0,272 0,270 0,232 0,233 0,254

5 104 1,576 1,354 1,431 1,433 1,305 1,420

105 2,543 2,477 3,028 2,678 3,121 2,769

5105 17,58 15,56 18,95 23,66 16,30 18,41

106 30,12 30,23 36,61 38,89 34,33 34,04

5106 194,4 267,7 200,5 190,2 190,1 208,6

107 348,3 371,0 350,0 370,2 382,2 364,3

С разбиением вектора (6x3)

104 0,236 0,235 0,230 0,243 0,298 0,248

5 104 1,297 1,135 1,225 1,444 1,142 1,249

105 2,261 2,262 2,325 2,254 2,420 2,304

5105 11,73 11,87 11,97 11,61 11,23 11,68

106 23,88 23,41 23,3 29,03 28,36 25,60

5106 137,4 119,2 125,9 142,0 150,7 135,0

107 259,9 341,1 289,3 269,1 265,7 285,0

Таблица 3

Эффективность алгоритма случайного поиска (N=24)

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

Без разбиения вектора

104 373 372 362 352 360 363,8

5 104 322 314 345 342 342 333,0

105 300 347 337 326 342 330,4

5105 317 307 310 293 337 312,8

106 306 320 285 317 207 287,0

5106 207 207 293 256 244 241,4

107 207 225 207 225 225 217,8

С разбиением вектора (8x3)

104 352 365 373 348 373 362,2

5 104 327 361 351 338 348 345,0

105 333 342 348 351 345 343,8

5105 330 265 326 321 265 301,4

106 237 207 230 338 256 253,6

5106 226 216 216 225 215 219,6

107 210 216 216 216 207 213,0

Таблица 4

Быстродействие алгоритма случайного поиска (N=24)

Число итераций Среднее

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Nlter Время решения задачи, с значение

Без разбиения вектора

104 0,375 0,338 0,346 0,395 0,335 0,358

5 104 1,664 1,753 1,676 1,642 1,654 1,678

105 3,514 3,543 3,419 3,548 4,024 3,609

5105 18,13 18,16 18,61 18,28 19,96 18,63

106 36,31 35,48 34,38 35,98 39,38 36,30

5106 178,3 185,0 179,0 182,9 180,3 181,1

107 380,1 350,7 386,5 370,4 344,3 366,4

С разбиением вектора (8x3)

104 0,254 0,232 0,231 0,230 0,229 0,235

5 104 1,144 1,144 1,157 1,270 1,147 1,172

105 2,299 2,283 2,299 2,296 2,300 2,295

5105 11,46 11,51 11,61 11,61 11,47 11,53

106 22,98 23,04 23,03 22,94 23,22 23,04

5106 115,1 114,5 116,9 116,6 115,9 115,8

107 229,5 225,3 225,7 230,6 227,8 227,8

Таким образом, алгоритм случайного поиска может быть использован в подсистемах поддержки принятия решений по управлению РСО. Он обеспечивает высокую по отношению к минимаксному алгоритму точность решения - результат, полученный последним, составляет 319 (для N=18) и 383 (для N=24).

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

Принцип формирования вектора с неповторяющимися элементами с помощью нескольких случайных величин позволяет значительно повысить эффективность алгоритма случайного поиска.

400

Рис.3. Зависимость времени решения от числа итераций {Ы =24): —♦— без разбиения; —■— с разбиением

Литература

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

2. Лупин С.А., Зей Яр Вин. Распараллеливание итерационных алгоритмов для многопроцессорных систем // Системный анализ и информационно-управляющие системы: сб. науч. тр. / Под ред. д.т.н. В.А. Бархоткина. - М.: МИЭТ. - 2008. - С. 164-168.

Статья поступила 5 мая 2011 г.

Лупин Сергей Андреевич - кандидат технических наук, профессор кафедры вычислительной техники МИЭТ. Область научных интересов: информационно-управляющие и информационные системы, параллельные вычисления, кластерные вычислительные системы.

Тхан Зо У - аспирант кафедры вычислительной техники МИЭТ. Область научных интересов: параллельные вычисления, высокопроизводительные вычислительные системы.

Чжо Мью Хтун - аспирант кафедры вычислительной техники МИЭТ. Область научных интересов: параллельные вычисления, высокопроизводительные вычислительные системы.

УДК 621.317

Математическая модель системы отображения информации тренажера с распределенной обработкой данных

Р.Н. Акиншин Секция прикладных проблем при Президиуме РАН

В.В. Сигитов ОАО «ЦКБА» (г. Тула)

Е.И. Минаков, Д.В. Морозов Тульский государственный университет

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

Ключевые слова: система массового обслуживания, среднее время обслуживания, дисциплина обслуживания, распределенная обработка данных.

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

Диалоговая система может быть представлена в виде стохастической замкнутой сети систем массового обслуживания (СМО), которая характеризуется следующими параметрами: N - число входящих в нее СМО; тп - число каналов обслуживания в СМО

Бп (п = 1, N); - интенсивность потоков обслуживания каналов в СМО 8п;

О = рИ (,И = 1, N - матрица вероятностей передач заявок (запросов пользователей)

между СМО сети и числом 2 запросов пользователей, циркулирующих в сети СМО.

В качестве СМО сети рассматриваются: процессор (одноканальная СМО) или группа процессоров (многоканальная СМО), дисководы, устройства управления вводом/выводом, устройства печати, каналы связи, дисплеи и т.д.

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

© Р.Н. Акиншин, В.В. Сигитов, Д.В. Морозов, Е.И. Минаков, 2012

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