Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Правильным симплексом в пространстве En называется множество из (n+1)-ой равноудаленных друг от друга точек (вершин симплекса). Отрезок, соединяющий две вершины, называется ребром симплекса.
В пространстве E2 правильным симплексом является совокупность вершин равностороннего треугольника, в E3 - правильного тетраэдра.
Если х° - одна из вершин правильного симплекса в En, то координаты остальных n вершин х1,..., xn можно найти, например, по формулам (4.1)
(4.1)
где , , а - длина ребра. Вершину х° симплекса, построенного по формулам (4.1), будем называть базовой.
В алгоритме симплексного метода используется следующее важное свойство правильного симплекса. По известному симплексу можно построить новый симплекс путем отражения какой-либо вершины, например, симметрично относительно центра тяжести xС остальных вершин симплекса. Новая и старая вершины и xk связаны между собой соотношением: ,где
В результате получается новый правильный симплекс с тем же ребром и
Поиск точки минимума функции f(x) с помощью правильных симплексов производится следующим образом. На каждой итерации сравниваются значения fx) в вершинах симплекса.Затем проводится описанная выше процедура отражения для той вершины, в которой fx) принимает наибольшее значение. Если в отраженной вершине получается меньшее значение функции, то переходит к новому симплексу. В противном случае выполняют еще одну попытку отражения для вершины со следующим по величине значением f(x). Если и она не приводит к уменьшению функции, то сокращают длину ребра симплекса, например, вдвое и строят новый симплекс с этим ребром. В качестве базовой выбирают ту вершину х0, старого симплекса, в которой функция принимает минимальное значение. Поиск точки минимума f(x) заканчивают, когда либо ребро симплекса, либо разность между значениями функции в вершинах симплекса становятся достаточно малыми.
Опишем один из вариантов алгоритма симплексного метода.
Шаг 0. Выбрать параметр точности е, базовую точку x0, длину ребра a и построить начальный симплекс по формулам (4.1). Вычислить функцию f(x0).
Шаг 1. Вычислить значения f(x) в вершинах симплекса x1,..., xn.
Шаг 2. Упорядочить вершины симплекса x0,..., xn так, чтобы
Шаг 3. Проверить условие
(4.2)
если оно выполнено, то вычисления прекратить, полагая .В противном случае перейти к шагу 4.
Шаг 4. Найти и выполнить отражение вершины xn:
Если , то положить и перейти к шагу 2. Иначе - перейти к шагу 5.
Шаг 5. Найти и выполнить отражение вершины . Если, ,то положить и перейти к шагу 2. Иначе - перейти к шагу 6.
Шаг 6. Перейти к новому правильному симплексу с вдвое меньшим ребром, считая базовой вершину x0. Остальные n вершин симплекса найти
по формуле Перейти к шагу 1.
Геометрическая иллюстрация работы алгоритма в пространстве E2 показана на
рис. 4.2, где х0, х1, х2 - вершины начального симплекса, а пунктиром указаны процедуры отражения.
1. Следует иметь в виду, что если функция f(x) многомодальна, то описанным методом может быть найдена точка локального (ближайшего), а не глобального минимума f(x).
2. Если ограниченность снизу целевой функции не очевидна, то в алгоритм метода следует включить дополнительную процедуру останова.
Дата публикования: 2015-01-26; Прочитано: 1394 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!