主要内容

二阶锥规划算法

二阶锥规划的定义

二阶锥规划问题的形式为

x f T x

受约束

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

fxb说真的,乌兰巴托是向量,和一个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,创建变量的列向量t1t2、……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,则(xy年代)/τ是标准形式二阶锥问题的原对偶最优解。

  • 如果κ>0,则至少有一个严格不等式成立:

    bTy> 0

    fTx< 0。

    如果第一个不等式成立,则标准形式的原始二阶锥问题不可行。如果第二个不等式成立,则标准形式的对偶二阶锥问题不可行。

综上所述,对于可行问题,变量τ在原标准形式问题和齐次自对偶问题之间缩放解。对于不可行的问题,最终迭代(xy年代τκ)提供原始标准表单问题不可行的证书。

起点

迭代的起始点为可行点:

  • 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= (x1x2,…,xn],箭头矩阵X有定义

    X x x 1 x 2 n T x 2 n x 1

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

  • 变量e是每个圆锥体坐标中对应于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”

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

  • “正常”-解算器使用“增强”当问题比较稀疏时适用的步骤。参见Andersen、Roos和Terlaky[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 |

通过指定迭代显示,可以在命令行中查看这三个统计信息。

选项=最佳选项(“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约束耐受性,

τ k c 马克斯 1 κ k

如果bTyk> 0,然后解算器声明原始问题不可行。如果fTxk< 0,然后解算器声明对偶问题不可行。

μ k c μ 0

τ k c 马克斯 1 κ k

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

当至少一个不可行性度量值大于约束耐受性计算的步长太小。在这种情况下,coneprog报告搜索方向太小,无法取得进一步进展(退出标志-7).

工具书类

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

[2] 安徒生,K.D。线性规划内点法中处理稠密柱的修正schur补法。数学学报,22(3):348-356,1996。

[3] 本·塔尔、亚哈龙和阿卡迪·内米洛夫斯基。工程中的凸优化:建模,分析,算法。(1998)。可以在https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.455.2733&rep=rep1&type=pdf

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

[5] Goldfarb,D.和K.Scheinberg。二阶锥规划内点法中的积型cholesky分解。数学规划,103(1):153-1792005。

罗志权,Jos F. Sturm,张树忠。二次凸规划的对偶性和自对偶性。(1996)。可以在https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.6432

[7] 关于原始-对偶内点法的实现优化学报2,没有。4(1992年11月):575-601。https://doi.org/10.1137/0802028

于[8]涅斯捷罗夫。E.和M. J.托德。《凸规划的自尺度障碍和内点方法》。运筹学数学22,没有。1(1997年2月):1 - 42。https://doi.org/10.1287/moor.22.1.1

另请参阅

|

相关话题