Методы решения оптимизационных задач с мультимодальной целевой функцией

Анализ методов решения и особенностей оптимизационных задач с мультимодальной целевой функцией, с использованием биоинспирированных алгоритмов. Вычислительный эксперимент с целью проверки работы запрограммированного алгоритма на целевой функции Шуберта.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.