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

Методическое пособие 719

.pdf
Скачиваний:
16
Добавлен:
30.04.2022
Размер:
5.71 Mб
Скачать

Литература

1.Котенко, А.П. Матричный алгоритм Беллмана–Мура / А.П. Котенко // Управление организационно-экономическими системами. Вып. 10. Самара: Изд-во Самарского гос. аэрокосм. ун-та, 2013. С. 33-37.

2.Котенко, А.П. Сведение задачи о числе кластеров к вычислению кратчайших расстояний на графе / А.П. Котенко, М.С. Щербаков // Перспективные информационные технологии. Труды Международной научно-тех. конференции. Самара: СНЦ РАН, 2016. С. 893-895.

ФГБОУ ВО «Самарский государственный технический университет», Россия

УДК 621.391.1:519.8

М.Ю. Ивашура, О.И. Каляпина

РАЗРАБОТКА НЕЙРОСЕТЕВОЙ МОДЕЛИ ЗАДАЧИ МАРШРУТИЗАЦИИ В СИСТЕМАХ СВЯЗИ ВОЕННОГО НАЗНАЧЕНИЯ И ЕЕ АЛГОРИТМИЗАЦИЯ

Определение маршрута, то есть последовательности транзитных узлов и их интерфейсов, по которым передаются данные, чтобы доставить их адресату

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

В качестве критериев оптимальности могут быть, например:

1.Пропускная способность канала связи;

2.Загруженность каналов связи;

3.Задержки, вносимые каналами;

4.Количество промежуточных транзитных узлов;

5.Надежность каналов и транзитных узлов.

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

Граф представляет собой совокупность непустого множества вершин и рёбер (наборов пар вершин). Говорят, что две вершины в графе являются смежными, если они соединяются общим ребром. Обозначим cij длину ребра, соеди-

няющего две вершины i и j . Тогда кратчайшим путём из вершины S (исток) в

20

вершину t (сток) будет называться путь, который имеет минимальное значение суммы

F = ∑∑dij xij min

(1)

i j

 

При этом необходимо учитывать правила сохранения потока в сети:

1.Из начальной вершины (истока) путь может только выходить.

2.В конечную вершину (сток) путь может только входить.

3.Если путь «зашел» в промежуточную вершину, то он должен из неё и

выйти.

На основе приведенных правил сохранения потока формируются ограничения задачи:

 

 

1, если i = s (правило 1),

 

1

 

 

 

 

xij

(2)

xij xji = -1, если i = t (правило 2),

=

j

j

 

 

0

 

 

 

0, иначе (правило 3)

 

 

 

Таким образом, система выражений (1) и (2) представляет собой задачу булевой оптимизации, являющейся математической моделью задачи о кратчайшем маршруте.

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

Перспективным подходом к решению задачи маршрутизации является использование нейронных сетей [1]. Основополагающей работой по решению оптимизационных задач является работа Хопфилда. На примере решения задачи коммивояжера он показывает подход к решению оптимизационных задач. Рассмотрим математическую модель нейронной сети Хопфилда для задачи о кратчайшем маршруте по аналогии с классической моделью (1), (2), рассмотренной выше.

Обозначим узлы, которые может «посетить» пакет, буквами A, B, C, … , а

расстояния между ними − cAB , cAC , cBC … Решением является упорядоченное

множество из n узлов. Последовательность, в которой обходятся узлы, удобно представлять матрицей n× n , строки которой соответствуют узлам, а столбцы номерам узлов в маршруте. Например, имеется пять узлов A, B, C, D, E, а последовательность их обхода задана матрицей.

Таким образом, узел C посещается первым (исток), узел А − вторым и т.д. Узел D посещается последним (сток). Длина маршрута равна cCA + cAE + cEB + cBD

21

1

2

3

4

5

 

A

 

 

 

 

 

 

0

1 0 0 0

 

B

 

0

0 0 1 0

(3)

C

 

1 0 0 0 0

 

D

 

0

0

0

0

1

 

E

 

0

0

1

0

0

 

В каждом столбце и в каждой строке этой матрицы может быть только одна единица, так как в каждый момент посещается только один узел и каждый узел посещается только один раз. Матрицу вида (3) можно интерпретировать

