Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы (студентам).pdf
Скачиваний:
53
Добавлен:
17.05.2015
Размер:
1.62 Mб
Скачать

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