Проектирование инновационной библиотеки бионических алгоритмов для решения практических задач оптимизации
А. В. Чеканин,
д. т. н., профессор, зав. кафедрой
В. А. Чеканин,
к. т. н., доцент
Кафедра теоретической механики и сопротивления материалов, ФГБОУ ВО «МГТУ «СТАНКИН»
В статье описывается подход к проектированию инновационной библиотеки алгоритмов искусственного интеллекта, предназначенной для решения оптимизационных задач в различных отраслях промышленности и экономики. Приведена архитектура универсальной библиотеки бионических алгоритмов, обеспечивающей возможность моделирования различных интеллектуальных алгоритмов и создания на их основе комбинированных и гибридных алгоритмов оптимизации решения задач управления и принятий решений в организационных системах с целью повышения эффективности их функционирования.
Ключевые слова: искусственный интеллект, эволюционные алгоритмы, бионические алгоритмы, генетические алгоритмы, оптимизация, библиотека классов.
со
о см
см
со
О
Большое число задач, возникающих при автоматизации процессов проектирования и управления, относится к классу оптимизационных задач, заключающихся в поиске оптимальных решений. Многие оптимизационные задачи являются задачами комбинаторной оптимизации, характеризующихся множеством решений различного качества [1]. Среди классических задач комбинаторной оптимизации можно выделить задачу коммивояжера, задачу о ранце (известную также как задача о рюкзаке), проблемы распределения ресурсов, формирования инвестиционного портфеля, календарного планирования, задачу о клике, задачу о назначениях, проблему раскраски графов и многие другие задачи [2-5]. Эти алгоритмически сложные задачи имеют широкий спектр практического применения и актуальны при автоматизации процессов проектирования и управления в различных отраслях промышленности и экономики [6-10].
Принадлежность большинства задач комбинаторной оптимизации к классу неполиномально трудных (КР-полных) требует применения ресурсоемких алгоритмов оптимизации для получения оптимального решения, что на практике оказывается неэффективным из-за больших затрат временных ресурсов [11, 12]. Одним из наиболее перспективных методов, исполь-
зуемых для решения КР-полных задач комбинаторной оптимизации, является применение приближенных метаэвристических алгоритмов искусственного интеллекта, не гарантирующих получения оптимального решения, но позволяющих получить набор субоптимальных решений приемлемого качества за сравнительно небольшой промежуток времени [13]. В настоящее время наибольший интерес представляют метаэври-стические алгоритмы оптимизации, основанные на бионических моделях, заимствованных у природы. К таким алгоритмам можно отнести генетические алгоритмы, алгоритм отжига, алгоритм муравьиной колонии (известный также как алгоритм муравья), алгоритм роя пчел, алгоритм роя частиц, искусственные иммунные системы [1, 14-17]. Эффективность бионических алгоритмов подтверждается множеством примеров их работы в природе.
В настоящей статье определены наиболее существенные принципы построения единой алгоритмической базы в виде библиотеки классов, обеспечивающей возможность реализации как известных метаэвристи-ческих алгоритмов искусственного интеллекта, так и создания новых гибридных и модифицированных алгоритмов, использующих бионические идеи оптимизации.
Требования к библиотеке алгоритмов искусственного интеллекта
Библиотека алгоритмов искусственного интеллекта должна служить основой для проектирования и исследования новых алгоритмов, основанных на бионических моделях оптимизации. Процесс создания нового бионического алгоритма оптимизации включает следующие шаги [18]:
• поиск в природе идеи оптимизации;
• построение математической модели, в основе которой лежит взятая идея;
• исследование полученной модели и ее уточнение;
• формирование метаэвристики и ее реализация в виде бионического алгоритма.
Этот процесс изображен в виде схемы на рис. 1. В результате проектирования гибридных и модифицированных алгоритмов искусственного интеллекта могут быть созданы алгоритмы, не имеющие аналогов в природе. Такие алгоритмы будут получены в результате объединения и адаптивной настройки алгоритмов, основанных на разных бионических моделях.
Все бионические алгоритмы могут быть отнесены к классу эволюционных, поскольку они итеративно модифицируют наборы закодированных решений, формируя при этом сменяющие друг друга поколения решений.
Проектирование единой библиотеки алгоритмов искусственного интеллекта требует выделения общих параметров, свойственных для различных метаэври-стических алгоритмов оптимизации. Принципиальная схема решения оптимизационных задач с использованием метаэвристических алгоритмов показана на рис. 2. Для применения метаэвристического алгоритма оптимизации необходимо выбрать следующие настраиваемые параметры:
1) управляемые параметры задачи, наиболее существенно влияющие на качество оптимизируемого решения (например, в задаче упаковки объектов одним из таких параметров является последовательность выбора размещаемых объектов);
2) схему кодирования управляемых параметров оптимизации, при этом возможно использование следующих кодов:
• двоичный код (наиболее эффективен при решении задач непрерывной оптимизации);
• натуральные числа (этот способ наиболее эффективен при решении задач комбинаторной оптимизации);
• другие коды (например, код Грея [1]);
Построение Выделение
Исследователь Модель Метаэвристика
3) схему модели оптимизации, которая включает следующие параметры:
• множество одновременно моделируемых решений, называемое популяцией;
• набор одновременно моделируемых популяций решений;
• правила создания начальных популяций;
• вид целевой функции как фактора оценки качества решений;
• правила выбора подпопуляций для модификации решений, заданные в виде операторов селекции;
• операторы модификации (дифференциации) и обновления, обеспечивающие создание новых решений и их включение в популяции;
• правила изменения наборов применяемых операторов модификации и обновления;
• критерий остановки процесса оптимизации (среди наиболее часто используемых критериев остановки можно выделить получение оптимального решения, получение субоптимального решения удовлетворительного качества, а также истечение времени, отведенного на решение задачи). Ниже перечислены основные требования, которые
определены в качестве обязательных при практической
реализации универсальной библиотеки алгоритмов
искусственного интеллекта для решения задач оптимизации.
1. Требования к закодированным решениям:
• возможность задания решений произвольной длины;
Бионический
Природа 4— Воспроизведение
со о
сч оо
< СО
о
Рис. 1. Процесс создания нового бионического алгоритма
Рис. 2. Процесс решения оптимизационной задачи с помощью метаэвристического алгоритма
со о
N оо
<
со О
5.
возможность изменения длин решений (это требование необходимо, в частности, для реализации мультиметодного генетического алгоритма, который оптимизирует последовательность применяемых эвристик - элементарных методов решения задачи);
возможность задания максимального времени существования для каждого решения. Требования к популяции решений: возможность одновременного использования решений, закодированных различными способами; возможность изменения размера популяции; возможность задания максимального числа поколений существования популяции; возможность задания правил создания начальной популяции;
возможность назначения правил выбора последовательности решений для модификации; возможность создания произвольных подпопу-ляций;
возможность создания индивидуальных наборов операторов модификации и обновления для каждого поколения;
возможность оценки средней приспособленности популяции и анализа динамики ее изменения. Требования к наборам популяций решений: возможность обмена решениями между популяциями;
возможность включения новой популяции в набор;
возможность удаления популяции из набора; возможность анализа динамики изменения средней приспособленности набора популяций. Требования к операторам селекции решений: возможность выбора случайного набора решений для модификации;
возможность задания различных стандартных методов отбора решений (метод рулетки, турнирный метод, ранговый метод, панмиксия, генотипный и фенотипный инбридинг, аутбридинг, селекция на основе заданной шкалы);
возможность включения новых методов селекции; возможность одновременного выполнения нескольких операторов селекции. Требования к операторам модификации и обновления решений:
возможность одноточечного, двухточечного и многоточечного скрещивания произвольных решений;
• возможность равномерного (одностадийного) скрещивания по эталону;
• возможность мутации произвольных участков закодированного решения;
• возможность мутации по правилу, заданному в виде функции;
• возможность перерасчета целевой функции выбранного набора решений по некоторому правилу;
• возможность генерации случайного решения;
• возможность изменения вероятности выполнения оператора в произвольный момент времени;
• возможность добавления новых операторов модификации и обновления.
6. Требования к алгоритмам оптимизации (определение стратегий поиска решений):
• поддержка стандартных моделей эволюции (модели Дарвина, Ламарка, де Фриза, Поппера, Кимуры);
• возможность модификации стандартных моделей эволюции в процессе решения задачи;
• возможность адаптивной настройки стратегий поиска оптимального решения.
Проектирование библиотеки алгоритмов искусственного интеллекта
При проектировании библиотеки алгоритмов искусственного интеллекта предложена идея построения правил обмена решениями между популяциями в процессе оптимизации решения. Эти правила могут быть заданы в виде схем, отображающих направление обмена решениями и процентный состав популяций, участвующих в обмене. На рис. 3 в качестве примера показана схема копирования 10% лучших решений из популяции А в популяции В, С и Э. На рис. 4 приведена схема копирования двух лучших решений из каждой популяции в соседние популяции, а на рис. 5 - пример произвольного обмена решениями между популяциями. На рис. 3-5 используется следующая система обозначений:
• стрелка указывает направление копирования решений;
• текст на стрелке соответствует числу или доле решений, копируемых в другую популяцию;
• тип линии стрелки соответствует способу выбора решений для копирования (сплошная линия означает выбор лучших решений, а точечная -случайный выбор).
Рис. 3. Схема равномерного распространения лучших решений
Рис. 4. Схема равномерного обмена лучшими решениями между популяциями
Рис. 5. Схема произвольного обмена решениями между популяциями
При проектировании универсальной библиотеки алгоритмов искусственного интеллекта необходимо определить следующие требования к правилам обмена решений между популяциями:
возможность обмена лучшими решениями; возможность копирования только лучших решений, отсутствующих в популяции-приемнике; возможность замещения худших решений в популяции-приемнике;
возможность равномерного перемешивания всех решений в популяциях;
возможность копирования всех решений в популяцию-приемник; возможность игнорирования связи; возможность изменения правил обмена решениями.
Проектируемая библиотека алгоритмов должна обеспечивать возможность создания комбинированных алгоритмов из нескольких базовых алгоритмов оптимизации, формируя при этом ансамбли алгоритмов. При создании ансамбля алгоритмов необходимо выбрать набор совместно работающих алгоритмов, а также определить правила обмена решениями (правила миграции) между алгоритмами.
Простейшим примером ансамбля алгоритмов, построенного на базе одного алгоритма оптимизации, служит параллельный генетический алгоритм. В основе параллельных генетических алгоритмов лежит разбиение популяции решений на несколько отдельных подпопуляций, каждая из которых обрабатывается отдельным генетическим алгоритмом (ГА) независимо от других подпопуляций [19]. При этом обмен решениями между подпопуляциями возможен только в момент перехода к следующему поколению. На рис. 6 приведен пример объединения набора генетических алгоритмов в параллельный генетический алгоритм.
Ансамбли алгоритмов обеспечивают возможность выхода из локальных оптимумов за счет совместного использования алгоритмов, имеющих различные параметры селекции, модификации и обновления наборов популяций.
Реализацию библиотеки алгоритмов в программном виде планируется проводить с использованием объектно-ориентированного алгоритмического языка программирования C++ и стандартной библиотеки шаблонов STL (Standard Template Library).
Библиотека алгоритмов искусственного интеллекта, спроектированная в результате анализа описанных
Рис. 6. Параллельный генетический алгоритм как пример ансамбля алгоритмов
требований, приведена в виде диаграммы ИМЬ на рис. 7. Для повышения наглядности на диаграмме показаны не все поля и методы, реализующие описанные возможности библиотеки алгоритмов.
АнсамбльАлгоритмов
■набор алгоритмов : Алгоритм миграции
+3апуск ансамбля алгоритмов() +Добавление нового алгоритма() +Удаление алгоритма() +Изменение правил миграции() +Адаптивная настройка ансамбля()
МодельЭволюции
+3апуск алгоритма()
Базовый Алгоритм
+3апуск алгоритма()
Алгоритм
-набор популяций : НаборПопуляций -степень доминантности -максимальное число поколений -номер поколения -критерий остановки -лучшее решение : Решение
+3апуск алгоритма() +Переход к следующему поколению() +Изменение правил обмена решениями() +Изменение набора популяций() +Адаптивная настройка алгоритма()
1..*
ПравилаОбмена
популяция-источник: Популяция популяция-приемник : Популяция •вероятность обмена -число обмениваемых решений +Выполнение обмена решениями()
0..*
НаборПопуляций
-набор популяций : Популяция
-лучшая популяция : Популяция
-общие правила обмена решениями : ПравилаОбмена
+Обмен решениями() +Создание начальной популяции() +Генерация новой популяции() +Создание копии популяции()
Популяция
•набор решений : Решение
-размер популяции
-набор подпопуляций
•операторы селекции : ОператорСелекции
-операторы модификации : ОператорМодификации
•операторы обновления : ОператорОбновления
•правила обмена решениями : ПравилаОбмена
+Выполнение операторов селекции() +Выполнение операторов модификаций) -(-Выполнение операторов обновления() +Вычисление средней целевой функции() +Обмен решениями()
Оператор
-популяция : Популяция -приоритет выполнения -вероятность выполнения
1 1..*
-(-Выполнение оператора() -(-Изменение приоритета() -(-Изменение вероятности()
Решение
-код
•длина хромосомы -значение целевой функции -время существования
+Декодирование() +Вычисление целевой функции()
ОператорМодификации
+Выполнение оператора()
ОператорОбновления
+Выполнение оператора()
ОператорСелекции
+Выполнение оператора()
Рис. 7. Диаграмма UML библиотеки алгоритмов искусственного интеллекта
со о
eg 00
<
CQ О
со о
CN
сч
оо
Заключение
В результате проведенного исследования определены и классифицированы наиболее существенные требования к универсальной библиотеке алгоритмов искусственного интеллекта, основанных на использовании бионических моделей оптимизации. Итогом проектирования стало создание универсальной библиотеки алгоритмов, реализованной на унифицированном языке моделирования UML в виде диаграммы классов. Библиотека алгоритмов может быть применима для поиска рациональных решений различных оптимизационных задач в науке и технике, включая задачи управления в социальной и экономической сферах. Дальнейшее развитие исследований связано с программной реализацией описанной библиотеки алгоритмов и ее использование как для решения практических задач, так и для создания и анализа гибридных
и комбинированных алгоритмов оптимизации.
* * *
Данная работа выполнялась при финансовой поддержке Министерства образования и науки РФ в рамках выполнения государственного задания в сфере научной деятельности (проект № 1441, задание № 2014/105).
Список использованных источников
1. Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы. 2-е изд. - М.: ФИЗМАТЛИТ, 2006. - 320 с.
2. Wascher G., Haubner H., Schumann H. An improved typology of cutting and packing problems//European Journal of Operational Research. 2007. Vol. 183. N. 3. P. 1109-1130.
3. Илюхин Ю. В. Роль метода компьютерного моделирования в познании технических объектов//Вестник МГТУ «Станкин». 2013. № 4. С. 141-145.
4. Чеканин В. А., Чеканин А. В. Модели конструирования ортогональной упаковки объектов//Информационные технологии и вычислительные системы. 2014. № 2. С. 37-45.
5. Чеканин В. А., Чеканин А. В. Структура данных для задачи трехмерной ортогональной упаковки объектов//Вестник МГТУ «Станкин». 2015. № 1. С. 112-116.
6. Григорьев С. Н., Кутин А. А., Долгов В. А. Принципы построения цифровых производств в машиностроении//Вестник МГТУ «Станкин». 2014. № 4. С. 10-15.
7. Ермолов И. Л., Собольников С. А. Решение задачи распределения группы мобильных роботов для обеспечения работы подвижной коммуникационной сети//Вестник МГТУ «Станкин». 2012. № 4. С. 126-129.
8. Костров И. А., Ковшов Е. Е. Сервисно-ориентированная архитектура приложений как средство организации распределенных систем в среде слабоструктурированных данных//Вестник МГТУ «Станкин». 2012. № 3. С. 140-144.
9. Митрофанов В. Г., Омельченко И. С., Капитанов А. В. Автоматизированное проектирование на основе «элементной» техно-логии//Вестник МГТУ «Станкин». 2015. № 4. С. 109-112.
10. Чеканин В. А., Чеканин А. В. Эвристический алгоритм оптимизации решений задачи прямоугольного раскроя//Вестник МГТУ «Станкин». 2014. № 4. С. 210-213.
11. Garey M., Johnson D. Computers intractability: a guide to the theory of NP-completeness. - San Francisco: W.H. Freeman, 1979.
- 338 p.
12. Johnson D. S. A Brief History of NP-Completeness, 1954-2012 // Documenta Mathematica. 2012. Extra Volume ISMP. P. 359-376.
13. Щербина О. А. Метаэвристические алгоритмы для задач комбинаторной оптимизации (обзор)//Таврический вестник информатики и математики. 2014. № 1. С. 56-72.
14. Валиахметова Ю. И., Филиппова А. С. Мультиметодный генетический алгоритм для решения задач ортогональной упаковки// Информационные технологии. 2007. № 12. С. 50-56.
15. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. - М.: Горячая линия - Телеком, 2006. - 452 с.
16. Чеканин В. А., Чеканин А. В. Алгоритм решения задач ортогональной упаковки объектов на основе мультиметодной техно-логии//Информационные технологии. 2013. № 7. С. 17-21.
17. Чеканин В. А., Чеканин А. В. Исследование генетических методов оптимизации распределения прямоугольных ресурсов// Современное машиностроение. Наука и образование. 2012. № 2. С. 798-804.
18. Черняк Л. С. Интеллект роя для ИТ//Открытые системы. СУБД. 2014. № 2. С. 41-43.
19. Куликова М. Ю., Чеканин В. А. Система моделирования схем параллельных генетических алгоритмов для решения задач оптимизации//Искусственный интеллект: философия, методология, инновации. Сборник трудов IX Всероссийской конференции студентов, аспирантов и молодых ученых (Москва, МИРЭА, 10-11 декабря 2015 г.). - М.: МИРЭА, 2015.
- С. 62-67.
Design of innovative library of bionic algorithms for practical optimization problems
V. A.Chekanin, Candidate of Science in Technology, Associate Professor of Department of Theoretical Mechanics and Strength of Materials, Moscow State University of Technology «STANKIN».
A. V. Chekanin, Doctor of Science in Technology, Full Professor, Head of Department of Theoretical Mechanics and Strength of Materials, Moscow State University of Technology «STANKIN».
The paper describes an approach to designing an innovative library of artificial intelligence algorithms which is intended to solve optimization problems in various sectors of industry and economy. Is given an architecture of designed universal library of bionic algorithms, providing the possibility of modeling a variety of intelligent algorithms and creation on their basis of combined and hybrid optimization algorithms for control problems and decision-making in organizational systems to improve their efficiency.
Keywords: artificial intelligence, evolutionary algorithms, bionic algorithms, genetic algorithms, optimization, class library.
J <
CQ О