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

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.

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