Актуальные проблемы авиации и космонавтики. Информационные технологии
УДК 519.8
К. В. Бураков Научный руководитель - Е. С. Семенкин Сибирский федеральный университет, Красноярск
О РЕШЕНИИ ЗАДАЧ МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ ГЕНЕТИЧЕСКИМИ АЛГОРИТМАМИ
Рассматривается постановка общей задачи многокритериальной оптимизации, методы решения этой задачи с применением генетических алгоритмов. Рассмотрены преимущества и недостатки приведенных алгоритмов, приведены тестовые задачи, описаны результаты тестирования.
Оптимизационные задачи являются частью многих областей современной науки и техники. Большинство таких задач на практике являются многокритериальными, при этом количество факторов настолько велико, что требует применение вычислительной техники, поэтому развитие процедур многокритериальной оптимизации имеет большое значение.
Многокритериальная оптимизация, также известная как векторная оптимизация [1], может быть определена как задача нахождения вектора переменных - решений, которые доставляют оптимум вектор-функции, чьи элементы представляют собой целевые функции. Эти функции формируют математическое описание представления критериев, которые обычно находятся в конфликте друг с другом. Основной сложностью решения таких задач является то, что критерии, как правило, противоречат друг другу.
В общем виде многокритериальная задача оптимизации включает набор N параметров (переменных) и множество K целевых функций. Целевые функции являются функциями многих переменных. Таким образом, при решении многокритериальной задачи необходимо найти оптимум по K критериям, а сама задача формально записывается следующим образом:
y = / (x) = (fi(x),/2(x),...,/к(x)) ^ opt,
где x = (x1, x2,..., xN) e X - вектор решений, У = (У1, y2,..., yK) e Y - вектор целевых функций. При этом X обозначает пространство решений, а Y - пространство целей или критериальное пространство.
Существует несколько методов решения таких задач генетическими алгоритмами [2]. В данной работе рассмотрены два метода: SPEA (Strength Pareto Evolutionary Algorithm) [3] и VEGA (Vector Evaluated Genetic Algorithm) [4].
Метод VEGA относится к категории селекции по переключающимся целевым функциям. Это означает, что селекция производится по пригодности индивидов для каждого из K критериев в отдельности. Тем самым промежуточная популяция заполняется равными порциями индивидов, отобранных по каждому из частных критериев.
Метод SPEA в корне отличается от других методов, так как в нем:
- для назначения индивидам скалярного значения пригодности используется концепция Парето-доминирования;
- индивиды, недоминируемые относительно других членов популяции, хранятся внешне в специальном внешнем множестве;
- для уменьшения количества индивидов, хранящихся во внешнем множестве, выполняется кластеризация, что в свою очередь никак не влияет на приобретенные в процессе поиска свойства индивидов.
Уникальность и преимущества метода SPEA заключаются в том, что:
- пригодность каждого индивида популяции в данном методе определяется только относительно индивидов внешнего множества, независимо от того, доминируют ли индивиды популяции друг друга;
- несмотря на то, что «лучшие» индивиды, полученные в предыдущих поколениях, хранятся отдельно - во внешнем множестве, все они принимают участие в селекции;
- для предотвращения преждевременной сходимости, в методе SPEA используется особый механизм образования ниш, где деление общей пригодности осуществляется не в смысле расстояния между индивидами, а на основе Парето-доминирования.
После разработки и реализации алгоритмов, правильность их работы была проверена на тестовых примерах, в которых критерии целевой функции противоречат друг другу:
1 fi(х,У) = (х - 6)2 + (у - 4)2 ^ mm, /2(х,у) = (х + 2)2 + (у - 5)2 ^ mm. fi( х, у) = (х - 6)2 + (у - 4)2 ^ min,
2. /2 (х,у) = (х + 2)2 + (у - 5)2 ^ min, /,(х,у) = (х - 4)2 + (у + 4)2 ^ min. /1 (х,у) = (х-1)2 + (у +1)2 ^ min,
3 /2 (х,у) = (х + 2)2 + (у - 2)2 ^ min, . /з(х,у) = (х-3)2 + (у-4)2 ^min, /4 (х, у) = (х - 4)2 + (у - 2)2 ^ min.
Так как алгоритмы являются стохастическими процедурами, тестирование их заключалось в многократном прогоне на этих тестовых задачах и последующем усреднении результатов. Основной проблемой при нахождении решения является правильная настройка генетического алгоритма, так как при различных параметрах одна и та же задача может иметь противоположные решения. В результате тестирования выяснилось, что алгоритм SPEA показал более точное решение относительно VEGA, однако
Секция «Математическое моделирование управления и оптимизации»
VEGA более простой в реализации и менее ресурсоемкий.
Библиографические ссылки
1. Bentley P. J., Wakefield J. P. Finding Acceptable Solutions in the Pareto-Optimal Range using Multiob-jective Genetic Algorithms. In Proceedings of the 2nd On-Line World Conference on Soft Computing in Engineering Design and Manufacturing, 1997.
2. Holland J. H. Adaptation in natural and artificial systems. Ann Arbor. MI: University of Michigan Press, 1975.
3. Zitzler E., Thiele L. An evolutionary algorithm for multiobjective optimization: The strength Pareto approach. Technical report 43, Computer engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology (ETH) Zurich, 1999.
4. Schaffer J. D. Multiple Objective Optimization with Vector Evaluated Genetic Algorithms. Proceedings of the 1st International Conference on Genetic Algorithms. L. Erlbaum Associates Inc. Hillsdale, NJ, USA, 1985.
© Бураков К. В., Семенкин Е. С., 2010
УДК 519.68
В. В. Бухтояров Научный руководитель - Е. С. Семенкин Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
РАЗРАБОТКА И ИССЛЕДОВАНИЕ КОМПЛЕКСНОГО ЭВОЛЮЦИОННОГО ПОДХОДА ДЛЯ ПРОЕКТИРОВАНИЯ КОЛЛЕКТИВОВ НЕЙРОННЫХ СЕТЕЙ
Рассматривается вопрос автоматического проектирования коллективов нейронных сетей. Предлагается комплексный подход для проектирования коллективов нейронных сетей, включающий в себя методы формирования структуры нейронных сетей и их обучения, а также метод автоматического определения способа и параметров формирования общего решения. Предлагаемый подход был использован для решения ряда тестовых и практических задач.
Актуальность систем анализа данных, в основе которых лежат интеллектуальные информационные технологии (ИИТ) неуклонно растет. Возрастают требования к масштабам таких систем. В связи с этим все чаще ставится вопрос о разработке методов автоматического проектирования и адаптации ИИТ под конкретные задачи. Такие методы могли бы позволить отказаться от масштабного использования для проектирования ИИТ дорогих, в основном человеческих, ресурсов и сократить время, необходимое для разработки интеллектуальных систем.
Одной из наиболее широко используемых и востребованных интеллектуальных технологий являются искусственные нейронные сети. Спектр задач, решаемых с помощью нейронных сетей необычайно широк, что обусловлено целым рядом преимуществ систем, основанных на их использовании. Одним из подходов повышения эффективности систем, в основе которых лежит использование нейронных сетей, является использование коллективов нейронных сетей. Решение задач с помощью коллективов нейронных сетей предполагает одновременное использование конечного числа предварительно обученных нейронных сетей. Этот подход впервые был предложен в работе [1], в которой было показано, что способность к обобщению системы на основе нейронных сетей может быть значительно повышена за счет их объединения в коллектив. В общем случае решение задачи с помощью коллектива нейронных сетей включает в себя два этапа, связанных непосредственно с формированием коллектива.
Первый этап предполагает формирование структуры и обучение нейронных сетей, которые будут
включены в коллектив или предварительный пул. Для автоматического формирования структуры нейронных сетей предлагается новый вероятностный метод. Этот метод в ходе работы накапливает и обрабатывает статистическую информацию о структуре проектируемой нейронной сети аналогично хорошо зарекомендовавшему себя в качестве средства проектирования нейронных сетей методу, использующему генетический алгоритм. Однако обработка информации происходит в явном виде, без использования генетических операторов и кодирование структуры сети в бинарные строки. Это позволило отказаться от процедуры настройки большинства параметров, характерных для генетического алгоритма, весьма затруднительной при решении реальных задач проектирования структуры нейронных сетей.
Второй важнейший этап формирования коллектива нейронных сетей включает в себя отбор тех сетей, с помощью решений которых будет сформировано итоговое решение, а так же определение способа и параметров формирования общего решения. Для повышения эффективности выполнения этого этапа был разработан метод, позволяющий автоматически выбирать из сформированного предварительно пула те нейронные сети, которые будут участвовать в принятии коллективного решения, и формировать это коллективное решение в виде различных преобразований и комбинаций (линейных и нелинейных) решений отдельных участников коллектива нейронных сетей.
Предлагаемый метод основан на методе генетического программирования [2], который используется для решения задач символьной регрессии, и относит-