system: [SYSTEM]

user: 2. 算法 为方便起见，下面引进矩阵函数的微分算子和伴随算子的记号。 对于连续可微矩阵函数 G ( x ) : ℝ n → S m ，记其微分算子 D G ( x ) 为 D G ( x ) : = ( ∂ G ( x ) ∂ x 1 ， ∂ G ( x ) ∂ x 2 ， ⋯ ， ∂ G ( x ) ∂ x n ) ， 且对任意的 d ∈ ℝ n ，有 D G ( x ) d = ∑ i = 1 n d i ∂ G ( x ) ∂ x i . 记 D G ( x ) 的伴随算子为 D G ( x ) * ，且 ∀ Z ∈ S m ，有 D G ( x ) * Z : = ( 〈 ∂ G ( x ) ∂ x 1 ， Z 〉 ， 〈 ∂ G ( x ) ∂ x 2 ， Z 〉 ， ⋯ ， 〈 ∂ G ( x ) ∂ x n ， Z 〉 ) T ， 其中 〈 A ， B 〉 表示矩阵A与B的内积，且 〈 A ， B 〉 = Tr ( A B ) ， ∀ A ， B ∈ S m ， Tr ( ⋅ ) 表示矩阵的迹。定义NLSDP (0.1)的Lagrange函数为 L ( x ， λ ， Y ) = f ( x ) + λ T h ( x ) + 〈 Y ， G ( x ) 〉 ， 其中 λ ∈ ℝ p ， Y ∈ S m 。 定义1.1：设 x * ∈ ℝ n 是NLSDP (0.1)的可行点，若存在向量 λ * ∈ ℝ p 和矩阵 Y * ∈ S m 满足如下条件： ∇ f ( x * ) + D h ( x * ) T λ * + D G ( x * ) ∗ Y * = 0， h ( x * ) = 0， G ( x * ) ≼ 0， Y * ≽ 0， Tr ( Y * G ( x * ) ) = 0， 则称 x * 是NLSDP (0.1)的一个KKT点，称 ( λ * ， Y * ) 为对应于 x * 的Lagrange乘子。 定义NLSDP (0.1)的约束违反度函数如下： v ( x ) = ‖ h ( x ) ‖ + λ 1 ( G ( x ) ) + ， (1.1) 其中 λ 1 ( A ) 表示矩阵A的最大特征值， ( α ) + = max { 0， α } ， ( λ 1 ( A ) ) + 简记为 λ 1 ( A ) + ， ‖   ⋅   ‖ 表示欧氏范数。定义NLSDP (0.1)的罚函数如下： P α ( x ) = f ( x ) + α v ( x ) ， (1.2) 其中 α > 0 为罚参数。设当前迭代点为 x k ∈ ℝ n ，构造约束违反度函数 v ( x ) 线性模型如下： m k ( d ) = ‖ h ( x k ) + D h ( x k ) d ‖ + λ 1 ( G ( x k ) + D G ( x k ) d ) + . (1.3) 构造罚函数 P α ( x ) 的二次模型如下： Q k α ( d ) = f ( x k ) + ∇ f ( x k ) T d + 1 2 d T B k d + α m k ( d ) ， (1.4) 其中矩阵 B k ∈ ℝ n × n 是NLSDP (0.1)的Lagrange函数的Hesse阵或其近似阵。对于给定的罚参数 α ，使用(1.4)产生搜索方向，即求解如下无约束问题(简记 QM ( x k ， α ) )： min d ∈ ℝ n       Q k α ( d ) . (1.5) 记上述问题的最优解为 d k ( α ) 。由于 QM ( x k ， α ) ( 1.5 ) 是非光滑问题，求解较为复杂，因此将其等价转化为如下光滑问题： min d ， z 1 ， z 2       ∇ f ( x k ) T d + 1 2 d T B k d + α ( ‖ z 1 ‖ 2 + z 2 ) s .t .             h ( x k ) + D h ( x k ) d = z 1 ，                                                   G ( x k ) + D G ( x k ) d ≼ z 2 I m ， z 2 ≥ 0 ， (1.6) 其中 I m 为m阶单位矩阵。记其解为 ( d k ( α ) ， z 1 k ， z 2 k ) 。 为更新罚参数，类似文 [ 8 ] ，构造如下信赖域子问题(简记 LM ( x k ， Δ k ) )： min m k ( d )     s .t .   ‖ d ‖ ∞ ≤ Δ k ， (1.7) 其中信赖域半径 Δ k > 0 。记其解为 d L M k 。由于 LM ( x k ， Δ k ) ( 1.7 ) 为非光滑问题，因此将其等价转化为如下光滑问题： min d ， z 1 ， z 2 ‖ z 1 ‖ + z 2 s .t h ( x k ) + D h ( x k ) d = z 1 ， G ( x k ) + D G ( x k ) d ≼ z 2 I m ， ‖ d ‖ ∞ ≤ Δ k ， z 2 ≥ 0. (1.8) 下面给出算法的具体步骤。 算法A： 步骤0：(初始步)任取 x 0 ∈ ℝ n ， B 0 = I n (单位阵)， α 0 > 0 ， ρ > 0 ， ϵ 1 ∈ ( 0，1 ] ， ϵ 2 ∈ ( 0， ϵ 1 ) ， τ ， η ∈ ( 0，1 ) ， Δ 0 ∈ [ Δ min ， Δ max ] 。令 k = 0 。 步骤1：求解子问题 QM ( x k ， α k ) ( 1.5 ) 得最优解 d k ( α k ) 。若 d k ( α k ) = 0 并且 v ( x k ) = 0 ，则算法终止，否则转步骤2。 步骤2：若 m k ( d k ( α k ) ) = 0 且 Q k α k ( 0 ) − Q k α k ( d k ( α k ) ) ≥ ϵ 2 α k v ( x k ) ，则转步骤5。 步骤3：求解子问题 LM ( x k ， Δ k ) ( 1.7 ) 得最优解 d L M k 。若 m k ( d L M k ) = v ( x k ) 且 v ( x k ) > 0 ， (1.9) 则算法终止，否则转步骤4。 步骤4：(更新罚参数) 步骤4.1：若 m k ( d L M k ) = 0 ，则取 α ¯ k ≥ α k + ρ 且使得如下等式成立 m k ( d k ( α ¯ k ) ) = 0 ， (1.10) 其中 d k ( α ¯ k ) 是子问题 QM ( x k ， α ¯ k ) ( 1 .5 ) 的解，转步骤4.3。 步骤4.2：若 m k ( d L M k ) > 0 ，则取 α ¯ k = α k ，若如下不等式 m k ( 0 ) − m k ( d k ( α ¯ k ) ) ≥ ϵ 1 [ m k ( 0 ) − m k ( d L M k ) ] (1.11) 成立，则转步骤4.3，否则取 α ¯ k ≥ α k + ρ 使得(1.11)成立，转步骤4.3，其中 d k ( α ¯ k ) 是子问题 QM ( x k ， α ¯ k ) ( 1 .5 ) 的最优解。 步骤4.3：(二次模型预估下降量)若不等式 Q k α ¯ k ( 0 ) − Q k α ¯ k ( d k ( α ¯ k ) ) ≥ ϵ 2 α ¯ k [ m k ( 0 ) − m k ( d L M k ) ] (1.12) 成立，则令 α k : = α ¯ k ，否则通过下式更新罚参数 α ¯ k ： α k : = ∇ f ( x k ) T d k ( α ¯ k ) + 1 2 ( d k ( α ¯ k ) ) T B k d k ( α ¯ k ) m k ( 0 ) − m k ( d k ( α ¯ k ) ) + ϵ 2 [ m k ( d L M k ) − m k ( 0 ) ] + ρ ， (1.13) 其中 0 < ϵ 2 < ϵ 1 < 1 。 步骤4.4：求解子问题 QM ( x k ， α k ) ( 1 .5 ) 得最优解 d k ( α k ) ，转步骤5。 步骤5：(线搜索)令 t k 为序列 { 1， τ ， τ 2 ， ⋯ } 中满足如下不等式的最大值： P α k ( x k ) − P α k ( x k + t k d k ( α k ) ) ≥ η t k [ Q k α k ( 0 ) − Q k α k ( d k ( α k ) ) ] ， (1.14) 则令 x ^ = x k + t k d k ( α k ) 。 步骤6：(更新步)利用某种方式更新 B k 为对称正定矩阵 B k + 1 ，取 Δ k + 1 ∈ [ Δ min ， Δ max ] ， α k + 1 : = α k ， x k + 1 : = x ^ ，转步骤1。