Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть2.doc
Скачиваний:
10
Добавлен:
10.11.2019
Размер:
441.34 Кб
Скачать

2.5. Задача квадратичного программирования

Математическая постановка задачи квадратичного программирования имеет вид

Ax ≤ b

x 0

где Н – матрица размерности (пхп), А – матрица размерности (mxn), x и d - (nx1)- векторы, b - (mx1)вектор. Целевая функция этой задачи имеет квадратичную форму, а ограничения, как и в задаче линейного программирования, линейны. Обычно предполагается, что при минимизации целевой функции матрица Н является положительно определенной, то есть имеет место хТНх , х Еп, х 0, а в случае максимизации – отрицательно определенной, то есть хТНх , х Еп, х 0. В первом случае целевая функция выпукла, а во втором случае она вогнута. Эти условия обеспечивают существование и единственность решения, если только значение целевой функции конечно на множестве допустимых решений, заданном ограничениями Ax ≤ b, x 0. Для определенности рассмотрим задачу на минимум. Функция Лагранжа для такой задачи записывается в виде

,

следовательно, необходимые и достаточные условия оптимальности решения х* примут вид

Заметим, что в первой строке этого выражения величина d + Hx* представляет собой производную целевой функции по вектору х в точке х*.

Рассмотрим численный пример. Пусть решается задача

f(x) = 3x12 + 4x1x2+5x22 → min,

x1+x2 ≥ 4

x1, x2 ≥ 0

в которой всего одно ограничение q1 (x) = -x1 - x2 + 4 ≤ 0, а линейная часть целевой функции отсутствует, т.е. вектор d равен нулю. Поэтому функция Лагранжа будет равна L(x, ) = f(x) + T(Ax + b) = 3x12 +4x1x2 +5x22 + (-x1 – x2 +4), а условия оптимальности примут вид

L(x*, )/х1 = 6х1 + 4х2 - 0;

х1*L(x*, )/х1 = 0;

L(x*, )/х2 = 4х1 + 10х2 - 0;

х2*L(x*, )/х2 = 0;

L(x*, )/ = - х1 – х2 + 4 ≤ 0;

(- х1 – х2 + 4) = 0;

  0;

Легко проверить, что решение этой задачи есть x* = (3, 1)T, f* = f(x*) = 44,

Это же решение можно получить, если в исходной задаче условие неотрицательности переменных, т.е. x1, x2 0, заменить ограничениями q2 (x) = -x1 ≤ 0, q3 (x) = -x2 ≤ 0. Тогда функция Лагранжа примет вид

,

а условия теоремы Куна – Таккера будут равны

;

;

;

;

;

Рекомендуем студентам самостоятельно проверить, что решение этой системы совпадает с полученным выше решением x* = (3, 1)T; f* = f(x*) = 44, .

Ниже, на рисунке представлена геометрическая интерпретация решения задачи. Как видно, область допустимых решений задачи представляет собой выпуклое многогранное множество (выпуклый многогранник), а линии уровня целевой функции представляют собой эллипсы, стягивающиеся в начало координат. Линия минимального уровня целевой функции касается отрезка прямой, заданной уравнением x1 + x2 = 4, в точке с координатами (3, 1), что и совпадает с решением данной задачи.

3

1

f = const

(линии уровня ц/ф)

x*

x2

x1

Рис.2.6. Графическая иллюстрация решения

задачи квадратичного программирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]