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

книги / Математические основы теории систем. Методы оптимизации

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
1.41 Mб
Скачать

Далее по симплекс-методу выбирается разрешающий столбец (–6 – максимальный по модулю отрицательный коэффициент целевой функции), разрешающую строку (здесь разрешающей может быть любая строка, правая часть которой – 0), разрешающий элемент 1. Меняются местами переменные Y3 и Y4, причем столбец, соответствующий Y3, вычеркиваем из таблицы;

в) новая симплекс-таблица:

Проверяются ограничения и целевая функция: 0 – 0 + 2·0 – 4·0 + 0 = 0, 0 + 2·0 + 0 + 0 – 6·0 = 0, 0 + 3·0 + 1 = 1,

0 + 0 + 1 = 1.

Меняются местами переменные Y0 и Y5, причем столбец, соответствующий Y0, вычеркиваем из таблицы;

г) новая симплекс-таблица:

Проверяются ограничения и целевая функция: 0 – 0 + 2·3 – 4·0 + 0 = 0, 0 + 0 + 0 + 0 – 6·0 = 0, 0 + 3·0 + 1 = 1, 0 + 0 + 1 = 1.

81

Меняются местами переменные y2 и y6, причем столбец, соответствующий y2, вычеркиваем из таблицы;

д) новая симплекс-таблица:

 

1

 

3

1/5

7/25

0

0

1/10

2

–3/5

4/25

 

 

 

1

0

0

 

 

 

Проверяются ограничения и целевая функция:

0 4 + 7 4 1 + 0 = 0 , 25 25 10

0 + 2 4 + 7 + 0 6 1 = 0 ,

 

25

25

10

4

+ 3

7

+ 0

= 1 ,

25

 

25

 

 

0 + 0 = 0.

Как видно из таблицы, в результате тождественного преобразования исходные переменные делятся на базисные и свободные;

е) переход к исходной целевой функции:

Q = 3Y2 – 2Y3.

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

 

1

 

y1

+ y3 =

7

,

 

 

 

 

 

 

 

 

5

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

y0

=

 

 

,

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

4

 

 

 

 

y1 + y2

=

 

.

5

25

 

 

 

 

 

 

 

 

 

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

Q = 3y2 2y3

=

12

+

9

y1

14

2

y1

=

7

y1

2

.

 

 

 

 

 

 

 

25

5

 

25

5

 

5

 

25

 

82

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

 

1

 

0

0

1/10

2

–3/5

4/25

3

1/5

7/25

 

 

 

 

7/5

2/25

 

 

 

Как видим, все коэффициенты целевой функции положительны, следовательно, решение оптимальное:

y0

=

 

1

 

, y1 = 0, y2

=

4

, y3

=

7

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

25

 

25

 

 

 

 

 

 

Переход к исходным переменным:

 

 

 

x1

=

y1

 

= 0, x2 =

y2

 

= 1,6, x3

=

y3

 

= 2,8, x4

=

y4

= 0 10 = 0.

y0

y0

 

y0

y0

 

 

 

 

 

 

 

 

 

 

 

 

2. Задача приводится к каноническому виду методом искусственного базиса:

y1 y2 + 2y3 4y0 + y5 = 0,− + + + − =

y1 2y2 y3 y4 6y0 0,+ + =

y2 3y3 y6 1.

Искусственная целевая функция: G = y4 + y5 + y6 min.

Задания для самостоятельного решения

1.

f (x) =

4x1 + 3x2

min

2.

f (x) =

x1 + x2 x3

min

 

 

 

 

2x1 + x2

 

 

2x2 + x3 + 1

x1

+ 2x2 ≤ 16,

x1

+ x 2 + 3x3 = 8,

x1

+ x2 ≤ 10,

2x1

x2 x3 = 4,

x1

≤ 6,

xj ≥ 0, j = 1, 2, 3.

x2 ≤ 7, x1, x2 ≥ 0

83

3. f (x) = 3x2 2x3 min x2 + 3x3

x1 – x2 + 2x3 = 4,

