Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТВ. ГОЛЬДШТЕЙН А.Л. ТПР.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
1.67 Mб
Скачать

Условия оптимальности

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

(2)

Обобщенный метод множителей Лагранжа применим и к условиям-неравенствам. Запишем функцию Лагранжа (регулярную) для задачи (2)

.(3)

В теории НП показано, что эта функция имеет седловую точку (X*,*) c максимумом по X и минимумом по : F(X, *)  F(X*, *)  F(X*, ). (4)

Поэтому задача (2) сводится к отысканию седловой точки функции (3).

Теорема

Пусть f, i и k – дифференцируемые функции и справедливо свойство Слейтера (то есть найдутся такие ХD, что неравенства i будут строгими). F(X, ) – соответствующая функция Лагранжа. Тогда для того чтобы вектор Х* являлся решением общей задачи максимизации (2) необходимо выполнение условий

1) по X:

Xj*  0;

2) по :

Приведенные условия оптимальности называются условиями Куна-Таккера. По существу они являются обобщением классических условий экстремума, определяющих стационарные точки. Условие (5) содержит неравенство, так как неотрицательность вектора X означает, что максимум может быть либо при положительном X и тогда производная F по X обязательно равна нулю (случай 1 на рис), либо при X=0 и тогда эта производная может быть как равной нулю, так и отрицательной (случаи 2 и 3 на рис). Этим же объясняются условия дополняющей нежесткости (6): в точке максимума равны нулю либо X, либо производная, либо вместе.

Выражения (7)-(9) можно обосновать аналогично, если учесть, что по  рассматривается минимум F и

.

Применив условия Куна-Таккера к задаче ЛП, получим равенства второй основной теоремы двойственности как частный случай условий дополняющей нежесткости, а двойственные переменные – как частный случай .

Особую роль условия Куна-Таккера играют в решении задач выпуклого программирования, так как для них они являются не только необходимыми, но и достаточными.

Методы решения задач нп

1)Методы одномерной оптимизации:

- метод деления шага пополам;

- метод квадратичной аппроксимации;

- метод деления интервала пополам;

- метод золотого сечения;

- метод Фибоначчи;

2)Методы первого порядка (вычисление первой производной):

- метод средней точки;

3)Методы второго порядка (вычисление второй производной):

- метод Ньютона – Рафсона;

4)Многомерный поиск безусловного экстремума:

- метод покоординатного спуска;

- метод Хука – Дживса;

- симплексный метод (не путать! с симплекс-методом);

- градиентный метод;

- метод наискорейшего спуска;

- метод Ньютона;

- метод сопряженных направлений;

- методы случайного поиска;

5)Методы условной оптимизации:

- метод проектирования градиента;

- метод штрафных функций;

- метод барьерных функций.

Подробно про эти методы написано в 20 вопросе.

14. Задачи нелинейного программирования, сводящиеся к линейным. Квадратичное программирование

Задачи квадратичного программирования (КП) имеют место, если целевая функция – сумма линейной и квадратичной форм, а все условия линейные. Например, в задаче с двумя переменными целевая квадратичная функция записывается следующим образом:

f(x1, x2) = d1x1 + d2x2 + ½(C11x12 + C12x1x2 + C21x1x2 + C22x22) .

линейная форма квадратичная форма

В целом задача квадратичного программирования ставится в виде:

(10) ;(11) .(12)

Матрица С – квадратная, диагонально-симметричная (Cij=Cji).

Чтобы она являлась задачей выпуклого программирования, целевая функция (10) должна быть вогнутой. Свойства функции определяются матрицей С. Для вогнутости функции необходимо, чтобы матрица С была отрицательно определенной (строгая вогнутость) или отрицательно полуопределенной. Матрица С отрицательно определенная, если для всех ненулевых X справедливо ХTСХ< 0, и отрицательно полуопределенная, если ХTСХ  0. В случае минимизации целевая функция должна быть выпуклой, что имеет место при положительно определенной или положительно полуопределенной матрице С. Будем полагать, что условия вогнутости функции выполняются. Тогда решение задачи КП можно найти на основе следующей теоремы.

Теорема Для того чтобы вектор Х* являлся решением задачи (10)-(12), необходимо и достаточно существования таких неотрицательных m-мерных векторов W и  и неотрицательного n-мерного вектора V, которые удовлетворяют следующей системе уравнений:

D + CX*-AT + V = 0,(13)B - AX* - W = 0,(14)VTX* = 0,(15) WT = 0.(16)

Решение задачи КП нужно только среди опорных планов этой системы. Такие решения находятся методами линейного программирования. Опорный план системы (13), (14), удовлетво­ряющий условиям (15), (16), будет оптимальным решением задачи КП.

Перепишем уравнения (13), (14) в обычном виде:

(17)

Если вектор D – неположительный, а вектор B – неотрицательный, то начальное базисное решение V=-D, W=B удовлетворяет условиям (15), (16) и, значит, является оптимальным решением задачи КП. Однако вектор D имеет положительные компоненты и такое начальное решение оказывается недопустимым. В этом случае, ориентируясь на использование прямого симплекс-метода, строится искусственное начальное решение: в уравнения (17) с отрицательной правой частью вводятся искусственные переменные yk и они вместе с неотрицательными vj и wi образуют базисное решение. В качестве критерия линейной задачи принимается сумма искусственных переменных: Lиск = yk  min.

Для выполнения условий дополняющей нежесткости (15)-(16) алгоритм симплекс-метода дополняется правилом ограниченного ввода:

- если в базисном решении имеется vj, то не может вводиться xj (с тем же индексом) и наоборот;

- если в базисном решении имеется wi, то не может вводиться i (с тем же индексом) и наоборот.

Признаком выполнения условий теоремы (13)-(16) и, следовательно, оптимальности решения задачи КП является равенство нулю всех искусственных переменных или Lиск=0.

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

Для задач КП экстремум может находиться в любой точке.