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

Математическое моделирование. Оптимальное управление Вестник Нижегородского университета им. Н.И. Лобачевского, 2009, № 5, с. 1 69-1 72

УДК 519.854.3

СРАВНЕНИЕ ЭФФЕКТИВНОСТИ ПОПУЛЯЦИОННО-ГЕНЕТИЧЕСКОГО И КЛАССИЧЕСКОГО ПОДХОДОВ ДЛЯ РЕШЕНИЯ ЗАДАЧИ АДАПТАЦИИ ОПТИМАЛЬНЫХ РЕШЕНИЙ НЕСТАЦИОНАРНОЙ ЗАДАЧИ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ

© 2009 г. Д.И. Батищев, Е.А. Неймарк

Нижегородский госуниверситет им. Н.И. Лобачевского е.пеитагк@ mts-nn.ru

Поступила в редакцию 12.03.2009

Рассматривается использование популяционно-генетического алгоритма для адаптации решений нестационарных задач оптимизации. Проводится сравнение классических методов оптимизации и популяционно-генетического алгоритма для поиска оптимальных решений нестационарной задачи о ранце.

Ключевые слова: популяционно-генетический алгоритм, адаптация, оптимальные решения, комбинаторная оптимизация, нестационарная задача.

Введение

Реальные задачи, возникающие в различных сферах деятельности, часто имеют большую вычислительную сложность. Популяционно-генетические методы хорошо зарекомендовали себя для поиска решения этих задач. Кроме того, условия реальных задач могут изменяться со временем или в процессе поиска решения, в этом случае возникает нестационарная задача оптимизации. Поиск оптимального решения задачи с изменяющимися во времени параметрами требует построения адекватной модели и разработки адаптивного алгоритма.

Классические алгоритмы оптимизации при любом изменении параметров задачи должны начинать процесс поиска решения сначала. Таким образом, применение классических методов поиска оптимального решения для нестационарных задач имеет ряд недостатков: во-первых, эти методы требуют постоянного контроля над параметрами задачи; во-вторых, они требуют больших вычислительных затрат, что неприемлемо при быстрой смене состояния среды.

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

Постановка задачи

Рассмотрим класс нестационарных задач дискретной оптимизации, а именно нестационарную задачу о ранце. Будем рассматривать

нестационарные задачи, в которых число состояний системы конечно и изменение параметров происходит циклично через равные промежутки времени. Общую постановку такой задачи можно представить в виде (1), где D(t) — область допустимых значений задачи, N - ее мощность, Т* - время наблюдения; область критериев задачи зависит от времени (2), отрезки времени, в которые условия задачи неизмен-

i-1 i ___________

ны t с [£тk, £хk],i = 1,M , называются кт-k=1 k=1

резкамк пкчткянчтва:

Q(x*, t) = max Q(xl, t),

X eD

0 < |D(t)| < N < да, t e [0, T *] T* < да;

Q1( x),

Q2 (X),

