主要内容

二阶锥规划算法

二阶锥规划的定义

一个二阶锥规划问题的形式

最小值 x f T x

受约束

一个 sc ( ) x b sc ( ) d sc T ( ) x γ ( ) 一个 x b Aeq x = 说真的 x 乌兰巴托

f,x,b,说真的,,乌兰巴托向量,一个Aeq矩阵。为每一个,矩阵一个sc(),向量bsc(),dsc()和标量γ()是在一个二阶锥约束使用您创建的secondordercone

换句话说,这个问题一个线性目标函数和线性约束,以及一组二阶锥约束的形式 一个 sc ( ) x b sc ( ) d sc T ( ) x γ ( )

coneprog算法

coneprog解算器使用中描述的算法安徒生,鲁斯,Terlaky[1]。这个方法是一个内点算法类似内点linprog算法

标准形式

该算法首先将问题标准形式。算法增加了负的松弛变量,这样问题的形式

最小值 x f T x

受约束

一个 x = b x K

解算器扩展的大小线性系数向量f和线性约束矩阵一个为松弛变量。

该地区K交叉的产物吗洛伦兹锥方程1和非负象限。将每个凸锥

一个 sc ( ) x b sc ( ) d sc T ( ) x γ ( )

一个洛伦兹锥方程1,创建一个列向量的变量t1,t2、…tn+ 1:

t 1 = d T x γ t 2 : ( n + 1 ) = 一个 sc x b sc

在这里,变量的数量n为每个锥的行数在吗一个sc()。根据其定义,变量向量t满足不等式

t 2 : ( n + 1 ) t 1 (1)

方程1洛伦兹锥的定义在(n+ 1)变量。的变量t出现问题的变量x在凸区域K

在内部,该算法也使用洛伦兹旋转锥再形成的锥约束,但这个话题并没有解决。鲁斯,安徒生,Terlaky[1]

当添加松弛变量,该算法否定变量,根据需要,并添加适当的常数,以便:

  • 变量只有一个绑定有下界的零。

  • 变量和两个边界有一个零的下界,利用松弛变量,没有上限。

  • 变量没有边界被放置在一个洛伦兹锥松弛变量的约束变量。这个松弛变量不是任何其他表达式的一部分,目标或约束。

对偶问题

双锥是

K * = { 年代 : 年代 T x 0 x K }

双重的问题是

马克斯 y b T y

这样

一个 T y + 年代 = f

对于一些

年代 K *

双最优解是一个点(y,年代),满足双重约束和最大化的双重目标。

均匀自对偶公式

处理可能不可行或无限问题,该算法添加两个变量τκ并制定问题的齐次(等于零)和自对偶。

一个 x b τ = 0 一个 T y + 年代 f τ = 0 f T x + b T y κ = 0 (2)

随着约束

( x ; τ ) K ¯ , ( 年代 ; κ ) K ¯ * (3)

在这里, K ¯ 是锥形的K附加的非负实线,这是空间(x;τ)。类似的 K ¯ * 是锥形的 K * 附加的非负实线,这是空间(年代;κ)。在这个配方,以下引理证明τ是可行的解决方案的扩展,金宝搏官方网站κ的指标是一个不可行的问题。

引理([1]引理2.1)

让(x,τ,y,年代,κ)是一个可行的解决方案方程2随着约束方程3

  • xT年代+τκ= 0。

  • 如果τ> 0,那么(x,y,年代)/τ是一个非标准形式的最优解二阶锥问题。

  • 如果κ> 0,那么至少一种严格的不平等是适用的:

    bTy> 0

    fTx< 0。

    如果第一个不等式成立,那么标准形式,原始的二阶锥问题是不可行的。如果第二个不等式成立,那么标准形式,双二阶锥问题是不可行的。

总之,对于可行的问题,变量τ尺度之间的解决方案最初的标准形式问题和均匀自对偶问题。对于不可行问题,最后迭代(x,y,年代,τ,κ)提供一个证书的不可行性最初的标准形式的问题。

起点

迭代的起点是可行的:

  • x= 1为每一个非负变量,第一变量在每个洛伦兹锥,1和0。

  • y= 0。

  • 年代=(1 0…,0)对于每个锥,1为每个非负变量。

  • τ= 1。

  • κ= 1。

中央路径

该算法试图效仿中央路径,下列方程的参数化方案γ减少从1到0。

一个 x b τ = γ ( 一个 x 0 b τ 0 ) 一个 T y + 年代 c τ = γ ( 一个 T y 0 + 年代 0 f τ 0 ) f T x + b T y κ = γ ( f T x 0 + b T y 0 κ 0 ) X 年代 e = γ μ 0 e τ κ = γ μ 0 (4)
  • 每个变量与一个0下标表示变量的起始点。

  • 的变量X年代箭头矩阵形成的x年代向量,分别。为一个向量x= (x1,x2、…xn),箭头矩阵X有定义

    X = ( x ) = ( x 1 x 2 : n T x 2 : n x 1 ]

    根据其定义,X是对称的。

  • 的变量e是1的向量在每个锥坐标对应x1洛伦兹锥坐标。

  • 的变量μ0有定义

    μ 0 = x 0 T 年代 0 + τ 0 κ 0 k + 1 ,

    在哪里k非零元素的数量在吗x0

中央路径从起点开始,结束于一个齐次自对偶问题的最优解。

安徒生,鲁斯和Terlaky[1]在引理3.1互补条件xT年代= 0,x年代在洛伦兹锥的产物吗l,相当于条件

X 年代 e = 年代 X e = 0

