Transcript Document

Приложно математично програмиране
ЛЕКЦИЯ 3
Оптимизация при целеви функции с един управляващ параметър
Prof. Boyan Bonev Ivanov, Ph.D.
Email: [email protected]
Institute of Chemical Engineering-BAS
Лекции
Лекция 1
Въведение в математичното програмиране
Лекция 2
Линейно програмиране
Лекция 3
Оптимизация при целеви функции с един управляващ
параметър
Лекция 4
Нелинейно програмиране – Градиентни методи
Лекция 5
Нелинейно програмиране – Директни методи
Лекция 6
Нелинейно програмиране – Методи с ограничения
Лекция 7
Методи за булева и дискретна оптимизация
Лекция 8
Методи за глобална оптимизация
Лекция 9
Методи за многоцелева оптимизация
2
План на лекцията
1. Постановка на задачата
2. Методи на сканирането
2.1. Сканиране с постоянна стъпка
2.2. Сканиране с променлива стъпка
3. Метод на “дихотомията”
3.1. Постановка на задачата-графическа интерпретация
3.2. Алгоритъм на метода
4. Метод на “златното сечение”
4.1. Постановка на задачата-графическа интерпретация
4.2. Алгоритъм на метода
5. Интерполационни методи
5.1. Метод на Дейвис, Суен и Кемпи
Постановка на задачата
f ( x)  MIN
a xb
ИЛИ
f ( x)  MAX
x  a, b
Maximum
Maximum
Постановка на задачата - графическа интерпретация
f (x)
а
X*min
X*max
X*min
b
x
Методи на сканирането
f (x)
а
X*min
X*max
X*min
b
x
Сканиране с постоянна стъпка
f (x)
  const
       
а
X*min
 
b
x
Сканиране с променлива стъпка
Алгоритъм на метода:
1. Приема се начален интервал на сканиране
ba
 
,
L
(1)
L  45
2. Прави се сканиране в целия първоначален интервал и се определят
координатите на max или min
3. Избира се нов интервал на сканиране
(k )
(k )
a  xmax
 ( k ) b  xmax
 ( k )
4. Проверява се критерият за спиране на търсенето
( k )   min
5. Намалява се стъпката за сканиране
( k 1)
( k )

L
6. Процедурата се повтаря в т.3 до достигане на зададената точност
Сканиране с променлива стъпка
f (x)
(1)
а
а
( 2 )
X*min
b
b
x
Метод на “дихотомията”
Алгоритъм на метода:
1. Изчислява се целевата функция на границите
2. Изчислява се целевата функция на средата на интервала
x
(1)
ba
a
2
3. Изчислява се делта
ba
 a
2
4. Изчислява се Ц.Ф. За стойностите на аргумента
x ( 2)  a   x (3)  b  
5. От получените 5 стойност се избира най-добрата и се запомня
6. Ако
   min търсенето се прекратява, иначе продължаваме в т.7
7. Отхвърля се половината от изследваната област и се определят новите
граници за търсене на екстремума
a  xmin   b  xmin  
8. Ако екстремума съвпада с една от граничните точки, съответната граница
се запазва и алгоритъма продължава в т. 2
9. Ако екстремума е вътре в допустимите граници, алгоритъма продължава в
т. 3
Метод на “дихотомията”-Графическа интерпретация
f (x)
1
2
4
3
5

а

а
*
X(1) X min b
b
x
Метод на “златното сечение”
Принципът на метода на “златно сечение” се състои в разделяне на
търсената област на две части в отношение което удовлетворява т. нат
“златно сечение”
L L1

L1 L2
L1
 Z 2  0.62
L
L2
L2  L22  3LL2  0
L2
3 5
 Z1 
 0.38
L
2
L
L1
L3
L L1 L2


 ....
L1 L2 L3
L2
Метод на “златното сечение”
f ( x1 )  f ( x2 )
f (x)
1
f ( x1 )
f ( x2 )
2
0.62(b-a)
0.38(b-a)
а
x1
X*min x2
b
x
Метод на “златното сечение”
f (x)
f ( x1 )  f ( x2 )
2
1
f ( x2 )
f ( x1 )
0.62(b-a)
0.38(b-a)
а
X*min
x1
b
x
Метод на “златното сечение”
f ( x1 )  f ( x2 )
f (x)
2
1
f ( x1 ) f ( x2 )
0.62(b-a)
0.38(b-a)
а
а
X*min
b
b
x
Метод на “златното сечение”
Алгоритъм на метода:
1. Изчислява се величините Z1 Z 2
2. Определят се границите по формулите
x(1)  a  Z1 (b  a)
x( 2)  a  Z 2 (b  a)
3. Изчисляват се Ц.Ф. За стойностите на границите
4. Ако f ( 2)  f (1)
5. Ако f ( 2)  f (1)
променят се границите на допустимата област
5.1. Границата а се променя на а1
5.2. Запомня се най-добрият резултат до момента
5.3. Проверява се критерият за спиране на търсенето Z 2 (b  a)   min
5.4. Определя се x( 2)  a  Z 2 (b  a)
5.5. Изчислява се Ц.Ф. и алгоритъма се повтаря в т.4
6. Ако f (1)  f ( 2)
(случай 2)
6.1. Границата b се променя b1
6.2. Запомня се най-добрият резултат до момента
6.3. Проверява се критерият за спиране на търсенето Z 2 (b  a)   min
6.4. Определя се
x(1)  a  Z1 (b  a)
6.5. Изчислява се Ц.Ф. и алгоритъма се повтаря в т.4
7. При изпълнение на условието за спиране на търсенето се оптечатва найдобрият резултат
Метод на “златното сечение”
f ( x1 )  f ( x2 )
f (x)
1
0
f ( x1 )  f ( x2 )
0.62(b-a1)
0.38(b-a1)
1
f ( x1 )
f ( x2 )
2
0.62(b-a)
0.38(b-a)
а
а1
X*min
b
b
x
f (x)
Метод на Дейвис, Суен и Кемпи
Интерполационни методи
f ( x)  b0  b1 ( x  a)  b11 ( x  a)(x  m)
b0  f (a)
D
b11 
bm
f ( m)  f ( a )
b1 
ma
f (b)  f (a ) f (m)  f (a )
D

ba
ma
1
2
1
b1
x  a  m 
2
2b11
*
3
а
m
b
x
Метод на Дейвис, Суен и Кемпи
Алгоритъм на метода:
1. Задават се 3 точки в допустимия интервал (обикновено това са двете
гранични точки и една точка в средата на интервала)
2. Изчисляват се стойностите за целевата функция за тези точки
3. Извършва се квадратична апроксимация съгласно уравнението
f ( x)  b0  b1 ( x  a)  b11 ( x  a)(x  m)
4. Изчислява се минимума на апроксимираната целева функция
x* 
1
a  m  b1
2
2b11
b0  f (a)
D
b11 
bm
f ( m)  f ( a )
b1 
ma
f (b)  f (a ) f (m)  f (a )
D

ba
ma
5. За стойността на условния минимум се изчислява оригиналната целева
функция
6. От получените 4 точки се отхвърля тази с най-лош резултат
7. Проверява се критерия за спиране на търсенето
8. Ако критерия за спиране не е изпълнен, то процедурата се повтаря в т. 3
Метод на Дейвис, Суен и Кемпи
f (x)
Квадратична апроксимация
1
Квадратична
апроксимация
2
3
5
4
X2min
а
X1min X*min
b
x