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

Решебник_МО

.pdf
Скачиваний:
173
Добавлен:
01.06.2015
Размер:
3 Mб
Скачать

=0,5, коэффициент штрафа α= –20. Движение по каждой из координат осуществляется по правилу:

 

 

 

 

 

 

 

 

f ( X

k

)

2

 

 

 

 

g j ( X

k

)

 

 

 

k+1

 

 

 

k

 

k

 

 

 

 

k

 

 

 

 

 

x1

= max

0, x

 

h

 

 

 

 

 

j

( X

 

)

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

x1

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= max{0; xlk+0,5*[8+3x2k–4xlk1(Xk)*(3)+α2(Xk)*(5)]};

 

 

 

 

 

 

 

 

f ( X

k

)

 

k+1

 

 

 

k

h

k

 

 

 

x2

= min

300, x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

j j 1

 

g

j

( X k )

( X k )

 

 

=

 

 

 

 

x2

 

 

 

 

 

 

 

 

= min{300, x2k+0,5*[32xlk–8x2k1(Xk)*( –5)+α2(Xk)*(1)]}.

Вычислим значение f(X0)= –72, так как точка Х0= (4; 6) находится в области исследования (удовлетворяет обоим ограничениям) значения α1(X0)=0 и α2(X0)=0.

Первый шаг. Выполняем расчет координат точки X1:

х11=max{0; 4+0,5*[(8+3*6–4*4)+0*3+0*5]}=9; х21=min{30; 6+0,5*[(3*4–8*6)+0*(–5)+0*1]}= – 12.

Полученная точка Х1=(9;– 12) удовлетворяет обоим ограничениям, следовательно, α1(X1)= 0; α2(X1)= 0. Вычисляем f(X1)= – 790. Шаг поиска неудачен, поэтому h1= *h0= 0,25.

Второй шаг. Выполняем расчет координат точки X2:

х12= max{0; 9+0,25*[(8+3*(– 12) – 4*9) + 0 + 0]}= 0; х22= min{30; – 12+0,25*([3*9 – 8*(– 12)) + 0+ 0]}= 21,25.

Получена точка Х2=(0; 21,25), которая не удовлетворяет первому ограничению. Следовательно, α1(X2)= –20; α2(X2)=0, вычисление

значения функции цели не производим, так как точка X2 недопустима, h2= h1= 0,25.

Третий шаг. Выполняем расчет координат точки X3:

х13= max{0; 0+0,25*[8+3*21,25–4*0+(–20)*3+0*5]}= 2,9; х23= min{30; 21,25+0,25*[3*0–8*21,25+(–20)*(– 5)+0]} = 3,8.

Получена точка Х3=(2,9; 3,8), которая удовлетворяет ограничениям, следовательно, α1(X3)= –20; α2(X3)=0, f(X3)= – 18,32, шаг поиска удачен, следовательно, h3= h2= 0,25.

Далее поиск продолжается согласно вышеописанному алгоритму.

71

ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ

1.Как определяется положение новой точки Хк+1 при поиске оптимума функции методом релаксации?

2.Как определяется положение новой точки Хк+1 при поиске оптимума функции равномерным градиентным методом?

3.Как определяется положение новой точки Хк+1 при поиске оптимума функции пропорциональным градиентным методом?

4.Как определяется положение новой точки Хк+1 при поиске оптимума функции методом наискорейшего спуска (подъема)?

5.Что понимают под термином «штрафная функция», «барьерная функция» в задачах оптимизации?

6.Как определяются точки измерений при поиске оптимума функции методом Ньютона?

7.Сформулируйте идею «овражных» методов поиска.

8.Что понимают под условной оптимизацией?

9.Как используются градиентные методы в условной оптимизации?

10.Возможно ли применение градиентных методов при отсутствии аналитической записи целевой функции?

УПРАЖНЕНИЯ

1.Для функции f(x1,x2) = –(x1–3)2– 4(x2–2)2 найдите максимальное значение методами: релаксации, градиента, наискорейшего подъема и сравните скорость сходимости.

