Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы оптимизации.-7

.pdf
Скачиваний:
5
Добавлен:
05.02.2023
Размер:
671.11 Кб
Скачать

53

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Томский государственный университет систем управления и радиоэлектроники»

Кафедра автоматизированных систем управления

МЕТОДЫ ОПТИМИЗАЦИИ

Учебное пособие

ТОМСК – 2016

2

МЕТОДЫ ОПТИМИЗАЦИИ

Учебное пособие

Составитель А.А. Мицель Томск: Томский государственный университет систем управления и радиоэлектроники. – 2016. – 68 с.

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

Пособие подготовлено для студентов, обучающихся по направлению 09.04.01 – «информатика и вычислительная техника (магистратура)».

3

СОДЕРЖАНИЕ

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

4

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

4

1.2. Условие Куна-Таккера для ЗКП

4

1.3. Метод решения ЗКП с помощью искусственного базиса

5

1.4. Метод решения ЗКП с помощью симплексного преобразования

6

таблицы коэффициентов уравнений

 

1.5. Задача о дополнительности

8

1.6. Метод решения задач о дополнительности

10

1.7 Алгоритм решения задачи КП Мицеля-Хващевского

14

Вопросы для текущего контроля

19

 

 

Тема 2. Теория двойственности

20

2.1. Формулировка двойственной задачи

20

2.2. Геометрическая интерпретация двойственной по Лагранжу задачи

21

2.3. Разрыв двойственности

25

2.4. Решение двойственной по Лагранжу задачи

26

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

28

Вопросы для текущего контроля

31

 

 

Тема 3. Модели динамического программирования

32

3.1. Общая постановка задачи динамического программирования

32

3.2. Принцип оптимальности и уравнения Беллмана

35

3.3. Задача о распределении средств между предприятиями

40

3.4. Задача об оптимальном распределении ресурсов между отраслями

44

на N лет

 

3.5. Задача о замене оборудования

48

Вопросы для текущего контроля

53

 

 

Тема 4. Основы вариационного исчисления

54

4.1. Функционалы. Основные понятия

54

4.2. Необходимое и достаточное условия существования экстремума

56

функционалов

 

4.3. Вариационные задачи с закрепленными концами

59

 

 

4.4. Многомерный случай

65

4.5. Уравнения Эйлера-Пуассона

 

Вопросы для текущего контроля

66

 

 

Литература

68

4

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

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

Задача квадратичного программирования (ЗКП) представляет собой задачу с линейными ограничениями и квадратичной ЦФ. Общая ЗКП имеет вид:

n

n

n

 

 

 

 

 

 

 

 

f (x) = c j x j

+ ∑ ∑ qij xi x j

min

 

j =1

i =1 j =1

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

aij x j = bi

, i =

 

,

 

 

1,m

 

 

j=1

 

 

 

 

 

 

 

 

 

 

x j 0 ,

j =

 

,

 

 

1,n

 

 

или в матричном виде

 

 

 

 

 

 

 

 

 

 

 

f (x) = cT x + xT Qx

 

 

 

Ax = b

 

 

 

 

,

(1.1)

 

 

x 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где A матрица ограничений (m × n);

 

 

 

 

 

 

 

 

 

b вектор ограничений (m × 1);

 

 

 

 

 

 

 

 

 

 

c вектор (1 × n);

 

 

 

 

 

 

 

 

 

 

Q квадратная матрица (n × n);

 

 

 

 

 

 

 

 

 

 

x вектор переменных (1 × n).

 

 

 

 

 

 

 

 

 

 

1.2. Условие Куна-Таккера для ЗКП

 

Задача КП имеет вид

 

 

 

 

 

 

 

 

 

 

 

 

 

T

 

 

 

 

 

 

f (x) = cx + x

Qx min,

 

 

 

 

g(x) = x 0,

 

 

 

 

 

 

 

(1.2)

 

= Ax

b = 0.

 

 

h(x)

 

 

