Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мотс 2.pdf
Скачиваний:
66
Добавлен:
24.02.2016
Размер:
1.96 Mб
Скачать

Тема 4. ЭКСТРЕМАЛЬНЫЕ ЗАДАЧИ БЕЗ ОГРАНИЧЕНИЙ

Методы решения задач безусловной оптимизации отличаются более высоким уровнем развития по сравнению с другими методами нелинейного программирования. Ни один из известных методов не позволяет решить любую задачу оптимизации. Наиболее подходящий метод надо приспосабливать к характеристикам конкретно решаемой задачи. Простейшая оптимизационная задача – это задача нахождения экстремума функции одной переменной. Однако именно одномерные методы оптимизации часто используются в инженерной практике при реализации итеративных процедур в многомерных задачах.

4.1. Одномерная минимизация унимодальных функций

Функция F(x) , определенная на интервале [a, b] , называется унимодальной, если существует точка x* [a,b] такая, что при x x* функция F(x) строго убы-

вает и при x x* – строго возрастает. При этом F(x* ) = min F(x). Унимодаль-

axb

ная функция может быть недифференцируемой, разрывной, неопределенной в некоторых точках, но не должна иметь горизонтальных участков («плато»). Функции одной переменной, являющиеся в области определения выпуклыми или вогнутыми, относятся к унимодальным.

Будем рассматривать задачи поиска экстремума, где:

а) целевая функция F(x) не имеет аналитического выражения;

б) значения функции при ряде значений x могут быть получены в результате некоторого эксперимента (моделирование процесса, обращение к таблице или к памяти ПЭВМ и т.д.).

В начале поиска положение точки x* на интервале [a, b] неизвестно. Путем проведения некоторых N экспериментов необходимо локализовать оптимальное решение x* в интервале [aN , bN ] меньшей длины, чем исходный. Интервал [a, b]

называется априорным интервалом неопределенности, а интервал [aN , bN ] –

апостериорным интервалом неопределенности.

Методы оптимизации, основанные на свойстве унимодальности минимизи-

руемой функции, называются методами сокращения интервала неопределен-

ности. При этом на каждом k-м шаге поиска исключаются те подинтервалы, в которых точка x* не находится, и определяется текущий интервал [ak +1, bk +1 ] , удовлетворяющий системе неравенств:

50

ak ak +1 x* bk +1 bk ,

(4.1)

ak < ak +1 или bk +1 < bk .

Точность решения определяется длиной апостерионого интервала [aN , bN ] и

зависит от числа экспериментов.

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

4.1.1. Метод Фибоначчи. Реализация метода связана с использованием последовательности целых чисел, открытой итальянским математиком Леонардо Фибоначчи в начале XVIII века. Последовательность чисел Фибоначчи F опреде-

ляется выражением

 

F0 = F1

= 1; Fk

= Fk - 1 + Fk - 2

для k = 2, 3, 4,… . Первые 16

чисел приведены в табл. 4.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а 4.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

0

1

2

 

3

 

4

 

5

6

7

8

9

10

11

12

13

14

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fk

1

1

2

 

3

 

5

 

8

13

21

34

55

89

144

233

377

610

987

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

N.

На первом шаге, который соответствует k = 0, точки эксперимента на априорном интервале [a, b] вычисляются по формулам:

 

 

 

x1

= a + (b a)

FN 1

,

 

 

 

(4.2)

 

 

 

1

 

FN +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x12

= a +(b a)

FN

.

 

 

 