2.Максимизируйте методом наискорейшего подъема функцию f(X) = 6x1–4x2+2x3–3x12–2x22–1/2х2, приняв Х0 = (0; 0; 3).

3.Определите экстремумы функций f(X) = 4x–x2–3+2x3, используя один из градиентных методов.

4.Максимизируйте функцию f(X) = 1–2х12+2х1х2–2х22. Задачу решите методом наискорейшего подъема, выбрав в качестве исходного условие x10 = х20 = 0.

5.Выполните 5 итераций при поиске максимального значения функции f(X) = 36x1+36x2–5x12 методом наискорейшего подъема.

6.Найдите экстремум критерия оптимальности R, соответствующий точке минимума: R = x12–x1x2+x22+x1–x2.

72

7. Найдите экстремум функции f(Х) = x12+x22 методом релаксации, приняв в качестве отправной точки Х0 = (1; 3).

9.Решите задачу минимизации функции f(X) = x12+4х22–1 градиентными методами, приняв в качестве начальной точку Х0= (1; 1).

10.Найдите экстремум функции min f(X) = x12+2x22–4x1+2x2 с помощью пропорционального градиентного метода и метода

наискорейшего спуска (подъема), начиная итерационный процесс из точки Х0 = (l; 0), полагая ε = 10-2.

11.Найдите экстремум функции min f(X) = 12–x122+3х22 с

помощью пропорционального градиентного метода, если х1 ≥5, х2 0, начиная итерационный процесс из точки Х0= (5,10), полагая ε = 10-2.

12. Выполните 5 итераций при поиске максимального значения функции f(X) = 4x1+x2–5x12–2x22 методом наискорейшего подъема, начиная итерационный процесс из точки Х0= (–2; 1), если х1 –1, х2 ≥1,

ε= 10-2.

13.Составьте программу, реализующую поиск минимума одним

из методов Ньютона. Для функции f(x) = x1–1,2x2+exp(0,04x1)2+2x22) и ε = 2*10–4, Х0= (0; 1) найдите приближенное значение минимума с заданной точностью ε; подсчитайте количество точек, в которых пришлось производить вычисления до достижения функцией заданной точности; постройте график траектории приближенных решений задачи.

73

МЕТОДЫ СТОХАСТИЧЕСКОГО ПОИСКА

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

– простота, а также то, что они не налагают никаких ограничений на оптимизируемую функцию.

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

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

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

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

НЕНАПРАВЛЕННЫЙ СЛУЧАЙНЫЙ ПОИСК

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

74

Сформулируем задачу поиска оптимальных решений как задачу поиска минимума функции W(X) векторного аргумента Х=(х1,x2,…,xn) в некоторой заданной области D допустимых значений X. Область D определяет пространство допустимых решений, каждой точке которого соответствует некоторое значение вектора X и целевой функции W(X), удовлетворяющие заданным ограничениям. Вектор X*D, соответствующий минимуму оптимизируемой функции W(X), является целью поиска.

Ненаправленный случайный (слепой) поиск экстремума

производится

следующим

образом.

Строится

последовательность

X 1 (x1

, x1

,., x1 ) , X 2

(x 2

, x 2

,., x 2 ) ,…, X N (x N , x N ,..,x N ) независи-

1

2

 

n

1

 

2

n

1

2

n

мых случайных векторов, концами которых являются точки, принадлежащие области D. Затем вычисляют соответствующие

значение целевые функции W 1 (x1

, x1

,...,x1 ) ,

W 2 (x 2

, x 2

,...,x 2 ) ,…,

1

2

 

n

1

2

n

W N (x1N , x2N ,...,xnN ) из которых выбирают наименьшую:

 

 

 

 

W (X *) min W1,W 2,...,W N .

 

 

 

Если задано Wmin, то поиск осуществляется до тех пор, пока не

 

 

 

 

 

.

 

 

 

будет найден X , такой что

W (X ) Wmin

 

 

 

 