–x1 + 2x2 + x3 + x4 = 6, xj ≥ 0, j = 1,..4.

5. f (x) = 2x1 x2 + x3 min x1 + 3x2 + 5x3

6x1 – 3x 2 + x3 + x4 = 12, 7x1 – x2 + 2x3 ≤ 12, –4x1 + 2x2 – x3 – x5 = 1, xj ≥ 0, j = 1,..5.

7.

f (x) =

2x1 + x2

 

min

x1

+ 3x2

+

2

 

 

 

4x1 – x 2 ≤ 5,

x1 + 3x2 – x3 = 7, –3x1 + 4x2 + x4 = 17, xj ≥ 0, j = 1,..4.

9. f (x) = x1 2x2 + 3 min x2 + 2

x1 + x 2 – x3 = 5, –x1 + 2x2 ≥ 1, –3x1 + x2 + x4 = 1, xj ≥ 0, j = 1,...,4.

4.

 

f (x) =

3x1 + x2

 

min

 

x1 + x2 +

2

 

 

 

 

 

x1

+ x 2 + x5 = 3,

 

 

 

3x1

+ x2 – x3 = 4,

 

 

 

–x1

+ 3x2 + x4 = 6,

 

 

 

xj ≥ 0, j = 1,..5.

 

 

 

6.

 

f (x) =

x1

x2 3

min

 

 

 

 

 

 

3x1

+ 2x2 + 1

x1

+ x 2 + x3 = 6,

 

 

 

3x1 – 2x2 + x4 = 9, –x1 + 2x2 + x5 = 10, xj ≥ 0, j = 1,..5.

8. f (x) = 3x1 + 2x2 + 1 min x1 + x2 + 3

–x1 + 3x 2 – x4 = 10, 2x1 + 4x2 – x3 – x4 = 20, 5x1 + 2x2 + x5 = 35, –3x1 + 2x2 + x6 = 11, xj ≥ 0, j = 1,6.

3.4. Методы поиска безусловного экстремума функции многих переменных

В задачах на поиск безусловного экстремума отсутствуют ограничения.

84

3.4.1. Аналитический метод

Задана функция нескольких переменных f(х1, х2хn) min

 

 

 

 

 

 

 

 

 

 

(max).Требуется найти такие вектора X

1, X2 ,

Xk , при которых

функция минимальна.

 

 

 

Алгоритм:

 

 

 

1. Находим частные производные и приравниваем их нулю:

 

f

= 0 , i = 1,...,n.

(3.12)

 

 

 

xi

 

 

 

Решаем полученную систему (3.12).

2. В результате решения находим вектора X1, X2 , Xk . 3. Определение типа экстремума.

Для определения типа экстремума для каждой точки Xi составляется матрица А следующего типа:

a11

...

a1n

 

 

2 f

 

 

 

 

 

 

 

A = ...

 

 

, где aij

=

 

 

.

(3.13)

 

 

 

 

...

 

 

 

xixj

 

an1

ann

 

 

 

 

 

 

Тип экстремума находится из следующего положения:

– если все главные миноры матрицы А, найденные для точки Xi , положительны, то функция в этой точке имеет минимум;

если все главные миноры матрицы (–А), найденные для точки Xi , положительны, то функция в этой точке имеет максимум;

во всех остальных случаях функция в точке Xi , экстремума не

имеет.

Главный минор i – это определитель подматрицы, получающейся из исходной путем отчеркивания i-й строки и i-го столбца.

Пример

F(x,y) = 3x3 x + y3 – 3y2 – 1 .

Найти экстремумы заданной функции.

85

Решение:

 

 

1.

 

f

= 3y2 6y,

f

= 9x2 1.

 

 

 

 

 

y

 

 

x

 

 

2

1 = 0,

 

 

 

9x

 

 

 

 

 

 

6y = 0

 

 

2.

3y2

 

 

 

 

 

 

 

1= 1 , x2 = − 1 , y1 = 0, y2 = 2. 3 3

3.Для определения типа экстремума требуется рассмотреть четыре точки:

