Научная статья на тему 'Об одном методе нелинейного программирования с произвольными ограничениями'

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

CC BY
592
52
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / NONLINEAR PROGRAMMING / МНОГОПАРАМЕТРИЧЕСКАЯ ОПТИМИЗАЦИЯ / MULTIPLE-PARAMETER OPTIMIZATION

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

Введение: при решении современных задач в областях моделирования и идентификации нелинейных и нестационарных систем, а также при анализе и фильтрации данных экспериментов все большее распространение получают методы оптимизации и, в частности, нелинейного программирования. Эти задачи относятся к классу задач многомерной оптимизации при ограничениях. К сожалению, в настоящий момент не существует эффективных численных методов для решения подобных задач в случае, когда число ограничений m многократно превосходит число варьируемых параметров n. Цель: разработать новые методы и алгоритмы для решения задач многопараметрической оптимизации при ограничениях. Результаты: разработан новый метод нелинейного программирования, который назван «метод многомерных оболочек». Этот метод позволяет решать задачи условной многопараметрической оптимизации для случая n << m. Он использует как необходимые, так и достаточные условия оптимальности для целевых функций, имеющих вид метрик. Показано, что если единственный минимум (максимум) метрики находится вне области допустимых значений, образованной ограничениями, тогда решение задачи будет находиться на границе области допустимых решений. Тогда задача может иметь несколько решений, которые будут соответствовать одинаковым минимальным (максимальным) значениям целевой функции, и все эти решения могут быть получены с помощью метода многомерных оболочек. Основой данного метода является построение области допустимых решений путем анализа ограничений произвольного вида и их аппроксимации кусочно-полиномиальными ограничениями или рациональными дробями, что позволяет свести исходную задачу к набору взаимосвязанных подзадач с линейными ограничениями, формирующими выпуклые многомерные оболочки, что существенно сужает область поиска. Практическая значимость: предложенный метод нелинейного программирования апробирован и найдет применение при решении задач условной оптимизации в областях физической метрологии, оптимальных систем управления и логико-интервальных систем. Данный алгоритм может быть улучшен путем разработки более эффективных алгоритмов для новых типов ограничений.

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

A Nonlinear Programming Method with Arbitrary Restrictions

Introduction: Modeling and identification of nonlinear and non-stationary systems, as well as the analysis and filtration of experimental data often require the use of optimization methods, in particular, nonlinear programming. These problems belong to the class of problems of multidimensional optimization with restrictions. Unfortunately, at the moment there are no efficient numerical methods to solve such problems for the case when the number of restrictions т exceeds manifold the number of the varied parameters n. Purpose: The goal is to develop new methods and algorithms for multiple-parameter optimization with restrictions. Results: A new nonlinear programming method is developed which is called "Multidimensional Patchwork Shell Method" (MPSM). It allows you to solve problems of conditional multiple-parameter optimization for the case of n << т. The method uses both necessary and sufficient optimality conditions for metric-like criterion functions. It has been shown that if the only minimum (maximum) of a metric is out of the area of admissible values formed by the restrictions, the solution of the problem will be found on the border of the area of admissible decisions. In this case, the problem can have several solutions which will correspond to identical minimum (maximum) values of the criterion function, and all these solutions can be obtained by MPSM. The basis of MPSM is creating an area of admissible decisions by analyzing restrictions of any type and approximating them with piecewise and polynomial restrictions or with rational fractions. This reduces the initial problem to a set of interconnected subtasks with the linear restrictions forming multidimensional shells, significantly narrowing the search area. Practical relevance: The proposed method of nonlinear programming has been tested. It will find application in conditional optimization in such fields as physical metrology, optimal control systems and logical-interval systems. This algorithm can be improved by developing more efficient algorithms for new types of restrictions.

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

ТЕОРЕТИЧЕСКАЯ И ПРИКЛАДНАЯ МАТЕМАТИКА /

УДК 681.5

М:10.15217/1з8п1684-8853.2016.2.2

ОБ ОДНОМ МЕТОДЕ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ С ПРОИЗВОЛЬНЫМИ ОГРАНИЧЕНИЯМИ

А. Ю. Кучмина, канд. техн. наук, ведущий научный сотрудник аИнститут проблем машиноведения РАН, Санкт-Петербург, РФ