В основе метода лежит проведение испытаний модели с использованием выборки объема N независимых случайных чисел {хi} для выявления области вероятного экстремума. Его использование требует значительного количества проб (шагов). Поэтому реализация этого метода возможна в основном на базе использования ЭВМ. Сходимость метода ненаправленного случайного поиска зависит от числа n оптимизируемых параметров и от требуемой точности достижения экстремума.

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

75

определяется тем, насколько подробно была просмотрена область определения целевой функции.

Большая трудоемкость поиска – основной и весьма существенный недостаток метода ненаправленного поиска. Достоинство метода – его универсальность, т.е. возможность использования практически для любого вида целевой функции.

Пример 23. Пусть задана целевая функция W=140x10,93+150x20,86. Требуется найти значения параметров х1>0 и х2>0, соответствующие минимальному значению. Переменные x1 и х2

связаны системой неравенств: x1+x2=1000, 5х10,9+10x20,85 ≤ 3200,

24х10,94+6х20,93≤ 16000, 8x10,88+14x20,89≤ 5050.

Решение. Для решения поставленной задачи будем использовать ненаправленный случайный метод поиска. Отметим, что достаточно найти оптимальное значение одной переменной, например x1, поскольку значение х2 можно получить из соотношения x1+x2=1000.

Учитывая, что ζ – последовательность случайных чисел, равномерно распределенных в интервале (0,1), т.е. 0≤ ζk ≤1, а 0≤x1≤1000, в качестве первого значения x1 принимаем x1=1000ζ1, а x2 вычислим.

Далее проверяем полученные значения x1 и х2 на соответствие системе ограничений, при выполнении которых вычисляем значение целевой функции. Результаты расчетов сведем в табл. 7.

Таблица 7

 

 

 

Выполнение

 

 

 

 

Выполнение

 

 

 

 

ограничений

 

 

 

 

ограничений

 

x1(k)

x2(k)

(признак 1)

W(k)

x1(k)

x2(k)

(признак 1)

W(k)

1

100

900

0

 

31

196

804

0

 

 

 

 

 

 

 

 

 

 

 

2

973

27

1

86704

32

450

550

0

 

 

 

 

 

 

 

 

 

 

 

3

253

747

0

 

33

930

70

1

86482

 

 

 

 

 

 

 

 

 

 

4

376

624

0

 

34

323

677

0

 

 

 

 

 

 

 

 

 

 

 

5

520

480

0

 

35

209

791

0

 

 

 

 

 

 

 

 

 

 

 

6

135

865

0

 

36

25

975

0

 

 

 

 

 

 

 

 

 

 

 

7

863

137

1

85589,6

37

601

399

0

 

 

 

 

 

 

 

 

 

 

 

8

467

533

0

 

38

595

405

0

 

 

 

 

 

 

 

 

 

 

 

9

354

646

0

 

39

334

666

0

 

 

 

 

 

 

 

 

 

 

 

10

876

124

1

85800,5

40

764

236

1

83674

 

 

 

 

 

 

 

 

 

 

11

809

191

1

84616

41

990

10

1

86253

 

 

 

 

 

 

 

 

 

 

76

Продолжение табл. 7

 

 

 

Выполнение

 

 

 

 

Выполнение

 

 

 

 

ограничений

 

 

 

 

ограничений

 

x1(k)

x2(k)

(признак 1)

W(k)

x1(k)

x2(k)

(признак 1)

W(k)

12

590

410

0

 

42

190

810

0

 

 

 

 

 

 

 

 

 

 

 

13

911

89

1

86281

43

252

748

0

 

 

 

 

 

 

 

 

 

 

 

14

737

263

1

83077,5

44

909

91

1

86253

 

 

 

 

 

 

 

 

 

 

15

542

458

0

 

45

376

624

0

 

 

 

 

 

 

 

 

 

 

 

16

48

952

0

 

46

707

293

1

82371

 

 

 

 

 

 

 

 

 

 

17

56

944

0

 

47

153

847

0

 

 

 

 

 

 

 

 

 

 

 

18

489

511

0

 

48

831

169

1

85021

 

 

 

 

 

 

 

 

 

 

19

474

526