X1 (1/3, 0), X2 (–1/3, 0),

X3 (1/3, 2), X4 (–1/3, 2).

a11

 

a12

 

 

 

 

 

 

 

 

 

 

 

A =

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

a21

 

a22

 

 

 

 

 

 

 

 

 

 

 

a =

2 f

= 18x ,

 

 

a =

 

 

 

2 f

= 0 ,

x2

 

 

 

 

 

 

11

 

 

 

 

 

 

12

 

 

 

yx

a =

 

 

2 f

= 0 ,

 

 

a =

 

 

 

2 f

= 6y 6 .

 

 

 

 

 

 

21

 

yx

22

 

 

 

 

y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для точки X

1 (1/3, 0):

 

 

 

 

 

 

 

 

 

 

 

а11 = 6, а12 = а21 = 0, а22 = –6

 

 

 

 

 

 

 

 

 

1 ) = а11 = 6 > 0,

 

 

 

 

 

1 ) = а11 а22 а12 а21 = –36 < 0,

1 ( X

 

 

2 ( X

 

 

 

 

 

 

 

 

 

 

 

1 (– X

1 ) = –а11 = –6 < 0, 2 (– X1 ) = а11 а22 а12 а21 = –36< 0,

 

 

 

 

 

1 нет ни минимума, ни максимума.

Следовательно, в точке X

 

 

 

2 (–1/3, 0):

 

 

 

 

 

 

 

 

 

 

 

Для точки X

 

 

 

 

 

 

 

 

 

 

 

а11 = –6, а12 = а21 = 0, а22 = –6

 

 

 

 

 

 

 

 

 

2 ) = а11 = –6 < 0,

 

 

 

 

2 ) = а11 а22 а12 а21 = 36 > 0,