Введение: при решении современных задач в областях моделирования и идентификации нелинейных и нестационарных систем, а также при анализе и фильтрации данных экспериментов все большее распространение получают методы оптимизации и, в частности, нелинейного программирования. Эти задачи относятся к классу задач многомерной оптимизации при ограничениях. К сожалению, в настоящий момент не существует эффективных численных методов для решения подобных задач в случае, когда число ограничений т многократно превосходит число варьируемых параметров п. Цель: разработать новые методы и алгоритмы для решения задач многопараметрической оптимизации при ограничениях. Результаты: разработан новый метод нелинейного программирования, который назван «метод многомерных оболочек». Этот метод позволяет решать задачи условной многопараметрической оптимизации для случая п << т. Он использует как необходимые, так и достаточные условия оптимальности для целевых функций, имеющих вид метрик. Показано, что если единственный минимум (максимум) метрики находится вне области допустимых значений, образованной ограничениями, тогда решение задачи будет находиться на границе области допустимых решений. Тогда задача может иметь несколько решений, которые будут соответствовать одинаковым минимальным (максимальным) значениям целевой функции, и все эти решения могут быть получены с помощью метода многомерных оболочек. Основой данного метода является построение области допустимых решений путем анализа ограничений произвольного вида и их аппроксимации кусочно-полиномиальными ограничениями или рациональными дробями, что позволяет свести исходную задачу к набору взаимосвязанных подзадач с линейными ограничениями, формирующими выпуклые многомерные оболочки, что существенно сужает область поиска. Практическая значимость: предложенный метод нелинейного программирования апробирован и найдет применение при решении задач условной оптимизации в областях физической метрологии, оптимальных систем управления и логико-интервальных систем. Данный алгоритм может быть улучшен путем разработки более эффективных алгоритмов для новых типов ограничений.

Ключевые слова — нелинейное программирование, многопараметрическая оптимизация.

Введение

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

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

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

Цель данной статьи — рассказать о новых идеях в области методов для решения задач условной оптимизации без перехода к задаче безусловной оптимизации, в частности, о разработанном новом методе многомерных оболочек (Multidimensional Patchwork Shell Method).

Постановка задачи условной оптимизации

В математической постановке задача минимизации (максимизации) формулируется в следующем виде:

J = min / max/ f (x) при

x

Axx = A2x< B2, C (x) = 0,

C2 (x)< 0, Lx (x) = 0, L2 (x)< 0, (1)

где J — критерий; x — вектор варьируемых переменных; f — целевая функция; A1, B1, A2, B2 — матрицы линейных ограничений, C1, C2 — гладкие матричные функции от соответствующих аргументов; L1, L2 — матричные функции с разрывами первого и второго рода от соответствующих аргументов.

Классический подход в решении задач условной оптимизации — это сведение ее к эквивалентной задаче безусловной оптимизации методом множителей Лагранжа [1] с дальнейшим применением разработанного инструментария

методов, например градиентного [2] или случайного [3] поисков.

Недостатки этого подхода заключаются в следующем.

1. Применение метода множителей Лагранжа корректно, если доказано существование седловой точки для модифицированной целевой функции.

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

3. Общее число p варьируемых переменных модифицированной целевой функции многократно увеличивается: p = n + тр + 2тн, где n — число переменных в задаче условной оптимизации; тр — количество ограничений типа равенство; тн — количество ограничений типа неравенство. При этом область допустимых решений изменяется от —¥ до +¥ по всем переменным.

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

5. Ограничения с разрывами не позволяют использовать градиентные методы поиска.

Данные недостатки могут быть продемонстрированы на простом примере: необходимо найти минимум целевой функции

, , 2 2 J = min|fj, f = ax + bx + c при ax + bx + c > d, (2)

x

где J — функционал; f — целевая функция; x — варьируемая переменная; a, b, c, d — постоянные коэффициенты.

Решим эту задачу, анализируя ограничения и целевую функцию. Найдем интервалы аргумента, которые соответствуют ограничению в (2) 2

ax + bx + c - d = 0;

-b + ^b2 - 4a (c - d)

2a

х1,2 ="

-ж < х < +ж, если Ь2 - 4а (с - d) < 0 и а > 0;

х 6 0, если Ь2 - 4а (с - d ) < 0 и а < 0; х < Х1, х > Х2, если Ь2 - 4а(с - d) > 0 и а > 0;

Х1 < х < Х2, если Ь2 - 4а(с - d) > 0 и а < 0, (3)

где х1 2 — корни уравнения.

Исследуем целевую функцию на монотонность для всех интервалов аргумента, полученных в (3).

