Методы решения оптимизационных задач с мультимодальной целевой функцией
Анализ методов решения и особенностей оптимизационных задач с мультимодальной целевой функцией, с использованием биоинспирированных алгоритмов. Вычислительный эксперимент с целью проверки работы запрограммированного алгоритма на целевой функции Шуберта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 30.04.2018 |
Размер файла | 485,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Донской государственный технический университет
МЕТОДЫ РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ С МУЛЬТИМОДАЛЬНОЙ ЦЕЛЕВОЙ ФУНКЦИЕЙ
Требухин А.В., Остроух Е.Н.
Аннотация
Описываются методы решения и особенности оптимизационных задач с мультимодальной целевой функцией, с использованием биоинспирированных алгоритмов, в частности, основное внимание уделено генетическим и иммунным алгоритмам. Рассматриваются и анализируются основные проблемы, недостатки и преимущества. Предложены конкретные примеры реализации таких алгоритмов, а также блок-схемы к ним. Произведен вычислительный эксперимент с целью проверки работы запрограммированного алгоритма на целевой функции Шуберта.
Ключевые слова: алгоритмы оптимизации, биоинспирированные алгоритмы, иммунная система, генетические алгоритмы, теория клонального отбора. мультимодальный алгоритм целевой функция
Abstract
METHODS FOR SOLVING OF OPTIMIZATION PROBLEMS WITH MULTIMODAL TARGET FUNCTION
Methods of solving and singularities of optimization problems with a multimodal objective function are described with the use of bioengineered algorithms, in particular, the main attention is paid to genetic and immune algorithms. The main problems, disadvantages and advantages are examined and analyzed. Specific examples of the implementation of such algorithms, as well as block diagrams to them are proposed. A computational experiment was performed to check the operation of the programmed algorithm on the Schubert target function.
Keywords: optimization algorithms, bioinspired algorithms, immune system, genetic algorithms, clonal selection theory.
Основная часть
Особенности целевой функции, такие как дискретность и мультимодальность, не дают возможности для использования классических методов (метод ветвей и границ, спортивного спуска и другие), поэтому возникает необходимость в использовании альтернативных методов решения оптимизационных задач с мультимодальной целевой функцией. Рассмотрим биоинспирированные алгоритмы как альтернативные методы решения таких задач, в частности генетические и иммунные алгоритмы.
Понятие «биоинспирированные алгоритмы» можно более подробно объяснить, как алгоритмы, вдохновленные процессами живой природы. Иначе говоря, это использование алгоритмов методов оптимизации, основанных на элементах живой природы для моделирования каких-либо явлений и поиска наиболее эффективных решений.
Генетические алгоритмы. Существует такой подкласс биоинспирированных алгоритмов, как генетические алгоритмы. Они имитируют некоторые фундаментальные аспекты эволюционного процесса неодарвинистской теории. Алгоритм проводит одновременно поиск с набором популяций (решений) кандидатов и связывает с ними объективную оценку, как определяющее значение для каждого из них. Затем алгоритм выбирает из полученных значений среди популяций те решения, которые являются наиболее подходящими. Следующее поколение (т.е. новая популяция) состоит из повторов подходящих значений, которые были генетически мутированы и перешли в следующую биологическую фазу: значения переменных были получены таким образом, что они наследовали характеры своих родителей, а также изменялись случайным образом. Размер этой промежуточной популяции в ходе работы алгоритма уменьшается до размера популяции родителей за счет исключения наименее подходящих под определяющее значение решений [1].
Сформулируем один из способов биологической эволюции на примере практической реализации естественным языком программирования:
«Генетический алгоритм»
НАЧАЛО
Создать начальную популяцию
Оценить приспособленность каждой особи
Стоп:= TRUE
ПОКА Стоп:= TRUE ВЫПОЛНЯТЬ
НАЧАЛО
Выбрать две особи с высокой пригодностью, согласно критерию приспособленности, из предыдущего поколения;
Скрестить выбранные особи и получить двух потомков;
Каждую особь подвергнуть мутации;
Оценить приспособленности потомков;
Поместить потомков в новое поколение;
КОНЕЦ
ЕСЛИ популяция сошлась ТО Стоп:= FALSE
КОНЕЦ
Рис. 1 Блок-схема генетического алгоритма
Данный метод нахождения оптимального значения, основанный на генетическом алгоритме имеет свои особенности:
-к плюсам можно отнести высокую точность нахождения лучшего решения, которая находится в прямой зависимости от начального размера популяции;
-к минусам следует отнести низкую скорость выполнения эволюционного алгоритма, основываясь на большом размере начальной популяции особей. Это обосновано тем, что в ходе алгоритма выполняется целенаправленный перебор значений, который, в свою очередь, позволяет избежать ухудшения результата, полученного на предыдущих этапах выполнения алгоритма, что уже можно отнести к плюсам этого алгоритма.
Таким образом и основываясь на этом примере можно запрограммировать в общем виде почти любую задачу, решаемую с помощью генетических алгоритмов оптимизации.
Иммунные алгоритмы. Следующим этапом в развитии такого рода алгоритмов стали иммунные алгоритмы. Они основаны на особенностях функционирования иммунной системы. Иммунная система является одной из самых сложных систем организма человека, а также биологической системой способной к «интеллектуальной» обработке информации. Здесь подразумевается использование таких понятий как обучение, память, возможность распознавания и принятия решения в заранее незнакомой системе ситуации [2]. В различных теориях о иммунной системе чужеродные организмы называют антигенами, для уничтожения которых иммунитет вырабатывает специальные клетки - антитела. Способ обнаружения антител заключается в сравнении свойств различных агентов. Сравнение основано на принципе негативной селекции, который заключается в том, что свойства иммунитета отсутствуют в организме, если у агента обнаружены эти свойства, то он чужой. Следующим этапом является клональная селекция. На этом шаге организм начинает вырабатывать антитела максимально похожие на антигены, что представляет собой процесс клонирования и мутации копий антитела в случайных позициях в ходе работы алгоритма искусственной иммунной системы [3].
Рассмотрим иммунный алгоритм для решения задач оптимизации в общем виде:
Рис. 2 Блок-схема иммунного алгоритма
«Иммунный алгоритм»
НАЧАЛО
Создать начальную популяцию P
Оценить приспособленность каждой особи
Стоп:= TRUE
ПОКА Стоп:= TRUE ВЫПОЛНЯТЬ
НАЧАЛО
Каждое решение из P клонировать на множество М;
Для каждого клона из М применить мутацию;
Выбор лучшего экземпляра среди клонов;
ЕСЛИ текущий экземпляр лучше исходного ТО
заменить текущее решение популяции на лучший клон;
КОНЕЦ
ЕСЛИ выполнен критерий остановки ТО Стоп:= FALSE
КОНЕЦ
Критерием остановки алгоритма обычно является либо достижение лимита по времени, либо достижение лимита по итерациям.
Рассмотренный вид иммунных алгоритмов имеет ряд особенностей, таких как воспроизводство кандидатов методом клональной селекции, разнообразие экземпляров, основываясь на принципе мутации, возможность реализации метода параллельного поиска, что можно отнести к плюсам иммунных методов алгоритмизации.
Результаты численных экспериментов.
Проверим описанный ранее иммунный алгоритм на конкретной целевой функции. Для этого используем двумерную функцию Шуберта:
Для определения максимального значения функции на некотором промежутке был проведен вычислительный эксперимент с использованием иммунного алгоритма. Подготовка к эксперименту состояла в написании программы для вычисления экстремума функции на языке C++ в среде MS Visual Studio. Начальными аргументами функции были выбраны значения «1» и «2», как произвольные. Количество поколений (итераций работы алгоритма) - 1000. Проведенный вычислительный эксперимент показал результат: экстремум функции - 72.5552.
Заключение
Таким образом биоинспирированные алгоритмы являются относительно молодой областью научных интересов в теории оптимизации. У рассмотренных алгоритмов есть свои особенности: достоинства и недостатки, но у них, определенно, есть перспективы для развития и создания более совершенных решений, сочетающих положительные свойства разных видов биоинспирированных алгоритмов.
Список литературы
1. Гладков Л.А. Генетические алгоритмы / Л.А. Гладков, В.В. Курейчик, В.М. Курейчик. М.: Физматлит, 2006. 320 с.
2. Кушнир Н. В. Искусственные иммунные системы: обзор и современное состояние [Электронный ресурс] / Н. В. Кушнир, А. В. Кушнир, Е. В. Анацкая, П. А. Катышева, К. Г. Устинов // Кубанский государственный технологический университет. Режим доступа: http://ntk.kubstu.ru/file/714 (дата обращения: 20.05.17).
3. Блюм В. С. Иммунная система и иммунокомпьютинг [Электронный ресурс] / В. С. Блюм, В. П. Заболотский // Санкт-Петербургский институт информатики и автоматизации РАН. Режим доступа: www.smolensk.ru/user/sgma/MMORPH/N-16-html/blum/blum.pdf (дата обращения: 20.05.17).
4. Барышев А.В., Федотова Е.Л. К вопросу использования надстройки Excel «поиск решения» в задачах линейного программирования [Электронный ресурс]// Интернет-журнал «Науковедение». 2015. № 3. URL: http://naukovedenie.ru/PDF/54TVN315.pdf (дата обращения: 22.07.2017)
5. Пантелеев А.В., Мелицкая Д.В. Применение метода искусственных иммунных систем в задачах поиска условного экстремума функций / А.В. Пантелеев, Д.В. Мелицкая // Научный вестник МГТУ ГА. 2012. № 184. С. 54-61.
6. Сергиенко А. Б. Тестовые функции для глобальной оптимизации / А.Б. Сергиенко. Красноярск: Изд-во СГАУ им. М.Ф. Решетнева, 2015. 112 с.
7. Остроух Е.Н. Методика контроля информационной безопасности предприятия с использованием адаптационного тестирования/ Е.Н. Остроух, Ю.О. Чернышев, С.А. Мухтаров, Н.Ю. Богданова// Сборник материалов международной научно-практической конференции “Фундаментальные научные исследования: теоретические и практические аспекты”. Кемерово. 2016. т. II. C. 305-310.
8. Водолазский И. А., Егоров А. С., Краснов А. В. Роевой интеллект и его наиболее распространённые методы реализации // Молодой ученый. 2017. №4. С. 147-153.
9. Сороколетов П.В., Курейчик В.В. Концептуальная модель представления решений в генетических алгоритмах // Известия ЮФУ. Технические науки. №. 9, с. 7-12, 2008.
10. Полупанов A.A., Полупанова Е.Е. Эвристический эволюционно-генетический алгоритм. М.: Физматлит, 2010. С. 83-89.
Размещено на Allbest.ru
...Подобные документы
Ознакомление с методами решения оптимизационных задач. Алгоритм метода ломанных. Определение наименьшего значения целевой функции. Описание метода анализа математической модели. Расчет поиска минимума по методу ломаных. Листинг программы, интерфейс.
курсовая работа [2,2 M], добавлен 06.12.2014Анализ метода линейного программирования для решения оптимизационных управленческих задач. Графический метод решения задачи линейного программирования. Проверка оптимального решения в среде MS Excel с использованием программной надстройки "Поиск решения".
курсовая работа [2,2 M], добавлен 29.05.2015Построение и использование математических и алгоритмических моделей для решения линейных оптимизационных задач. Освоение основных приемов работы с инструментом "Поиск решения" среды Microsoft Excel. Ввод системы ограничений и условий оптимизации.
лабораторная работа [354,7 K], добавлен 21.07.2012Исследование типовых примеров задач оптимизации. Реализация программы в среде MatLab для их решения. Изучение функций нелинейной оптимизации. Определение оптимума целевой функции одной или нескольких переменных. Поиск оптимальных настроек регулятора.
лабораторная работа [188,8 K], добавлен 07.12.2016Методы линейного программирования в математическом моделировании технологических процессов. Направление оптимизации целевой функции. Ввод функциональных зависимостей для целевой функции и ограничений осуществляется с использованием Мастера функций.
курсовая работа [994,6 K], добавлен 04.01.2014Особенности использования электронной таблицы Microsoft Excel для решения оптимизационных задач. Выполнение команды "Поиск решения" в меню "Сервис". Запись ограничений через использование кнопки "Добавить". Сообщение о найденном решении на экране.
лабораторная работа [4,5 M], добавлен 03.08.2011Математическая модель задачи. Построение области допустимых планов. Построение линии уровня целевой функции. Оптимизация целевой функции. Точка контакта линии уровня с областью допустимых планов. Максимальное значение и вектор-градиент целевой функции.
презентация [534,8 K], добавлен 11.05.2013Основные понятия математического линейного программирования. Постановка и методы решения заданий целочисленного и параметрического составления программ. Примеры вычисления задач с параметрами в целевой функции и в свободных членах системных ограничений.
дипломная работа [432,0 K], добавлен 25.10.2010Оптимизация решения задачи с помощью алгоритма отжига. Анализ теории оптимизации как целевой функции. Метод градиентного спуска. Переменные и описание алгоритма отжига. Представление задачи коммивояжера через граф. Сведение задачи к переменным и решение.
курсовая работа [784,0 K], добавлен 21.05.2015Модель дискретного программирования как способ нахождения максимума целевой функции на множестве. Коды на языках Java и C# для решения заданий с неделимостями. Применение методов итерации Гомори и "ветвей и границ". Описание решения комбинаторных задач.
курсовая работа [1,0 M], добавлен 03.04.2011Методы решения задач линейного программирования. Вектор коэффициентов целевой функции. Простой однооконный интерфейс с набором всех необходимых инструментов для работы с программой. Структура программного модуля. Автоматический режим работы программы.
контрольная работа [1,6 M], добавлен 11.06.2011Методы решения задач параметрической оптимизации. Решение однокритериальных задач с параметром в целевой функции и в ограничениях. Решение многокритериальной задачи методом свертки критериев, методом главного критерия, методом последовательных уступок.
курсовая работа [1,5 M], добавлен 14.07.2012Изучение особенностей создания алгоритмов вычислительных задач. Визуальное программирование стандартных компонентов среды программирования Delphi. Технология создания компонента Delphi для решения производственной задачи. Выполнение блок-схемы алгоритма.
курсовая работа [638,0 K], добавлен 30.01.2015Нахождение минимума целевой функции для системы ограничений, заданной многоугольником. Графическое решение задачи линейного программирования. Решение задачи линейного программирования с использованием таблицы и методом отыскания допустимого решения.
курсовая работа [511,9 K], добавлен 20.07.2012Графическое решение задач. Составление математической модели. Определение максимального значения целевой функции. Решение симплексным методом с искусственным базисом канонической задачи линейного программирования. Проверка оптимальности решения.
контрольная работа [191,1 K], добавлен 05.04.2016Разработка таблиц в Excel методами линейного программирования с целью оптимизации расходов ресурсов и запасов на изготовление продукции: определение переменных величин, структуры целевой функции, построение математической модели и блок-схем решения задач.
курсовая работа [3,7 M], добавлен 07.06.2010Проектирование модульной сетки. Позиционирование проекта и сегментация целевой аудитории. Краткое описание типов навигации, CMS и оптимизации. Разработка web-сайта с функцией форума, обратной связью и доской объявлений. Верстка сайта и его страниц.
дипломная работа [1,4 M], добавлен 12.12.2013Постановка и решение дискретных оптимизационных задач методом дискретного программирования и методом ветвей и границ на примере классической задачи коммивояжера. Этапы построения алгоритма ветвей и границ и его эффективность, построение дерева графов.
курсовая работа [195,5 K], добавлен 08.11.2009Постановка задачи нелинейного программирования. Определение стационарных точек и их типа. Построение линий уровней, трехмерного графика целевой функции и ограничения. Графическое и аналитическое решение задачи. Руководство пользователя и схема алгоритма.
курсовая работа [2,5 M], добавлен 17.12.2012Число линейно независимых уравнений. Отрицательная базисная переменная. Симплекс-метод решения задач линейного программирования. Экстремальное значение целевой функции. Метод северо-западного угла. Задачи нелинейного программирования. Функция Лагранжа.
контрольная работа [257,5 K], добавлен 29.09.2008