Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты с теорией.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
4.45 Mб
Скачать

Квадратичное программирование

Задача квадратичного программирования представляет собой частный случай задачи нелинейного программирования, когда ограничения линейны, а целевая функция – сумма линейной и квадратичной форм:

при

, ,

,

где - положительно полуопределенная матрица.

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

Задача квадратичного программирования может быть записана в следующем виде:

. (1)

Функция Лагранжа для нее имеет вид:

. (2)

Обозначим

,

,

тогда

, (3)

. (4)

Условия Куна-Таккера для задачи (1) будут иметь вид

(5)

так как

,

.

Условия Куна-Таккера для задачи

имеют вид

(6)

Условия Куна-Таккера для задачи

имеют вид

(7)

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

Первые три соотношения в условиях (5) образуют линейную систему. Четвертое условие показывает, что из каждой пары переменных одна должна быть равна нулю. Таким образом, решения системы первых трех условий, которые образуют множество решений четвертого уравнения, содержат самое большее компонент отличных от нуля. И, таким образом, для решения системы (5), а также (6) или (7), можно воспользоваться видоизмененным симплексным методом.

Метод Франка и Вулфа для задачи квадратичного программирования

Предназначен для решения задачи вида: ,

в которой - положительно полуопределенная матрица размерности , - матрица размерности . Условия Куна-Таккера для этой задачи будут иметь вид

И

Где , .

Метод представляет собой дальнейшее развитие метода Баранкина и Дофмана. Метод действует без ограничений.

Требуется минимизировать (1)

при , (2) ,

где , ,

, .

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

Работа алгоритма Франка и Вулфа начинается с некоторого базисного решения системы (2) с соответствующей симплексной таблицей.

Функция минимизируется по следующему рекуррентному правилу.

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

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

Причем

Метод обрывается, как только выполняется одно из условий:

1) (4)

2) . (5)

В первом случае представляет собой окончательное решение . Во втором случае полагаем

, (6)

, (7)

Где . (8)

Франк и Вулф показали, что на каждом шаге имеет место 1) или 2) и, что через конечное число шагов будет обязательно 1), так что метод приводит к решению.

есть такая точка отрезка прямой между и , в которой достигает минимума на этом отрезке.

Если учесть, что , то есть в частном случае ,

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

Рис. 1. Геометрическая интерпретация

Пример 1. Решить методом Фрака и Вулфа задачу квадратичного програм­мирования вида:

,

где , , , .

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

,

.

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

Исходная таблица

1

0=

6

3

4

1

0

0

0

0

0

0=

8

5

1

0

1

0

0

0

0

0=

10

4

0

0

0

-1

0

3

5

0=

20

0

10

0

0

0

-1

4

1

Исключаем 0-строки. Из первых двух строк симплексной таблицы

1

=

6

3

4

0

0

0

0

=

8

5

1

0

0

0

0

0=

10

4

0

-1

0

3

5

0=

20

0

10

0

-1

4

1

1

=

6

3

4

0

0

0

=

8

5

1

0

0

0

=

2

0.8

0

-0.2

0

0.6

0=

18

-0.8

10

0.2

-1

3.4

1

=

6

3

4

0

0

=

8

5

1

0

0

=

20

0

10

-1

4

=

90

-4

50

-5

17

Найден опорный план. Составляем симплексную таблицу для метода Франка и Вулфа: , , , .

Для заполнения последней строки симплексной таблицы выражаем линейную форму через небазисные переменные: