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

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

CC BY
286
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Исаев С. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Исаев С. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Solving nonlinear programming problems using self-adaptation technique for penalty functions

This paper presents a new technique for functional constrained non-convex optimization problems. It is based on genetic algorithm applied to non-constrained optimization combined with the concept of new dynamic penalty function, which penalize unfeasible solutions. The method can optimize functions more efficiently by adapting a penalty factor according to feasible/unfeasible solutions ratio.

Текст научной работы на тему «Решение задач нелинейного программирования с использованием схем самоадаптации при построении штрафных функций»

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

Исаев С.А. (contact@galgorithms.com)

Нижегородский государственный университет им. Н.И. Лобачевского

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

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

f = f(x1, x2, — xN )= ( min , f(xl, x2,-~ xn ), где X* G S ^ D (1)

X=(,x2,...xN ) D

D = {x = (x1,x2,...xN) | ai < xi < bi, 1 < i < N} - пространство поиска; (2)

S = {x = (xj, x2 ,...xN ) | gj (X) < 0, j = 1,2,..., к} - допустимое множество. (3)

В общем случае исследуемая многопараметрическая функция f (X) может быть нелинейной, многоэкстремальной, недифференцируемой, иметь разрывы типа «скачек». Допустимая область S, задаваемая нелинейными ограничениями g j (X), в общем случае может быть невыпуклой или состоящей

из нескольких компонент связности.

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

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

F* = F(x*,x2,,...x*N )= min F(xl3x2,...xN), где X*e D (4)

X=(x1,x2,...xN)e D

F (X ) = f (X )+^( X) - новая целевая функция

f= 0, X e D n S

w(X) = l>0 xeD\s - функция штрафа

Для решения задачи (4) был разработан и реализован генетический алгоритм [1], [2], [3], в основу которого положены основные механизмы, моделирующие основные элементы эволюции в Природе:

1 генерация начальной популяции решений,

2 воспроизводство решений-«потомков»:

2.1 выбор родительской пары,

2.2 выбор и реализация одного из операторов кроссовера,

2.3 выбор и реализация одного из операторов мутации,

3 создание репродукционной группы,

4 процедура отбора и формирование на его основе нового поколения,

5 если не выполнено условие останова, то перейти к п.2. Специфика задач с ограничениями связана с проблемой существования

недопустимых особей, т.е. особей, фенотипические признаки которых не удовлетворяют заданным ограничениям. Будем говорить, что фенотипические признаки особи не удовлетворяют заданным ограничениям, если найдется такой номер j, что g j (X) > 0 .

В качестве функций штрафа в работе были использованы две хорошо известные [4] свертки

щх (X) = A ° max max {о, gj (X)},

j=\,2,...k

к

щ( X) = A о £ max {о, gj (X)}

j=1

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

Для проведения вычислительного эксперимента были выбраны следующие тестовые примеры [5]:

f (X ) = 5 2 X - 5 2 х2 -2 X ,

i=1 i=1 i=1

хг e[0,1] i = 1, 2,...9,13; xi e [0,100] i = 10,11,12

g1 (X) = 2x1 + 2x2 + x10 + x11 -10 < 0;

g2 (X) = 2х1 + 2х3 + х10 + х12 -10 < 0; 11

g3 (х) = 2х2 + 2 х3 + х11 + х12 -10 < 0; g4(X)=-8х1 + хю < 0; g5/ (X) = -8х2 + х„ < 0; g6 (X) = -8хз + х12 < 0;

g7(х)=-2х4 -х5 + хю < 0;

g8 (X)=-2хб - х7 + хп < 0;

gI9 ^) = -2х8 - х9 + х12 < 0-

Задача имеет 9 линейных ограничений; функция (X) - квадратичная с глобальным минимумом в X* = (1,1,1,1,1,1,1,1,1, 3, 3, 3,1),

где /1 (X*)=-19. Шесть (из девяти) ограничений активны в глобальном оптимуме, все, за исключением g4 (X), gI5 (X) и g6 (X).

№2 Г (X) = х + х2 + х3 х1 е [100,10000]; х, е [1000,10000] I = 2, 3; х, е [10,1000] I = 4, 5, 6, 7, 8 g1l1 (X) = 0.0025 (4 + хб)-1 < 0; g21 (X) = 0.0025 (х5 + х7 - х4)-1 < 0 ; gз/1 (X) = 0.01 (х8 -х5)-1 < 0;

g41 (X) = - х1 х6 + 833.33252 х4 + 100 х1 - 83333.33 < 0; g5 (X) = - х2 х7 + 1250 х5 + х2 х4 -1250 х4 < 0; gб1 (X) = - х3 х8 + 1250000 + х3 х5 - 2500 х5 < 0 .

