- •По курсу «Теория принятия решений» (36 часов)
- •Специальность 220200
- •Лабораторная работа №1
- •«Методы одномерной оптимизации» (2-4 часа).
- •Варианты заданий:
- •Лабораторная работа №2 «Методы многомерной оптимизации» (4 часа)
- •Лабораторная работа №3
- •И величину среднеквадратичного отклонения
- •Порядок выполнения работ
- •«Общая задача линейного программирования» (4-6 часов).
- •Варианты заданий
- •Лабораторная работа № 5 Целочисленное программирование (4 часа)
- •Лабораторная работа №7 «Факторный анализ в условиях экстремального поиска(4 часа)
- •Матрица ортогонального центрального композиционного плана
- •Лабораторная работа № 8
- •С использованием факторного эксперимента
Варианты заданий:
f(x) = (x3+1.2x2-1.95x)ex
1.2 f(x) = (2x3+5.1x2+3.6x)e-x
f(x) = xsin(x)+2sin(x-0.8)
f(x) = 3sin(x)+2sin(x-0.5)
1.5 f(x) = 10cos(x)ln(x+1)
f(x) = ln(1+x)(x2-4)(x-5)
f(x) = 10sin(x)ln(x)
f(x) = e1.5xsin(x)
f(x) = e1.5xcos(x)
f(x) = (2x2-x)sin(x)
f(x) = 5(x2-1)sin(x)
f(x) = 10(x2-4)sin(x)
f(x) = (x2-16)sin(x)
f(x) = 10 x2 cos(x)
f(x) = (4x2+8x) cos(x)
f(x) = (8x2+4x) cos(x)
f(x) = (x2-16) cos(x)
f(x) = (2x2-12.5) cos(x)
f(x) = (4x2-16x+10) sin(x)
f(x) = (4x2-4x-9) sin(x)
f(x) = 10 x(x-2) (x-5) sin(2x)
f(x) = 10 ln(x) sin(2x)
1.23 f(x) = (x-1.5) (x-2.5) (x-4.5) ln(x)
1.24 f(x) = (x-1.5) (x-3) (x-4) ex
f(x) = (10sin(x)) / x
f(x) =
;
f(x) =
;
i
=1,n;
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
для b=2.02;
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
f(x )=
;
f(x) =
;
f(x) =
;
2.18. f(x)
=
.
Лабораторная работа №2 «Методы многомерной оптимизации» (4 часа)
Теоретическое введение
Задачи многомерной оптимизации связаны с нахождением экспериментальных значений функции многих переменных f(х1,…,хn) и соответствующих им значений параметров х1,…,хn. Для двух переменных целевую функцию можно изобразить в виде некоторой поверхности аналогично изображению рельефа местности на топографических картах линиями ровного уровня.
Характерные примеры такого изображения представлены на рис.2.1.
Рис. 2.1. Примеры целевых функций
Численные методы нахождения экстремума в n – мерном пространстве заключаются в определении последовательности векторов {x(k)} в направлении улучшения целевой функции, т.е. удовлетворяющих условиям
f(x(0)) > f(x(1)) > ... > f(x(n)) - при поиске минимума
и
f(x(0)) < f(x(1)) < ... < f(x(n)) - при отыскании максимума.
Метод сканирования
Метод сканирования заключается в последовательном просмотре значений функции в ряде точек области изменения независимых переменных и нахождении точки, в которой функция имеет экстремальное значение.
Алгоритм поиска заключается в том, что по каждой независимой переменной задаются приращения в соответствующем порядке, обеспечивающем перебор дискретных точек заданной области изменения переменных.
Метод покоординатного поиска
Метод заключается в поочередном поиске локального экстремума по каждой координате xi; i = 1, n заданного пространства. Движение в координатном направлении при постоянстве других координат продолжается до нахождения локального экстремума, после чего следует перемещение по следующей координате. Поиск осуществляется одним из методов одномерной оптимизации до достижения заданной точности локализации экстремума.
Для
функции двух переменных y
= f(x1,
x2)
процесс покоординатного поиска показан
на рис.2.8. Из начальной точки
следует продвижение по координате х1
при постоянстве х2
до локального экстремума в точке
,
после чего
направление движения меняется и следует
по второй координате х2
при
до точки
и т.д. до глобального экстремума.
Блок–схема
алгоритма (Рис.2.2) включает ввод числа
переменных n,
координат исходной точки
,
начального шага h0
и начального значения экстремума Y0.
Далее задается координата перемещения
i=i+1;
,
проводится поиск локального экстремума
Ym
каким либо методом одномерного поиска
(в данном случае методом дробного шага)
и проверяется условие точности
При его невыполнении поиск продолжается по следующей i = i +1 координате, исходя из Y0 = Ym. В противном случае найденная точка с заданной точностью является оптимальным решением.
Рис. 2.8. Поиск оптимума методом покоординатного спуска
Сходимость метода зависит от вида оптимизируемой функции и выбора начального приближения. Метод неприменим при наличии изломов в линиях уровня (при наличии оврагов).
Градиентный метод
Направление наиболее быстрого возрастания функции f(x1…xn) характеризуется ее градиентом – вектором, проекциями которого на оси координат являются частные производные функции по координатам
Величина или модуль градиента равняется корню квадратному из суммы проекций
Проекция градиента на плоскость х1х2 перпендикулярна касательной к линии уровня функции f(x1x2) (Рис.2.10а.). Направление вектора grad f определяется углами i между вектором и соответствующей осью с направляющими косинусами (Рис. 2.3 б.)
;
Рис.2.2. Блок-схема алгоритма покоординатного спуска.
а) б)
Рис. 2.3. Поиск оптимума градиентным методом
и в общем случае
Перемещение вдоль градиента дает кратчайший путь к вершине (max) функции f(x1…xn), а перемещение в противоположном направлении указывает кратчайший путь к минимуму функции.
При этом координаты новой точки на k-ом шаге перемещения будут определятся при шаге h как:
…………………..
Для i-ой координаты (i-го параметра)
или
При простом перемещении размер шага выбирают достаточно малым так, чтобы при переходе от одной точки к другой направление менялось бы не более чем на 10-15 градусов. Перемещение продолжается до тех пор, пока производные или градиент не станет достаточно малой величиной или не будет достигнута граница области, т.е.
или
Если функция дифференцируема, то производные вычисляются по аналитическим формулам. В противном случае производные вычисляются с помощью конечных разностей
Для
нахождения оптимального решения с любой
заданной точностью используется
градиентный
поиск с дроблением шага
(Рис.2.4 ). При этом произвольно выбирается
начальная точка
и начальное значение шага h.
Далее вычисляются координаты новой
точки и проверяется условие монотонности
возрастания
Y(k) > Y(k-1);
или
Если это условие нарушается, то шаг дробится (делится пополам) до тех пор, пока монотонность не восстановится. Пошаговое движение продолжается до выполнения условия
,
где как угодно малая величина.
Недостатком метода является необходимость вычисления n-производных функции f на каждом шаге, что неудобно при большом количестве переменных. От этого недостатка свободен метод крутого восхождения (наискорейшего спуска), согласно которому после определения градиента в исходной точке следует перемещение на несколько шагов пока функции f(x1…xn) не начнет убывать. В точке перегиба вновь следует вычисление градиента по частым производным с определением нового направления движения (Рис.2.5 ).
Рис. 2.11. Блок-схема алгоритма градиентного поиска с дробным шагом
Критерии окончания поиска аналогичны критериям градиентного метода. При этом восхождение происходит более крупными шагами и градиент целевой функции вычисляется в меньшем числе точек.
Метод крутого восхождения сводит многомерную задачу оптимизации к последовательности одномерных задач в направлении, определяемом градиентом целевой функции.
Метод сопряженных градиентов
Метод наискорейшего спуска и градиентные методы медленно сходятся в тех случаях, когда поверхности уровня функции f(x) сильно вытянуты. Этот факт называется “эффектом оврагов”. Суть эффекта в том, что небольшие изменения одних переменных приводят к резкому изменению значения функции - это “склон оврага”, а по остальным переменным, задающим направление “дна оврага”, функция меняется незначительно. В таких случаях применяют метод сопряженных градиентов. Например, если целевая функция n переменных квадратичная, то поиском вдоль сопряженных направлений можно получить точку минимума не более чем за n шагов.
Сущность метода заключается в выборе нового направления в зависимости от отношения вектора-градиента на данном шаге к вектору- градиенту на предыдущем шаге. При этом направляющие косинусы нового направления выражаются как:
где коэффициент (k) равен отношению градиентов на смежных шагах
Новые направления называются сопряженными и соответствуют текущей локальной квадратичной аппроксимации функции.
Алгоритм максимизации функции методом сопряженных градиентов
Флетчера и Ривса при задаваемых точности вычислений , количества переменных n и начального приближения xi(0) представлен на рис.2.6. По найденному направлению проводится одномерный поиск локального экстремума с проверкой достижения максимума grad f(x1…xn) .. Если условие выполняется, то оптимальное решение найдено, в противном случае определяются новые сопряженные направления.
Достоинство метода заключается в том, что он использует преимущества градиентного поиска при исследовании целевой функции с разрывными
Рис. 2.5. Блок-схема метода наискорейшего спуска (крутого восхождения)
производными. При этом не «зависает на изломе», а идет вдоль линии, соединяющей точки изломов и, как правило, проходящей через точку оптимума.
Рис.2.6. Блок-схема алгоритма метода сопряженных градиентов
Если функция имеет несколько экстремальных точек (вершины или впадины), то для отыскания глобального экстремума используют метод полного перебора или случайного поиска. При этом выбирается случайно начальная точка движения и каждое новое значение extrF сравнивается с предыдущим. В памяти сохраняется каждое следующее значение, превышающее предыдущее.
Одним из возможных вариантов – это случайный поиск с промежуточными подъемами. При этом следует подъем по градиенту до ближайшей вершины и запоминание значения Fmax1. Затем выбирается новая случайная точка и следует движение к новому максимуму Fmax2 . Если Fmax2 > Fmax1 следует его запоминание и т. д.
Выбор метода зависит от вида функции цели:
при унимодальной функции – метод покоординатного поиска, градиентные методы;
в случае сепарабельной целевой функции
- метод
покоординатного поиска;
если все переменные однородны и тесно связаны друг с другом лучше использовать метод наискорейшего спуска;
при большой размерности – методы случайного поиска.
Задание и порядок выполнения работы
Для заданной функции 2-х переменных вида:
F(x1,x2) = a11x12 + 2a12x1x2 + a22x22 + 2a13x1 + 2а23х2
найти экстремальное значение для коэффициентов, заданных в таблице
(a11 a12 a22 a13 а23) методами сканирования, покоординатного поиска (релаксации), градиентного поиска, наискорейшего спуска (крутого восхождения) и сопряженных градиентов.
№ |
a11 |
2a12 |
a22 |
2a13 |
2a23 |
1 |
2.5 |
1 |
2 |
-13 |
-4.5 |
2 |
2.5 |
1 |
2 |
-5 |
-10.5 |
3 |
3 |
1 |
1 |
-5.5 |
-6.5 |
4 |
3 |
1 |
1 |
-4.5 |
-3.5 |
5 |
4 |
0.5 |
0.5 |
-9.5 |
-3.5 |
6 |
4 |
0.5 |
0.5 |
-4.2 |
-2.2 |
7 |
1 |
0.5 |
2.5 |
-2 |
-10.5 |
8 |
1 |
0.5 |
2.5 |
-3.5 |
-6.5 |
9 |
2.5 |
-1 |
2 |
-12 |
0.5 |
10 |
2.5 |
-1 |
2 |
0 |
-9.5 |
11 |
3 |
-1 |
1 |
-6.5 |
-3.5 |
12 |
3 |
-1 |
1 |
-1.5 |
-2.5 |
13 |
4 |
-0.5 |
0.5 |
-6.5 |
-2.5 |
14 |
4 |
-0.5 |
0.5 |
-2.2 |
-1.8 |
15 |
0.5 |
-0.5 |
2.5 |
0 |
-9.5 |
16 |
0.5 |
-0.5 |
2.5 |
-2.5 |
-3.5 |
17 |
2.5 |
1 |
2 |
12 |
0.5 |
18 |
2.5 |
1 |
2 |
0 |
-10 |
19 |
3 |
1 |
1 |
6.5 |
-2.5 |
20 |
3 |
1 |
1 |
-1.5 |
-2.5 |
21 |
4 |
0.5 |
0.5 |
6.5 |
-2.5 |
22 |
4 |
0.5 |
0.5 |
2.2 |
-1.8 |
23 |
0.5 |
0.5 |
2.5 |
0 |
-9.5 |
24 |
0.5 |
0.5 |
2.5 |
2.5 |
-3.5 |
25 |
2.5 |
-1 |
2 |
7 |
4 |
26 |
2.5 |
-1 |
2 |
5.5 |
6.5 |
Для каждого метода составить процедурный модуль и включить его в головную программу с распечаткой таблицы экстремальных значений по всем методам.
Ввести границы области по х1 и х2 и учесть их в алгоритме поиска.
Найти оптимальное решение для целевой функции многих переменных с предварительным определением области существования функции.
Варианты целевых функций
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
f(x) =
;
f(x ) =
;
f(x1,x2,x3) =
;
f(x1,x2,x3 ) =
;
f(x ) =
;
f(x ) =
;
f(x) =
;
f(x ) =
;
f(x) =
;
f(x) =
;
f(x) =
.