对于每一个圆锥。在这里X=垫(x),x与洛伦兹锥相关联的变量,年代=垫(年代),e是单位向量[0 1 0 0…]适当的维度。讨论表明,中央路径满足互补条件在其终点。

搜索方向

获得点附近的中央路径作为参数γ减少从1到0时,该算法使用牛顿法。找到标记的变量(x,τ,y,年代,κ)。让dx代表的搜索方向x变量,等等。然后牛顿一步解决了线性系统后,来自方程4

一个 d x b d τ = ( γ 1 ) ( 一个 x 0 b τ 0 ) 一个 T d y + d 年代 f d τ = ( γ 1 ) ( 一个 T y 0 + 年代 0 f τ 0 ) f T d x + b T d y d κ = ( γ 1 ) ( f T x 0 + b T y 0 κ ) X 0 d 年代 + 年代 0 d x = X 0 年代 0 e + γ μ 0 e τ 0 d κ + κ 0 d t 一个 u = τ 0 κ 0 + γ μ 0

该算法获得下一个点的一个步骤d方向。

( x 1 τ 1 y 1 年代 1 κ 1 ] = ( x 0 τ 0 y 0 年代 0 κ 0 ] + α ( d x d τ d y d 年代 d κ ]

对于一些步骤 α ( 0 , 1 ]

数值稳定性和加速收敛,该算法尺度步骤根据建议Nesterov和托德[8]。同时,算法修正步骤根据Mehrotra预估的一个变体[7]。(更多细节,请参阅安徒生,鲁斯和Terlaky[1]。)

一步解决差异

与前面的讨论LinearSolver选项的值“增强”指定。解决其他值,改变步计算,以适应不同类型的问题。

  • “汽车”(默认)coneprog选择步骤解决:

    • 如果问题是稀疏的,步骤解决“prodchol”

    • 否则,步骤解决“增强”

  • “正常”——解决者使用的一种变体“增强”步时合适的问题是稀疏的。看到安徒生,鲁斯,Terlaky[1]

  • “舒尔”——解算器使用一个修改舒尔补充方法处理密度稀疏问题几列。这个方法也适合大锥。看到安徒生[2]

  • “prodchol”-戈德法布描述的解算器使用方法和Scheinberg ([4][5])处理密度稀疏问题几列。这个方法也适合大锥。

迭代显示和停止条件

在每一次迭代k,该算法计算三个相对收敛的措施:

  • 原始的不可行性

    Infeas 原始的 k = 一个 x k b τ k 马克斯 ( 1 , 一个 x 0 b τ 0 )

  • 双不可行性

    Infeas k = 一个 T y k + 年代 k f τ k 马克斯 ( 1 , 一个 T y 0 + 年代 0 f τ 0 )

  • 差距不可能实行

    Infeas 差距 k = | f T x k + b T y k κ k | 马克斯 ( 1 , | f T x 0 + b T y 0 κ 0 | )

你可以把这三个统计在命令行指定迭代显示。

选择= optimoptions (“coneprog”,“显示”,“通路”);

所有三个零当问题的方法是可行的和解决者是收敛的。一个可行的问题的变量κk趋于0,变量τk方法积极的常数。

一个停止条件有点相关的差距不可能实行。以下时停止条件最优措施减少低于最优公差。

最优 k = | f T x k b T y k | τ k + | b T y k | = | f T x k / τ k b T y k / τ k | 1 + | b T y k / τ k |

这个统计措施客观价值的精确性。

问题的解决也停止和声明在下列条件下是不可行的。少于三个相对不可行性措施c=ConstraintTolerance,

τ k c 马克斯 ( 1 , κ k )

如果bTyk> 0,那么原始问题的解算器声明是不可行的。如果fTxk< 0,那么解决者宣称对偶问题是不可行的。

该算法也停止的时候

μ k c μ 0

τ k c 马克斯 ( 1 , κ k )

在这种情况下,coneprog报道说,问题是数值不稳定(出口标志-10年)。

剩下的停止条件发生在至少一个大于不可行性措施ConstraintTolerance和计算步长太小了。在这种情况下,coneprog报道称,搜索方向变得太小,不可能取得进一步进展(退出旗7)。

引用

[1]安徒生,e D。,C. Roos, and T. Terlaky.在实现一个圆锥内点方法二次优化。数学。程序。,爵士。B95年(2003),页249 - 277。https://doi.org/10.1007/s10107 - 002 - 0349 - 3

[2]安徒生,k·D。修改schur-complement方法处理密度列线性规划内点法。ACM交易数学软件(汤姆斯),22(3):348 - 356年,1996年。

[3]Ben-Tal、Aharon Arkadi Nemirovski。凸优化工程:建模、分析算法。(1998)。可以在https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.455.2733&rep=rep1&type=pdf

[4]戈德法布、d和k Scheinberg。一个产品形态柯列斯基分解的方法处理密集列线性规划内点方法。数学规划,99(1):猴,2004年。

[5]戈德法布、d和k Scheinberg。产品形态的柯列斯基分解为二阶锥规划内点方法。数学规划,103(1):153 - 179年,2005年。

罗[6],Zhi-Quan乔斯·Sturm, Shuzhong张。二元性和Self-Duality圆锥凸规划。(1996)。可以在https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.6432

[7]Mehrotra,桑杰。”一个非内点方法的实现。”暹罗在优化2》杂志上,没有。4(1992年11月):575 - 601。https://doi.org/10.1137/0802028

于[8]涅斯捷罗夫。E。,和M. J. Todd. “Self-Scaled Barriers and Interior-Point Methods for Convex Programming.”数学运筹学22,没有。1(1997年2月):1-42。https://doi.org/10.1287/moor.22.1.1

另请参阅

|

相关的话题