不可行初始点的 Newton 方法
前面描述的 Newton 方法是一种可行下降方法。本节描述它的一个推广,可以处理不可行的初始点和迭代点。
不可行点处的 Newton 步
与 Newton 方法一样,从等式约束极小化问题的最优性条件出发:
设
即线性方程组
这组方程与可行点处定义 Newton 步的方程相同,唯一的差别是右端第二个块包含
原始—对偶 Newton 步解释
上述方程可以从原始—对偶方法(primal-dual method)的角度解释。所谓原始—对偶方法,是指同时更新原始变量
把最优性条件表示为
注意这里把
把
这与不可行点处 Newton 步的方程完全一样,因此有
即(不可行的)Newton 步等于原始—对偶步的原始部分,而对偶向量
两种表达形式各有侧重:一种以原始和对偶残差为右端,同时给出 Newton 步与对偶步;另一种给出 Newton 步与更新后的对偶变量,并表明计算原始步(或更新后的对偶变量)时不需要知道当前对偶变量的值。
残差范数下降性质
在不可行点处,Newton 方向不一定是
(除非
因此可以用
全步长可行性性质
由构造可知,按定义取出的 Newton 步满足
更一般地,可以分析阻尼步(
对一系列阻尼步迭代,残差满足
这说明每一步的原始残差都与初始原始残差同向,并在每一步被缩小;同时,一旦取了全步长,之后的所有迭代点都原始可行。
不可行初始点的 Newton 方法
利用上述 Newton 步(以及对偶部分
算法 10.2(不可行初始点的 Newton 方法) 给定初始点
- 计算原始与对偶 Newton 步
, 。 - 关于
的回溯直线搜索:令 ;当 时,令 。 - 更新:
, 。
重复上述步骤直至
该算法与标准(可行初始点的)Newton 方法非常相似,但有以下差别:搜索方向包含依赖于原始残差的额外修正项;直线搜索以残差范数(而不是函数值
关于第 2 步的直线搜索需要说明:以残差范数为基础的直线搜索比基于函数值的直线搜索代价稍高,但增加量通常可以忽略;而且由于残差范数沿 Newton 方向的导数为
全步长可行性性质表明:一旦某次迭代取了步长 1,下一个迭代点就可行;此后不可行初始点 Newton 方法与(可行的)标准 Newton 方法方向相同。因此该方法有很多变体,例如:一旦达到可行性就切换到标准 Newton 方法(即把直线搜索改为基于
用不可行初始点 Newton 方法简化初始化
不可行初始点 Newton 方法的主要优点在于初始化。若
当
初始化(可行的)Newton 方法需要找到满足
同样的技巧也可用于未知定义域内点的无约束问题。例如考虑上述问题的对偶
初始化需要找到满足
然后用不可行初始点 Newton 方法从任意正的
用不可行初始点 Newton 方法做初始化的缺点是:当不存在严格可行点时,没有明确的方法检测到这一点——残差范数只会缓慢收敛到某个正值。(阶段 I 方法则可以无歧义地判定这一事实。)此外,达到可行之前,不可行初始点 Newton 方法的收敛可能很慢。
收敛性分析
本节证明:在一定假设下,不可行初始点 Newton 方法收敛于最优点。证明思路与标准 Newton 方法(带或不带等式约束)非常相似:一旦残差范数足够小,算法就取全步长(这意味着可行性已经达到),随后收敛是二次的;同时可以证明在进入二次收敛区域之前,每次迭代使残差范数至少减少一个固定量。由于残差范数非负,这保证了在有限步内残差足够小。
假设
- 下水平集
是闭集(当
- 在
上, 。 - 对
中的点对, 满足 Lipschitz 条件 (这等价于 满足 Lipschitz 条件)。
这些假设意味着
与标准 Newton 方法的比较:第二、三条假设(KKT 矩阵有界逆与 Lipschitz 条件)与标准 Newton 方法分析中的假设本质上相同;但这里的下水平集条件更一般。例如等式约束最大熵问题(目标
基本不等式
设
(若
证明要点:由
利用 Lipschitz 条件与
阻尼 Newton 阶段
若
即步长
也就是说,只要
次迭代就有
二次收敛阶段
当
由此必有
即回溯直线搜索的终止条件在
递归应用可得
为证明迭代序列收敛,可证明它是 Cauchy 序列:在二次收敛区域内步长总为 1,利用
凸—凹博弈
不可行初始点 Newton 方法收敛性的证明表明,该方法可以用于比等式约束凸优化问题更大的一类问题。设
(闭集)上满足 Lipschitz 条件,且
无约束(零和、双人)博弈由支付函数
则称
可以把不可行初始点 Newton 方法用于计算二阶可微的凸—凹博弈的解:定义残差
例子
简单例子:对随机生成的等式约束解析中心问题(
不可行例子:对同一规模但
凸—凹博弈例子:对
(

上图由下面的 TikZ 代码编译而来:
\definecolor{cblue}{RGB}{31,119,180}
\definecolor{cred}{RGB}{214,39,40}
\definecolor{cgreen}{RGB}{44,160,44}
\definecolor{corange}{RGB}{255,127,14}
\definecolor{cpurple}{RGB}{148,103,189}
\definecolor{cbrown}{RGB}{140,86,75}
\definecolor{cpink}{RGB}{227,119,194}
\definecolor{cgray}{RGB}{127,127,127}
\begin{tikzpicture}[x=1cm,y=1cm,>=stealth,line cap=round,line join=round]
\begin{scope}
\draw[color=black!25,very thin] (0.0000,0.0000) -- (6.6000,0.0000) (0.0000,0.2687) -- (6.6000,0.2687) (0.0000,0.5375) -- (6.6000,0.5375) (0.0000,0.8062) -- (6.6000,0.8062) (0.0000,1.0750) -- (6.6000,1.0750) (0.0000,1.3438) -- (6.6000,1.3438) (0.0000,1.6125) -- (6.6000,1.6125) (0.0000,1.8812) -- (6.6000,1.8812) (0.0000,2.1500) -- (6.6000,2.1500) (0.0000,2.4187) -- (6.6000,2.4187) (0.0000,2.6875) -- (6.6000,2.6875) (0.0000,2.9562) -- (6.6000,2.9562) (0.0000,3.2250) -- (6.6000,3.2250) (0.0000,3.4937) -- (6.6000,3.4937) (0.0000,3.7625) -- (6.6000,3.7625) (0.0000,4.0313) -- (6.6000,4.0313) (0.0000,4.3000) -- (6.6000,4.3000);
\draw[color=black!15,very thin] (0.0000,0.0000) -- (0.0000,4.3000) (0.7333,0.0000) -- (0.7333,4.3000) (1.4667,0.0000) -- (1.4667,4.3000) (2.2000,0.0000) -- (2.2000,4.3000) (2.9333,0.0000) -- (2.9333,4.3000) (3.6667,0.0000) -- (3.6667,4.3000) (4.4000,0.0000) -- (4.4000,4.3000) (5.1333,0.0000) -- (5.1333,4.3000) (5.8667,0.0000) -- (5.8667,4.3000) (6.6000,0.0000) -- (6.6000,4.3000);
\draw[->,color=black!60] (0.0000,0.0000) -- (6.9500,0.0000) node[anchor=west,xshift=2pt,yshift=-6pt] {$k$};
\draw[->,color=black!60] (0.0000,0.0000) -- (0.0000,4.6500) node[left=1pt] {$\|r\|$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.0000) {$10^{-13}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.2687) {$10^{-12}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.5375) {$10^{-11}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.8062) {$10^{-10}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.0750) {$10^{-9}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.3438) {$10^{-8}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.6125) {$10^{-7}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.8812) {$10^{-6}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.1500) {$10^{-5}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.4187) {$10^{-4}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.6875) {$10^{-3}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.9562) {$10^{-2}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.2250) {$10^{-1}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.4937) {1};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.7625) {$10$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,4.0313) {$10^{2}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,4.3000) {$10^{3}$};
\node[below,font=\scriptsize,color=black!60] at (0.0000,0.0000) {0};
\node[below,font=\scriptsize,color=black!60] at (0.7333,0.0000) {1};
\node[below,font=\scriptsize,color=black!60] at (1.4667,0.0000) {2};
\node[below,font=\scriptsize,color=black!60] at (2.2000,0.0000) {3};
\node[below,font=\scriptsize,color=black!60] at (2.9333,0.0000) {4};
\node[below,font=\scriptsize,color=black!60] at (3.6667,0.0000) {5};
\node[below,font=\scriptsize,color=black!60] at (4.4000,0.0000) {6};
\node[below,font=\scriptsize,color=black!60] at (5.1333,0.0000) {7};
\node[below,font=\scriptsize,color=black!60] at (5.8667,0.0000) {8};
\node[below,font=\scriptsize,color=black!60] at (6.6000,0.0000) {9};
\draw[cblue,very thick] plot coordinates {(0.000,3.762) (0.733,3.647) (1.467,3.608) (2.200,3.545) (2.933,3.542) (3.667,3.453) (4.400,3.160) (5.133,2.555) (5.867,1.328)};
\draw[cred,very thick] plot coordinates {(0.000,3.913) (0.733,0.004) (1.467,0.013) (2.933,0.072) (3.667,0.084) (4.400,0.062) (5.133,0.061) (5.867,0.057) (6.600,0.036)};
\node[anchor=south east,color=cblue] at (2.9333,2.2309) {$\|r_{\mathrm{dual}}\|$};
\node[anchor=south east,color=cred] at (4.4000,2.8753) {$\|r_{\mathrm{pri}}\|$};
\end{scope}
\begin{scope}[xshift=8.6000cm]
\draw[color=black!15,very thin] (0.0000,0) -- (0.0000,4.3) (0.8250,0) -- (0.8250,4.3) (1.6500,0) -- (1.6500,4.3) (2.4750,0) -- (2.4750,4.3) (3.3000,0) -- (3.3000,4.3) (4.1250,0) -- (4.1250,4.3) (4.9500,0) -- (4.9500,4.3) (5.7750,0) -- (5.7750,4.3) (6.6000,0) -- (6.6000,4.3) ;
\draw[->,color=black!60] (0,0) -- (6.8999999999999995,0) node[below] {$k$};
\draw[->,color=black!60] (0,0) -- (0,4.6499999999999995) node[left] {step length $t$};
\draw[cgray,very thick] plot coordinates {(0.000,3.909) (0.825,3.909) (1.650,1.955) (2.475,3.909) (3.300,3.909) (4.125,3.909) (4.950,3.909) (5.775,3.909) (6.600,3.909)};
\fill[cgray] (0.000,3.909) circle (1.6pt);
\fill[cgray] (0.825,3.909) circle (1.6pt);
\fill[cgray] (1.650,1.955) circle (1.6pt);
\fill[cgray] (2.475,3.909) circle (1.6pt);
\fill[cgray] (3.300,3.909) circle (1.6pt);
\fill[cgray] (4.125,3.909) circle (1.6pt);
\fill[cgray] (4.950,3.909) circle (1.6pt);
\fill[cgray] (5.775,3.909) circle (1.6pt);
\fill[cgray] (6.600,3.909) circle (1.6pt);
\draw[color=black!55,dashed] (0,3.9091) -- (6.6,3.9091);
\node[anchor=west,font=\scriptsize,color=black!55] at (0.1,4.0291) {$t=1$};
\end{scope}
\end{tikzpicture}
上图由下面的 TikZ 代码编译而来:
\definecolor{cblue}{RGB}{31,119,180}
\definecolor{cred}{RGB}{214,39,40}
\definecolor{cgreen}{RGB}{44,160,44}
\definecolor{corange}{RGB}{255,127,14}
\definecolor{cpurple}{RGB}{148,103,189}
\definecolor{cbrown}{RGB}{140,86,75}
\definecolor{cpink}{RGB}{227,119,194}
\definecolor{cgray}{RGB}{127,127,127}
\begin{tikzpicture}[x=1cm,y=1cm,>=stealth,line cap=round,line join=round]
\begin{scope}
\draw[color=black!25,very thin] (0.0000,0.0000) -- (6.6000,0.0000) (0.0000,0.2687) -- (6.6000,0.2687) (0.0000,0.5375) -- (6.6000,0.5375) (0.0000,0.8062) -- (6.6000,0.8062) (0.0000,1.0750) -- (6.6000,1.0750) (0.0000,1.3438) -- (6.6000,1.3438) (0.0000,1.6125) -- (6.6000,1.6125) (0.0000,1.8812) -- (6.6000,1.8812) (0.0000,2.1500) -- (6.6000,2.1500) (0.0000,2.4187) -- (6.6000,2.4187) (0.0000,2.6875) -- (6.6000,2.6875) (0.0000,2.9562) -- (6.6000,2.9562) (0.0000,3.2250) -- (6.6000,3.2250) (0.0000,3.4937) -- (6.6000,3.4937) (0.0000,3.7625) -- (6.6000,3.7625) (0.0000,4.0313) -- (6.6000,4.0313) (0.0000,4.3000) -- (6.6000,4.3000);
\draw[color=black!15,very thin] (0.0000,0.0000) -- (0.0000,4.3000) (0.2750,0.0000) -- (0.2750,4.3000) (0.5500,0.0000) -- (0.5500,4.3000) (0.8250,0.0000) -- (0.8250,4.3000) (1.1000,0.0000) -- (1.1000,4.3000) (1.3750,0.0000) -- (1.3750,4.3000) (1.6500,0.0000) -- (1.6500,4.3000) (1.9250,0.0000) -- (1.9250,4.3000) (2.2000,0.0000) -- (2.2000,4.3000) (2.4750,0.0000) -- (2.4750,4.3000) (2.7500,0.0000) -- (2.7500,4.3000) (3.0250,0.0000) -- (3.0250,4.3000) (3.3000,0.0000) -- (3.3000,4.3000) (3.5750,0.0000) -- (3.5750,4.3000) (3.8500,0.0000) -- (3.8500,4.3000) (4.1250,0.0000) -- (4.1250,4.3000) (4.4000,0.0000) -- (4.4000,4.3000) (4.6750,0.0000) -- (4.6750,4.3000) (4.9500,0.0000) -- (4.9500,4.3000) (5.2250,0.0000) -- (5.2250,4.3000) (5.5000,0.0000) -- (5.5000,4.3000) (5.7750,0.0000) -- (5.7750,4.3000) (6.0500,0.0000) -- (6.0500,4.3000) (6.3250,0.0000) -- (6.3250,4.3000) (6.6000,0.0000) -- (6.6000,4.3000);
\draw[->,color=black!60] (0.0000,0.0000) -- (6.9500,0.0000) node[anchor=west,xshift=2pt,yshift=-6pt] {$k$};
\draw[->,color=black!60] (0.0000,0.0000) -- (0.0000,4.6500) node[left=1pt] {$\|r\|$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.0000) {$10^{-13}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.2687) {$10^{-12}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.5375) {$10^{-11}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.8062) {$10^{-10}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.0750) {$10^{-9}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.3438) {$10^{-8}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.6125) {$10^{-7}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.8812) {$10^{-6}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.1500) {$10^{-5}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.4187) {$10^{-4}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.6875) {$10^{-3}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.9562) {$10^{-2}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.2250) {$10^{-1}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.4937) {1};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.7625) {$10$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,4.0313) {$10^{2}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,4.3000) {$10^{3}$};
\node[below,font=\scriptsize,color=black!60] at (0.0000,0.0000) {0};
\node[below,font=\scriptsize,color=black!60] at (0.8250,0.0000) {3};
\node[below,font=\scriptsize,color=black!60] at (1.6500,0.0000) {6};
\node[below,font=\scriptsize,color=black!60] at (2.4750,0.0000) {9};
\node[below,font=\scriptsize,color=black!60] at (3.3000,0.0000) {12};
\node[below,font=\scriptsize,color=black!60] at (4.1250,0.0000) {15};
\node[below,font=\scriptsize,color=black!60] at (4.9500,0.0000) {18};
\node[below,font=\scriptsize,color=black!60] at (5.7750,0.0000) {21};
\node[below,font=\scriptsize,color=black!60] at (6.6000,0.0000) {24};
\draw[cblue,very thick] plot coordinates {(0.000,3.762) (0.275,3.754) (0.550,3.762) (0.825,3.835) (1.100,3.872) (1.375,3.888) (1.650,3.893) (1.925,3.903) (2.200,3.907) (2.475,3.911) (2.750,3.913) (3.025,3.915) (3.300,3.917) (3.575,3.918) (3.850,3.918) (4.125,3.919) (4.400,3.920) (4.675,3.920) (4.950,3.921) (5.225,3.921) (5.500,3.921) (5.775,3.921) (6.050,3.922) (6.325,3.922) (6.600,3.923)};
\draw[cred,very thick] plot coordinates {(0.000,4.079) (0.275,4.064) (0.550,4.048) (0.825,4.032) (1.100,4.025) (1.375,4.021) (1.650,4.019) (1.925,4.017) (2.200,4.017) (2.475,4.016) (2.750,4.015) (3.025,4.015) (3.300,4.014) (3.575,4.014) (3.850,4.014) (4.125,4.014) (4.400,4.013) (4.675,4.013) (4.950,4.013) (5.225,4.013) (5.500,4.013) (5.775,4.013) (6.050,4.013) (6.325,4.013) (6.600,4.012)};
\node[anchor=south east,color=cblue] at (1.1000,2.2309) {$\|r_{\mathrm{dual}}\|$};
\node[anchor=south east,color=cred] at (1.6500,2.8753) {$\|r_{\mathrm{pri}}\|$};
\end{scope}
\begin{scope}[xshift=8.6000cm]
\draw[color=black!15,very thin] (0.0000,0) -- (0.0000,4.3) (0.2750,0) -- (0.2750,4.3) (0.5500,0) -- (0.5500,4.3) (0.8250,0) -- (0.8250,4.3) (1.1000,0) -- (1.1000,4.3) (1.3750,0) -- (1.3750,4.3) (1.6500,0) -- (1.6500,4.3) (1.9250,0) -- (1.9250,4.3) (2.2000,0) -- (2.2000,4.3) (2.4750,0) -- (2.4750,4.3) (2.7500,0) -- (2.7500,4.3) (3.0250,0) -- (3.0250,4.3) (3.3000,0) -- (3.3000,4.3) (3.5750,0) -- (3.5750,4.3) (3.8500,0) -- (3.8500,4.3) (4.1250,0) -- (4.1250,4.3) (4.4000,0) -- (4.4000,4.3) (4.6750,0) -- (4.6750,4.3) (4.9500,0) -- (4.9500,4.3) (5.2250,0) -- (5.2250,4.3) (5.5000,0) -- (5.5000,4.3) (5.7750,0) -- (5.7750,4.3) (6.0500,0) -- (6.0500,4.3) (6.3250,0) -- (6.3250,4.3) (6.6000,0) -- (6.6000,4.3) ;
\draw[->,color=black!60] (0,0) -- (6.8999999999999995,0) node[below] {$k$};
\draw[->,color=black!60] (0,0) -- (0,4.6499999999999995) node[left] {step length $t$};
\draw[cgray,very thick] plot coordinates {(0.000,0.489) (0.275,0.489) (0.550,0.489) (0.825,0.244) (1.100,0.122) (1.375,0.061) (1.650,0.061) (1.925,0.031) (2.200,0.031) (2.475,0.015) (2.750,0.015) (3.025,0.015) (3.300,0.008) (3.575,0.008) (3.850,0.008) (4.125,0.008) (4.400,0.004) (4.675,0.004) (4.950,0.004) (5.225,0.004) (5.500,0.004) (5.775,0.004) (6.050,0.004) (6.325,0.004) (6.600,0.004)};
\fill[cgray] (0.000,0.489) circle (1.6pt);
\fill[cgray] (0.275,0.489) circle (1.6pt);
\fill[cgray] (0.550,0.489) circle (1.6pt);
\fill[cgray] (0.825,0.244) circle (1.6pt);
\fill[cgray] (1.100,0.122) circle (1.6pt);
\fill[cgray] (1.375,0.061) circle (1.6pt);
\fill[cgray] (1.650,0.061) circle (1.6pt);
\fill[cgray] (1.925,0.031) circle (1.6pt);
\fill[cgray] (2.200,0.031) circle (1.6pt);
\fill[cgray] (2.475,0.015) circle (1.6pt);
\fill[cgray] (2.750,0.015) circle (1.6pt);
\fill[cgray] (3.025,0.015) circle (1.6pt);
\fill[cgray] (3.300,0.008) circle (1.6pt);
\fill[cgray] (3.575,0.008) circle (1.6pt);
\fill[cgray] (3.850,0.008) circle (1.6pt);
\fill[cgray] (4.125,0.008) circle (1.6pt);
\fill[cgray] (4.400,0.004) circle (1.6pt);
\fill[cgray] (4.675,0.004) circle (1.6pt);
\fill[cgray] (4.950,0.004) circle (1.6pt);
\fill[cgray] (5.225,0.004) circle (1.6pt);
\fill[cgray] (5.500,0.004) circle (1.6pt);
\fill[cgray] (5.775,0.004) circle (1.6pt);
\fill[cgray] (6.050,0.004) circle (1.6pt);
\fill[cgray] (6.325,0.004) circle (1.6pt);
\fill[cgray] (6.600,0.004) circle (1.6pt);
\draw[color=black!55,dashed] (0,3.9091) -- (6.6,3.9091);
\node[anchor=west,font=\scriptsize,color=black!55] at (0.1,4.0291) {$t=1$};
\end{scope}
\end{tikzpicture}
上图由下面的 TikZ 代码编译而来:
\definecolor{cblue}{RGB}{31,119,180}
\definecolor{cred}{RGB}{214,39,40}
\definecolor{cgreen}{RGB}{44,160,44}
\definecolor{corange}{RGB}{255,127,14}
\definecolor{cpurple}{RGB}{148,103,189}
\definecolor{cbrown}{RGB}{140,86,75}
\definecolor{cpink}{RGB}{227,119,194}
\definecolor{cgray}{RGB}{127,127,127}
\begin{tikzpicture}[x=1cm,y=1cm,>=stealth,line cap=round,line join=round]
\begin{scope}
\draw[color=black!25,very thin] (0.0000,0.0000) -- (6.6000,0.0000) (0.0000,0.2687) -- (6.6000,0.2687) (0.0000,0.5375) -- (6.6000,0.5375) (0.0000,0.8062) -- (6.6000,0.8062) (0.0000,1.0750) -- (6.6000,1.0750) (0.0000,1.3438) -- (6.6000,1.3438) (0.0000,1.6125) -- (6.6000,1.6125) (0.0000,1.8812) -- (6.6000,1.8812) (0.0000,2.1500) -- (6.6000,2.1500) (0.0000,2.4187) -- (6.6000,2.4187) (0.0000,2.6875) -- (6.6000,2.6875) (0.0000,2.9562) -- (6.6000,2.9562) (0.0000,3.2250) -- (6.6000,3.2250) (0.0000,3.4937) -- (6.6000,3.4937) (0.0000,3.7625) -- (6.6000,3.7625) (0.0000,4.0313) -- (6.6000,4.0313) (0.0000,4.3000) -- (6.6000,4.3000);
\draw[color=black!15,very thin] (0.0000,0.0000) -- (0.0000,4.3000) (1.1000,0.0000) -- (1.1000,4.3000) (2.2000,0.0000) -- (2.2000,4.3000) (3.3000,0.0000) -- (3.3000,4.3000) (4.4000,0.0000) -- (4.4000,4.3000) (5.5000,0.0000) -- (5.5000,4.3000) (6.6000,0.0000) -- (6.6000,4.3000);
\draw[->,color=black!60] (0.0000,0.0000) -- (6.9500,0.0000) node[anchor=west,xshift=2pt,yshift=-6pt] {$k$};
\draw[->,color=black!60] (0.0000,0.0000) -- (0.0000,4.6500) node[left=1pt] {$\|r\|$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.0000) {$10^{-13}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.2687) {$10^{-12}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.5375) {$10^{-11}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,0.8062) {$10^{-10}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.0750) {$10^{-9}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.3438) {$10^{-8}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.6125) {$10^{-7}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,1.8812) {$10^{-6}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.1500) {$10^{-5}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.4187) {$10^{-4}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.6875) {$10^{-3}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,2.9562) {$10^{-2}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.2250) {$10^{-1}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.4937) {1};
\node[left,font=\scriptsize,color=black!60] at (0.0000,3.7625) {$10$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,4.0313) {$10^{2}$};
\node[left,font=\scriptsize,color=black!60] at (0.0000,4.3000) {$10^{3}$};
\node[below,font=\scriptsize,color=black!60] at (0.0000,0.0000) {0};
\node[below,font=\scriptsize,color=black!60] at (1.1000,0.0000) {1};
\node[below,font=\scriptsize,color=black!60] at (2.2000,0.0000) {2};
\node[below,font=\scriptsize,color=black!60] at (3.3000,0.0000) {3};
\node[below,font=\scriptsize,color=black!60] at (4.4000,0.0000) {4};
\node[below,font=\scriptsize,color=black!60] at (5.5000,0.0000) {5};
\node[below,font=\scriptsize,color=black!60] at (6.6000,0.0000) {6};
\draw[cblue,very thick] plot coordinates {(0.000,3.525) (1.100,3.420) (2.200,3.195) (3.300,2.779) (4.400,1.959) (5.500,0.324)};
\node[anchor=south east,color=cblue] at (6.6000,2.6875) {$\|\nabla f\|$};
\end{scope}
\begin{scope}[xshift=8.6000cm]
\draw[color=black!15,very thin] (0.0000,0) -- (0.0000,4.3) (1.3200,0) -- (1.3200,4.3) (2.6400,0) -- (2.6400,4.3) (3.9600,0) -- (3.9600,4.3) (5.2800,0) -- (5.2800,4.3) (6.6000,0) -- (6.6000,4.3) ;
\draw[->,color=black!60] (0,0) -- (6.8999999999999995,0) node[below] {$k$};
\draw[->,color=black!60] (0,0) -- (0,4.6499999999999995) node[left] {step length $t$};
\draw[cgray,very thick] plot coordinates {(0.000,3.909) (1.320,3.909) (2.640,3.909) (3.960,3.909) (5.280,3.909) (6.600,3.909)};
\fill[cgray] (0.000,3.909) circle (1.6pt);
\fill[cgray] (1.320,3.909) circle (1.6pt);
\fill[cgray] (2.640,3.909) circle (1.6pt);
\fill[cgray] (3.960,3.909) circle (1.6pt);
\fill[cgray] (5.280,3.909) circle (1.6pt);
\fill[cgray] (6.600,3.909) circle (1.6pt);
\draw[color=black!55,dashed] (0,3.9091) -- (6.6,3.9091);
\node[anchor=west,font=\scriptsize,color=black!55] at (0.1,4.0291) {$t=1$};
\end{scope}
\end{tikzpicture}
```\n