1. Для случая Ь2 — 4а(с — d) < 0 и а > 0 целевая функция f монотонно убывает на интервале х < —Ь/2а, на интервале х > —Ь/2а функция монотонно возрастает. Отсюда следует, что f имеет глобальный минимум в точке х = —Ь/2а.

2. Для случая Ь2 — 4а(с — d) < 0 и а < 0 аргумент принадлежит пустому множеству, и задача не имеет решения.

3. Для случая а > 0 и Ь2 — 4а(с — d) > 0 целевая функция f монотонно убывает на интервале х < х1, на интервале х > х2 функция монотонно возрастает. Отсюда следует, что f имеет два минимума с одинаковым значением f в точках х1 и х2.

4. Для случая а < 0 и Ь2 — 4а(с — d) > 0 целевая функция f монотонно возрастает на интервале х1 < х < —Ь/2а, на интервале —Ь/2а < х < х2 функция монотонно убывает. Отсюда следует, что f имеет два минимума с одинаковым значением в точках х1 и х2.

Количество варьируемых переменных осталось неизменным, а область поиска была существенно сокращена для случаев 2, 3 и 4. В случае 1 было доказано, что ограничения можно не учитывать.

Для решения задачи (2) воспользуемся переходом от условной оптимизации к безусловной с применением метода множителей Лагранжа:

Ф = тт{^},

х,Х,Е

g

(x, X, Е) = f + x(-ax2 - bx - c + d + §2), (4)

где Ф — критерий безусловной оптимизации; X — множитель Лагранжа; Е — свободный параметр для учета неравенства.

Если доказано существование седловой точки для g, то справедлива следующая система уравнений:

— = 0 dx

* = 0 ^

дХ

^ = 0 дЕ,

2ax + b - X2ax -Xb = 0 -ax2 - bx - c + d + Е2 = 0

2XE = 0

X = 1

x1,2 =

Е = 0

-b + b2 - 4a(c - d)

2a

(5)

Полученное решение (5) не описывает случай 1, когда Ь2 — 4а(с — d) < 0 и а > 0. Численное решение данной задачи градиентными методами даст только одно значение аргумента, а в случае Ь2 — 4а(с — d) < 0 и а < 0 правильный ответ может быть получен только аналитически.

Количество варьируемых переменных увеличилось в 3 раза, область поиска равна Я3.

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

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

Уменьшение числа переменных путем анализа линейных ограничений типа равенство

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

Рассмотрим ограничения

Лхх = Вь (6)

где матрица A1 имеет размерности трхп; вектор x имеет размерность пх1, а B1 имеет размерности трх1. Здесь возможны три случая.

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

2. Если число линейно независимых уравнений равно п и найденное значение x0 = B1A14 не противоречит другим ограничениям, то x0 — это единственное решение задачи. Если x0 противоречит другим ограничениям, то задача не имеет решения.

3. Если число линейно независимых уравнений п1 меньше п, тогда необходимо определить базисные ограничения, а все линейно зависимые ограничения должны быть исключены. Полученная система уравнений позволяет определить линейную замену варьируемых переменных и сократить их число до п — п1.

Для случая 3 замена переменных может быть выполнена по рекуррентной формуле

п-п1 к-1

Чп-п1 +к = Ьк — X ак,121 - X ак,п-п1 + \гп-п1 + у,

;=1 у=1

(7)

где ак1 и Ьк — коэффициенты матриц A1z и Bl2 соответственно. Для переменных г1 с порядковым номером, большим чем п — п1, имеем

п-пг

Чп-п1 +1 = Ь - X а1,ь21;

1=1

п-п1

Чп-п1 +2 = Ь2 X а2,1г1 а2,п-п1 +1Чп-п1 +1 ;=1

п-п1

Ь2 - а2,п-п1 +1^1 - X |_а2,1 + а2,п-п1 +1а1,£ ] Ч; ;=1

И — п-у

п1+з = ^ - X аэ,гЧг - аз,п-п1

+1Чп-п, +1

1=1

а3,п-п1 +2Чп-п1 +2 = Ьз а3,п-п1 +2Ь2

-_<

-1 а3,п-п1 +1 + а3,п-п1 +2а2,п-п1 +1

п-п^

1=1

а3,1 + а3,п-п1+2а2,£ + +[а3,п-п1+1 + а3,п-п1+2а2,п-п1 +1 ]а1,г

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

Ч; И Т.Д.,

если в (6) матрица A1 методом Гаусса и перестановками столбцов приведена к нижней треугольной Al2 вида

Л^г = В1г, х = Тг,

1 0 ...0' 1 .0

Л1ч =

а-