как состояние нейронной сети из N = n2 нейронов. Задача состоит в том, чтобы из всех допустимых маршрутов выбрать путь с наименьшей длиной. Так как выходом бинарного нейрона может быть только 0 или 1 (промежуточных уровней нет), то текущее состояние сети является двоичным числом, каждый бит которого является выходным сигналом некоторого нейрона. В общем случае система с N нейронами имеет 2N различных состояний и может быть представлена N-мерным единичным гиперкубом. В соответствии с моделью Хопфилда, когда подается новый входной вектор, сеть переходит из вершины в вершину гиперкуба, пока не стабилизируется. В этом случае устойчивая вершина определяется сетевыми весами, текущими входами и величиной порога, благодаря чему сеть ассоциируется с некоторым объектом. Из этого делается заключение о том, что сети Хопфилда обладают ассоциативными возможностями. Сети Хопфилда относятся к классу рекуррентных нейронных сетей, обладающих тем свойством, что за конечное число тактов времени они из произвольного начального состояния приходят в состояние устойчивого равновесия, которое называется аттрактором. Объем ассоциативной памяти сети Хопфилда определяется количеством аттракторов. Недостатком сети Хопфилда является отсутствие гарантии, что стабилизация сети произойдет в точке глобального минимума, есть вероятность, что сеть стабилизируется в локальном экстремуме.

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

Состояние каждого нейрона отобразим двумя индексами, первый из которых соответствует узлу, а второй указывает порядковый номер его посеще-

ния в маршруте. Таким образом, vxj = 1 показывает, что узел x является j-м по

порядку узлом маршрута.

Теперь определим функцию вычислительной энергии сети, предназначенной для решения задачи о кратчайшем маршруте, в которой состояние с наименьшей вычислительной энергией соответствует кратчайшему маршруту. При этом каждому состоянию системы соответствует конкретная величина вычислительной энергии сети. Меньшую энергию имеет устойчивое состояние

22

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

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

E =

µ1

∑∑∑υxiυxj +

µ2

∑∑∑υxiυyi +

µ3

(∑∑υxi n)2 +

2

2

2

 

 

x

i ji

i x yx

 

x i

+

µ4

 

∑∑∑cxyυxi (υy,i+1 +υy,i1 ),

 

 

(4)

 

 

 

 

 

 

 

 

 

2

 

x

i

yx

 

 

 

 

 

где Е − искусственная энергия сети, µ1, µ2 , µ3 , µ4

− положительные множи-

тели.

Функция вычислительной энергии рассматриваемой нейронной сети должна удовлетворять следующим требованиям. Во-первых, функция энергии должна быть построена таким образом, чтобы поддерживались устойчивые состояния системы в форме матрицы вида (3). Во-вторых, функция энергии должна из всех возможных решений поддерживать те решения, которые соответствуют наиболее коротким маршрутам. Перечисленным требованиям удовлетворяет функция Ляпунова (4), в которой переменные являются булевыми величинами vxj = 0, 1. Первое, второе и третье слагаемые выражения (4) поддер-

живают правило сохранения потока в сети, четвёртое слагаемое отвечает за минимизацию длины маршрута. Заметим, что первое слагаемое равно нулю, если каждая строка x содержит не больше одной единицы. Второе слагаемое равно нулю, если каждый столбец содержит не более одной единицы. Третье слагаемое обращается в нуль, если в матрице вида (3) содержится ровно n единиц. Таким образом, без учёта четвёртого слагаемого функция энергии E имеет минимальное значение, равное 0, во всех состояниях сети, представленных матрицей с одной 1 в каждом столбце и в каждой строке. Все другие состояния нейронной сети имеют более высокую энергию. Четвёртое слагаемое функции

(4) численно равно длине маршрута, его минимальное значение обеспечивает построение короткого маршрута. Сконструированная функция энергии в виде формулы (4) позволяет находить путь на графе, длина которого гарантированно близка или равна минимальному пути.

Теперь рассмотрим алгоритм обучения сети Хопфилда для задачи о крат-

чайшем пути. Алгоритм состоит из следующих шагов:

 

1. Задать входные значения нейронов NETj.

+ δi,j−1)

wxi,xj

