Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория / 2 / 09-OPTIM.DOC
Скачиваний:
84
Добавлен:
30.04.2013
Размер:
246.78 Кб
Скачать

Блок-схема метода "золотого сечения"

В этой блок-схеме y, z - точки деления отрезка [a, b],причем y < z.

Ввод a,b,e

y = 0.618a + 0.382b

z = 0.382a + 0.618b

Fy = f(y) : Fz = f(z)

Да Нет

Fy < Fz

b = z a=y

Да Да

b - a < e b - a < e

Нет Нет

z = y : Fz = Fy y = z : Fy = Fz

y = 0.618a + 0.382b z = 0.382a + 0.618b

Fy = f(y) Fz = f(z)

x = (a + b)/2

Вывод x, f(x)

Пример. Для оценки сопротивления дороги движению автомобиля при скорости v км/ч можно использовать эмпирическую формулу f(v) = 24 - 2/3*v + 1/30*v2 (для шоссе). Определить скорость, при которой сопротивление будет минимальным.

Решение.

1) Данную задачу легко решить с помощью вычисления производной:

, v = 10 км/ч .

2) Решение с помощью метода "золотого сечения". Начальные границы интервала неопределенности примем равными a = 5, b = 20.

Решение для первого этапа:

y = 0.618*5 + 0.382*20 » 10.7 : z = 0.382*5 + 0.618*20 » 14.3

Fy = 24 - 2*10.7/3 + 10.72/30 » 20.7 : Fz = 24 - 2*14.3/3 + 14.32/30 » 21.3

Fy < Fz

Результаты вычислений обычно представляют в виде таблицы. Расчеты проводятся в соответствии с блок-схемой с погрешностью e = 1 км/ч .

Шаг

a

y

z

b

Fy

Fz

b-a

1

5

10.7

14.3

20

20.7

21.3

15

2

5

8.6

10.7

14.3

20.73

20.68

9.3

3

8.6

10.7

12.1

14.3

20.68

20.81

5.7

4

8.6

9.9

10.7

12.1

20.66

20.68

3.5

5

8.6

9.4

9.9

10.7

20.68

20.66

2.1

6

9.4

10.7

После пяти шагов оптимизации искомое значение скорости равно v = (8.6+10.7)/2 = 9.65 км/ч. После еще одного шага этот результат получается с меньшей погрешностью v = (9.4+10.7)/2 = 10.05 км/ч.

Оптимизация функции многих переменных Минимум функции нескольких переменных

Минимум дифференцируемой функции многих переменных u = f(x1, x2, … , xn) можно найти, исследуя ее значение в критических точках, которые определяются из решения системы дифференциальных уравнений

.

Отметить, что в данном случае критические точки могут соответствовать либо экстремальным, либо "седловым" точкам (точкам "минимакса"). Под этими точками понимаются такие точки, в которых по некоторым направлениям функция имеет минимум, а по остальным направлениям - максимум.

Пример постановки задачи. Пусть требуется спроектировать контейнер в форме прямоугольного параллелипипида объемом V=1 м3, причем на его изготовление необходимо израсходовать как можно меньше материала.

При постоянной толщине стенок это условие означает, что площадь полной поверхности контейнера S должна быть минимальной. Если обозначить через x1, x2 и x3 длины ребер контейнера, то задача сведется к минимизации функции:

S = 2 (x1 x2 + x1 x3 + x2 x3) .

Эта функция в данном случае является целевой, а условие V = 1 м3 - ограничением-равенством, которое позволяет исключить один параметр:

.

Тогда

Задача свелась к минимизации функции двух переменных. В результате ее решения будут найдены значения параметров оптимизации x1 и x2, а затем и x3. В приведенном примере фактически получилась задача безусловной оптимизации, так как ограничение-равенство было использовано для исключения параметра x3.

Решение. После дифференцирования получим

Отсюда находят x1 = x2 =1 м, x3 = 1/(x1x2) = 1 м. Таким образом, оптимальной формой контейнера в данном случае является куб, длина ребра которого равна 1 м.

При таком подходе могут возникнуть серьезные трудности при решении системы нелинейных уравнений.

Вместе с тем, можно эту задачу усложнить. Например, потребуем, чтобы данный контейнер имел длину не менее 2 м. Это условие запишется в виде ограничения-неравенства на один из параметров, например, x1 ³ 2 .

Таким образом, получили следующую условную задачу оптимизации: минимизировать функцию

учитывая ограничение-неравенство x1 ³ 2 и найти оптимальные значения факторов x2, x3 (x2³0, x3³0).

Графическое представление функции двух переменных: рассмотреть функцию

f(x1, x2) = x12 + x22 .

Показать линии равного уровня для этой функции.

Дать общий вид трех возможных вариантов линий равного уровня, показать "овражные" функции.

В общем случае для поиска минимального значения целевой функции можно ввести дискретное множество точек (узлов) путем разбиения интервалов изменения параметров x1 и x2 на части с шагами h1 и h2. В полученных узлах можно вычислить значения целевой функции и среди них найти наименьшее. Однако в многомерных задачах оптимизации такой подход требует слишком большого объема вычислений.

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