0

 

49

131

869

0

 

20

296

704

0

 

50

165

835

0

 

 

 

 

 

 

 

 

 

 

 

21

248

752

0

 

51

886

114

1

85951

 

 

 

 

 

 

 

 

 

 

22

52

948

0

 

52

767

233

1

83745

 

 

 

 

 

 

 

 

 

 

23

403

597

0

 

53

439

561

0

 

 

 

 

 

 

 

 

 

 

 

24

720

280

1

82682,2

54

712

288

1

82492

 

 

 

 

 

 

 

 

 

 

25

636

364

1

80585

55

807

193

1

84561

 

 

 

 

 

 

 

 

 

 

26

104

896

0

 

56

999

1

1

86390

 

 

 

 

 

 

 

 

 

 

27

20

980

0

 

57

708

292

1

82397

 

 

 

 

 

 

 

 

 

 

28

842

158

1

85231,4

58

15

985

0

 

 

 

 

 

 

 

 

 

 

 

29

268

732

0

 

59

736

264

1

83052

 

 

 

 

 

 

 

 

 

 

30

953

47

1

86659

60

147

853

0

 

 

 

 

 

 

 

 

 

 

 

В данной серии испытаний наилучший результат получен в 25-м испытании: W125 = 80585, х125 = 636, х225= 364.

Эффективность метода значительно снижается в связи с тем, что около 60% всех испытаний оказываются неудачными из-за невыполнения ограничений.

Исследуя систему ограничений, можно установить, что допустимое значение x1 лежит в пределах 634≤ x1≤1000, а 0≤ x2≤ 366.

Учитывая эти ограничения, значение x1 можно рассчитать по формуле x1 = 634+366ζk, что позволит значительно сократить число испытаний.

НАПРАВЛЕННЫЙ СЛУЧАЙНЫЙ ПОИСК

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

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

77

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

ПРОСТЫЕ МЕТОДЫ СЛУЧАЙНОГО ПОИСКА

Метод с возвратом при неудачном шаге работает следующим образом. В пространстве параметров произвольно выбирается точка Х0. Задается постоянный шаг h. Из точки Х0 в случайном направлении, определенном случайным единичным вектором ζ=(ζ1,…,ζn), осуществляется шаг на величину h. Вычисляется значение целевой функции в новой точке X1. Если значение функции в новой точке уменьшилось (в случае поиска минимума), то шаг считается рабочим и новый шаг осуществляется из точки X1 в случайном направлении. При увеличении значения целевой функции (в случае поиска минимума) шаг считается неудачным и производится возвращение в точку X0, из которой в случайном направлении снова совершается пробный шаг.

Метод построен на поощрении случайностью, т.е. обращение к случайному вектору происходило после удачного шага. Однако можно после удачного шага продолжать поиск в том же направлении, а после неудачного шага обращаться к случайному вектору, т. е. "наказывать" случайностью. В этом случае обращение к случайному вектору указывает на то, что удачное направление исчерпалось. Этот алгоритм является статистическим обобщением алгоритмов Гауса-Зайделя. Однако благодаря введению случайности движение к экстремуму производится не только вдоль координат, но и вдоль любого направления.

Пример 24. Пусть задана целевая функция W= x1+x22. Требуется найти значения параметров х1 и х2, соответствующие ее максимальному значению. Переменные x1 и х2 связаны системой неравенств 5х1+ 10x2 ≥5, 4х12≤ 4, –x1+x2≤ 2, x1+x2=1,5.

Решение. Для решения поставленной задачи будем использовать направленный случайный поиск с наказанием случайностью: после удачного шага продолжаем поиск в том же направлении, а после неудачного шага обращаемся к случайному вектору, т. е. «наказываем» случайностью. Благодаря соотношению

78

x1+x2=1,5 достаточно найти оптимальное значение одной переменной, например x1, а значение х2 вычислить.

После исследования системы ограничений установлено, что

допустимое

значение x1 лежит в пределах

–0,25≤ x1≤ 0,83, а

0,66≤ x2≤ 1,75.

Зададим

