Cовременные информационные технологии/2.
Вычислительная техника и программирование
Бендерук Юлия Андреевна, Граник Михаил Александрович, Месюра Владимир Иванович
Винницкий национальный технический университет
Динамический
подбор коэффициентов социализации и персонализации метода роя частиц при
решении задачи о распределении производственной нагрузки на основе
генетического алгоритма
Введение
Использование методов искусственного интеллекта для решения прикладных задач –
актуальная и важная тема. Их целесообразно применять в задачах, оптимальное
решение которых на данном этапе развития науки не найдено.
Целью работы является
демонстрация возможности использования метода роя частиц для решения задачи о
распределении производственной нагрузки, а также демонстрация преимуществ, которые
предоставляет динамический подбор коэффициентов персонализации и социализации на
основе генетического алгоритма.
Формулировка задачи о
распределении производственной нагрузки
Задача о
распределении производственной нагрузки формулируется следующим образом: даны n
заводов, каждый из которых выпускает некоторый металл. Стоимость выпуска pi
единиц металла на i-том заводе определяется по формуле (1):
(1)
Выпуск металла на
каждом из заводов должен удовлетворять ограничениям, показанным в формуле (2):
(2)
Необходимо выпустить
ровно s единиц металла, минимизировав при этом общие расходы.
В приведенных выше
формулах ai, bi, ci, pMini, pMaxi
– некоторые константы, характеризующие i-ый завод.
Метод роя частиц и его применение к задаче о распределении производственной
нагрузки
Метод роя частиц –
имитационный метод, который был изобретен в 1995 году Эберхарта, Кеннеди и Ши.
[1].
Сам метод заключается
в следующем. В начале работы алгоритма случайным образом генерируется популяция
частиц, каждая из которых имеет скорость, позицию в пространстве решений, а
также функцию приспособленности. Скорость и позиция частицы – это векторы,
размерность которых совпадает с размерностью пространства поиска решений.
После начальной
инициализации происходит итеративный процесс. На каждой итерации для каждой
частицы пересчитывается ее скорость. Формула для пересчета скорости имеет
следующий вид:
(3)
где v – вектор скорости, c1
– важность персональной составляющей, rand () – случайная величина, равномерно
распределенная на отрезке [0, 1], pbest – лучшая для данной частицы функция
приспособленности, которая была достигнута в ходе итеративного процесса,
current – ее текущая функция приспособленности, gbest – лучшая достигнута во
время итеративного процесса функция приспособленности всех частиц популяции, c2
– важность социальной составляющей. Константы c1 и c2
показывают, насколько частицы ориентируются на собственные и глобальные
достигнутые результаты соответственно.
На основе измененной
скорости частицы перечисляется также и ее позиция. Правило пересчета позиции
является следующим:
(4)
После расчета новой
позиции перечисляется функция приспособленности.
Есть несколько критериев остановки итерационного процесса.
Первый из них – исчерпание заранее определенного количества итераций. Второй из
них – достижение определенной точности вычислений.
Результат работы
алгоритма – лучшая достигнута во время итерационного процесса функция
приспособленности [2].
При применении метода
роя частиц к задаче о распределении производственной нагрузки в качестве
позиции частицы целесообразно использовать вектор, содержащий информацию о
количестве металла, которое производит каждый завод. Соответственно,
размерность пространства решений совпадает с общим количеством заводов.
При генерации
начальной позиции необходимо учесть все ограничения (как ограничения на выпуск металла
на отдельном заводе, так и ограничения суммарного выпуска металла).
Изменение коэффициентов
социализации и персонализации на основе генетического алгоритма
Оптимальный
выбор констант для оптимизационных алгоритмов – довольно сложная и трудоемкая
задача. Ее можно решать с помощью перебора всех возможных комбинаций констант в
некотором интервале с некоторым шагом. Однако, такой метод требует достаточно
большого количества машинного времени.
Самыми
важными константами в методе роя частиц являются коэффициенты социализации и персонализации. Предлагается динамически
подбирать их с помощью генетического алгоритма во время исполнения самого метода
роя частиц, то есть при решении конкретной прикладной задачи. Для начала, для
каждой частицы случайным образом сгенерируем значения коэффициентов из
промежутка [0;4], используя равномерный закон распределения. Далее, на каждой
итерации будем перебирать все пары частиц. Пускай сейчас рассматриваются i-ая и
j-ая частицы. Не теряя общности, предположим, что функция приспособленности (в
случае задачи о распределении производственной нагрузки – суммарная цена металла)
i-ой частицы не меньше функции приспособленности j-ой частицы. Тогда с
некоторой известной заранее вероятностью выполним такие действия:
с1i=(c1i+c1j)/2.0
(5)
с2i=(c2i+c2j)/2.0
(6)
Эти действия являются
неким аналогом оператора скрещивания генетического алгоритма. Также с некоторой
определенной заранее вероятностью будем менять коэффициенты персонализации и
социализации, добавляя к их текущим значениям равномерно распределенную
случайную величину из отрезка [-0.01; 0.01]. Это действие является неким
аналогом оператора мутации генетического алгоритма.
Сравнение некоторых основных
методов решения задачи о распределение производственной нагрузки
Было проведено
сравнение генетического алгоритма, а также классического метода роя частиц и
метода роя частиц с динамическим изменением коэффициентов социализации и
персонализации на основе генетического алгоритма. Для сравнения были
использованы корректные случайные наборы входных данных, каждый параметр
которых – равномерно распределенная случайная величина. Количество заводов,
выпускающих металл, принадлежало промежутку [0; 1000]. Параметры каждого завода
принадлежали промежутку [0; 10000]. Общий объем металла также выбирался
случайным образом, причем так, чтобы сохранить корректность входных данных.
Алгоритмы сравнивались на трех выборках, которые состояли из 10, 50 и 100
тестовых наборов соответственно. При разработке программного обеспечения,
реализующего метод роя частиц, использовались следующие константы: размер
популяции – 70, количество итераций – 200, вероятность скрещивания – 0.3,
вероятность мутации – 0.1. Для генетического алгоритма вероятность скрещивания
была принята равной 0.6, остальные константы не изменились в сравнении с
методом роя частиц. Критерий сравнения – среднее значение целевой функции
(стоимости выпуска металла) для всех тестов выборки. Результат сравнения
представлены в таблице 1.
Таблица 1
– Результат сравнения генетического алгоритма, классического метода роя частиц
и метода роя частиц с изменением коэффициента социализации и персонализации на
основе генетического алгоритма
|
Размер
выборки |
Результат
генетического алгоритма |
Результат
классического метода роя частиц |
Результат
метода роя частиц с изменением коэффициента социализации и персонализации на
основе генетического алгоритма |
|
10 |
106992317864801.142 |
106798026507899.090 |
106596863347385.330 |
|
50 |
114285713148765.711 |
114191262738981.340 |
114152297875652.410 |
|
100 |
108320001363286.560 |
108320001363286.560 |
108303409725198.910 |
Таблица наглядно показывает,
что метод роя частиц с изменением коэффициента социализации и персонализации на
основе генетического алгоритма находит решения, которые являются более
эффективными чем решения, найденные другими анализируемыми методами.
Выводы
В этой работе было
предложено метод изменения коэффициентов социализации и персонализации на
основе генетического алгоритма. Было показано целесообразность применения этого
метода для решения задачи о распределении производственной нагрузки методом роя
частиц.
Литература:
1. Девятков Владимир.
Системы искусственного интеллекта. / Владимир Девятков. – М.: Издательство МГТУ
им. Баумана, 2001. – 352 c. – ISBN 5-7038-1727-7.
2. Рассел Стюарт.
Искусственный интеллект. Современный подход: пер. с англ. / Стюарт Рассел,
Питер Норивг. – М.: «Вильямс», 2006. – 1408с. – ISBN 5-8459-0887-6.