1,1 ••• а1,п-п1 а2,1 ••• а2,п-п1 а2,п-п1 +1

ап1,1 ••• ап1,п-п1 ап1,п-п1 +1 ап1,п-п1 +2 ••• 1

(8)

где z — вектор x с измененным порядком следования компонентов; Bl2 — преобразованный вектор B1; T — матрица перестановок. Учесть ограничения (6) можно линейной заменой

х = ТЛ^-^ + ТР1,

(9)

где Л1 — матрица размерности п х (п — п1), коэффициенты которой находятся согласно (7); гп-п — новый вектор варьируемых переменных; Р1 — вектор размерности пх1, коэффициенты которого находятся согласно (7).

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

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

Л2Х < В2, (10)

где матрица A2 имеет размерности тнхп; вектор x имеет размерности пх1, а B2 имеет размерности тнх1.

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

1. Начало алгоритма, ввод исходных данных: матрица А2 и вектор В2.

2. Цикл: изменять индекс 1 от 1 до тн - 1 с шагом 1, пропустить номер из запретного списка:

выполнять от п. 3 до п. 12.

3. Переменной флаг1 присвоить 0.

4. Цикл: изменять индекс 3 от 1 + 1 до тн с шагом 1, пропустить номер из запретного списка:

выполнять от п. 5 до п. 12.

5. Если коэффициенты выбранных неравенств а1 1 ^ 0 и аз 1 ^ 0 или выбранные неравенства имеют нулевые коэффициенты от 1 до з - 1, то

рассчитать коэффициент к = а. ,/а.

к = а1,з/аз,з'

иначе перейти в п. 4.

1,1' 3,1

6. Если для всех р от 1 до п хотя бы одно из

а1р - ^,рк * то перейти в п. 4.

7. Если Ь1 - Ь^к = 0, то

исключить ограничение j,

заменить ограничение 1 на а11х1 + а12х2 +

+ - + а1,пхп = Ь1'

добавить в список исключенных ограничений индекс j,

добавить в запретный список индекс j, переменной флаг1 присвоить 1, перейти в п. 4.

8. Если переменная флаг1 равна 1 и Ь1 - Ьjk * 0, то

противоречие в ограничениях, задача не имеет решения,

добавить в список несовместных ограничений индексы 1 и j, перейти в п. 13.

9. Если к > 0 и Ь1 - Ьjk > 0, то

исключить ограничение j, добавить в список исключенных ограничений индекс j,

добавить в запретный список индекс j, перейти в п. 4, не изменяя значеня j.

10. Если к > 0 и Ь1 - Ьjk < 0, то

заменить ограничение 1 на j, добавить в список исключенных ограничений индекс 1,

добавить в запретный список индекс j, перейти в п. 4.

11. Если к < 0 и Ь1 - Ьjk > 0, то параллельные ограничения,

добавить в список параллельных ограничений индексы 1 и j, перейти в п. 4.

12. Если к < 0 и Ь1 - Ьjk < 0, то противоречие в ограничениях, задача не имеет решения,

добавить в список несовместных ограничений индексы 1 и j, перейти в п. 13.

13. Окончание алгоритма, выходные данные:

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

а2Х < в2. (11)

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

Введем следующие определения и допущение.

1. Каждое ограничение типа неравенство из (11) имеет граничную плоскость, которая определяется уравнением аЬ1х1 + аЬ 2х2 + ... + аЬ пхп — ЬЬ = 0.

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

ка должна удовлетворять всем ограничениям из (11); узел будем обозначать как где Ь, ],

..., в — код узла, состоящий из п индексов и формируемый номерами ограничений в (11); У^ в — вектор координат узла с размерностью пх1; индексы упорядочиваются таким образом, чтобы Ь < ] < ... < в.

3. Ребром будем называть отрезок, соединяющий два узла с числом общих индексов, равным двум; ребро будем обозначать как

где верхний и нижний индексы — коды узлов, которые соединяет ребро.

4. Гранью будем называть область граничной плоскости, которой принадлежат все узлы, для которых один из индексов кодов Ь является общим, и эта область сформирована ребрами, соединяющими эти узлы; грань будем обозначать как РЬ, где Ь — это номер соответствующего ограничения из (11).

5. Все варьируемые переменные х изменяются в соответствующих интервалах хш1п Ь < хЬ < хтах Ь, что обусловливает реализуемость решения задачи; тогда следует, что система не имеет решения, когда нет ни одного узла; в случае одного узла система имеет единственное решение, если оно не противоречит ограничениям в (1); если есть два узла, то область кандидатов в решение — это ребро; если три узла, то область кандидатов в решение — это грань и т. д.

