Использование алгоритма адаптации параметров целевой функции приводит к улучшению качества управления, что видно из сравнения графиков на рис. 5, 6 и рис. 7, 8.
По виду графиков на рис. 5-8 можно сделать вывод, что предлагаемый регулятор позволяет достичь требуемого качества управления, задаваемого критерием (6), для многомерного стохастического объекта с запаздыванием по каналам управления. Литература. 1. Borrison U. Self-tutning regulators for a class of multivariable systems//Automatica. 1979. №15. P. 209215. 2.Изерман P. Цифровые системы управления. M.: Мир, 1984. 541 с. 3. Cheung L.S. A new automated optimal tuning strategy for a PID controller // ISA Trans. 1988. 27. P. 69-75. 4. Cameron F, SeborgD.E. A self-tuning controller with a PID structure // Int. J. Contr. 1983. 38. P. 401-417. 5. Kim J.-H, Choi K.-K. Self-tuning discrete PID controller / / IEEE Trans. Ind. Electron. 1987. 34. P. 268-300. 6. Бодянский E.B., Котляревский C.B., Ачкасов A.E., Вороновский Г.К. Адаптивные регуляторы пониженного порядка. Харьков: ХЕАГХ, 1996. 144 с. 7. Peltomaa A., Koivo H.N. Tuning of multivariable discrete time PI controller for unknown systems // Int. J Contr. 1992. 57. P. 1387-1403. 8. Jones A.H., Porter B. Design of adaptive self-point tracking PID controllers incorporating recursive step-response matrix identifiers for multivariable plants // IEEE Trans. Autom. Contr. 1987. 32. P. 459-463. 9. Yusof R, Omatu S. A multivariable self-tuning PID controller // Int. J. Contr. 1992. 57. P. 1387-1403. 10. Yusof R., Omatu S, Khalid M. Self-tuning PID control: a multivariable derivation and application // Automatica. 1994. 30. P. 1975-1981. 11. BayomiM.M., Wong
K.J., El-Bagouri M.A. A self-tuning regulator for multivariable systems // Automatica. 1981. 17. P. 575-592. 12. Caines P.E., Lafortune S. Adaptive control with recursive identification for stochastic linear systems. Multivariable case // Proc. 21-
st IEEE Conf. Decis. and Contr. Orlando, Fla., Dec. 8-10, 1982, vol.3. N.Y.: 1982. P. 978-983. 13. CainesP.E., Lafortune S. Adaptive control with recursive identification for stochastic linear systems // IEEE Trans. Autom. Contr. 1984. 29. P. 312-321. 14. Льюнг Л. Идентификация систем. M.: Наука, 1991. 432 с. 15. Алберт A. Регрессия, псевдоинверсия и рекуррентное оценивание. М.: Наука, 1977. 224с. 16. Поляк Б. Т. Введение в оптимизацию. М.: Наука, 1983. 384 с. 17. Toivonen H. T. Variance constrained self tuning control // Automatica. 1980. 19. P. 415-418. 18. Toivonen H.T. A selftuning regulator with on-line cost function adaptation // Int.
J. Syst. Sci. 1984. 27. P. 1189-1195. 19. Xi Y. New design method for discrete-time multi-variable predictive controller // Int. J. Contr. 1989. 49. P. 45-56. 20. Куо Б. Теория и проектирование цифровых систем управления. М.: Машиностроение, 1986. 448 с.
Рецензент: д-р техн. наук, проф. О.Г. Руденко
Бодянский Евгений Владимирович, д-р техн. наук, профессор, профессор кафедры технической кибернетики ХТУРЭ. Научные интересы: адаптивные системы, искусственные нейронные сети. Увлечения: фелинология, японская поэзия. Адрес: 310166, Харьков, пр. Ленина, 14. Тел.: 40-98-90.
E-mail: [email protected]
Колодяжный Виталий Владимирович, младший научный сотрудник ПНИЛ АСУ ХТУРЭ. Научные интересы: адаптивные системы управления. Увлечения: программирование для Win32, компьютерная графика, английский язык. Адрес: 310166, Харьков, пр. Ленина, 14. Тел.: 40-98-90
Котляревский Сергей Владимирович, канд. техн. наук, доцент кафедры технической кибернетики ХТУРЭ. Научные интересы: адаптивные системы управления. Увлечения: рыбная ловля, футбол. Адрес: 310166, Харьков, пр. Ленина, 14. Тел.: 40-93-37
УДК 519.85
РЕШЕНИЕ НЕКОТОРЫХ ЗАДАЧ УСЛОВНОЙ ОПТИМИЗАЦИИ ЛИНЕЙНЫХ ФУНКЦИЙ НА ПЕРЕСТАНОВОЧНОМ МНОГОГРАННИКЕ
ГРЕБЕННИК И.В.___________________________
Рассматривается оптимизационная задача с линейной целевой функцией и линейными ограничениями-неравенствами на множестве перестановок. Находится точное решение задачи с одним ограничением на переменные. Приводятся результаты вычислительных экспериментов.
Рассмотрим задачу оптимизации следующего вида:
П
L(x) = ^а ^ mm, (1)
1=1
Cx < d , (2)
х Є Enk ^ Rl\ C = [Cij]mxn,d Є Rl\ (3)
где Enk — множество перестановок из n элементов a1, a2,...,an, a1 є R, 1 = 1,..., n , таких что
ai < a2 < ... < an. При этом k элементов из n предполагаются различными.
Известно, что элементы множества Enk и только они являются вершинами перестановочного многогранника П nk = convEnk , структура и свойства которого подробно исследованы [1].
Подходы к решению задачи (1) - (3), предпринимавшиеся ранее, в основном связаны с реализацией различных схем ветвления и содержат перебор значительного количества вариантов. Ориентируясь на сокращение перебора и на повышение эффективности подходов к решению задачи (1) - (3), рассмотрим решение некоторых ее частных случаев.
Задача 1. Пусть задача оптимизации (1) - (3) содержит единственное ограничение — неравенство вида
п
l(x) = Z cixi - d (4)
i=1
где (c1,c2,...,cn) Є Rn, d є R .
Найдем минимум функции цели (1) с ограничениями (3), (4).
Как известно [2], безусловный минимум линейной функции L(x) на множестве Enk достигается в точке x = (x1, x2,...,xn) є Enk , такой что xlj = aj. При этом последовательность {l1,l2,...,ln} такова, что а ^ > а l2 > ... > а і . Предположим, что
в точке x ограничение (4) активно, т.е. l(x) > d . Вообще, можно выделить три случая взаимного расположения гиперплоскости
РИ, 1999, № 1
55
l(x) = d , (5)
определяющей ограничение (4), и перестановочного многогранника П ^ .
1. Г иперплоскость и многогранник не пересекаются и для всех x ёПдк справедливо неравенство
l(x) < d , т.е. все точки Бдк удовлетворяют ограничению.
2. Гиперплоскость и многогранник не пересекаются и для всех x є Пдк l(x) > d , т.е. ни одна точка
Enk не удовлетворяет ограничению (4).
3. Гиперплоскость и многогранник пересекаются хотя бы в одной точке, следовательно, существует
хотя бы одна точка x є Enk , удовлетворяющая ограничению (4).
Для решения задачи оптимизации интерес представляет только случай 3. Поэтому будем считать, что пересечение гиперплоскости (5) и многогранника
П nk не пусто. Рассмотрим линию уровня функции
цели L(x), соответствующую ее точке минимума x
на множестве Enk , т.е. гиперплоскость вида
L(x) = L(x) . (6)
Поскольку в точке x по предположению ограничение (4) не выполняется, то для получения решения задачи 1 необходимо сместить гиперплоскость (6) в направлении ее нормального вектора, определяющем возрастание функции цели. Это смещение следует проводить как минимум до точки пересечения многогранника П nk и гиперплоскости — ограничения (5), ближайшей к линии уровня функции цели (6). Если эта точка будет принадлежать Enk (т.е. будет
вершиной многогранника П nk ), то это и будет решение задачи 1. В противном случае необходимо будет сместить линию уровня L(x) в том же направлении до пересечения с ближайшей допустимой точкой множества Enk , которая и станет решением
задачи. Отыщем эту точку множества Enk .
Из свойств перестановочного многогранника известно, что его вершины — точки множества Enk —
лежат на гиперсфере Sn вида
Z(x, -т)2 = rn2,
i=1
(7)
1 „-
где
=-Z n ,=1
rn =
1 ( n ^ Z a2 -1 Z a,
i—1
n
V i=1 У
Рассмотрим пересечение гиперсферы (7) и гиперплоскости l(x) = d вида (5). Поскольку многогран-
2
ник П nk вписан в сферу Sn , то пересечение П nk и гиперплоскости (5) лежит внутри пересечения гиперсферы Sn и гиперплоскости l(x) = d . Результатом пересечения сферы (7) и гиперплоскости (5) является сфера Sn-1 с центром в точке
t = (t1,t2,...,tn) є Rn и радиусом rn-1. Найдем центр и радиус сферы Sn _1.
Центр сферы Sn _1 — точка t — лежит на пересечении прямой, проходящей через центр сферы Sn —
точку T = (т,т,...,т) є Rn, направляющий вектор которой совпадает с нормальным вектором плоскости (5) и плоскости l(x) = d . Уравнение этой прямой в параметрической форме имеет вид
xj = Т + CjS, x 2 =Т+ c2s,
(8)
x
Т + c-s .
Координаты точки пересечения прямой и плоско-
сти (точки t) определим по формулам (8), подставив в них найденное значение s. Его получим из уравнения (результат подстановки соотношений (8) в уравнение (5)):
(ф + c2 +... + cn )s + (c + c2 +... + cn )t — d — 0,
s =
d ~ (c1 + c2 + ••• + cn)^
2 , л2 , , J2
c1 + c2 + ... + cn
(9)
Таким образом, координаты центра сферы Sn_1 — точки t — определим по формулам (8), (9). Отрезок
[t, T], соединяющий центры сфер Sn_j и Sn , имеет длину р . Из проведенных построений следует, что
отрезок [t, T], радиусы rn и r-4 сфер Sn и Sn_1 составляют прямоугольный треугольник, из которого можно найти величину радиуса rn-1 :
VTT
r-1 = V rn -P
2
Определим теперь точку q гиперсферы Sn _1, ближайшую к гиперплоскости (6) — линии уровня функции цели, проходящей через точку безусловно-
го минимума на Enk . Точка q может быть найдена как решение задачи оптимизации следующего вида:
(a1x1 +a 2x2 +... + anxn + d) f (x) = 11—„ 2 \----------^t------- ^ min
a1 +a 2 +... + a n
при ограничениях
n
Z cixi =d, Z (xi - ti) = r--1,
i=1
i=1
n
где d = Zaixi . i=1
В этой задаче целевая функция представляет собой квадрат расстояния от точки M(x 1,x2,...,xn)
до гиперплоскости L(x) = L(x) вида (6), а ограничения описывают гиперплоскость — ограничение (5) и сферу Sn_1. Решение сформулированной задачи оптимизации не представляет принципиальных труд-
56
РИ, 1999, № 1
ностей и может быть получено, например, методом штрафных функций.
Таким образом, полученная в результате точка q представляет собой точку пересечения сферы Sn с плоскостью l(x) = d , ближайшую к плоскости L(x) = L(x) — линии уровня функции цели, проходящей через точку безусловного минимума L(x) на множестве Enk . А это значит, что значение L(q) является нижней оценкой минимума L(x) на множестве Enk с учетом активного ограничения (4). Справедливость этого утверждения вытекает из того, что точки множества Enk , лежащие в плоскости l(x) = d , принадлежат сфере Sn-1. В тех же точках Enk , которые удовлетворяют ограничению (4), но не лежат в плоскости l(x) = d, значения функции
L(x) очевидно больше, чем L(q) .
Продолжим поиск точного решения задачи 1. Из проведенных построений следует, что таким точным решением будет допустимая (в смысле ограничения
(4)) точка множества Enk , ближайшая к гиперплос-
n
кости Za ix i = L(q), т. е. к линии уровня функции i=1
цели, проходящей через точку q .Точное решение
задачи 1 обозначим через x є Enk •
В силу специфики рассматриваемой задачи область поиска точки x — решения задачи 1 — может быть ограничена. Для формирования этой области
(обозначим ее Q) проведем следующие построения.
Определим точку у1 є Enk , ближайшую к точке q . Точка у1 может быть получена как решение [2]:
У1 = argminllq - yll2.
vc Т? , 11 11
При этом точка у1 может как удовлетворять, так и не удовлетворять ограничению (4). Однако в обоих случаях внутри сферы Sy1 с центром в точке q и
радиусом Гу1 -
q - У
нет ни одной точки множе-
ства Enk . Из этого следует, что линия уровня функции цели L(x) = L(q) может быть смещена в направлении возрастания значений L(x). При этом,
пока часть гиперплоскости L(x) = c, точки которой удовлетворяют ограничению (4) и лежат внутри гиперсферы Sn , являются также внутренними точ-
ками шара, ограниченного гиперсферой Sy , никакая точка x є Enk не может быть пройдена в ходе
смещения линии уровня функции L(x). Смещение будем проводить до тех пор, пока линия уровня L(x) не пройдет через какую-либо точку р , принадлежащую пересечению гиперсфер Sn , и S , . Найдем
n 1 у
такое положение гиперплоскости L(x) = c . Для этого рассмотрим отрезок [t, q], соединяющий центры сфер Sn_1 и Syi . Длина этого отрезка равна
радиусу rn-1 сферы Sn_1, так как q є Sn_1. Искомая точка р, принадлежащая пересечению сфер
Sn_1 и Sy1, точки t и q являются вершинами треугольника с известными длинами сторон. Определим точку h є [t, q], через которую пройдет диа-
метр сферы S = Sn _1 n Sy1 . Эта точка может быть определена путем несложных алгебраических пост-
роений, учитывающих радиусы сфер Sn _1 и Sy1 [4]:
Ґ
h — t +
r21 ^ 1------Ус
V
2r,
n-1
tq
. Проходя через точку h :
линия уровня функции цели пройдет и через точку ре S. Нижняя оценка минимума L(x) на Enk с
учетом ограничения (4) возрастает с L(q) до L(h) .
Проведенные построения позволяют задать границы области Q — области поиска решения x* е Enk задачи 1. Границами Q являются:
— сфера Sn , описанная вокруг перестановочного многогранника;
— ограничение задачи 1 — гиперплоскость l(x) =
= Z cixi = d;
i=1
— гиперплоскость w(x) = 0 с нормальным вектором tq , проходящая через точку h (а значит,
содержащая сферу S = Sn_1 n Sy1). По построению, с одной стороны от плоскости w(x) нет ни одной допустимой точки E„k ;
— линия уровня функции цели L(x) = L(h) ;
— линия уровня функции цели L(x) = L(y1) , если y1 допустима в смысле ограничения (4), или L(x) = L(x), где х = argmaxL(x) , если y1 недо-
xeEnk
пустима.
*
Для определения решения задачи 1 — точки x — рассмотрим задачу покрытия области Q гиперкуба-
РИ, 1999, № 1
57
ми П yi, плотно прилегающими или пересекающимися друг с другом. При этом соответствующие грани гиперкубов П yi параллельны, а нормальными векторами граней являются векторы построенной ортонормированной системы. Каждый гиперкуб П yi обладает таким свойством, что ни одна его внутренняя точка не является точкой множества Enk .
Гиперкубы П i будем строить следующим образом.
Выберем точку Xі gQ . Подобно сфере Syl построим сферу S i с центром в точке Xі и радиусом
ryi =
x - У ем задачи
, где точка у1 є S i является решени-
У
і
arg min
yeEnk
X
2
У
(10)
Как и сфера Sy1 , сфера Syi обладает тем свойством, что шар с границей Syi не содержит внутри ни одной точки множества Enk . В сферу Syi впишем
гиперкуб П у і, задав ориентацию его граней. Как следует из [3], радиус описанной сферы r и длина
ребра гиперкуба p связаны соотношением r
pVn
2
Значит, длина ребра гиперкуба П yi, вписанного в
2r і
сферу S і, определяется как p i = —— . Центр
y y Vn
гиперкуба П yi совпадает с центром описанной
сферы Syi. Ясно, что построенный таким образом гиперкуб не может содержать внутри точек множества Enk .
Для задания ориентации граней гиперкуба П yi сформируем ортонормированную систему векторов b1,b2,...,bn следующим образом. Обозначим
Ь1 = _tq_
— — нормальный вектор плоскости w(x), tq
ограничивающей область Q . Пусть e1,e2,...,en -
ортонормированный базис рассматриваемого пространства переменных. Среди базисных векторов выберем n -1 вектор таким образом, чтобы вместе
с b1 они образовывали линейно-независимую систему векторов. (Это легко сделать, удалив из базиса
вектор ei, такой что bj ^ 0 ). Ортогонализуем векторы полученной системы, оставив без изменения вектор b1. Полученную ортонормированную систему обозначим b1,b2,...,bn .
Опишем схему покрытия области Q . Рассмотрим ранее полученную точку h , которая принадлежит границе области Q , являясь одновременно точкой плоскости L(x) = L(h) и плоскости w(x) = 0 .
Определим точку у 2 є Enk , ближайшую к точке h, воспользовавшись соотношением (10). Построим сферу Sy2 . В случае, если y2 удовлетворяет ограничению (4) и находится ближе к гиперплоскости
n
Za ixi = L(q) , чем точка, определяющая верхнюю 1=1
оценку минимума функции цели (y1 или x ),
проведем через y2 гиперплоскость L(x) = L(y2), ограничивающую область Q . Ясно, что при этом размеры области Q уменьшатся.
Впишем в сферу Sy2 гиперкуб П 2 таким образом, чтобы векторы ортонормированной системы b1 были ортогональны его граням. Длина ребра постро-
енного гиперкуба составит py2. Из точки h — центра
y
1
П 2 — сделаем шаг длиной ~ p y в направлении
y 2 у
вектора b2; полученную точку обозначим h3:
3 1 2
h = h + — py2 ' b . Легко показать, что точка h3 лежит на грани куба Пy2. Построим сферу Sy3 с центром h3 и впишем в нее гиперкуб П 3 , ориентируя его грани так же, как Пy2 . Определим длину
1
ребра py3 и снова сделаем шаг длиной ~ py3 в
направлении b2 : h4 _ h^ + 2py3 ' ^ . Построение
точек h1 в направлении b2 прекратим, когда очередная точка выйдет за границы области Q (что можно проверить непосредственно). Затем из исходной точки h сделаем шаг в направлении, противоположном b 2 . В этом направлении также построим сферы S і и вписанные в них гиперкубы П і ,
yy
прекратив построение при выходе за границы области Q . Среди всех гиперкубов П yi , построенных в
3
1
2
y
2
направлениях b2 и - b2 от точки h, найдем
гиперкуб с минимальной длиной ребра p2 = minpy . В результате проведенных построений параллелепи-1^
пед с длинами ребер ^ ^ p yi в направлении b 2 и p 2 в остальных направлениях b1,b3,...,bn не содер-
жит точек множества E
nk
58
РИ, 1999, № 1
Продолжим процесс покрытия области Q . Сделав шаг р2 из точки h в направлении b3, проведем построения, аналогичные описанным. В результате проведения построений в направлениях b2,b3,...,bn построим нерегулярную решетку, узлами которой будут точки h1 — центры сфер Syi и гиперкубов
П yi . Гиперкубы П yi, пересекаясь и плотно прилегая друг к другу, образуют n - мерный параллелепипед, доходящий до границ области Q в направлениях b1 b2 bn и имеющий длину ребра р = minp1 в
’ 2<i<n 1
направлении b 1, который не содержит внутри точек множества Enk .
Поскольку b1 является нормальным вектором
плоскости w(x) = 0, ограничивающей область Q, и центры всех гиперкубов П yi лежат в плоскости w(x), то область Q может быть уменьшена в направлении b1. Для этого гиперплоскость w(x) должна быть смещена в направлении b1 на величину
р. Из проведенных построений следует, что в
результате ни одна допустимая точка Enk не окажется выведенной за пределы области Q . Пересечение
плоскости w(x) = 0 и отрезка [t,q] даст новую точку h — точку прохождения линии уровня функции цели — нижней оценки минимума задачи 1, что также приведет к сокращению области Q .
Таким образом, в ходе построения параллелепипедов, покрывающих область Q, сокращение ее будет идти в трех направлениях: с улучшением верхней оценки минимума функции цели будет смещаться
плоскость L(x) = L(yi); с построением очередного “слоя” сместятся плоскость w(x) = 0 и плоскость
L(x) = L(h) . Процесс поиска точки x* — решения задачи 1 — можно остановить, когда размеры области Q уменьшатся до нуля. Лучшая из верхних оценок
L(yi) и определит решение задачи 1 x*=y1.
Задача 2. Задана гиперплоскость
n
Zcixi + d = 0 . (11)
i=1
Определить точку x* є Enk , ближайшую к гиперплоскости (11). При этом дополнительно может быть наложено требование, чтобы поиск точки
*
x є Enk проводился только по одну сторону от гиперплоскости (11).
Для решения задачи рассмотрим уклонение (ориентированное расстояние) от точки x є Rn до гиперплоскости (11):
n
Ё cixi+ d
5(x)
i=1
V
2 , л2 , , 2 ci + c 2 + ••• + cn
(12)
Функция (12) линейна относительно x . Определим x0 = argmin5(x) , x1 = argmax5(x). Вычис-
xeEnk xeEnk
лим 5(x0),5(x') . Если 5(x°),5(x') имеют одинаковые знаки, то множество Enk лежит по одну
сторону гиперплоскости (11) и min| 5(x°), 5(xx) |
даст возможность определить ближайшую точку x*. Если знаки 5(x°), 5(x') разные, то гиперплоскость
(11) и многогранник Пnk пересекаются. Рассмотрим задачи оптимизации:
5(x) ^ min,
nn
^ cixi + d > 0 (или - (^ cixi + d) < 0)
i=1 i=1
и
- 5(x) ^ min,
x є E
nk
E cixi+ d -0,
i=1
x є E
nk
Решениями этих задач, представляющих собой случаи задачи 1, являются соответственно точки
x є Enk и x є Enk , ближайшие к гиперплоскости (10) с разных ее сторон. Сама же точка x* є Enk определяется как x* = argmin{б(х), - 5(x)}, а расстояние от x* до плоскости (10) составляет |8(x ) .
Результаты решения задач 1 и 2 могут быть использованы при решении широкого класса задач оптимизации на множестве перестановок.
Описанный подход к решению задач оптимизации линейной целевой функции с линейным ограничением - неравенством реализован программно. Проведены вычислительные эксперименты, в ходе которых генерировались различные тестовые задачи с количеством переменных 3, 4, 10 и 20. Решения всех задач размерностью до 10 переменных проверялись методом полного перебора и их результаты во всех случаях совпали с полученными описанным методом. Решение наибольшей из рассмотренных тестовых задач (с 20 переменными) на компьютере Pentium-150 не превысило нескольких секунд машинного времени.
Литература. 1. Стоян Ю.Г., Яковлев С.В. Математические модели и оптимизационные методы геометрического проектирования. К.: Наук. думка, 1986. 268 с. 2. Стоян Ю.Г., Яковлев С.В. Свойства выпуклых функций на перестановочном многограннике //Докл. АН УССР. Сер. А. 1988. №3. С. 238-240. 3. Розенфелъд Б.А. Многомерные пространства. М.: Наука, 1966. 648 с. 4. Гребенник И.В. Оценки минимума линейных функций в задачах условной оптимизации на множестве перестановок // В кн. “Контроль 1 управління в складних системах” (за матеріалами п’ятої міжнародної науково-технічної конференції, Вінниця, 1999 р.). Т. 1. С. 147-153.
Поступила в редколлегию 14.03.99 Рецензент: д-р техн. наук. Путятин В. П.
Гребенник Игорь Валериевич, канд. физ-мат. наук, доцент кафедры системотехники ХТУРЭ. Научные интересы: дискретная оптимизация. Адрес: Украина, 310726, Харьков , пр. Ленина, 14, тел. 40-93-06.
РИ, 1999, № 1
59