Реализовать программно метод градиентного спуска. Реализация должна предполагать останов при достижении заданного количества шагов, останов по величине ɛ, регулировать величину шага, задание начальной точки. Провести исследование влияния параметров метода на результат (количество итераций, величина параметров, точность, задание начальной точки). Для этой цели могут быть использованы приведенные задачи и предложенные вами. Результаты отразить в отчете. ## Функции и рекомендованные параметры #### Для проверки 1. $f(x)=x_1^3=x_1x_2+x_2^2-2x_1+3x_2-4\rightarrow min$, $x^0=(0,0)^T$ Ответ: точное решение $x^∗=(\frac{1}{2},-\frac{5}{4})$ 2. $f(x)=(x_2-x_1^2)^2+(1-x_1)^2\rightarrow min$, $x^0=(0,0)^T$ Ответ: точное решение $x^∗=(1, 1)^T$ #### Для исследований 1. $f(x)=(x_2^2+x_1^2-1)^2+(x_1+x_2-1)^2\rightarrow min$, $x^0=(0,3)^T$ и $x^0=(3,0)^T$ 2. $f(x)=(x_1^2+x_2-11)^2+(x_1+x_2^2-7)^2\rightarrow min$, $x^0=(0,0)^T$, $ε_1=0.1$, $ε_2=0.1$ 3. $f(x)=4(x_1-5)^2+(x_2-6)^2\rightarrow min$, $x^0=(8,9)^T$, $ε_1=0.1$, $ε_2=0.1$ 4. $f(x)=4(x_1-5)^2+(x_2-6)^2\rightarrow min$, $x^0=(8,9)^T$, $ε_1=0.1$, $t=0.1$ 5. $f(x)=4(x_1-5)^2+(x_2-6)^2\rightarrow min$, $x^0=(8,9)^T$, $ε_1=0.1$, $ε_2=0.1$, $M=10$ ## Алгоритм 1. Задать $x^0$, $ε_1>0$, $ε_2>0$, предельное число итераций $M$. Найти градиент функции в произвольной точке $∇f(x)=(\frac{∂f(x)}{∂x_1},...,\frac{∂f(x)}{∂x_n})$ 2. Положить $k=0$ 3. Вычислить $∇f(x^k)$ 4. Проверить выполнение критерия окончания $||∇f(x^k)||<ε_1$ - Если критерий выполнен, то $x^∗=x^k$ - Если критерий не выполнен, то перейти к шагу 5 5. Проверить выполнение неравенства $k≥M$ - Если неравенство выполнено, то $x^∗=x^k$ - Если нет, то перейти к шагу 6 6. Вычислить величину шага $t_k^∗$ из условия $φ(t_k)=f(x^k-t_k∇f(x^k))\rightarrow min$ 7. Вычислить $x^{k+1}=x^k-t_k^∗∇f(x^k)$ 8. Проверить выполнение условий $||x^{k+1}-x^k||<ε_2$, $|f(x^{k+1})-f(x^k)|<ε_2$ - если оба условия выполнены при текущем значении $k$ и $k=k-1$, то расчет окончен, $x^∗=x^{k+1}$ - если хотя бы одно из условий не выполнено, то положить $k=k+1$ и перейти к шагу 3