Центральным вопросом определения области кандидатов в решение является отыскание узлов для системы (11), что может быть выполнено по алгоритму 2.

1. Начало алгоритма, ввод исходных данных:

т. * т^*

матрица А2 и вектор В2.

2. Цикл: пока не выбраны все возможные последовательности из п неповторяющихся индексов 1 < j < - < з такие, что не могут включаться индексы двух взаимно параллельных граничных плоскостей одновременно,

выполнять от п. 2 до п. 6.

3. Из выбранных различных п граничных плоскостей с индексами 1 < j < - < з

сформировать систему уравнений А1 j. зх =

= Ви.....з-

4. Если аеил^. з) = 0, то

перейти в п. 1.

5. Вычислить V

<А1^.....з)-1В1^.....з-

6. Если ограничения (11) от ¥1 j. з выполняются. то

добавить V, j з в список узлов, перейти в п. 2.

7. Если список узлов пустой, тс

задача не имеет решения.

8. Если число узлов равно 1, то

задача имеет единственное решение.

9. Окончание алгоритма, выходные данные:

список узлов.

задача имеет / не имеет решения.

Если найдены узлы для (11), то исходя из определений 3 и 4 простыми средствами могут быть построены все ребра и грани, образующие область кандидатов в решения.

Анализ полиномиальных ограничений

Другой широко распространенный вид ограничений — это полиномиальные уравнения. Разработано много методов и алгоритмов для их решения [6-8]. Следует отметить, что полиномиальные аппроксимации могут быть использованы для описания с некоторой точностью более сложных нелинейных ограничений в выбранной области аргументов. Это позволяет сводить для некоторых областей значений аргумента задачу условной оптимизации с произвольными нелинейными ограничениями к задачам условной оптимизации с полиномиальными ограничениями при заданной точности решения.

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

ф(х1, х2, •••, хп ) =

= ПГХ а1,;ы1 х1 + Кч