Запишем функцию Лагранжа

 

 

 

 

 

 

 

 

 

 

L(x,µ,λ) = f (x) − µT x − λT h(x) ,

 

(1.3)

где µ ≥ 0 , λпараметры (ограничения по знаку параметры λ не имеют). Условия Куна-Таккера для ЗКП записываются следующим образом:

5

 

+ x

T

(Q + Q

T

) − µ − λ

T

A = 0,

c

Ax = b,

x 0,

 

(1.4)

 

T

x = 0,

µ ≥ 0,

 

 

µ

 

 

 

где λ неограниченная по знаку переменная.

Пример 1.1.

f (x) = −6x1 + 2x12 2x1x2 + 2x22 min , x1 + x2 = 2 ; x1, x2 0 .

Для этой задачи условия Куна-Таккера задаются следующим образом:

6 + 4x1 2x2 − µ1 − λ = 0 ;

2x1 + 4x2 − µ2 − λ = 0 ;

 

x1 + x2 = 2 x1, x2 0 ;

величина λ

µ1x1 = 0 ;

µ 2 x2 = 0 ,

µ1,µ 2 0 ;

не ограничена по знаку.

 

Поскольку ограничение

h(x)

линейное, то применима теорема Куна-

Таккера. Таким

образом, условие

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

условием оптимальности решения ЗКП.

В случае положительной определенности или полуопределенности матрицы Q целевая функция является выпуклой и условия Куна-Таккера являются также и достаточными условиями оптимальности решения ЗКП. Таким образом, в случае H f 0 достаточно найти точку x ,

удовлетворяющую условиям Куна-Таккера.

Одним из методов решения ЗКП может быть метод решения системы (1.4) как задачи ЛП с использованием искусственного базиса и первой операции симплекс-метода. При этом условие µ j xj = 0 неявно учитывается в

процедуре симплекс-метода при помощи правила ограниченного ввода в базис. Это правило запрещает вводить в базис небазисную переменную j , если

значение соответствующей базисной переменной x j положительное.

1.3 Метод решения ЗКП с помощью искусственного базиса

Одним из методов решения ЗКП может быть метод решения системы (1.4) как задачи ЛП с использованием искусственного базиса и первой операции симплекс-метода. При этом условие µ j xj = 0 неявно учитывается в

процедуре симплекс-метода при помощи правила ограниченного ввода в базис. Это правило запрещает вводить в базис небазисную переменную µ j , если

значение соответствующей базисной переменной x j положительное.

6

Введем искусственные переменные x3, x4, x5 . В результате получим

следующую целевую функцию:

z = x3 + x4 + x5 = 8 3x1 3x2 + µ1 + µ 2 + 2λ .

В табл. 1.1 – 1.4 жирным курсивом выделены опорные элементы. Таблица 1.1

 

x1

x2

µ1

µ2

λ

 

x3

4

-2

-1

0

-1

6

x4

-2

 

4

 

0

-1

-1

0

x5

1

1

 

0

0

0

2

 

-3

-3

1

1

2

-8

Таблица 1.2

 

x1

 

x4

µ1

µ2

λ

 

x3

3

1/2

 

-1

-1/2

-3/2

6

x2

-1/2

 

1/4

 

0

-1/4

-1/4

0

x5

3/2

-1/4

0

1/4

¼

2

 

-9/2

3/4

 

1

1/4

5/4

-8

Таблица 1.3

 

x5

 

x4

µ1

µ2

λ

 

x3

-2

1

 

-1

-1

-2

2

x2

1/3

 

1/6

 

0

-1/6

-1/6

2/3

x1

2/3

-1/6

0

1/6

1/6

4/3

 

3

0

 

1

1

2

-2

Таблица 1.4

 

x5

x4

µ1

µ2

x3

 

λ

1

-1/2

1/2

1/2

-1/2

-1

x2

 

 

1/12

-1/12

-1/12

½

x1

 

 

-1/12

1/12

1/12

3/2

 

1

1

0

0

1

0

