Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чис_мет_3.doc
Скачиваний:
51
Добавлен:
13.11.2019
Размер:
1 Мб
Скачать
☆

2.1.4. Порядок выполнения лабораторной работы

  1. Кратко описать изучаемые прямые методы безусловной минимизации функций многих переменных.

  2. Выполнить алгоритмическую реализацию описанного метода деформируемого многоугольника.

  3. Дать геометрическую иллюстрацию указанной преподавателем задачи и выполнить вручную две итерации по составленному алгоритму.

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

  5. Проанализировать влияние параметров алгоритма на его сходимость. Дать геометрическую интерпретацию поиска.

  6. Сформулировать вывод о влиянии параметров алгоритма на эффективность поиска решения задачи. Содержание работы отразить в отчете.

2.1.5. Задания для лабораторной работы

  1. Минимизировать функцию f(X)=2x12+x22x1x2,используя в качестве начального многогранник с вершинами X1=(2;2)T, X2=(3;2,5) T, X3=(2;3)T.

  2. Минимизировать функцию f(X)=5x12+5x22+8x1x2,используя в качестве начального многогранник с вершинами X1=(-1;4)T, X2=(-1;8) T, X3=(-3;6)T.

  3. Минимизировать функцию f(X)=4x12+x2240x112x2+136,используя в качестве начального многогранник с вершинами X1=(8;9)T, X2=(10;11)T, X3=(8;11)T.

  4. Минимизировать функцию f(X)=2x12+2x22+2x1x214x112x2+29, используя в качестве начального многогранник с вершинами X1=(6;3)T, X2=(9;3)T, X3=(7;4)T.

  5. Минимизировать функцию f(X)=x12+4x2210x148x2+169, используя в качестве начального многогранник с вершинами X1=(7;3)T,X2=(9;1)T,X3=(9;3)T.

  6. Минимизировать функцию f(X)=x12+9x224x118x2+13,используя в качестве начального многогранник с вершинами X1=(4;3)T, X2=(6;3)T, X3=(6;4)T.

  7. Минимизировать функцию f(X)=9x12+x2236x12x2+37,используя в качестве начального многогранник с вершинами X1=(5;3)T, X2=(7;5)T, X3=(5;5)T.

  8. Минимизировать функцию f(X)=100(x2x12)2+(1x1)2, используя в качестве начального многогранник с вершинами X1=(-1;1)T, X2=(-0,5;1)T, X3=(-1;2)T.

2.2 Методы покоординатного спуска

Рассмотрим прямые методы решения задачи безусловной минимизации (2.1), использующие вместо итерационных процедур вида (2.3) простейшие вычислительные алгоритмы, основанные на рекуррентной формуле

Xk+1= Xk+ kSk, (2.12)

где Sk – направление поиска точки Xk+1 из точки Xk, а положительное число k – величина шага в этом направлении.

Способ выбора Sk и k будет определять одну из четырех рассматриваемых далее модификаций метода покоординатного спуска.

2.2.1 Метод циклического покоординатного спуска

Метод циклического покоординатного спуска заключается в изменении каждый раз одной переменной, тогда как другие остаются постоянными. Опишем этот метод для задачи (2.1).

Пусть X0– некоторое начальное приближение, а 0–некоторое положительное число, являющееся параметром алгоритма. Допустим, что уже известны точка XkÎEn и число k0 при некотором k0. Обозначим ej=(0,…,0,1,0,…,0)–единичный координатный вектор, у которого j-я координата равна 1, остальные равны нулю, j=1,…,n. Положим

Sk=ejk, jk=kn +1, (2.13)

где  целая часть числа k/n. Условие (2.13) обеспечивает циклический перебор координатных векторов e1,…,en, т.е. S0=e1,…, Sn-1=en, Sn=e1,…,

S2n-1=en, S2n=e1….

Вычислим значение функции f(X) в точке X= Xk+ kSk и проверим неравенство

f(Xk+ kSk)  f(Xk). (2.14)

Если оно выполняется, то полагаем

Xk+1= Xk+ kSk, k+1=k. (2.15)

В случае, если условие (2.14) не выполняется, вычисляем значение функции f(X) в точке X= Xk kSk и проверяем неравенство

f(Xk - kSk)  f(Xk). (2.16)

При выполнении условия (2.15) полагаем

Xk+1= Xk - kSk, k+1=k. (2.17)

Будем считать (k+1)–й этап удачным, если выполнилось хотя бы одно из условий (2.14) или (2.16). Если же ни одно из этих условий не выполнено, считаем (k+1)–й этап неудачным и полагаем

Хk+1=Xk, k+1= (2.18)

где (0;1) –фиксированное число, являющееся параметром алгоритма. Условие (2.18) означает, что если за один цикл из n этапов при переборе направлений всех координатных векторов e1,…,en с шагом k реализовался хотя бы один удачный этап, то длина шага k не дробится и сохраняется на протяжении по крайней мере следующего цикла из n этапов. Если же среди последних n этапов ни одного удачного не оказалось, то шаг k дробится.

Скорость сходимости данного метода невысока. Несмотря на это, метод циклического покоординатного спуска широко применяется на практике благодаря простоте реализации.

Заметим, что такой метод работает плохо, если в выражение минимизируемой функции входят произведения x ix j, т.е. если имеет место взаимодействие между x i, i=1,…,n.

Указанного в конце предыдущего пункта недостатка можно избежать с помощью следующей модификации метода покоординатного спуска, известной под названием метода Зейделя.