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

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

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

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

(7.37)

при ограничениях

(7.38)

хj ≥ 0, j = 1:n, (7.39)

где − линейная часть функции f(x), − отрицательно (положительно) − полуопределенная квадратичная форма, называется задачей квадратичного программирования.

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

Если функции f(x), gi(x), i = 1:m при всех х ≥ 0 непрерывно дифференцируемы, то имеет место теорема Куна − Таккера. На основании этой теоремы точка минимума х* целевой функции f(x) из (7.37) на допустимом множестве Е (7.38), (7.39) может быть найдена как решение следующей системы уравнений с дополнительными переменными ихn+i (i = 1:m). Вводя эти переменные, обращающие неравенства (7.31) и (7.34) в равенства, перепишем выражения (7.31)…(7.36) следующим образом:

(7.40)

(7.41)

(7.42)

(7.43)

(7.44)

Таким образом, чтобы найти решение задачи квадратичного программирования (7.37)…(7.39) при условии, что находится максимум функции (7.37), нужно определить неотрицательное решение систем линейных уравнений (7.40), (7.41), удовлетворяющие условиям (7.42) и (7.43). Это решение можно найти с помощью метода искусственного базиса, позволяющего найти одну из угловых точек множества, заданного условиями (7.40), (7.41) и (7.44).

При реализации метода искусственного базиса следует учитывать и условия (7.42), (7.43), т.е. не включать в базисные одновременно переменные λi и хn+i с одним и тем же индексом i и переменные хj, с одинаковым номеромj.

Алгоритм решения.

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

  2. Составить систему уравнений на основе необходимых условий существование седловой точки:

  1. Ввести в ограничения дополнительные переменные µ ≥ 0, хn+i ≥ 0.

  2. С помощью алгоритма симплекс - метода решить задачу линейного программирования при ограничениях (7.40), (7.41) и (7.44).

  3. Записывают оптимальное решение исходной задачи и находят значение целевой функции.

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

Пример. 7.4. Найти

f(x)=-2x1-6x2+ → min

2x1+2x212

x1+2x27

x1,x20

Решение. Функция –f(x) = 2x1+6x2-x является не строго вогнутой f1 = 2; f2 = 6 − 2x2; f11 = 0; f12 = 0; f21 = 0; f22 = −2, в матрице Гессе главные миноры равны: М1=0 (или М1=-2), М2=0.

Составим функцию Лагранжа:

f(x,λ) = 2x1+6x2-.

Определим необходимые условия существования седловой точки

Преобразуем неравенства в равенства

Добавим базисные переменные х5, х6 в первые два уравнения и решим следующую задачу

Вспомогательную целевую функцию (7.45) выразим через свободные переменные с помощью уравнений (7.46), (7.47)

Составляем симплекс − таблицу. На 1-й итерации нельзя ввести в базис, так как в нем находятсях5, х6, имеющие одинаковый индекс i (). Вводимх2

х1

х2

λ1

λ2

µ1

µ 2

х5

0

0

2

1

-1

0

2

х6

0

2

2

2

0

-1

6

х3

2

2

0

0

0

0

12

х4

1

2

0

0

0

0

7

0

-2

-4

-3

1

1

-8

На 2-й итерации вводим х1, на 3-ей итерации .

х1

х6

λ1

λ2

µ1

µ 2

х5

0

0

4

2

-2

0

4

х2

0

1

2

2

0

-1

6

х3

4

-2

-4

-4

0

2

12

х4

2

-2

-4

-4

0

2

2

0

2

-4

-2

2

0

-4

х1

х6

λ1

λ2

µ1

µ2

х5

0

0

2

1

-1

0

2

х2

0

½

1

1

0

-1/2

3

х3

2

-1

-2

-2

0

1

6

х4

1

-1

-2

-2

0

1

1

0

1

-2

-1

1

0

-2

х4

х6

λ1

λ2

µ1

µ2

х5

0

0

2

1

-1

0

2

х2

0

½

1

1

0

-1/2

3

х3

-2

1

2

2

0

-1

4

х1

1

-1

-2

-2

0

1

1

0

1

-2

-1

1

0

-2

На 4-й итерации получим ответ, так как все pj > 0.

х4

х6

λ1

х5

µ1

µ2

λ2

0

0

2

1

-1

0

2

х2

0

½

-1

-1

1

-1/2

1

х3

-2

1

-2

-2

2

-1

0

х1

1

-1

2

2

-2

1

5

0

1

0

1

0

0

0

т.е. иmin .

.