Таким образом, получили решение

x1 = 3 / 2 ; x2 = 1 / 2 ; λ = −1; 1 = 0 ; 2 = 0 .

Заметим, в уравнении (1.4) мы взяли минус в слагаемом с λ . Если бы мы взяли плюс, то в таблице вместо (-1) был бы (+1) в первой и второй строке. В конечном решении мы бы получили λ = +1.

1.4 Метод решения ЗКП с помощью симплексного преобразования таблицы коэффициентов уравнений

Эту задачу можно решить гораздо проще, с помощью симплексного преобразования таблицы коэффициентов уравнений; так мы ищем начальное базисное решение. Отличием здесь является только то, что i и xi не могут

7

быть одновременно базисными, поэтому мы делаем базисными только xi и λ j .

При этом необходимо учесть, что λ j могут быть любого знака, в то время как x j ≥ 0 .

Для нашего примера имеем следующие таблицы.

Таблица 1.5

x1

x2

µ1

µ2

λ

 

4

-2

-1

0

-1

6

-2

 

4

 

0

-1

-1

0

1

1

 

0

0

0

2

Таблица 1.6

 

x1

x2

µ1

µ2

λ

 

3

 

0

-1

-1/2

-3/2

6

-1/2

1

0

-1/4

-1/4

0

 

3/2

 

0

0

1/4

1/4

2

Таблица 1.7

x1

x2

µ1

µ2

 

λ

 

0

0

-1

-1

 

-2

 

2

0

1

0

-1/6

-1/6

2/3

1

0

0

1/6

1/6

4/3

Здесь мы получили базисные переменные x1, x2 . Теперь введем в базис переменную λ , не обращая внимания на ее знак.

Таблица 1.8

x1

x2

µ1

µ2

λ

 

0

0

1/2

1/2

1

-1

0

1

1/12

-1/12

0

½

1

0

-1/12

1/12

0

3/2

Итак, получили базисные переменные:

x1 = 3 / 2 ; x2 = 1 / 2 ; λ = −1; 1 = 0 ; 2 = 0 .

К сожалению, в случае положительно полуопределенной матрицы Q (то есть матрица Гессе H f (x) ≥ 0 ) этот метод может расходиться.

Лемке разработал более эффективный и простой метод решения системы (1.4), называемый методом решения задач о дополнительности.

8

1.5. Задача о дополнительности

Рассмотрим общую задачу отыскания неотрицательного решения системы уравнений следующего вида: найти такие векторы ω и z , что

ω = Mz + q ;

(1.5)

ω ≥ 0; z 0 ;

(1.6)

ωT z = 0 ,

(1.7)

где M n × n матрица; ω, z,q n - мерные векторы. Сформулированная задача называется задачей о дополнительности.

Заметим, что в ее формулировке не участвует оптимизируемая целевая функция.

Рассмотрим выпуклую ЗКП следующего вида: f (x) = cT x + xT Qx min,

Ax b, x 0,

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

Условия оптимальности Куна-Таккера для этой задачи записываются в следующем виде:

u = 2Qx AT λ + c, s = Ax b,

µT x + sT λ = 0, ; x, s 0, µ,λ ≥ 0.

Здесь s дополнительный вектор переменных для преобразования ограничения-неравенства в ограничение-равенство ( Ax b s = 0 ).

Пусть имеем

f (x)=cx + xT Q xmin ,

Ax bg(x)= A xb0 ,

 

x0.

 

 

 

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

L(µ,λ) = f (x) − µT x − λT ( Ax b) .

Условие Куна-Таккера записываются следующим образом:

 

 

f − µ − AT λ = 0,

 

µT x = 0;

λT ( Ax b) = 0; Ax b 0,

 

 

 

µ,λ ≥ 0.

 

 

 

 

Введем обозначения s = Ax b .

Тогда условия Куна-Таккера примут вид:

9

 

f − − A

T

λ = 0,

 

 

s = Ax b ,

 

T x = 0; λT s = 0,

 

 

