cvxopt cone 编程文档
cvxopt cone programming documentation
我正在尝试使用 cvxopt python 库解决二次优化问题。
我有二次约束,我正在将其转换为圆锥约束。
我的问题是关于 cvxopt documentation for cone programming。一般锥形程序用(除其他外)约束来描述:
s_0 => 0
s_k0 => || s_k1 || for k = 1,...,M
他们真的是这个意思吗?
他们在文档下给出了一个例子:
他们表示为:
G = [ matrix( [[12., 13., 12.], [6., -3., -12.], [-5., -5., 6.]] ) ]
G += [ matrix( [[3., 3., -1., 1.], [-6., -6., -9., 19.], [10., -2., -2., -3.]] ) ]
h = [ matrix( [-12., -3., -2.] ), matrix( [27., 0., 3., -42.] ) ]
这似乎表明约束是:
s_k0 => || s_k1 || for k = 0,...,M
您错过了示例的重要部分:
sol = solvers.socp(c, Gq = G, hq = h)
来自documentation for cone programming:
The argument Gq
is a list of M dense or sparse matrices G_1, ..., G_M. The argument hq
is a list of M dense single-column matrices h_1, ..., h_M. The elements of Gq
and hq
must have at least one row. The default values of Gq
and hq
are empty lists.
所以 s_0
表示的分量不等式被忽略了。
我正在尝试使用 cvxopt python 库解决二次优化问题。 我有二次约束,我正在将其转换为圆锥约束。
我的问题是关于 cvxopt documentation for cone programming。一般锥形程序用(除其他外)约束来描述:
s_0 => 0
s_k0 => || s_k1 || for k = 1,...,M
他们真的是这个意思吗?
他们在文档下给出了一个例子:
他们表示为:
G = [ matrix( [[12., 13., 12.], [6., -3., -12.], [-5., -5., 6.]] ) ]
G += [ matrix( [[3., 3., -1., 1.], [-6., -6., -9., 19.], [10., -2., -2., -3.]] ) ]
h = [ matrix( [-12., -3., -2.] ), matrix( [27., 0., 3., -42.] ) ]
这似乎表明约束是:
s_k0 => || s_k1 || for k = 0,...,M
您错过了示例的重要部分:
sol = solvers.socp(c, Gq = G, hq = h)
来自documentation for cone programming:
The argument
Gq
is a list of M dense or sparse matrices G_1, ..., G_M. The argumenthq
is a list of M dense single-column matrices h_1, ..., h_M. The elements ofGq
andhq
must have at least one row. The default values ofGq
andhq
are empty lists.
所以 s_0
表示的分量不等式被忽略了。