Эта задача имеет 3 линейные и 3 нелинейные ограничения; функция /11 (X)

линейная и имеет глобальное решение в точке

X * = (579.31,1359.94, 5110.07, 182.01, 295.59, 217.97, 286.41, 395.59),

где /11 (X *)= 7049.33. Все шесть ограничений активны в глобальном

оптимуме.

№3 у111 (X)= (х1 -10)2 + 5 (х2 -12)2 + х34 + 3 (х4 -11)2 + + 10х56 + 7х62 + х74 - 4х6 х7 -10х6 - 8х7 х, е[-10,10] I = 1, 2,...7 gí11 (X) = 2х2 + 3х24 + х3 + 4х42 + 5х5 -127 < 0 ; g211 (X) = 7х1 + 3х2 +10х32 + х4 - х5 - 282 < 0 ; g311 (X) = 23х1 + х22 + 6х62 - 8х7 -196 < 0; g411 (X) = 4х2 + х22 - 3х1 х2 + 2х32 + 5х6 - 11х7 < 0;

Эта задача имеет 4 нелинейные ограничения; функция /ш (X) нелинейная и имеет глобальный минимум в точке

X * = (2.3304,1.9513, -0.4775, 4.3657, -0.6244, 1.0381, 1.5942),

где /111 (X *)= 680.6300573. Ограничения g1111 (X) и gf (X) активны в

глобальном оптимуме.