,λ ≥ 0; x, S ≥ 0.

 

 

 

 

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

что

 

 

x

 

2Q AT

c

ω = s

 

;

z =

λ

;

M =

 

; q =

.

 

 

 

 

 

 

 

A 0

 

b

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

Задачу ЛП можно также свести к задаче о дополнительности, положив Q = 0 . Таким образом, метод решения задач о дополнительности можно применить также для решения ЗЛП.

Пример 1.2. Найти min ЦФ при заданных ограничениях: f (x) = −6x1 + 2x12 − 2x1x2 + 2x22 ,

x1 x2 ≥ −2, x1, x2 ≥ 0.

Для этой задачи имеем:

 

 

 

 

2

−1

 

A = (−1;−1), b = (−2), c = (−6;0), Q =

−1

2

.

 

 

Эквивалентная задача о дополнительности имеет вид:

 

Q

+ QT

AT

 

4

 

− 2

1

 

 

 

 

 

 

− 2

 

 

 

 

 

 

 

 

M =

 

 

 

 

 

 

=

 

 

4 1 ;

 

 

 

 

 

A

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− 1

 

− 1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cT

−6

 

x

 

 

x

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

1

 

q =

=

 

0

 

; z =

x2

 

; z

= x2

 

ω =

 

2

;

 

b

 

2

 

 

 

 

 

 

λ

 

 

 

 

s

 

 

 

 

 

 

λ

 

 

 

 

 

 

 

 

λ скалярная величина;

s − скалярная величина; s = x3 (дополнительная переменная). Найденное решение z даст нам оптимальное решение задачи:

(x1* , x2* ) = x* .

10

1.6. Метод решения задач о дополнительности

Рассмотрим следующую задачу о дополнительности:

ω = Mz + q; ωT z = 0; ω, z 0 .

Определение. Неотрицательное решение (ω, z) системы уравнений ω = M z + q называется допустимым решением задачи о дополнительности

(З Д).

 

(ω, z)

 

 

 

 

 

 

 

Допустимое

решение

задачи

 

 

о

дополнительности,

удовлетворяющее условию дополняющей нежесткости

ωT z = 0 , называется

решением задачи о Д.

 

 

 

 

 

 

 

 

 

Условие ωT z = 0 эквивалентно условиям ω

 

 

 

z

i

= 0, i =

1,n

. Если все

 

 

 

i

 

 

 

 

 

элементы вектора qi

0 , то очевидное решение ЗД: ω = q, z = 0 (так как

имеется условие ωi zi = 0 ). Следовательно, ЗД нетривиальна только в том

случае, если имеется хотя бы один элемент qi

< 0 . В этом случае начальное

базисное

решение

ω = q,

z = 0 ,

удовлетворяющее

условию

ωT z = 0 ,

является недопустимым для задачи о Д (так как ωi = qi

< 0 ).

 

Алгоритм работы ЗД начинает работу с недопустимого базисного

решения

ω = q,

z = 0 .

Для

получения

неотрицательного

решения

производится следующее преобразование задачи: во все уравнения системы ω − Mz = q вводится искусственная переменная z0 .

ω − Mz e z0 = q ; ω, z 0; ωT z = 0; z0 0 . Здесь e = (1,1,...,1) вектор, состоящий из единиц.

Таким образом, начальная СТ имеет вид (см. табл.1.9):

Таблица 1.9

базис

z1

….

zs

.....

zn

z0

q

ω1

m11

….

m1s .....

m1n

-1

q1

ωs

ms1

….

mss .....

msn

-1

qs

ωn

mn1

….

mns .....

mnn

-1

qn

Шаг 1. В базис вводится z0 , заменяющая базисную переменную с наибольшим

по

абсолютной величине отрицательным значением.

Пусть

qs

= min qi < 0 , в этом случае z0 заменяет в базисе переменную ωs .

 

i

 

Выполнение итераций метода исключений приводит к следующей таблице (см. табл.1.10), где