Лекция 13: Решение задач нелинейного программирования с ограничениями. Геометрическая интерпретация задач нелинейного программирования
В области нелинейного программирования с ограничениями ( условная оптимизация ) методы решения задач менее разработаны по сравнению с областью нелинейного программирования без ограничений (безусловная оптимизация). Здесь встречаются большие трудности по той же причине, что искомое решение должно подчиняться дополнительным требованиям, выраженных в виде ограничений.
1. Метод штрафных функций
Имеются несколько подходов при разработке методов решения задач нелинейного программирования с ограничениями. Для учета ограничений большое распространение получил метод штрафных функций.
Основная идея метода штрафной функции состоит в преобразовании задачи минимизации функции
z=f(x)
с соответствующими ограничениями, наложенными на x, в задачу поиска минимума без ограничений функции
Z=f(x)+P(x).
Функция Р(х) является штрафной. Необходимо, чтобы при нарушении ограничений она "штрафовала" функцию Z, т.е. увеличивала ее значение. В этом случае минимум Z будет находиться внутри области ограничений. Функция Р(х), удовлетворяющая этому условию, может быть не единственной. Задачу минимизации можно сформулировать следующим образом:
( 1.1) |
( 1.2) |
Замечание. Ограничение вида "меньше или равно", , всегда может быть записано как , поэтому в приведенной выше формулировке нет потери общности.
Функцию Р(х) удобно записать следующим образом:
( 1.3) |
( 1.4) |
Если x принимает допустимые значения, т.е. значения, для которых , то Z принимает значения, которые больше соответствующих значений f(х) (истинной целевой функции данной задачи), и разность можно уменьшить за счет того, что r может быть очень малой величиной. Но если x принимает значения, которые хотя и являются допустимыми, но близки к границе области ограничений, и по крайней мере одна из функций cj(x) близка к нулю, тогда значения функции Р(х) и, следовательно, значения функции Z станут очень велики. Таким образом, влияние функции Р(х) состоит в создании "гребня с крутыми краями" вдоль каждой границы области ограничений. Следовательно, если поиск начинается из допустимой точки и осуществляется поиск минимума функции без ограничений, то минимум, конечно, будет достигаться внутри допустимой области для задачи с ограничениями. Полагая r достаточно малой величиной, для того чтобы влияние Р(х) было малым в точке минимума, мы можем сделать точку минимума функции без ограничений совпадающей с точкой минимума функции f(х) с ограничениями.
В общем случае невозможно аналитически определить положение минимума функции , рассматривая ее как обычную функцию от r. Для его определения необходимо обратиться к численным методам.
Следует отметить, что если целевая функция f(х) выпукла, а функция сj(х) вогнута, то функция , заданная уравнением (1.4), также является выпуклой функцией в области ограничений, которая сама является выпуклой. Следовательно, имеет для данного значения r единственный минимум.
Если x1 и x2 - точки, принадлежащие допустимой области, т.е. и для j = 1,2,...,m, то при справедливо неравенство
так как функция сj(х) выпукла. Следовательно, допустимая область является выпуклой.Таким образом, точка при также является допустимой. Кроме того, функция 1/сj(х) является выпуклой для всех x, которые удовлетворяют неравенству . Если h(х) = 1/сj(х), то
где есть гессиан функции сj(х). Тогда, если p - произвольный вектор, то справедливо равенствогде всегда рTН(х)р > 0, так как С(х) - отрицательно определенная матрица ввиду того, что сj(х) - выпуклая функция и . Тогда матрица Н(х) положительно определена и 1/сj(х) выпукла во вcей области. Eсли r > 0, то функция Р(х), заданная уравнением (1.3), и функция , заданная уравнением (1.4), также выпуклы.
Предположим, что - минимальные точки функции для убывающей последовательности значений r1, r2, ..., rk, ..., стремящейся к нулю. Тогда последовательность точек , сходится к оптимальному решению задачи с ограничениями (см. уравнения (1.1) и (1.2)) при . Следовательно,
( 1.5) |
( 1.6) |
Полученный результат можно доказать следующим образом. Поскольку f(х) непрерывная функция и для всех допустимых точек, то, задав произвольное достаточно малое значение , можно найти допустимую точку х', такую, что
( 1.7) |
Поскольку rk - убывающая последовательность, стремящаяся к нулю, можно найти такое значение K, что для справедливо неравенство
( 1.8) |
Поскольку P(x) > 0 из определения функции , имеем
( 1.9) |
( 1.10) |
Это следует из того, что, поскольку минимизирует функцию в любой другой точке области x, в частности в точке , функция будет принимать значение, большее чем . Поэтому
поскольку rk<rK.Следовательно,
Тогда
( 1.11) |
Но так как значение минимизирует функцию , то
( 1.12) |
Следовательно, из уравнений (1.11) и (1.12) получим
( 1.13) |
Из уравнения (1.8) следует, что
( 1.14) |
Тогда из уравнения (1.7) следует, что
и( 1.15) |
Поскольку может быть выбрано произвольно малым, всегда можно найти такое значение k, при котором
Таким образом, при
( 1.16) |
Из приведенного выше доказательства следует, что при
( 1.17) |
В качестве упражнения оставлено доказательство того, что образуют убывающую последовательность, такую, что
( 1.18) |
Очевидно, что если функция f(х) выпукла, а функция cj(х) при j = 1,...,n вогнута, то функция f(х) при наличии ограничении имеет единственный минимум.