1 ( X

 

 

2 ( X

1 (– X2 ) = –а11 = 6 > 0, 2 (– X2 ) = а11 а22 а12 а21 = 36> 0,

Следовательно, в точке X1 функция имеет максимум. Аналогично анализируются точки X3 и X4 .

86

3.4.2. Итерационные методы

Постановка задачи

Дано:

Функция нескольких переменных f(х1, х2хn) min (max). Точка X0 (x10 , x20 ,..., xn0 ) – начальное приближение к экстремуму.

ε – точность нахождения экстремума.

Критерий окончания счета

Обычно используются два критерия окончания счета:

 

 

 

≤ ε .

 

grad f (X

i )

(3.14)

Модуль градиента в точке экстремума равен нулю. Следовательно, чем меньше модуль градиента, тем ближе к экстремуму точка. Модуль градиента:

 

 

 

=

 

f

2

grad f (Xi )

 

 

x1

 

 

 

 

 

 

 

f

2

 

f

2

+

 

 

+ ... +

 

 

X i

x2

 

 

 

 

xn

 

 

 

 

 

 

 

 

f (X

i ) f (Xi1 )

< ε.

(3.15)

Разность значений функции в двух соседних точках при приближении к экстремуму стремится к нулю.

3.4.2.1. Метод покоординатного спуска

Сущность метода

Поиск экстремума ведется в направлении осей координат, т.е. в процессе поиска изменяется только одна координата. Таким образом, многомерная задача сводится к одномерной (рис. 3.6).

Рис. 3.6. Метод покоординатного спуска

( X1,2 – новые точки приближения к экстремуму)

87

Алгоритм метода

Первый цикл:

1-й шаг: x1 = var, х2 = х20, х3 = х30,хn = хn0.

Ищем экстремум функции f(х1). Положим, экстремум функции в точке х11.

2-й шаг: x1 = х11, x2 = var, х3 = х30,хn = хn0.

Экстремум f(х2) равен х21.

n-й шаг: x1 = х11, x2 = х21, x3 = х31,xn = var.

В результате выполнения n шагов найдена новая точка приближения к экстремуму: X1 (x11, x12 ,..., x1n ) .

Далее проверяем критерий окончания счета (3.15):

если grad f (X1 ) ≤ ε – решение найдено, в противном случае выполняем еще один цикл.

Пример 1

f(x1, x2)= 4x12 – 10x22 +10x1 x2 – 26x1, X0 = (0, 0), ε = 0,1.

Решение:

1. x1 = var, х2 = 0, f(x1)= 4x12 – 26x1.

Любым известным методом находим экстремум: x11 = 3,25.

2. x1 = 3,25, х2 = var, f(x2)= –10x22 + 32,5x2 – 42,25. x21 = 1,625.

X1 = (3,2; 1,625).

3. Проверка критерия окончания счета:

f 2x1

 

f 2

 

 

 

+

 

 

X 1 = 16,25.

 

 

x

 

 

Как видим, grad f (X1 ) > 0,1, следовательно, требуется выполнить еще хотя бы один цикл.

Пример 2

f(x1, x2)= 5x12 + 5x22 – 4x1 x2 x1 x2, X0 = (1, 1), ε = 0,01.

88

Решение:

1. x1 = var, х2 = 1 f(x1)= 5x12 – 5x1 + 4.

Любым известным методом находим экстремум:

df = 10x1 5; dx1

10x1 5 = 0. x12 = 0,5.

2. x1 = 0,5, х2 = var, f(x2)=0,75 – 3 x2 + 5x22. x21 = 0,3.

X1 = (0,5; 0,3).

3. Проверка критерия окончания счета:

f 2x1

 

 

 

 

f

2

 

 

 

 

 

 

 

+

 

 

 

 

=

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

X1=0,5

X2

=0,3

 

 

 

= (10x1 4x2 1)2 + (4x1 + 10x2 1)2 = 2,8. 2,8 > ε = 0,01.

Видим, grad f (X1 ) > 0,01, следовательно, требуется выполнить еще хотя бы один цикл.

3.4.2.2. Метод наискорейшего спуска

Поиск экстремума ведется шагами в направлении градиента (max) или антиградиента (min). На каждом шаге в направлении градиента (антиградиента) движение осуществляется до тех пор, пока функция возрастает (убывает).

Этот метод имеет лучшую сходимость, чем предыдущий. Допустим, требуется найти минимум функции.

Алгоритм метода: 1. Находим

 

 

0 ) =

f

,

f

,...,

f

X 0 .

(3.16)

grad f (X

x1

x2

 

 

 

 

 

 

xn

 

 

 

 

 

 

 

 

 

 

89

Введем обозначения:

f

 

 

 

 

 

= a1,...,

f

 

 

 

 

 

0 ) = (a1 ,a2 ,...,an ).

 

 

 

 

 

 

 

= an , тогдаgrad f (X

x1

 

 

 

 

xn

 

 

 

 

X

0

 

 

X

0

 

 

 

 

 

 

 

2. Делаем шаг в направлении антиградиента. Выражения для нахождения координат новой точки приближения к экстремуму выглядят следующим образом:

x11

= x10 − α1a1,

 

= x20 − α1a2

 

x12

,

 

 

 

(3.17)

...

 

 

 

1

0

1

,

xn

= xn

− α an

где α1 – величина шага в направлении антиградиента при 1-й итерации.

3. Нахождение величины шага.

В направлении антиградиента движемся до тех пор, пока функция убывает. Следовательно, шаг выбирается из условия минимума функции f(α1).

Для этого в функцию f(х1, х2хn) подставляем выражения для координат новой точки (3.17).

В результате получим функцию одной переменной f(α1). Минимум f(α1) находим любым известным методом поиска экстремума функции одной переменной.

4. Полученное значение α1 подставляется в формулы (3.17).

Врезультате получаем точку X1 = (x11, …, xn1).

5.Проверка критерия окончания счета.

Если f (X1 ) f (X0 ) < ε , то решение в точке X1 , иначе – требуется сделать еще шаг.

Пример 1

f(x1, x2) = x12 – 7x1 + x22 – 4x2 x1x2 + 35, X0 = (1, 1), ε = 0,5.

Требуется найти минимум f(x1, x2).

90

Соседние файлы в папке книги