(4.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

FN +1

 

 

 

 

Эти точки находятся на равных расстояниях от концов интервала [a, b] . В

точках x1

и

x1

определяются значения функции

F

= F(x1 ) и

F

= F(x1 ) . Со-

1

 

2

 

 

 

 

 

1

1

2

2

гласно условию унимодальности F(x) перед вторым шагом проводится сокращение интервала неопределенности по информации о значениях функции в точках эксперимента. Если F1 < F2 , то точка минимума x* не может принадлежать ин-

тервалу [x12 , b] . Эта часть априорного интервала исключается и для следующего

51

шага остается интервал [a, x12 ], как показано на рис. 4.1, а. Таким образом,

если

F < F , то a = a и b = x1 .

 

 

 

1

2

1

1

2

 

 

 

 

Если же

F

> F , как показано на рис. 4.1, б, то сокращается часть [a, x1

] ап-

 

 

1

2

 

 

1

 

риорного интервала [a, b] и для следующего шага остается a

= x1

и b = b .

 

 

 

 

 

1

1

1

 

 

Если F1

= F2 , как показано на рис. 4.1, в, то можно исключить обе крайние

части интервала, тогда для следующего шага границами интервала будут точки

a

= x1

и b

= x1 .

 

 

 

 

 

 

 

1

1

1

2

 

 

 

 

 

 

 

 

F (x)

 

F(x)

 

 

F (x) x* [a, x11 ]

 

 

 

x* [x12 , b]

x* [a, x11]

 

 

x* [x1

, b]

 

 

 

 

 

 

 

 

 

2

 

 

F2

 

 

 

F1

 

F1

= F2

 

 

 

F1

 

 

 

F2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

x12 b

a x11

x12

b

a

1

1

b

 

a x1

 

x1

x2

 

 

a1

 

b1

a1

 

b1

 

a1

b1

 

 

 

 

а

 

б

 

 

в

 

 

Рис. 4.1. Сокращение априорного интервала неопределенности

На каждом последующем шаге (при k = 1,2,3,…) точки эксперимента вы-

числяются по формулам:

k+1

 

FN k1

.

(4.4)

x1

= ak +(bk ak )

 

 

 

F

 

 

 

 

N k+1

 

 

 

 

 

 

F

 

.

(4.5)

x2k+1

= ak +(bk ak )

 

N k

F

 

 

 

 

N k+1

 

При этом необходимо заново вычислять только одну из координат x1k +1 или x2k +1 для точки нового эксперимента, так как сведения о другом эксперименте пе-

52

реходят с предыдущего шага. Сокращение интервала неопределенности выполняется в соответствии со значениями функции в точках эксперимента на основании свойства унимодальности.

Последний N-й эксперимент проводится вблизи от точки xN 1 , которая оста-

лась от предыдущего эксперимента и попала в оставшийся интервал. Это точка xN = xN 1 − ε, где ε – постоянная, положительная, близкая к нулю величина, яв-

ляющаяся параметром метода и определяемая целесообразным количеством верных десятичных знаков при задании аргумента x.

Если априорный интервал является единичным ( a = 0, b = 1), то длина LN апостериорного интервала неопределенности определяется выражением

LN =

(1 + ε)FN 2

.

(4.6)

 

 

FN

 

Недостаток метода Фибоначчи заключается в том, что в нем априори необходимо задавать число экспериментов N, так как на первом шаге требуется вычислять N-е и (N-1)-е числа Фибоначчи. Проиллюстрируем стратегию поиска по методу Фибоначчи на примере.

Пример 4.1. Найти минимальное значение унимодальной функции F(x) на интервале [0, 13] для N = 5.

1-й шаг. Эксперимент проводится в точках

x1

= a + (b a)

FN 1

=13

F4

=13

5

=5,

 

 

 

 

 

 

1

 

 

FN +1

 

F6

 

13

 

 

 

 

 

 

 

 

 

x12

= a + (b a)

FN

=13

F5

 

=13

 

8

 

= 8.

 

F6

13

 

 

FN +1

 

 

 

Значения функции в точках эксперимента будем определять по графику на рис. 4.2. Так как F(x11 ) > F(x12 ) , то x* [0,5] и подинтервал [0,5] исключается, то-

гда a1 = 5; b1 = 13 .

2-й шаг ( k = 1). Точки эксперимента вычисляются по формулам

x2

= a + (b a )

FN k1

= 5 +8

F3

= 5 +8 3

= 8 ,

F

F

1

1

1

1

 

 

 

 

8

 

 

 

 

 

 

N k+1

5

 

 

x2

= a + (b a )

FN k

= 5 +8

F4

 

= 5 +8

5

=10 .

 

F

8

2

1

1

1

F

 

 

 

 

 

 

 

 

N k+1

5

 

 

 

 

53

F(x)

10

8

6

4

2

 

 

 

 

x1

 

 

x12

 

 

 

 

1 шаг

 

 

 

 

1

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

13

1

2

3

4

5

6

7

8

9

10

11 12

14

 

 

 

 

 

 

 

x2

 

x2

 

 

 

 

 

 

 

5

 

 

1

 

2

 

 

2 шаг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

x13

 

x23

 

10

3 шаг

 

 

 

 

x14

x24

 

 

 

 

 

 

5

 

8

 

4 шаг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

7

 

 

 

 

 

 

Рис. 4.2. Поиск минимума унимодальной функции по методу Фибоначчи для N = 5

Точка x12 совпала с точкой x12 , которая осталась от предыдущего шага, и эксперимент в ней уже выполнен, поэтому значение функции определяется только в точке x22 = 10 . В соответствии с рис. 4.2 F(x12 ) < F(x22 ), поэтому x* [10,13] и подинтервал [10,13] сокращается. Для третьего шага остается интервал [5,10], т.е a2 = 5, b2 = 10.

3-й шаг ( k = 2 ). Эксперимент проводится только в точке x13 = 7 ; точка x12 с предыдущего шага сохранилась внутри интервала, поэтому x23 = x12 = 8. Следует

отметить, что точки эксперимента всегда находятся на равных расстояниях от концов интервала:

x3

= a

 

+ (b

a

 

)

FN k1

= 5 + (10 5)

F2

= 7 .

 

 

F

F

1

 

2

2

 

2

 

 

 

 

 

 

 

 

 

 

N k+1

 

4

 

54