在 Mosek 中转换约束

Tranform a constraint in Mosek

我必须在 R Mosek 中解决以下优化问题:

这是一个凸约束,可以转化为2^N-1圆锥约束与二分之一space的交集:

这在我的实际情况下是不可行的,因为N=50。我能做什么?难道我的问题无法解决(用R Mosek)?


根据答案进行编辑:

是不是我的约束

相当于

更新:先看评论。

是一个log sum exp constraint容易对付的。实际上,您的第一个约束相当于

\begin{array}{rcl}
\log{\sum_{i=0}^n e^{t_i}} & \leq & s, \
t_0                        & =    & 0, \
b_i^Tx-c_i - t_i           & =    & 0, \
s                          & =    & n\log{2}. \
\end{array}

PS。我无法使用数学格式。

为了完整起见,我重复我的评论作为答案。你可以写

t_i >= log(1 + exp(b_i^Tx-c_i))

使用两个指数锥,如 https://docs.mosek.com/modeling-cookbook/expo.html#softplus-function 这是更一般的 log-sum-exp 的一个非常特殊的情况,即 log(exp(0) + exp(b_i^Tx-c_i)).

那么约束就变成了

sum t_i <= N \log(2)

如果您使用 Rmosek,那么您可以在 https://docs.mosek.com/latest/rmosek/case-studies-logistic.html#doc-case-studies-logistic

中找到很多现成的代码