使用 sqlp 函数在 R 中进行凸优化

Convex optimization in R with sqlp function

有以下凸问题:

minimize ∥Ax−b∥2
subject to l⪯x⪯u

可以在 Matlab 中使用 CVX 和 SDPT3 求解器完成:

cvx_begin
    variable x(n)
    minimize( norm(A*x-b) )
    subject to
        l <= x <= u
cvx_end

这样,R也有一个sdpt3r包,但我不知道如何用这个包翻译这个问题。

使用此 R 包的示例是:

# NOT RUN {
#Solve the MaxCut problem using the built in adjacency matrix B
data(Bmaxcut)
out <- maxcut(Bmaxcut)
blk <- out$blk
At <- out$At
C <- out$C
b <- out$b

out <- sqlp(blk,At,C,b)

#Alternatiee Input Method (Not Run)
#out <- sqlp(sqlp_obj=out)

# }

有人知道怎么做吗?

使用

min y'y
y = Ax-b
L <= x <= U

这只是一个QP。例如。使用 quadprog.