如何将以下 SDP 问题转化为平等标准形式

计算科学 半定规划
2021-12-07 20:05:02

我有以下半定编程问题,我想将其放入标准形式中,以估计其复杂性的顺序。

问题是:

maxxi,jiFjFwi,j+xi,j+w(1xi,j)
受约束
C1:xi,i=1,iF

C2:xi,j+xj,kxi,k1,i,j,kF:k>i,ji,k

C3:jFxi,jM,iF

C4:xi,j0,i,jF

C5:X=(xi,j)0
其中,是一个 PSD对称矩阵。我想把它放在一个标准的等式形式中,以便能够知道等式约束的最终矩阵维数, ) 解决问题的复杂性MR+X(F×F)mXnO((mn3+m2n2+m3)nlog1ϵ)

感谢你并致以真诚的问候,

2个回答

处理线性不等式约束的标准方法是将非负松弛变量添加到每个不等式约束以使其成为等式约束并将您的矩阵扩展为块对角矩阵,其中非负松弛变量在对角线上显示为 1x1 块。 X

在计算实践中,重要的是利用 SDP 求解器的能力来利用这种块对角结构,而不是简单地使变大。假设您只想证明 SDP 可以在多项式时间内求解,您应该满足于扩大的大小。 XX

因此,您需要在这里做的就是计算线性不等式约束的数量以获得松弛变量的数量(这将增加的大小),并计算产生的等式约束的数量(以获得。)Xm

C1:等式约束,没有添加松弛变量。F

C2:松弛变量等式约束。C(F,2)(F2)C(F,2)(F2)

C3:等式约束,具有松弛变量。FF

C4:等式约束,具有松弛变量。F2F2

C5:已经是标准格式。 X0

加起来,你最终得到

m=F+C(F,2)(F2)+F+F2

n=F+C(F,2)(F2)+F+F2

标准形式的 SDP 由矩阵以及标量 ( ) 的数据定义,将原始问题最小化~C\bullet Z 参数化为和对偶问题服从今天的大多数求解器都是原始对偶的,即它们同时计算因此,在遇到问题时,重要的是要了解您可以选择如何解释模型。我选择不调用任何变量CAibii=1mminimize CZAiZ=bi,Z0maximize bTCAiyi0ZyXx为了强调你拥有的这种自由,不要让这个名字欺骗你。

在您的情况下,如果您以标准求解器为目标,则尝试从描述中提取数据以适合原始形式(您称之为标准相等)不一定是最佳选择。相反,当您有许多(或更多)线性不等式时,您很可能应该尝试将您的模型视为描述对偶的东西。实际上,可以看作是使用,即对应于定义对称矩阵的元素。这意味着您的模型具有复杂性,Brian 称之为O(F2)X0CAiyiF(F+1)/2ym=F(F+1)/2C(F,2). 明显小于您尝试将模型拟合为标准等式形式(原始形式)所获得的结果。这些变量用于具有一个大小为的 LMI 约束和一堆线性不等式的模型中(与 Brian 在总结所需松弛数时相同的分析给出的总数,加上您的等式具有线性约束来编写)。FF2F