аспирант, Белгородский государственный национальный исследовательский университет, РФ, г. Белгород
ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ ПРИНЯТИЯ РЕШЕНИЙ НА РЫНКЕ ИНФОРМАЦИОННЫХ УСЛУГ
АННОТАЦИЯ
В этой статье рассмотрен пример использования генетического алгоритма для решения задачи оптимизации с использованием графового анализа в сфере планирования ассортимента информационных услуг.
ABSTRACT
This article describes an example of using a genetic algorithm to solve the optimization problem using graph analysis in the field of planning an assortment of information services.
Ключевые слова: генетический алгоритм, графовый анализ, задачи оптимизации, информационные услуги.
Keywords: genetic algorithm, graph analysis, optimization problems, information services.
Сегодня во многих странах мира значительная часть информационной деятельности вовлечена в рыночные отношения и выступает в качестве одного из важнейших элементов рыночной инфраструктуры по обслуживанию, реализации и развитию рыночных отношений, а также как самостоятельный специализированный сектор рынка, на котором предлагаются особые продукты и услуги. Совокупный спрос сдвигается в сторону информационных потребностей, которые все более и более индивидуализируются [1, с. 65].
В связи с разнообразием и динамичностью рынка информационных услуг и продуктов перед производителями и посредниками часто встает вопрос определения ассортимента услуг, что требует разработки адекватной модели принятия решения [2, с. 253].
В принятии подобного решения специалистам может помочь становящийся все популярнее графовый анализ, позволяющий представить задачу как набор взаимосвязанных сущностей. При этом подобный анализ способствует нахождению неочевидных зависимостей между сущностями, делая полученное решение более оптимальным [3].
Для реализации графового анализа могут быть использованы биоинспирированные алгоритмы, такие как генетический алгоритм. Продемонстрировать применение этого алгоритма в сфере планирования ассортимента информационных услуг можно на примере компании, предоставляющей на текущий момент услуги разработки сайтов. Для повышения конкурентоспособности компании необходимо принять стратегическое решение о развитии направлений предлагаемых услуг. Изначальный граф представлен на рисунке 1 ниже.
Рисунок 1. Изначальный граф
- вершина 1 – «Создание сайта»;
- вершина 2 – «Хостинг»;
- вершина 3 – «Аудит работоспособности сайта»;
- вершина 4 – «Таргетированная реклама»;
- вершина 5 – «Ведение статистики сайта»;
- вершина 6 – «Облачные технологии».
Далее были заданы основные условия для генетического алгоритма в языке программирования Python при использовании библиотеки DEAP:
- количество индивидуумов в популяции – 500;
- вероятность скрещивания – 0,9;
- вероятность мутации индивидуума – 0,1;
- максимальное количество поколений – 30.
Далее была создана первая популяция путем генерации случайных списков со значениями в диапазоне от 0 до d-1 и длиной d, где d – длина хромосомы, и последующей генерации на основе полученных значений списков индивидуумов для популяции.
Следующим шагом генетического алгоритма является определение приспособленности. Для этого была задана переменная, хранящая суммарный маршрут ко всем вершинам графа. Из каждого списка хромосомы индивидуума делаем срез только тех узлов, относящихся к текущему маршруту, после чего подсчитывается длина текущего маршрута во вложенном цикле. Все результаты сохраняются в кортеж [4].
Скрещивание в популяции производится перебором пар маршрутов родительских особей с последующим применением алгоритма упорядоченного скрещивания.
Мутация выполняется перебором каждого маршрута и возможным перемешиванием индексов с вероятностью 0,1, заданной ранее.
После ввода всех функций результатом работы генетического алгоритма является нахождение оптимального решения к 15 поколению, которое составляет 16 (рисунок 2)
Рисунок 2. Статистика итераций работы генетического алгоритма
Графически полученное решение можно представить в виде графа, изображенного на рисунке 3.
Рисунок 3. Графическое представление полученного решения
Согласно рисунку 3, можно удостовериться, что решение, полученное генетическим алгоритмом верное, поскольку 3+1+1+2+3+3+3 = 16
Генетический алгоритм позволяет находить наиболее оптимальные решения, в том числе в ситуации подобной рассмотренной выше. Масштабирование подобного метода позволяет решать задачи более высокой сложности, где получить решение путем перебора слишком время- и ресурсозатратно.
Список литературы:
- Байрамукова А. С. Рынок информационных продуктов и услуг: особенности формирования, структура // Экономический вестник Ростовского государственного университета. / [Электронный ресурс] – 2008. – Т. 6, № 2–3. – С. 65–68. – Режим доступа: URL: https://elibrary.ru/item.asp?id=18572954 (дата обращения: 20.06.2022).
- Береза Н. В. Процесс принятия решения о выборе рыночной стратегии и состава оказываемых услуг для субъектов информационного рынка // Вестник Адыгейского государственного университета. Серия 5: Экономика. / [Электронный ресурс] – 2011. – № 1. – С. 252–259. – EDN NVWNUZ. – Режим доступа: URL: https://elibrary.ru/item.asp?id=16445039 (дата обращения: 22.06.2022).
- Савинов А. Графовый анализ – обзор и области применения // Блог компании GlowByte. / [Электронный ресурс] – 2021. – Режим доступа: URL: https://habr.com/ru/company/glowbyte/blog/594221/ (дата обращения: 24.06.2022).
- Поиск минимальных маршрутов в графе // Сайт о программировании Proproprogs. / [Электронный ресурс] – 2021. – Режим доступа: URL: https://proproprogs.ru/ga/ga-poisk-minimalnyh-marshrutov-v-grafe (дата обращения: 23.06.2022).