№4 ¡1У (X) = х2 + х22 + х1 х2 -14х1 -16х2 + (х3 -10)2 + + 4(х4 - 5)2 + (х5 - 3)2 + 2(х6 -1)2 + 5х72 + + 7(х8 -11)2 + 2(х9 -10)2 + (х10 - 7)2 + 45 х{ е[-10,10] I = 1, 2,...10 g11V (X) = 4х1 + 5х2 - 3х7 + 9х8 -105 < 0; g2У (X) = 10х1 - 8х2 -17х7 + 2х8 < 0; gI3V (X) = -8х1 + 2х2 + 5х9 - 2х10 -12 < 0; gI4V (X) = 3 (х1 - 2)2 + 4 (х2 - 3)2 + 2х32 - 7х4 -120 < 0 ; gI5V (X) = 5х12 + 8х2 + (х3 - 6)2 - 2х4 - 40 < 0; g6V (X) = х2 + 2 (х2 - 2)2 - 2х1 х2 +14х5 - 6х6 < 0 ; g7V(X) = 0.5 (х1 - 8)2 + 2 (х2 - 4)2 + 3х52 - х6 - 30 < 0; gI8V (X) = -3х1 + 6х2 +12 (х9 - 8)2 - 7х10 < 0 .

Эта задача имеет 3 линейных и 5 нелинейных ограничений; функция (X) квадратичная и имеет глобальный минимум в точке

X* = (2.1719, 2.3636, 8.7739, 5.0959, 0.9906, 1.4305, 1.3216, 9.8287, 8.2800, 8.3759), где (X *)= 24.3062091. Шесть из восьми ограничений активны в глобальном оптимуме, все, исключая g ^ (X) и g1IV (X).

Вычислительный эксперимент состоял в проведении серии из 30 запусков алгоритма для каждой тестовой задачи с каждой функцией штрафа. Полученные данные усреднялись и анализировались.

Генетический алгоритм запускался со следующими параметрами:

- длина кодировки одного гена: I = 12;

- численность популяции: V = 100 ;

- число брачных пар в каждом поколении: в = 40;

- число поколений: Т = 5000 ;

- вероятность мутации: рм = 0.01

- кроссовер: случайный выбор одного из операторов:

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

- отбор: элитный.

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

Результаты экспериментов приведены в таблице 1.

Отметим лишь, что особую трудность представлял пример 2 - очень сложно было находить допустимые решения - при малых значениях А алгоритм далеко выходил за границы допустимой области, а с увеличением А - снижалась вероятность локализации глобального экстремума. При использовании функции штрафа щ2 для А < 100, лучшие особи нарушают сразу несколько ограничений и получали решение, меньшее, чем минимум из допустимой области. Наиболее приемлемые результаты получились при значении А «1000. При дальнейшем увеличении константы штрафа результаты постепенно ухудшаются. Примерно такая же тенденция при использовании функции штрафа щ1, только с большими значениями А.

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

f (X *)=-19 ¥1

A = 10 A = 50 A = 300

f " J .nô -17.0356718 -17.24696842 -17.22650899

допустимых особей, % 100 100 100

¥2

A = 0.2 A = 0.3 A = 3

f nô -76.756533 - 18.212770 -17.455870

допустимых особей, % 0 62 100

f11 (х *)= 7049.33 W1

A = 1000 A = 5000 A = 50000

f " J nô 6524,236 8542,358 9563,257

допустимых особей, % 0 1 0

¥2

A = 100 A = = 1000 A = 10000

f nô 5334,128 8001,256 85682,23600

допустимых особей, % 0 1 2

fin (х •) = 680.6300573 ¥1

A = 0.5 A = 0,6 A = 10

f " J .nô 578,256 681,2358 685,2547

допустимых особей, % 0 63 100

у2

А = 0.3 А = 0.4 А = 10

г * J м 548,2359 681,3690 684,2570

допустимых особей, % 0 64 100

¡1У (X *)= 24.3062091 У

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

А = 5 А = 10 А = 100

I. т 32,258463 35,23568 36,2547820

допустимых особей, % 96 98 100

У 2

А = 1 А = 5 А = 10

г * J м 31,23569 28,325698 32,214789

допустимых особей, % 40 98 100

Таблица 1. Результаты решения тестовых задач с фиксированными коэффициентами функции штрафа

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

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

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

Адаптация осуществляется следующим образом:

- после процедуры отбора определяем соотношение допустимых и недопустимых особей в популяции;

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

- делаем следующий шаг алгоритма с новым значением коэффициента.

Такой подход позволяет не искать заранее «подходящее» значение

коэффициента, а начинать работу алгоритма с какого-то произвольного значения (например, А = 1.0), а в процессе поиска его значение будет скорректировано.

Вычислительный эксперимент был проведен с 3 различными соотношениями допустимых и недопустимых особей в популяции: 75%, 25% и 50% допустимых особей от общей численности популяции.

Почти во всех тестовых примерах наиболее надежным соотношением оказалось 50/50 - результаты почти всегда оказывались самыми близкими к оптимальным.

При 75% имело места преобладание допустимых особей над недопустимыми, и результат оказывался тоже достаточно хорошим, но все же уступал результату при значении соотношения 50/50. При дальнейшем увеличении доли допустимых особей в популяции эффективность алгоритма падала.

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

Полученные результаты отражены в таблице 2.

Допустимых Допустимых А ■п-ср

особей особей(в у * J Яд в конце

(задано), % конце поиска

поиска), %

г (х •) = -19 75.0 77.0 -18.9851 0.424

25.0 26.0 -18.9838 0.239

50.0 53.0 -18.9854 0.350

Г (х *) = 7049.33 75.0 98.0 7536.5401 1025.568

90.0 100.0 8004.2576 5024.258

50.0 1.0 8056.8546 600.256

/ш (х * )= 680.6300573 75.0 84.0 681.1287 1.331

25.0 22.0 680.7903 0.263

50.0 40.0 681.0611 0.564

уIV (х * )= 24.3062091 75.0 79.0 24.4560 1.100

25.0 25.0 24.8325 0.513

50.0 51.0 24.6363 0.350

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

Трудность представлял по-прежнему второй пример - по-прежнему было трудно попасть в допустимую область. При увеличении А быстро находились допустимые решения (практически сразу все найденные решения перемещались в допустимую область), далее коэффициент уменьшался до некоторого предела, после которого популяция опять «уходила» из допустимой области и затем значение А опять сильно возрастало и т.д. Для этой функции приемлемо работало соотношение допустимых особей к численности популяции, не меньшее 80%.

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

Автор выражает благодарность Крупину Д.В. за помощь при подготовке

статьи. Литература

1. Батищев Д.И. Генетические алгоритмы для решения экстремальных задач / Под ред. Львовича Я.Е.: Учеб. пособие. Воронеж, 1995.

2. Батищев Д.И., Исаев С. А., Ремер Е.К. Эволюционно-генетический подход к решению задач невыпуклой оптимизации. / Межвуз. сб. ВГТУ; Воронеж. 1998.

3. Исаев С. А. Виндман П. А. Оптимизация многоэкстремальных функций с помощью генетических алгоритмов. / Вестник ННГУ, Серия «Математическое моделирование и оптимальное управление». Выпуск 1 (26), ННГУ 2003, стр.180-188

4. Батищев Д.И., Львович Я.Е., Фролов В.Н. Оптимизация В САПР. / Воронеж, ВГТУ. 1997.

5. Michalewizc Z. Genetic algorithms, numerical optimization, and constraints. Proceeding of the Sixth ICGA, 1995, pp.151-158

i Надоели баннеры? Вы всегда можете отключить рекламу.