= −µ1δxy 1 − δij −µ2δij 1 − δxy − µ3 − µ4cxy(δi,j+1

2. Вычислить значения весовых коэффициентов

.

Здесь

 

 

 

- символ Кронекера, принимающий значение 1, если x=y, и зна-

чение 0, в

противном случае. Устойчивость алгоритма гарантируется, если диа-

 

δxy

 

 

гональные элементы матрицы весов равны 0 и она симметрична, т.е. должны задаваться условия wii=0, wij=wji .

23

3.

Вычислить изменение энергии Е, вызванное изменением состояния j-го

нейрона:

δOUTj

− изменение

δE = [NETj Tj]δOUTj

 

 

4.

 

 

 

1, если NETj > Tj .

где

 

 

выхода j-го нейрона.

.

 

 

 

 

 

 

Определить значения выходных нейронов первого слоя

 

 

 

 

j

0, если NETj < Tj

Tj

 

 

 

OUT

= NETj, если NETj =

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

Останов алгоритма можно произвести также по исчерпанию заданного лимита времени или предельного числа итераций (эпох).

Литература

1. Комашинский, В.И. Нейронные сети и их применение в системах управления и связи / В.И. Комашинский, Д.А. Смирнов. – М.: Горячая линия-

Телеком, 2003. – 94 с.

ВУНЦ ВВС ВВА им. профессора Н.Е. Жуковского и Ю.А. Гагарина, Россия

УДК 004.942

К.А. Маковий, Ю.В. Хицкова, Я.В. Метелкин

ПРОЕКТИРОВАНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ОПТИМИЗАЦИИ РАЗМЕЩЕНИЯ ВИРТУАЛЬНЫХ МАШИН

ВЦЕНТРАХ ОБРАБОТКИ ДАННЫХ

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

24

(ANFIS) и нелинейной авторегрессионной сети с экзогенными входами (NARX) [1]. Эти методы используются для построения моделей потребления ресурсов сервера, например, оперативной памяти, процессорного времени и загрузки диска.

Существует две основные характеристики сервера, за которыми необходимо следить при использовании виртуальных машин в центрах обработки данных (ЦОД), – это оперативная память и загрузка процессора [2]. Возможность прогнозировать нехватку данных ресурсов позволит автоматически проактивно выделять их для использования ВМ, разносить наиболее ресурсоемкие ВМ по разным серверам на основании данных мониторинга. Задачу оптимального динамического размещения ВМ можно разбить на три последовательных этапа, представленных на диаграмме IDEF0 (рис. 1):

сбор статистики, на основании которой будет производиться прогнозирование нагрузки в дискретные моменты времени;

прогнозирование оптимального размещения ВМ;

размещение ВМ по серверам, на основе прогноза нагрузки на серверы. При проектировании архитектуры системы было выделено три взаимо-

связанных модуля. Модуль сбора статистики использования ресурсов взаимодействует с базой данных, записывая в нее рассчитанные значения. Следующий модуль анализа и прогнозирования оптимального распределения с помощью запросов производит выборку необходимых данных и на их основе прогнозирует будущее поведение нагрузки. Последний модуль системы, «контроллер распределения», получив данные об оптимальном распределении виртуальных машин, размещает виртуальные машина с учетом этих данных (рис. 2).

 

 

 

Документация

 

 

 

 

 

 

 

 

 

Показатели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервера

Сбор данных

Файлнагрузки

 

Наивный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

байесовский

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A0

 

 

 

классификатор

 

 

 

 

 

 

 

 

 

 

 

Файлданных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Прогнозирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нагрузки

 

 

 

 

Алгоритм

 

 

 

 

 

 

 

A1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Размещение ВМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

 

 

 

 

Модуль сбора

 

 

Модуль

 

 

 

Контроллер

 

 

 

 

 

 

 

 

 

 

 

 

 

прогнозирования

 

 

 

 

статистики

 

 

 

размещения

 

 

 

 

 

нагрузки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1. Диаграмма IDEF0 автоматизированной системы размещения ВМ

25

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

Сбор статистики использованияресурсов

Анализ и прогнозирование оптимального

распределения

Контроллер

распределения

Рис. 2. Архитектура системы оптимизации размещения виртуальных машин

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

Рис. 3. Разбиение статистических данных на классы

На следующем этапе выполняется анализ и прогнозирование будущей нагрузки на сервер с помощью наивного байесовского классификатора [3] или нейронной сети [4].

26

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

Литература

1.Метелкин, Я.В. Анализ подходов прогнозирования нагрузки в виртуализованных средах / Я.В. Метелкин, К.А. Маковий // Оптимизация и моделирование в автоматизированных системах. 2018. С. 112-115.

2.Server hardware resources optimization for virtual desktop infrastructure implementation / K. A. Makoviy [et al.] // CEUR Workshop Proceedings. 2017.

№1904. С. 178-183.

3.Маковий, К.А. Подход к оптимизации серверных ресурсов с использованием прогнозирования нагрузки / К.А. Маковий, Ю.В. Хицкова, Я.В. Метелкин

//Информационные технологии в строительных, социальных и экономических системах. 2018. № 4 (14). С. 75-81.

4.Mittal S. A survey of techniques for improving energy efficiency in embedded computing systems //arXiv preprint arXiv:1401.0765. – 2014.

ФГБОУ ВО «Воронежский государственный технический университет», Россия

УДК 51-7

Е.А. Махнёва

ОПТИМИЗАЦИЯ УПРАВЛЕНИЯ РАСПРЕДЕЛЕННЫМ СКЛАДОМ

С развитием бизнеса появляется необходимость точного учета материальных ресурсов, кроме того для бесперебойной работы предприятия требуется информация о плановых потребностях материалов и комплектующих, а так же оптимизация бизнес потоков. Для небольшого предприятия имеет значение как недостаток материалов (невозможность выполнения текущих заказов) так и затоваривание складов (замораживание денежных средств на длительный срок). Иными словами, одной из задач каждого предприятия является сокращение издержек и повышение эффективности работы склада [1].

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

27

У предприятия есть цель – выработать программу поступления товара на склад, обеспечивающая минимум совокупных затрат на формирование запаса [2].

Издержки на формирование товарного запаса складываются из расходов на: доставку и формирование заказа, закуп товара, хранение данного товара.

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

Рис. 1. Пример распределенного склада

Динамическая модель [3] для одного склада и одного типа товара (рис. 2) имеет вид

Xk= X(k-1)+ Pk–Rk,

(1)

где k – номер дня (сутки), Pk – поступления материалов на склад, решение о величине объема поступлений принимается ЛПР (лицо принимающее решение), Rk – расход материалов, является случайной величиной, Xk – остаток запаса на складе.

Рис. 2. Схема модели для одного склада

28

Xk= X(k-1)+ Pk–(Rk1+Rk2+…+ Rkm)

(2)

В зависимости от структуры склада модель (1) можно обобщить по нескольким направлениям – разное количество складов (3), разное количество монтажников (2), разное количество типов хранимого товара (рис. 2).

Рис. 3. Схема модели нескольких складов

X k = X k 1 + Pk (Pk + Pk )

 

0

 

0

0

01

02

 

 

X1k = X1k 1

+ P01k

R1k

 

(3)

 

k

k 1

k

k

 

 

 

X2

= X2

+ P02

R2

 

 

 

X0k

 

X0k 1

1

 

k

 

k 1

 

 

0

X1

= X1

 

+

 

k

 

k 1

 

 

0

 

X2

 

X2

 

 

1

1

 

Pk

 

Pk

+ Pk

 

1

0

 

*

 

0k

 

 

01

R

k

02

 

 

 

P

 

 

 

 

 

.

 

 

 

01

 

 

1

 

0

1

 

 

Pk

 

 

 

 

Rk

 

 

 

 

 

 

 

02

 

 

 

 

2

 

 

Для автоматизации работы были смоделированы бизнес-процессы предприятия, с помощью инструмента BPMN 2.0. Так же была разработана программа и выполнено моделирование работы нескольких складов (3). Для случая одного центрального склада и двух региональных проведена оптимизация модели, с целью минимизации случаев недостатка материала и затоваривания склада. Найдена оптимальная нижняя граница для закупки отвара на склад

(рис. 4).

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

Вкачестве основной модели случайного расхода была выбрана смесь двух случайных величин (Расход 1 - частые, но мелкие объёмы и Расход 2 - крупные, но редкие). Статистические характеристики этих величин следующие: вероятность большого расхода «Регионального склада 1» и «Регионального склада 2» представлена в таблице.

29