МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ
УДК 519.615.7
ОБ ОЦЕНКЕ ПОГРЕШНОСТИ АЛГОРИТМОВ ПОИСКА ЭКСТРЕМУМА
В КЛАССАХ ФУНКЦИЙ,
ОПРЕДЕЛЯЕМЫХ КУСОЧНО-ЛИНЕЙНОЙ МАЖОРАНТОЙ
© 2013 г. А.Г. Коротченко, В.М. Сморякова
Нижегородский госуниверситет им. Н.И. Лобачевского
Поступила в редакцию 05.03.2013
Рассматриваются классы функций, определяемые кусочно-линейной мажорантой. Для указанных классов введены в рассмотрение подклассы, содержащие все такие функции, которые в задаваемых по некоторому алгоритму точках принимают фиксированные значения. Установлены соотношения, связывающие оценки погрешности в определении наибольшего значения функций из данных подклассов.
Ключевые слова: классы функций, кусочно-линейная мажоранта, алгоритм поиска экстремума, оценка погрешности алгоритма.
Введение
Вопросы, связанные с исследованием эффективности численных методов оптимизации, представляют значительный интерес как с теоретической, так и с практической точек зрения. С теоретической точки зрения, такие исследования интересны выяснением потенциальных возможностей алгоритмов оптимизации на рассматриваемых классах задач. С точки зрения практики, использование эффективных методов в качестве вспомогательных процедур является важным при решении сложных задач, требующих большого объёма вычислений или проведения дорогостоящих экспериментов.
Соответствующая теория достаточно развита, но основные её результаты носят асимптотический характер и гарантируют лишь грубую (порядковую) оптимальность рекомендуемых алгоритмов. Более точные исследования, по необходимости, ориентированы на относительно хорошо обозримые классы задач оптимизации с небольшим числом переменных.
В частности, удобными моделями для теоретического исследования эффективности методов оптимизации служат классы функций одной переменной. Однако необходимость отдельного рассмотрения численных методов поиска экстремума таких функций не исчерпывается только этим обстоятельством.
Во-первых, указанные методы используются как вспомогательные процедуры во многих алгоритмах поиска экстремума функций многих переменных. Отметим здесь классические ква-зиньютоновские методы, методы сопряженных направлений и подобные им [1]. Другие методы, использующие методы поиска экстремума функций одной переменной в качестве вспомогательных процедур, основаны на применении многошаговой схемы редукции размерности, отображений, называемых развёртками или кривыми Пеано, диагональных методов [2-4].
Во-вторых, одной из особенностей задач оптимального проектирования является то, что в систему ограничений, описывающих требования, которые накладываются на характеристики проектируемого устройства, могут входить характеристики, зависящие как от вектора варьируемых параметров, так и от переменной, значения которой принадлежат некоторому отрезку. Такой переменной может быть, например, частота, время, температура и т.п. [5]. Требования, которые предъявляются к подобного рода характеристикам, могут быть связаны с выполнением соответствующих ограничений для всех значений указанной переменной при каждом фиксированном значении вектора варьируемых параметров, что приводит к многократному решению задачи поиска экстремума функций одной переменной, которая является внутренней по отношению к исходной (внешней задаче)
оптимизации. Поэтому алгоритмы решения подобного рода задач должны быть эффективными, т.е. решать задачу достаточно быстро и точно.
Эффективность алгоритма во многом определяется классом рассматриваемых задач. Так, в работах [6-8] построены алгоритмы для различных классов функций, отражающих существенные свойства задач, встречающихся в приложениях (в том числе многокритериальных) и допускающих построение достаточно эффективных и простых в реализации алгоритмов. В работе [6] построены оптимальный одношаговый и приближенно-оптимальный алгоритмы поиска экстремума для классов функций, определяемых кусочно-линейной мажорантой.
В данной статье также рассматриваются классы функций, задаваемые с помощью кусочно-линейной мажоранты и являющиеся собственными подклассами класса, определенного в [6]. Для указанных классов, в том числе и для класса из [6], введены в рассмотрение подклассы, содержащие все такие функции, которые в задаваемых по некоторому алгоритму точках принимают фиксированные значения. Установлены соотношения, связывающие оценки погрешности в определении наибольшего значения функций из данных подклассов. Показано, что отнесение функции к одному из классов, рассматриваемых в данной статье, позволяет получать более точные оценки в определении её наибольшего значения по сравнению с классом, введённым в [6].
Определение классов функций и их свойства
Будем говорить, что непрерывная функция I(х), определённая на отрезке [а, Ь], принадлежит классу функций Е (а, Ь, К, К), если выполняются следующие соотношения:
IX) - К ^ I(х1) - К1 X - а х1 - а
I(^) - к2^ /(Хі) - К2 Ь - х Ь - х1
где х > X, X, X є (а, Ь), К, К є К , К > К.
Аналогично, непрерывная функция /(х), определённая на отрезке [а, Ь], принадлежит классу функций Е2 (а, Ь, К, К), если выполняются соотношения (1) при К > К.
При К = К = К соотношениями (1) задаётся класс Е (а, Ь, К) непрерывных функций I(х), х є [а, Ь], рассмотренный ранее в [6]. Так
же как в [6], показывается справедливость следующих свойств функций из классов F (a, b,
K, K) и F (a, b, K, K).
Свойство 1. Если функция f (x) e F (a, b, K, K) (F (a, b, K, K)), то f(x) e F(a, b, K2)
(F (a, b, K)).
Свойство 2. Если функция f (x) e F (a, b, Ki,K2) (F2(a,b,Ki,K2)), то f(x) > K2(K1).
Для непрерывной функции f (x) определим функцию g(x) = f (a + b -x), xe[a,b].
Свойство 3. Если функция f (x) e F (a, b,
K, -K), то функция g(x) e F (a, b, K2, K).
Дальнейшие свойства мы сформулируем относительно класса F (a, b, K, K).
Свойство 4. Если функции f (x) e F (a, b, Kj,K2), i = l,...,m , то функция f (x) =
= min f (x) e F (a, b, K, K), гДе K = min K
i=i,...m i=i,...m
K2 = min K2.
i=i,...m
Свойство 5. Если функции f (x) e F (a, b, Kj,K2), i = l,...,m , то функция f (x) =
= maxf (x) e F (a, b, K, K), где K = min K ,
i=i,...m i=i,...m
K2 = min K2.
i=i,...m
Свойство 6. Пусть функции f (x) e F (a, b, Kj,K2), i = l,...,m , тогда функция f (x) =
m m
= ^7 Ji(x) e Fl(a, b, K^ K 2), где K1 =ZyKi ,
i=l i=1
m
K2 ='^yiK'2, 7 - неотрицательные числа,
i=1
i = 1,...,m.
Свойство 7. Вогнутая ограниченная снизу функция f (x), определённая на отрезке [a, b],
принадлежит классу F (a, b, K, K), где Ki = f (a), K2 = f (b) при f (a) > f(b), что обеспечивает выполнение неравенства K > -K.
Свойство 8. Выпуклая функция f (x), определённая на отрезке [a, b] и дифференцируемая в точках a и b , принадлежит классу F (a, b, Kj, K2), где K = f (a) + f (a)(b - a) и K2 = f (b) - f'(b)(b - a) при условии, что f (b) - f(a) > (b - a)(f'(a) + f'(b)), где f'(a), f (b) - значения производной функции f(x) в точках a и b .
Свойство 9. Функция f (x), удовлетворяющая на отрезке [a, b] условию Липшица с константой L, принадлежит классу F (a, b, K, K), где K = f (b) — L(b — a), K = f (a) — L(b — a) при условии, что f (b) > f (a).
Свойство 10. Если функция У = ФЦ), t e[a, b], непрерывна при t = a и t = b, монотонна и вогнута, а f (y) - неубывающая функция, принадлежащая классу F (a, b, K, K), то
V(t) = f Ш')') е F(a,b,K).
Свойство 11. Если функция У = Ф^), t e[a, b], непрерывна при t = a и t = b, монотонна и выпукла, а f ( У) - невозрастающая функция, принадлежащая классу F (a, b, K, K),
то v(t) = f Ш))еF(ab,K^K2).
Оценка погрешности алгоритмов поиска экстремума
Пусть D = [a, b]. Будем рассматривать класс алгоритмов A поиска экстремума функций f (x) из класса F (a, b, K, K) (F (a, b, K, K)), такой, что каждый алгоритм состоит в вычислении функции на текущем шаге в определённых точках подмножества D с D, определяемого на основе информации о значениях функции, полученных к указанному шагу. Таким образом, каждый шаг конкретного алгоритма из класса A задаётся описанием множества, на котором будут выбираться точки вычисления функции, и правилом выбора этих точек. При этом предполагается, что на первом шаге функция может быть вычислена в произвольных точках (точке) множества D , а окончание вычислений осуществляется либо исчерпанием вычислительного ресурса, либо достижением заданной точности решения задачи.
Обозначим через ае A алгоритм поиска глобального максимума функции f (x) е F (a, b, K,,K2) (F2(a,b,K„K2)).
Пусть функция f (x) к текущему шагу алгоритма а вычислена в N точках отрезка [a, b] и a <Xj <x2 <•••<x^ <b, y = f (xt), i = 1,...N,
h = maxy.
i=1,...N
Обозначим через F (a, b, K, K, N) (F (a, b, K, K, N)) подкласс класса F (a, b, K, K) (F (a, b, K, K2)) всех таких функций, которые в точках x принимают значение yt, i = 1,...,N.
Введём в рассмотрение функции:
y — к
х) = —----- (x — а) + K и
X — а
v — K
у2( х) = ——2 (ь—х) + к 2, b — х,
где х е [а,b], i = 1,...N .
Положим у.(х) = шах(у-(х),у2(х)), i = 1,...N.
хе[а,Ь]
Функция фд, (х) = min у (х) является точной
i=1,...N
верхней мажорантой всех функций из класса
F (а,b,K,K,N) (F (а,b,K, K,N)).
Пусть х* = argmax^ (х). Если h = фд, (х*),
хе^а^]
то точка х* = argmaxf(х) и алгоритм заканчи-
хе[а^]
вает свою работу. Если h < фд, (х*), то точность определения максимума функции f (х) можно определить как следующую разность:
Q = ФN (х*) — h.
Положим х =^о = а, х^+i =^N = b ,
Фn (£>о) = (— K2> (b — а) + к2 и (b — х-)
ФN & n ) = (—N — K^ (b — а) + K-.
(^ — а)
Введём в рассмотрение точки
_ (K2 — K- + b — а)(Ь — xj+l)(xj — а)
J (—j — K\)(b — хj+1) + (хj — а)(—j+1 — К2) j = 1,...N — 1,N>2 .
Точки <^ <■■■<^N доставляют локаль-
ные максимумы функции ф^ (х). Если N = 1, то точки <^0 = а, ^j = b доставляют локальные максимумы функции ф (х).
Обозначим через J(N) множество всех таких индексов j , 0 < j < N, для которых отрезок [х, Х+1] содержит точку \ , доставляющую значение функции ^ (х) большее h. Здесь J(N) с {0,1,...,N} .
Введём в рассмотрение функции:
(W — к1)
—, w) = а + -——(х—а),
(v—K)
Ъ2(хV,w) = b — (w К2) (b — х), (2)
(V — к2)
х е[а, b], — > min(Kj, K,), w > min(Kj, K2).
Для всех j е J(N) определим на отрезке [хj, х+1] величин^1 и . и Vj:
uj =^1(XJ , Vj, h) и Vj =^2(XJ+^ VJ+1, h).
Заданные таким образом отрезки [Uj, Vj ], в силу (2), содержат локальные экстремумы \ функции фд, (x), для всех j е J(N).
Пусть Q( j) = фN (^ j) — h, для каждого
j е J(N), а множество J = {j,...,js} с J(N),
J\ < •••< js, такое, что Q(J\) = ••• = Q(js) =
= maxQ( j). Если множество J состоит из од-
jeJ (N)
ного элемента s, то Q = maxQ , u = u и
^s jeJ(n;> j s
v = v . Если же \J\> 1, то в качестве s будем выбирать значение j .
Тогда погрешность алгоритма а отыскания наибольшего значения функции f(x) запишется следующим образом:
Q = Qs =
(h — K )(h — K2 )(v — u)
(h — K )(b — v) + (h — K2 )(u — a)
. (3)
Величина Q определяет наибольшую возможную разность между найденным в ходе вычислений приближенным значением максимума функции /(х) и его неизвестным точным значением.
Если в формуле (3) вместо параметров и и
V выбрать какие-то из величин uj и vj, то полученное по формуле (3) значение Q является оценкой погрешности в определении максимума /(х) на отрезке , vJ ], для каждого
] е 3 (Ы).
Выбор следующих точек (точки) в алгоритме ае А для вычисления функции / (х) будем производить из условия уменьшения погрешности Q.
Если на шаге алгоритма а функция вычисляется только в одной точке, то в силу свойств классов Е (а, Ь, К, К, N, Е2 (а, Ь, К, К2, N очередную точку вычисления функции следует выбирать на множестве О = [и,V], поскольку выбор точки вне этого множества не гарантирует уменьшения погрешности Q. Тогда, в этом случае, на первом шаге алгоритма а точка вычисления функции может быть любой из отрезка [а, Ь], например она может выбираться в середине данного отрезка.
Обозначим объединение отрезков \и1, vj ],
] е 3(Ы), через О . Если алгоритм а состоит в вычислении функции на шаге в нескольких точках, выбираемых из множества О , то это множество может либо совпадать со всем мно-
жеством О , либо быть его некоторым подмножеством, которое содержит отрезок [и, V] .
Другим алгоритмом из класса А может быть алгоритм р, в котором наряду с отысканием наибольшего значения функции / (х) находятся также экстремумы этой функции на отрезках, как конструируемых в процессе работы алгоритма, так и задаваемых априори. При этом указанные отрезки могут находиться с помощью алгоритма а. Тогда алгоритм р будет совпадать с алгоритмом а на нескольких первых итерациях. Погрешность отыскания экстремумов на каждом из выделенных отрезков вычисляется по формуле (3) с заменой там всех параметров на параметры, отнесённые к каждому выделенному отрезку.
Обозначим через Е (а, Ь, К, Ы) подкласс
класса Е(а, Ь, К), где К = тт(К, К,), всех таких функций, которые в точках х принимают значение у , I = 1,...,Ы . Рассуждая так же как и в [6], вычислим погрешность отыскания наибольшего значения всех функций из подкласса Е(а, Ь, К, Ы):
Q' =
(h — K )(v' — u') (b — a + u — v ')
где h = maxy, а [u ,v ] - отрезок, содержащий
i=1,...N
точку, доставляющую максимальное значение точной верхней мажоранты подкласса
F(a, b, K, N).
В силу задания классов F (a, b, K, K), F (a, b, Kj, K2) и F(a, b, K), справедливо неравенство:
Q =
Q > Q,
(h — K )(v — u) (b — a + u — v)
(4)
(5)
Обозначим:
v — a , u — a c =-----, d = -
b — a
b — a
Рассмотрим случай, когда К > К. Тогда соотношения (3) и (5) примут вид:
д_(Ь ~ К2)(с ~ 3) п (Ь ~ К2)(с ~ 3)
где Х =
1 — c + 'Kd
h — K
1 — c + d
h—K
Если рассматривается случай, когда K2 > Kj, то
^ (И - К1)(с - й) ~ (И - К)(с - й)
^ = Л /1 Ч 7 , Q = - - , где
не менее чем в 2 раза больше погрешности Q, и
Ц1 - с) + й
Х =
И - К И - К
где 8 =
И - К
так как И > К .
^ примут вид 8 =
и ц =
К 2 - К И - К
й + с > 1, И < 2К - К.
справедливо:
зк - К 2
(7)
В силу задания класса Е (а, Ь, К, К) Ъ > К2. Можно показать, что ё = 0 в случае, когда Ъ < К, и при этом Q и Q совпадают. Аналогично, для класса Е (а, Ь, К, К) можно показать, что с = 1 в случае, когда Ъ < К2, при
этом соответствующие погрешности Q и Q также совпадают.
Пусть теперь Ъ > К, если рассматривается класс Е (а, Ь, К, К). Для сравнения погрешностей на подклассах Е (а, Ь, К, К, Ы) и Е(а, Ь, К, Ы) введём в рассмотрение функцию
А(ё, с, ^), определяемую как отношение Q к Q :
А(ё, с, ^) = 1 + ^8,
К - К
, 0 <8< 1, ц = —1----- , ^>0,
Для класса Е (а, Ь, К, К, К) параметры 8 и
когда
Ъ > К .
В силу неравенства (4) отношение будет не больше отношения ^^, где величина Q '/Q определяет, во сколько раз погрешность алгоритма а на подклассе Е (а, Ь, К, К, Ы)
(Е (а, Ь, К, К, Ы)) меньше, чем на подклассе Е(а,Ь,К,Ы) (Е(а,Ь, К,Ы)).
Рассмотрим некоторые случаи изменения параметров 8 и ^ при условии, что ё > 0 , если
рассматривается класс Е (а, Ь, К, К), и с < 1 для класса Е (а, Ь, К, К2, Ы).
1) Пусть 8> —, а 1, тогда значение
функции А(ё, с, ^) > 1.5 и при этом выполняются следующие условия:
(6)
Неравенства (6) при рассмотрении класса Е (а, Ь, К, К, Ы) примут вид:
ё + с < 1, Ъ < 2К2 - К.
2) Пусть 8 > —, а ^ > 2. Тогда значение функции А(ё, с, ^) > 2, то есть погрешность Q
Неравенства (7) при рассмотрении класса
Е (а, Ь, К, К, N:
, , ^3К2 - К1
й + с < 1, И <—2----1.
2
3) Пусть 8 = 1, ^ > 2. При этом с = 1, а
, зк - К
И < ——2 . В случае рассмотрения класса
3К - К
Е (а, Ь, К, К2, К) й = 0 и И < —^—1. В данном случае значение погрешности Q по крайней мере в 3 раза больше Q .
В результате проведённых рассуждений получаем, что принадлежность функции I (х) из класса Е(а,Ь, К) его собственному подклассу Е (а, Ь, К, К2), где К > К2 = К , или подклассу Е (а, Ь, К, К2) при К > К = К , позволяет при использовании алгоритма из класса алгоритмов А, с учётом такой принадлежности, как получать более точные результаты при решении соответствующей задачи, когда объём вычислений задан, так и достигать требуемой точности решения задачи при меньшем числе вычислений функции по сравнению с использованием того же алгоритма а, ориентированного на класс функций Е(а, Ь, К). Так, если алгоритм ає А состоит в отыскании наибольшего значения функции I(х), то указанное положение имеет место как в силу более точной оценки погрешности в определении наибольшего значения функции на #-м шаге алгоритма, так и за счёт уменьшения числа локальных экстремумов точной верхней мажоранты класса Е (а, Ь,
К, К, К) (Е (а, Ь, К, К, К)), превосходящих наибольшее среди N вычисленных значений функции по алгоритму а , N = 2,3,....
В следующем разделе приводятся результаты вычислительного эксперимента по сравнению погрешностей в определении наибольшего значения функции из класса Е(а, Ь, К) , о которой известно, что она принадлежит также и его подклассу Е (а, Ь, К, К).
Результаты вычислительного эксперимента
Вычислительный эксперимент проводился для алгоритма а0 е А поиска максимума функции /(х) е Е (а, Ь, К, К), на каждой итерации которого функция вычисляется только в одной точке, и заключался в сравнении погрешности
Q алгоритма а0 и величины Q , полученной по формуле (5). Очередная точка вычисления
и + V
функции I (х) задавалась по формуле х = ■
2
Как показано в [6], указанный выбор точки вычисления функции гарантированно приводит к
уменьшению величины Q в два раза. Заметим, что при определённых условиях, накладываемых на значения 3 и с , такое сокращение будет оптимальным.
В качестве тестовых использовались следующие функции:
1) / (х) = шах^тЗх; шт(-60х + 59;
(50-70&т2.4) х + 63т2.4 - 40)),
х е [0,1], К = 0, К =-1;
2) /(х) = тах(т\хП(1х,-2х + 38),
Ш1п(4.5х, - 14х +180), 6х + 20),
х е [0,20], К =-20, К =-100;
3) I(х) = шах(шіп(-0.7788х2 + 9.78623х
тт(-1.2154 х2 + 11.1580х
шіп(-1.4152 х2 + 11.2505 х
шіп(-0.9760х2 + 9.3660х -
шіп(-0.1491х2 + 4.0858х -
шіп(-0.0642х2 + 2.7292х -
шіп(-0.1618х2 + 3.3104 х -шіп(-0.0274х2 + 1.7084х -шіп(-0.0153х2 + 0.7715х -
шіп(-0.0014х2 + 0.0728х -
х є [1, 20], К =-1, К =-10.
- 10.0074, -0.0168х2 - 0.5138х + 6.9942),
- 10.8825, -0.0155х2 - 0.6290х + 8.7888),
- 10.8353, -0.0510х2 - 0.0434х + 11.2834),
9.3900, - 0.0560х2 - 0.0128х 4.9366, - 0.0715х2 + 0.3131х 3.6650, -0.0112х2 - 1.4662х 4.1486, - 0.1063х2 + 1.1557х 2.6810, - 0.1893х2 + 3.1556 х 1.7563, -1.5984х2 1.0714, - 0.5759х2
12.6465), 12.3265), 23.8043), 9.4131), 2.6078), 45.6097х - 282.8253), 3.8481х + 143.3838)),
Константа К для данных функций определена, исходя из свойств 4 и 6, как минимум значений функций, записанных под знаком максимума, в левом конце отрезка определения функции, а константа К2 - в правом конце отрезка соответственно.
Функция I (х) є Е (0,1,0,-1) и имеет два локальных экстремума.
Кусочно-линейная функция /2 (х) є Е (1,16, -8, - 22) и имеет три локальных экстремума.
Кусочно-квадратичная функция /3 (х) є Е (1, 20,-1,-10) и имеет десять локальных экстремумов.
В таблицах 1, 2, 3 приведены результаты расчетов, где N означает число вычислений
функции I (х), Q и Q - погрешности, полученные после вычислений каждой функции I (х) по алгоритму а0 в N точках, і = 1,2,3.
Список литературы
1. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. М.: Физматлит, 2005. 368 с.
2. Стронгин Р.Г. Численные методы в многоэкстремальных задачах (информационно-статистические алгоритмы). М.: Наука, 1978. 239 с.
3. Городецкий С.Ю., Гришагин В.А. Нелинейное программирование и многоэкстремальная оптимиза-
ция: Учебное пособие. Н.Новгород: Изд-во Нижегородского госуниверситета, 2007. 489 с.
4. Сергеев Я.Д., Квасов Д.Е. Диагональные методы глобальной оптимизации. М.: Физмалит, 2008. 252 с.
5. Батищев Д.И. Методы оптимального проектирования: Учебное пособие. М.: Радио и связь, 1984. 248 с.
6. Коротченко А.Г. Об одном алгоритме поиска наибольшего значения одномерных функций // Журн. вы-числ. матем. и матем. физ. 1978. Т. 18. №2 3. С. 563-573.
7. Коротченко А.Г. Приближенно-оптимальный алгоритм поиска экстремума для одного класса функций //Журн. вычисл. матем. и матем. физ. 1996. Т. 36. № 5. С. 30-39.
8. Коротченко А.Г., Бобков А.Н. Об одном алгоритме поиска экстремума в классах функций, определяемых кусочно'-степенными мажорантами // Вестник ННГУ. Сер. Математическое моделирование и оптимальное управление. 2004. Вып. 1(27). С.194-202.
ON ERROR ESTIMATION OF EXTREMUM SEARCH ALGORITHMS IN FUNCTION CLASSES DEFINED BY A PIECEWISE LINEAR MAJORANT
A. G. Korotchenko, V.M. Smoryakova
Function classes defined by a piecewise linear majorant are considered. Some subclasses for these classes are introduced which contain all such functions that take fixed values at points given by some algorithm. The relations have been found linking the error estimates in determining function maxima in the subclasses introduced.
Keywords: function classes, piecewise linear majorant, extremum search algorithm, error estimation algorithm.