длину рабочего шага

h = 0,2.

Учитывая

ограничения

зададим

координаты начальной

точки

поиска

Х0= (х10=0,5, x20=1), и тогда значение x1k можно рассчитать по формуле x1k+1 = х1k+hζk, что позволит значительно сократить число испытаний. Значение целевой функции в начальной точке поиска W0= 1,5.

Для реализации метода направленного случайного поиска нужна последовательность случайных чисел ζ, равномерно распределенных в интервале (–1, 1). Воспользовавшись случайными числами, равномерно распределенными в интервале (0, 1), получим последовательность случайных чисел: –0,6; –0,28; 0,48; 0,1; 0,98;

–0,25; 0,6.

Первый шаг поиска осуществляется в случайном направлении. Вычисляем координаты точки X1: х11 = х10+h*ζ1=0+0,2*(–0,6) = 0,38; х21 = 1,5–0,38 = 1,12. После проверки полученной точки на выполнение ограничений (результат положительный) вычисляем значение целевой функции: W1 = 1,634. Поскольку ∆W=W1–W0>0, шаг следует считать удачным, поэтому следующие шаги делаются в том же направлении до первого неудачного шага. Результаты расчетов сведем в табл. 8.

 

 

 

 

 

 

Таблица 8

 

 

 

 

 

 

 

 

 

 

Выполнение

 

Удачность

Значение

х1(k)

х2(k)

ограничений

W(k)

опыта

смещения

 

 

 

(признак 1)

 

 

i

0

0,5

1

1

1,5

1

–0,2*0,6

 

 

 

 

 

 

 

1

0,38

1,12

1

1,634

1

–0,2*0,6

 

 

 

 

 

 

 

2

0,26

1,24

1

1,797

1

–0,2*0,6

 

 

 

 

 

 

 

3

0,14

1,36

1

1,986

1

–0,2*0,6

 

 

 

 

 

 

 

4

0,02

1,48

1

2,21

1

–0,2*0,6

 

 

 

 

 

 

 

5

–0,1

1,6

1

2,46

1

–0,2*0,6

 

 

 

 

 

 

 

6

–0,22

1,72

1

2,738

1

–0,2*0,6

 

 

 

 

 

 

 

7*

–0,36

1,86

0

0

–0,2*0,28

 

 

 

 

 

 

 

8*

–0,276

1,776

0

0

0,2*0,48

 

 

 

 

 

 

 

9*

–0,124

1,624

1

2,513

0

0,2*0,1

 

 

 

 

 

 

 

79

Продолжение табл. 8

 

 

 

Выполнение

 

Удачность

Значение

х1(k)

х2(k)

ограничений

W(k)

опыта

смещения

 

 

 

(признак 1)

 

 

i

10

–0,2

1,7

1

2,888

1

0,2*0,1

11*

–0,18

1,68

1

2,64

0

0,2*0,98

 

 

 

 

 

 

 

12*

–0,004

1,504

1

2,262

0

–0,2*0,25

 

 

 

 

 

 

 

13*

–0,25

1,75

1

2,81

0

0,2*0,6

 

 

 

 

 

 

 

14*

–0,13

1,63

1

2,527

0

 

 

 

 

 

 

 

 

Неудачные шаги отмечены звездочкой. Наилучший результат получен в 10-м испытания: W10 = 2,888, х110 = –0,2, x210 = 1,7.

МЕТОДЫ СЛУЧАЙНОГО ПОИСКА С НАКОПЛЕНИЕМ

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

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

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

случайным вектором и противоположным ему, делаются пробы с шагом а, определяются значения целевой функции в точках Х1,2=Х±а.

Всторону улучшения значения целевой функции совершается рабочий шаг на величину h, Величина пробного и рабочего шага задается.

Вметоде наилучшей пробы из точки X делается m случайных

независимых проб с заданным шагом a. Для каждой пробы вычисляется значение функции W(Xk+aζ). Полученные значения сравниваются, и рабочий шаг совершается в направлении той пробы, которая привела к наилучшему значению целевой функции.

80