t с[0, T11 t ck, т+T21

Qm (XX t C[t -tm-1, T ].

В постановке нестационарной задачи о ранце параметром, зависящим от времени, является весовое ограничение на суммарный вес предметов. Содержательная постановка задачи: имеется возобновляемый набор из N предметов, каждый из которых обладает весом wi и ценностью

vi, из них необходимо выбрать предметы таким

образом, чтобы их общая стоимость была максимальной, а суммарный вес не превосходил заданного значения W, при этом весовое огра-

ничение меняется со временем. Математическая постановка такова:

' N

^ vixi ^ тах,

i = 1

N

™,х, < W

i = 1

х1 е {0,1}.

В тестовом примере рассматриваются четыре различных значения параметров, которые зависят от суммарного веса всех предметов в задаче:

N

0.25 ^ мгхг-,г е [т, (i + 1)т),

I =1

N

05Е ™,х,,г е [/'т,

т (г ) = •! г=х

N

0.75 Ё мгхг-,г е [^т,(к + 1)т),

I =1

N

0.9 Ё м ¡х!, г е [/ т,

I=1

Интересным является исследование зависимости эффективности поиска от длительности отрезка постоянства т и от порядка следования ограничений: возрастание (i = 4г, у = i +1, к = = i + 2, / = /' + 3), убывание (/' = 4г, у = i -1, к = = i - 2, / = /' - 3), чередование (i = 4 г, у = /' + 2,

к = i + 1, / = i + 3), где г = 1,М .

Модифицированный метод

ветвей и границ

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

Одна из процедур ветвления в методе ветвей и границ основана на теореме Данцига, таким образом, корневая вершина бинарного дерева поиска содержит номер предмета, который имеет дробный коэффициент в оптимальном решении непрерывной задачи о ранце. Однако при изменении внешней среды для задачи в постановке (3) должен измениться и корень дерева; чтобы этого не произошло, ветвление идет последовательно по всем предметам. При этом предметы упорядочиваются по невозрастанию отношения ценности предмета к его весу (отно-

сительная полезность). В корне дерева поиска находится предмет, обладающий наибольшей относительной полезностью.

В ходе решения задачи методом ветвей и границ в каждый момент времени мы имеем множество неперспективных точек ветвления N = («1, П2..Пк}, множество перспективных точек ветвления Р = (Рі, Р2 ..рп }, верхние и нижние оценки в этих точках и лучшее найденное решение. В момент изменения весового ограничения пересчитываются верхние и нижние оценки в текущей точке ветвления, оценки в перспективных точках ветвления изменяются, часть перспективных точек могут стать неперспективными. Значение лучшего найденного решения для предыдущего ограничения задачи сохраняется, ищется лучшее решение для теку-(4) щей задачи.

Таким образом, основными отличиями предложенной модификации от классического метода ветвей и границ являются слежение за изменением весового ограничения, пересчет оценок текущих точек ветвления и сохранение массива лучших найденных значений.

Популяционно-генетический алгоритм с использованием базы опыта. Для сравнения с методом ветвей и границ предлагается использовать популяционно-генетический алгоритм с использованием базы опыта [1].

Основной идеей этого алгоритма является запоминание хороших решений, полученных при текущих значениях параметров, с целью их дальнейшего использования при повторении значений в будущем. Для сохранения и поиска решений используется индикатор среды, которых позволяет однозначно определить значения параметров задачи, при которых эти решения были найдены. При смене параметров задачи часть текущей популяции генетического алгоритма (25%) отбирается при помощи оператора селекции и сохраняется в базе опыта вместе с индикатором среды. Для нового состояния среды формируется индикатор, по которому проводится поиск в базе опыта. Если популяция с таким индикатором найдена, то она используется как часть начальной популяции. Если такого индикатора в базе опыта нет, то вся популяция создается заново.

Частичное, а не полное сохранение текущей популяции позволяет предотвратить преждевременную сходимость из-за потери алгоритмом разнообразия.

Эксперимент

В эксперименте участвовали нестационарные задачи о ранце с 30, 100 и 1000 предметами и четырьмя весовыми ограничениями, составляющими 25%, 50%, 75% и 90% от общего веса предметов.

Для каждой задачи проводились опыты с различным отрезком постоянства, в качестве условия переключения значения параметра использовалось совершенное количество оценок решения. Для метода ветвей и границ это получение оценок для вершин, следовательно, если

отрезок постоянства равен т , то за это время алгоритм получил оценки для т вершин. Для популяционно-генетического метода это количество вычислений функции приспособленности, следовательно, за отрезок постоянства т алгоритм сможет оценить т особей. В эксперименте отрезок постоянства соответствовал количеству вычислений, были исследованы задачи с отрезком постоянства 30, 50, 70, 100, 150 и 200 вычислений.

В ходе эксперимента сравнивались общее количество вычислений и средняя точность решений, получаемых в ходе поиска оптимально-

Таблица 1

Сравнение средней точности решения стационарной задачи

Размерность 30 100 1000

Метод ветвей и границ 0.9806 0.9925 0.9994

Метод с использованием базы опыта 0.9712 0.9477 0.9222

Таблица 2

Точность и количество вычислений для стационарной задачи о ранце, размерность 1000

Весовое ограничение (% от общего веса) Метод ветвей и границ Метод с использованием базы опыта

25 Средняя точность 0.9986 0.8258

Кол-во вычислений 1253 1000

50 Средняя точность 0.9995 0.9026

Кол-во вычислений 3103 1000

75 Средняя точность 0.9998 0.9661

Кол-во вычислений 121963 1000

90 Средняя точность 0.9997 0.9942

Кол-во вычислений 83676 1000

Таблица 3

Средняя точность решения для нестационарной задачи о ранце в зависимости от размерности задачи

Размерность 30 100 1000

Метод ветвей и границ 0.5838 0.6191 0.7698

Метод с использованием базы опыта 0.9995 0.9761 0.9429

Таблица 4

Средняя точность решения для нестационарной задачи о ранце в зависимости от отрезка постоянства

Отрезок постоянства 30 50 70 100 150 200

Метод ветвей и границ 0.8426 0.8187 0.7717 0.6966 0.4924 0.4843

Метод с использованием базы опыта 0.9430 0.9457 0.9474 0. 9473 0.9525 0.9587

Таблица 5

Средняя точность решения для нестационарной задачи о ранце в зависимости от порядка следования ограничений

Порядок следования ограничений Возрастание Чередование У бывание

Метод ветвей и границ 0.7295 0.7335 0.5902

Метод с использованием базы опыта 0.9504 0.9490 0.9479

го решения. В качестве точности рассматривалось отношение лучшего найденного на данный момент решения к оптимальному, точность усреднялась по количеству вычислений.

Проводились две серии экспериментов. В первой серии каждое значение параметров рассматривалось как отдельная задача. В табл. 1 приведена средняя точность алгоритма в зависимости от размера решаемой задачи. В табл. 2 приведены точность решения и число вычислений, затраченных на поиск решения в задаче размерностью 1000.

Во второй серии экспериментов рассматривалась нестационарная задача о ранце. В этой серии исследовалось влияние на точность алгоритма длины отрезка постоянства и порядка следования ограничений. Результаты второй серии экспериментов приведены в табл. 3-5.

Заключение

Из результатов эксперимента видно, что точность метода ветвей и границ на стационарной задаче выше, чем у генетического алгоритма. Однако при весовых ограничениях, составляющих 75% и 90% от общего веса, при сравнимой точности решения число вычислений, затраченных на поиск решения генетическим алгоритмом, на два порядка ниже, чем у метода ветвей и границ.

При поиске решения нестационарной задачи о ранце метод ветвей и границ имеет точность хуже, чем генетический алгоритм. Однако при увеличении размерности задачи точность генетического алгоритма падает, в то время как метода ветвей и границ повышается.

Увеличение длины отрезка постоянства ведет к падению точности метода ветвей и границ. Это обусловлено отсечением неперспективных направлений поиска, что особенно заметно при последовательном возрастании весового ограничения.

При последовательном возрастании весового ограничения и сравнительно малом отрезке постоянства классический алгоритм находит оптимальное решение с хорошей точностью. Если

же нет монотонного возрастания ограничений, то метод ветвей и границ работает хуже, поскольку возможные решения для большего ограничения были отброшены в ходе решения задачи на предыдущем отрезке постоянства с меньшим ограничением.

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

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

Таким образом, применение генетического алгоритма для поиска решений нестационарных задач дискретной оптимизации является перспективным направлением исследования.

Список литературы

1. Батищев Д.И., Неймарк Е.А. Решение задачи оптимизации нестационарной функции при помощи генетического алгоритма с использованием базы опыта // Известия СПбГЭТУ «ЛЭТИ». Серия Информатика, управление и компьютерные технологии. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2006. Вып. 1.

С. 29-33.

2. Батищев Д.И., Неймарк Е.А., Старостин Н.В. Оптимизация нестационарных задач комбинаторного типа с помощью генетических алгоритмов // Десятая национальная конференция по искусственному интеллекту с международным участием КИИ-2006 (2528 сентября 2006 г., Обнинск): Труды конференции. В 3 т. Т. 3. М.: Физматлит, 2006. С. 976-983.

3. Батищев Д.И., Неймарк Е.А., Старостин Н.В. Применение генетических алгоритмов к решению задач дискретной оптимизации: Учебное пособие. Н. Новгород: Изд-во ННГУ им. Н.И. Лобачевского, 2006.

PERFORMANCE COMPARISON OF CLASSICAL AND GENETIC ALGORITHMS USED FOR ADAPTATION OF OPTIMAL SOLUTIONS OF THE NONSTATIONARY COMBINATORIAL OPTIMIZATION PROBLEM

D.I. Batishchev, E.A. Neimark

The application of genetic algorithm is considered for adaptation of solutions of nonstationary optimization problems. A comparison is carried out of classical optimization methods and the genetic algorithm used in the search for optimal solutions of the nonstationary 0-1 knapsack problem.

Keywords: genetic algorithm, adaptation, optimal solutions, combinatorial optimization, nonstationary problem.