- •1.1 Цель работы
- •1.2 Постановка задачи
- •1.4 Порядок выполнения лабораторной работы
- •1.5 Программа аппроксимации экспериментальных данных
- •1.6 Содержание отчета
- •1.7 Контрольные вопросы
- •2.4 Программа для интерполяции кубическими сплайнами
- •2.6 Содержание отчета
- •2.7 Варианты
- •2.8 Контрольные вопросы
- •3.2.3 Проверка адекватности модели
- •4.1 Цель работы
- •4.3.1 Метод сканирования
- •4.3.1.1 Сущность метода
- •4.3.1.2 Программа поиска методом сканирования
- •4.3.2 Метод половинного деления (метод дихотомии)
- •4.3.2.1. Сущность метода
- •4.3.2.2. Программа поиска методом половинного деления
- •4.3.3 Метод золотого сечения
- •4.3.3.1 Сущность метода
- •4.3.3.2 Программа поиска методом золотого сечения
- •4.5 Порядок выполнения работы
- •4.6 Содержание отчета
- •4.7 Контрольные вопросы
- •5.1 Цель работы
- •5.2 Теоретические основы
- •5.3 Постановка задачи
- •5.4 Порядок выполнения работы
- •5.5 Содержание отчета
- •5.6 Варианты
- •5.7 Контрольные вопросы
- •6.1 Цель работы
- •6.2 Теоретические основы
- •6.2.1 Математические основы решения задачи (при К=2)
- •6.2.2 Программа поиска симплексным методом
- •6.3 Постановка задачи
- •6.4 Порядок выполнения работы
- •6.5 Содержание отчета
- •6.6 Варианты
- •6.7 Контрольные вопросы
35
ЛАБОРАТОРНАЯ РАБОТА № 6 МНОГОМЕРНАЯ ОПТИМИЗАЦИЯ. МЕТОДЫ СТОХАСТИЧЕСКОЙ ОПТИМИЗАЦИИ. СИМПЛЕКСНЫЙ МЕТОД
6.1 Цель работы
Освоение симплексного метода оптимизации. 6.2 Теоретические основы
Методы стохастической оптимизации часто используются, если в ходе эксперимента наблюдается параметр, играющий роль критерия оптимальности, а уравнение регрессии, получаемое в результате исследования, имеет смысл функции оптимизации. Стохастическая оптимизация ставит, таким образом, задачу поиска оптимальных параметров процесса на базе активного эксперимента. Стохастические методы также могут использоваться при наличии детерминированной целевой многопараметрической функции для существенного ускорения решения задачи оптимизации; в этом случае выполняется компьютерный эксперимент, в ходе которого рассчитываются по целевой функции в точках, соответствующих условиям эксперимента по матрицам планирования.
Симплексный метод оптимизации наиболее целесообразно применять при необходимости решения задачи с высокой точностью поиска оптимума. Также, во многих случаях, ввиду сложности функции, для решения задачи нецелесообразно использовать даже такой простой метод оптимизации, как метод Гаусса-Зейделя в сочетании с методом сканирования, поскольку уже для двухмерной задачи объем вычислений будет достаточно велик.
При решении задач симплексным методом расчет выполняется по следующему алгоритму (целевая функция R = f(Z1, Z2, …, ZK)):
1)При исследовании процесса по К факторам Z1, Z2, …, ZK в произвольной точке области исследования А разрабатывают матрицу планирования для симплексов – пространственного К-мерного тела, состоящего из К+1 точек (вершины), которые равноудалены друг от друга (при К=2 симплекс – равносторонний треугольник).
2)Определив координаты вершин симплексов, в них выполняют физический или расчетный эксперимент, определяя таким образом К+1 значение Ri в вершинах симплекса.
3)Сравнивая значения Ri между собой, определяют худшее значение Ri и точку с наихудшим значением Ri отбрасывают.
4)Достраивают симплекс новой точкой, симметричной относительно отброшенной точки “поперек” грани симплекса, состоящей из оставшихся точек.
36
5) Во вновь построенной точке симплекса выполняют эксперимент и возвращаются на четвертый пункт алгоритма, выполняя, таким образом, перемещение к области экстремума (рисунок 6.1). Подобный расчет выполняют до тех пор, пока симплекс не зациклится, т.е. отбрасывание наихудшей точки (точка 10 на рисунке 6.1) приводит к возвращению симплекса в позицию предыдущего расчета.
В этом случае расчет повторяют с первого пункта алгоритма, уменьшив размер симплекса за счет уменьшения шага варьирования ∆Zj по каждому из параметров процесса в симплексной матрице планирования до тех пор, пока не получают ∆Zj ≤ ∆, где ∆ - погрешность расчета оптимальных параметров.
Рисунок 6.1 – Иллюстрация симплексного метода при К=2
Недостатком симплексного метода является возможность произвольного попадания в одну из возможных зон экстремума (не являющуюся оптимальной), если целевая функция является полиэкстремальной. Поскольку алгоритм симплексного метода является быстродействующим, то целесообразно выполнить серию расчетов в нескольких исходных точках А
37
для того, чтобы убедиться в сходимости решения задачи независимо от позиции А, при этом также выясняется, имеет ли задача единственное решение или у неё имеется несколько решений.
6.2.1 Математические основы решения задачи (при К=2)
Для построения координат симплекса в кодированных переменных
Xj можно воспользоваться матрицей |
|
(см. таблицу 6.1), в которой даны |
|||||
кодированные значения X |
ij для i-й |
точки симплекса. |
|||||
|
|
|
|
X |
|
|
|
|
Таблица 6.1 – Матрица кодированных переменных симплексного плана |
||||||
|
Номер |
|
X1 |
|
|
|
X2 |
|
опыта |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
1 |
|
0,5 |
|
|
|
0,289 |
|
|
|
|
|
|
|
|
|
2 |
|
-0,5 |
|
|
|
0,289 |
|
|
|
|
|
|
|
|
|
3 |
|
0 |
|
|
|
-0,578 |
|
|
|
|
|
|
|
|
Выбираем начальную произвольную точку расчета А с координатами
и. Задаемся шагами интегрирования ∆Z1 и ∆Z2.
Согласно формуле кодирования для ортогональных матриц (симплексная матрица относится к ортогональным)
|
|
(6.1) |
|
ΔZ . |
|||
|
Подставляя в (6.1) кодированные значения Xij из таблицы 6.1, рассчитываем координаты трех вершин симплекса по уравнению
∆ . |
(6.2) |
Выбираем наихудшую точку, отбрасываем её и строим зеркальное отображение, которая в совокупности с оставшимися точками дает новый симплекс.
Для расчета координат новой вершины рассчитываем значения параметров Z1 и Z2 по уравнениям
2 |
, |
(6.3) |
(6.4)
с дополнительным условием U ≠ i, где |
− координаты отброшенной точ- |
ки.
При зацикливании симплекса выбирают лучшую вершину последнего симплекса и вокруг неё, как центра нового плана (рисунок 6.1, точка 9),
38
строят новый симплекс меньших размеров и повторяют алгоритм последовательного построения симплексов до очередного зацикливания симплексов.
6.2.2 Программа поиска симплексным методом
“ввод кодированныхпеременных |
0.5 |
|||
x 1, 1 |
0.5: x 1, 2 |
0.289:x 2,1 |
||
x 2, 2 |
0.289: x 3, 1 |
0: x 3, 2 |
0.578 |
|
“ввод исходныхданных |
|
|
||
z0 |
1 |
Worksheets "Simp" .Cells 9, 5 |
||
z0 |
2 |
Worksheets "Simp" .Cells 10, 5 |
||
dz 1 |
1000: dz 2 |
20: n 0:d |
0: n0 0: n1 0 |
222 “вычисление координат точек симплекса и расчет функции в этих точках
For i |
1 To 3 |
||
For j |
1 To 2 |
||
Z |
i, j |
z0 |
j x i, j * dz j |
Next j, i |
|
||
For i |
1 To 3 |
||
n |
i |
|
f Zij |
xprop i |
|||
Next i |
|
|
333 “определение наихудшей точки
r0 xprop 1
u1
For i |
2 To 3 |
Then r0 |
xprop i : u i |
|||
If r0 |
xprop i |
|||||
Next i |
|
|
|
|
||
n |
n |
1 |
|
|
|
|
“Вычисление координат новой точки |
||||||
For j |
1 To 2 |
|
|
|
||
s |
0 |
1 To 3 |
|
|
|
|
For i |
|
s |
Z i, j |
|||
If Not i |
u Then s |
|||||
Next i |
|
|
|
|
||
zc j |
|
s / 2 |
|
|
|
|
Z n, j |
|
2 * zc j Z u, j |
|
|||
Next j |
f Znj |
|
|
|||
xprop n |
u: xprop u xprop n :Z u,1 Z n,1 : Z u,2 Z n,2 :GoTo 333 |
|||||
If Not d |
u Then d |
|||||
“Продолжение расчета при зацикливании симплекса |
||||||
If d |
|
u Then |
|
|
|
|
n0 |
|
n0 |
1 |
|
|
|
ReDim q 2 As Single |
|
|||||
q 1 |
|
0: q 2 |
0 |
|
|
|
For i |
1 To 2 |
xprop i |
1 |
|||
q i |
|
xprop i |
Next i