(

П

\

V ¡1

X а2,12,2 х1 +ХХ а3,г2 ,¡3 ,>х>х> +

¡2 ¡3 ¡4

+X а4Ц x¡e + ь2,

V ¡5 У

'¿2

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

(12)

где а1Ц Ь1,к, а2Ц, а3,i2,¡з,¡4, а4Ц, Ь2Л2 — коэффициенты разложения на множители.

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

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

Рассмотрим случай систем ограничений, приводимых к треугольному виду:

^ +Ф1 (( и2, •••, ик ) = 0

ит +ф2 ( , Vз , •••, ^ ) = 0

икк +Фк ^к ) = 0

V = ТуХ + Ву, V = [vl, V2, ,

пТ

, к < п, (13)

где т1, т2, ..., тк — степени соответствующих переменных; к — количество уравнений; ф^ — полиномы от переменных vi, ..., ик, причем показатели при переменной в многочлене ф^ меньше, чем т; Tv, Bv — матрицы параметров.

В последнее уравнение в (13) входит только ик, и существуют эффективные алгоритмы нахождения корней полинома одной переменной [8]. Рассматриваются только вещественные корни полинома уравнения к, которые могут быть подставлены в уравнение к - 1, которое после замены станет зависеть от переменной vk_1, и его корни могут быть найдены аналогично уравнению к и т. д. Если все корни хотя бы одного из уравнений в (13) комплексные, то задача (1) не имеет решения. Множество вещественных корней системы (13) формирует наборы линейных ограничений вида

Т„х + В„ =Л

(14)

где Л^ — ¿-й набор вещественных корней системы

(13), и разделяет исходную задачу на несколько параллельно решаемых подзадач. Ограничения

(14) анализируются аналогично (6).

Для ограничений типа неравенство рассмотрим случай

а^™1 + ф; (V;) < 0, ; = 1,2, •••, к,

V = ^х + Bv,V = _Vl, V2,•••, Vk ]Т, (15)

где количество неравенств может быть больше количества переменных, а каждый полином ф^ зависит только от одной переменной vi. Найдя корни полинома, представим (15) как произведение слагаемых только с вещественными корнями Ху

(16)

а; П( —Хi )

Из (16) находятся интервалы для vi, которые преобразуются в набор систем линейных неравенств от x, и необходимо рассмотреть все возможные комбинации этих систем для всех неравенств из (15) и решить их с использованием алгоритмов из предыдущего раздела.

Анализ ограничений с разрывами

Часто встречающийся на практике тип ограничений — это ограничения с разрывами. К ним относятся ограничения в виде кусочно-линейных функций, дробей, полиномов (например, гипербола) и т. д. Наиболее удобным способом представления таких ограничений является описание в виде систем равенств или неравенств, заданных на интервалах, границами которых являются особые точки, например переход с одной ветви

2

функции на другую. Применим данный подход для дроби а

<0, (17)

ПП(-X;)

; 1

где вещественные корни для каждой переменной иЬ упорядочены согласно правилу Х1 < Х2 < < ... < Хр, тогда (17) можно представить как системы неравенств, соответствующие интервалам X. Для случая (17) при а < 0 необходимо, чтобы выполнялись условия - X > 0 для всех компонент или количество условий VЬ -Х- < 0 было четным для выбранных интервалов vi. Анализ систем неравенств выполняется аналогично (6)-(9) и алгоритмам 1 и 2 при условии, что х, удовлетворяющие уравнениям vi - Х- = 0, не могут быть решениями. Если узел, ребро или грань удовлетворяет этим условиям, то в качестве кандидата в решения необходимо выбрать точку, линию или плоскость, лежащую в области кандидатов в решение и отстоящую на точность расчета е.

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

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

Анализ произвольных ограничений

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

При синтезе оптимальных систем управления в качестве ограничений используются уравнения объекта управления, компонентами которых являются экспоненциальные функции. Подобный пример подробно описан в работе [10], а ограничения имеют вид

0~Ь1х1

-х1х;

- а2,;х; + аз,; = 0; (18)

а:е Ь'х' - хе хх = 0;

„-Ь;х>

;•*-; _ а ; 1

а1,1

< с,

(19)

(20)

г2,1

где ЬЬ, а1 Ь, а2 Ь, а3 Ь, а, Ь, а1, а2 , сЬ — постоянные коэффициенты, Ь *

Нетрудно заметить в (18), что переменные хЬ могут быть выражены через х1, для этого введем замену уЬ = х1хЬ, тогда (18) примет вид

е"Ь;х1

-VI

= -Р-1У1 + о;, (х1 ) =

а3,1

о; =-.

а1,;

а2,; - е

а1,;х1

(21)

Уравнение (21) имеет два одинаковых реше-

ния в случае

де~У;

дVI

д(-Ц;У; + о;)

дV;

= -Ц;,

(22)

что позволяет уточнить нижнюю границу для V; =-1п Ц;, Ц; = Ц; 1п Ц; + °; , = Ц; -Ц; 1п Ц; . (23) Учтем (23) в уравнении (21):

е~У; =-Ц;У; + о;, Ц; >0, Ц;-Ц; 1пЦ;-о; <0" (24)

Перегруппировав (24):--=

Ц;

о;

дя замену = —, получим

Ц;

о; 1--

х1еХ; =--е Ц;.

Ц;

V;

о,

Л

Ц;

еУ;, и вве-

(25)

Решением (25) является функция Ламберта у 1:

(

; = Г-1

т. А

V Ц; у

(

о; а; -1 V; = — + 2 = — + у Ц; Ц;

1

V Ц;'

(26)

Тогда переменные хЬ находятся из соотношения

( о-, А

; Ц; (х1 )х1 х1

+± у-1

Ц; (х1)

Ц; (х1)

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

= ё;(х1 )

Ц;(х1 )> 0, Ц;(х1 )-Ц;(х1 )1пЦ;(х1)-°; <0" (27)

Нетрудно заметить, что переменные х- могут быть выражены через g(x1) с использованием ограничений (19):

а1 = е((-ё; (х1 )) ; (х1)

^ х: =

1п

Г а; А

1 Ь1 - ё; (х1) [ ё; (х1)

= 1Ч(Х1), (28)

; (х1)

> 0.

-е~У; =

а

х

Тогда с учетом (28) ограничения (20) будут зависеть только от х1 и примут вид

в~Ь;ё;(х1) - в~ё;(х1 К(х1)

а\,} к (х1)

< с; •

(29)

"а2,/

Если учесть выражения (21)-(29), то ограничения (18)-(20) сводятся к эквивалентной системе ограничений от переменной х1:

Ц; (х1 )> 0, Ц; (х1 )-Ц; (х1 )1П Ц; (х1 ) - СТ; < 0, х1 * 0, gi (х1 )* 0, Ь - (х1 )* 0,

0~Ь1ё;(х1) - -gi(х1 К(х1)

а\,} г; (х1)

< с

' a2,¡

(х1)

> 0^ (30)

Нелинейные функции в (30) могут быть аппроксимированы с помощью кусочно-полиномиальной модели от одной переменной х1 и проанализированы, как это рассмотрено выше.

Анализ целевой функции

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

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

2. Если область допустимых решений — это пустое множество, тогда поставленная задача не имеет решения.

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

Обычно целевая функция имеет простой вид и ее оптимумы известны, поэтому проверка вариантов 1 и 2 не вызывает трудностей. Для про-

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

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

Если определена функция р такая, что р = д(х), и существуют такие точки х(;), в которых р(х(;)) имеют одинаковые значения, то должны выполняться следующие условия.

Если ищется минимум функции f и эта функция имеет максимум в точке, где р = р0, то

/(ре) = mаx, /(ре)>/(р1 )>••• >/(рп),

Р0 <р1 < ••• <рп; (31а)

если ищется максимум функции f и эта функция имеет минимум в точке, где р = р0, то

/ (р0 ) = Мп / (р0 )< / (р1 )< ••• < / (рп),

р0 >р1 > ••• >рп- (31б)

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

Если ищется минимум функции f и эта функция имеет минимум в точке, где р = р0, то

/ (р0 ) = min, / (р0 )< / (р1 )< ••• < / (рп )

р0 <р1 < ••• <рп; (32а)

если ищется максимум функции f и эта функция имеет максимум в точке, где р = р0, то

/ (р0 ) = max, / (р0 )> / (р1 )> ••• > / (рп )

р0 >р1 > ••• > рп (32б)

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

Алгоритм оптимизации

Укрупненно алгоритм оптимизации может быть описан следующим образом.

1. Начало алгоритма, ввод данных об ограничениях и целевой функции.

2. Если выделены линейные равенства, то

выполнить анализ линейных неравенств согласно (6)-(9).

3. Если не найдены противоречия в ограничениях в п. 2 и выделены линейные неравенства, то

выполнить анализ линейных неравенств согласно алгоритмам 1 и 2.

4. Если не найдены противоречия в ограничениях в п. 3 и выделены полиномиальные ограничения. то

выполнить анализ полиномиальных ограничений согласно (12)-(16).

5. Если не найдены противоречия в ограничениях в п. 4 и выделены ограничения с разрывами, то

выполнить анализ полиномиальных ограничений согласно разделу «Анализ ограничений с разрывами».

6. Если не найдены противоречия в ограничениях в п. 5 и выделены произвольные ограничения. то

выполнить анализ ограничений согласно разделу «Анализ произвольных ограничений».

7. Если найдены противоречия в ограничениях. то

задача не имеет решения. перейти в п. 12.

8. Найти все узлы области допустимых решений.

9. Вычислить значения целевой функции в узлах — найти ее максимальные/минимальные значения.

10. Если целевая функция удовлетворяет условиям (31а) и (31б). то

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

11. Если целевая функция удовлетворяет условиям (32а) и (32б). то

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

выбрать точки с максимальным/минимальным значением целевой функции.

12. Окончание алгоритма, выходные данные:

список решений.

задача имеет / не имеет решения.

Заключение

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

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

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

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

Литература

1. Tabak D., Kuo B. C. Optimal Control by Mathematical Programming. — Englewood Cliffs, New Jersey: Prentice-Hall, 1971. — 280 p.

2. Zangwill W. I. Nonlinear Programming. A Unified Approach. — Englewood Cliffs, New Jersey: Prentice-Hall, 1969. — 312 p.

3. Растригин Л. А. Случайный поиск в задачах оптимизации многопараметрических систем. — Рига: Зинатне, 1965. — 212 с.

4. Motzkin T., Raiffa H., Thompson G., Thrall R. M. The Double Description Method // Contributions to the Theory of Games. — Princeton: Princeton University Press, 1953. — P. 51-73.

5. Шевченко В. Н., Груздев Д. В. Модификация алгоритма Фурье — Моцкина для построения триангуляции // Дискретный анализ и исследование операций. 2003. Т. 10. № 1. C. 53-64.

6. Computer Algebra: Symbolic and Algebraic Computation / Ed. by B. Buchberger, G. Collins, R. Loos. — N. Y.: Springer-Verlag Wien, 1983. — 291 p.

7. Davenport J., Siret Y., Tournier E. Computer Algebra: Systems and Algorithms for Agebraic Computation. — London, Academic Press, 1993. — 313 p.

8. Cox D., Little J., O'Shea D. Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra. — Springer, 2006. — 551 p.

9. Дубаренко В. В. Принципы логического управления динамическими объектами// Информационно-управляющие системы. 2003. № 5(6). С. 2-11.

10. Артеменко Ю. Н., Агапов В. А., Дубаренко В. В., Кучмин А. Ю. Групповое управление актуаторами контррефлектора радиотелескопа//Информацион-но-управляющие системы. 2012. № 4(59). С. 2-9.

UDC 681.5

doi:10.15217/issn1684-8853.2016.2.2

A Nonlinear Programming Method with Arbitrary Restrictions

Kuchmin A. Yu.a, PhD, Tech., Senior Researcher, [email protected]

aInstitute of Problems of Mechanical Engineering of RAS, 61, Bol'shoi Pr. V. O., 199178, Saint-Petersburg, Russian Federation

Introduction: Modeling and identification of nonlinear and non-stationary systems, as well as the analysis and filtration of experimental data often require the use of optimization methods, in particular, nonlinear programming. These problems belong to the class of problems of multidimensional optimization with restrictions. Unfortunately, at the moment there are no efficient numerical methods to solve such problems for the case when the number of restrictions m exceeds manifold the number of the varied parameters n. Purpose: The goal is to develop new methods and algorithms for multiple-parameter optimization with restrictions. Results: A new nonlinear programming method is developed which is called "Multidimensional Patchwork Shell Method" (MPSM). It allows you to solve problems of conditional multiple-parameter optimization for the case of n << m. The method uses both necessary and sufficient optimality conditions for metric-like criterion functions. It has been shown that if the only minimum (maximum) of a metric is out of the area of admissible values formed by the restrictions, the solution of the problem will be found on the border of the area of admissible decisions. In this case, the problem can have several solutions which will correspond to identical minimum (maximum) values of the criterion function, and all these solutions can be obtained by MPSM. The basis of MPSM is creating an area of admissible decisions by analyzing restrictions of any type and approximating them with piecewise and polynomial restrictions or with rational fractions. This reduces the initial problem to a set of interconnected subtasks with the linear restrictions forming multidimensional shells, significantly narrowing the search area. Practical relevance: The proposed method of nonlinear programming has been tested. It will find application in conditional optimization in such fields as physical metrology, optimal control systems and logical-interval systems. This algorithm can be improved by developing more efficient algorithms for new types of restrictions. Keywords — Nonlinear Programming, Multiple-Parameter Optimization.

References

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

1. Tabak D., Kuo B. C. Optimal Control by Mathematical Programming. Englewood Cliffs, New Jersey, Prentice-Hall, 1971. 280 p.

2. Zangwill W. I. Nonlinear Programming. A Unified Approach. Englewood Cliffs, New Jersey, Prentice-Hall, 1969. 312 p.

3. Rastrigin L. A. Sluchainyi poisk v zadachakh optimizatsii mnogoparametricheskikh sistem [Random Search in Problems of Optimization of Multiple Parameter Systems]. Riga, Zinatne Publ., 1965. 212 p. (In Russian).

4. Motzkin T., Raiffa H., Thompson G., Thrall R. M. The Double Description Method. In: Contributions to the Theory of Games. Princeton, Princeton University Press, 1953. Pp. 51-73.

5. Shevchenko V. N., Gruzdev D. V. Modification of Algorithm of Fourier — Motzkin for Creation of a Triangulation. Dis-kretnyi analiz i issledovanie operatsii, 2003, vol. 10, no. 1, pp. 53-64 (In Russian).

6. Computer Algebra: Symbolic and Algebraic Computation. Ed. by B. Buchberger, G. Collins, R. Loos. New York, SpringerVerlag Wien, 1983. 291 p.

7. Davenport J., Siret Y., Tournier E. Computer Algebra: Systems and Algorithms for Agebraic Computation. London, Academic Press, 1993. 313 p.

8. Cox D., Little J., O'Shea D. Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra. Springer, 2006. 551 p.

9. Dubarenko V. V. Principles of Logic Automatic Control by Dynamic Objects. Informatsionno-upravliaiushchie sistemy [Information and Control Systems], 2003, no. 5(6), pp. 2-11 (In Russian).

10. Artemenko Yu. N., Agapov V. A., Dubarenko V. V., Kuchmin A. Yu. Co-operative Control of Subdish Actuators of Radio-Telescope. Informatsionno-upravliaiushchie sistemy [Information and Control Systems], 2012, no. 4(59), pp. 2-9 (In Russian).

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