МОДУЛЬ 7. МЕТОДЫ И МОДЕЛИ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

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

 

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

(7.1)

при условии, что ее переменные удовлетворяют соотношениям

, (7.2)

где f и gi – некоторые неизвестные функции n переменных, а bi – заданные числа, а знак ( ) означает, что при различных i ограничения (7.2) могут выражаться со знаком или , или уравнениями. Здесь имеется в виду, что в результате решения задачи будет определена точка , координаты которой удовлетворяют соотношениям (7.2) и такая, что для всякой другой точки , удовлетворяющей условиям (7.2), выполняется в задаче на максимум (минимум) неравенство

Если f и gi – линейные функции, то задача является задачей линейного программирования.

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

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

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

Процесс нахождения решения задачи нелинейного программирования (7.1)-(7.2) с использованием ее геометрической интерпретации включает следующие этапы:

1. Находят область допустимых решений задачи, определяемую соотношениями (7.2) (если она пуста, то задача не имеет решения).

2. Строят гиперповерхность .

3. Определяют гиперповерхность наивысшего (наинизшего) уровня или устанавливают неразрешимость задачи из-за неограниченности функции (7.1) сверху (снизу) на множестве допустимых решений.

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

Пример:

Найти максимальное и минимальное значение функции

(7.3)

при условиях

(7.4)

x1≥0, x2 ≥ 0

Решение: Областью допустимых решений исходной задачи является многоугольник ABCDE (рис. 7.1), а линиями уровня – окружности с центром F(4, 3) и радиусом .

 

 

Рис.7.1 Геометрическая иллюстрация

 

Из рисунка. 7.1 видно, что целевая функция принимает минимальное значение в точке F(4, 3), а максимальное значение – в точке С (13, 21/2). Следовательно, Fmin=0 , Fmax=137,25.

 

 

7.2. Метод множителей Лагранжа

 

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

; (7.5)

(7.6)

В курсе математического анализа задачу (7.5) – (7.6) называют задачей на условный экстремум или классической задачей оптимизации.

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

(7.7)

Находят частные производные и и рассматривают систему n+m уравнений

(7.8)

с n+m неизвестными . Всякое решение системы уравнений (7.8) определяет точку , в которой может иметь место экстремум функции . Следовательно, решив систему уравнений (7.8), получают все точки, в которых функция (7.5) может иметь экстремальные значения. Дальнейшее исследование найденных точек проводят так же, как и в случае безусловного экстремума.

Таким образом, определение экстремальных точек задачи(7.5) – (7.6) методом множителей Лагранжа включает следующие этапы:

1. Составляют функцию Лагранжа.

2. Находят частные производные от функции Лагранжа по переменным xj и λi и приравнивают их к нулю.

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

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

Градиентные методы

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

Функция называется целевой функцией или функцией цели.

Если функция дифференцируема в точке , то градиентом в точке называется n-мерный вектор

.

Градиент в каждой точке , в которой он существует, направлен по нормали к линии уровня поверхности и показывает направление наискорейшего возрастания функции в данной точке (рис 7.2)

Рис. 7.2. Свойства вектора градиента

 

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

Вектор «- », противоположный градиенту, называется антиградиентом и указывает направление наискорейшего убывания функции .

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