主要内容

二阶锥规划算法

二阶锥规划的定义

二阶锥规划问题有这样的形式

最小值 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求解器使用Andersen、Roos和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

在内部,算法也使用洛伦兹旋转锥在圆锥约束的重新表述中,但本主题不涉及这种情况。详情请参见Andersen、Roos和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,每个洛伦兹锥第一个变量为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

中心路径从齐次自对偶问题的起点开始,到最优解结束。

安徒生,鲁斯和特拉基[1]在引理3.1中证明了互补条件xT年代= 0,x年代是洛伦兹锥的乘积吗l,等于条件

X 年代 e 年代 X e 0

对于每一个圆锥.在这里X=垫(x),x这个变量与洛伦兹锥有关吗,年代=垫(年代),e为相应维数的单位向量[1,0,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和Todd的建议缩放步长[8].此外,该算法还根据Mehrotra的预测校正器的一个变体来校正步长[7].(详情请参见Andersen、Roos和Terlaky[1].)

一步解决差异

前面的讨论涉及LinearSolver选项的值“增强”指定。求解器有其他值,可以改变步长计算,以适应不同类型的问题。

  • “汽车”(默认)coneprog选择步进求解器:

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

    • 否则,步进解算器为“增强”

  • “正常”-求解器使用的是“增强”当问题稀疏时,这是合适的步骤。看看安徒生、鲁斯和特拉基[1]

  • “舒尔”-该求解器使用改进的Schur补码方法来处理具有几个密集列的稀疏问题。这种方法也适用于大锥。看到安徒生[2]

  • “prodchol”-求解器使用Goldfarb和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 |

这个统计量测量了客观值的准确性。

在下列条件下,求解器也会停止并声明问题不可行的。这三种相对不可行的措施都小于cConstraintTolerance,

τ k c 马克斯 1 , κ k

如果bTyk> 0,则求解者声明原问题不可行。如果fTxk< 0,则求解器声明对偶问题是不可行的。

算法也会在

μ k c μ 0

τ k c 马克斯 1 , κ k

在这种情况下,coneprog报告问题在数值上不稳定(退出标志)-10).

剩余的停止条件发生在至少一个不可行措施大于ConstraintTolerance计算的步长太小。在这种情况下,coneprog有报道称,搜索方向变得太小,无法取得进一步进展7).

参考文献

[1] Andersen, E. D., C. Roos,和T. Terlaky。关于二次曲线优化的原-对偶内点法的实现。数学。程序。,爵士。B95,第249-277页(2003)。https://doi.org/10.1007/s10107-002-0349-3

安徒生,k.d。线性规划内点法中处理密集柱的改进schur-补法。数学学报,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

Goldfarb, D.和K. Scheinberg。线性规划内点法中处理密集列的积型cholesky分解方法。数学学报,32(1):1 - 10,2004。

Goldfarb, D.和K. Scheinberg。二阶锥规划内点法中的积型cholesky分解。数学学报,31(1):1 - 7,2005。

罗志权,Jos F. Sturm,张树忠。圆锥凸规划的对偶性和自对偶性。(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.托德。《凸规划的自尺度障碍和内点方法》。运筹学数学,没有。1(1997年2月):1 - 42。https://doi.org/10.1287/moor.22.1.1

另请参阅

|

相关的话题