问题标签 [cvx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
optimization - 如何在 CVXOPT 中运行 MOSEK 求解器
我写了一个小代码来使用 CVXOPT 做一个简单的最小方差优化,你可以在下面看到整个代码
通过在 CVXOPT 中使用solvers.qp(P, q, G, h, A, b),代码运行良好并且找到了解决方案
我也想尝试不同的求解器,因此我使用 MOSEK 通过以下参数解决相同的问题
使用solver='mosek'时,代码无法运行,它给了我以下错误
MOSEK 错误 1295:目标中的二次系数矩阵不是正半定的,正如最小化问题所期望的那样
谁能解释我为什么会出现这个错误(我是否以错误的方式编码?)以及是否有解决方法来解决我在 MOSEK 中面临的问题
cvx - Base Apply 和 Elementwise 函数 CVXR
有没有办法使用 base::apply 和 CVXR 元素函数将元素函数应用于矩阵的每一列?假设向量的长度与矩阵的行数匹配,我希望能够使我的目标函数如下:
解决问题时出现以下错误: min(constant) 中的错误 : invalid 'type' (list) of argument
(如果我的代码不清楚,我的目标是将变量向量乘以常数矩阵的每一列,然后得到每个缩放列的最大值,然后对所有这些最大值求和。)
谢谢!
cvxpy - CVXR 迭代限制
使用 R,我正在运行混合整数优化,它在使用 CVXR 的标准求解或 psolve 函数时使用 ECOS_BB 求解器选项。
如何设置最大迭代次数?我到处都看过。当我将 ECOS_BB 本机选项添加到函数调用时,它们都没有做任何事情。
我使用的是 0.99-3 版本。
r - CVXR:as.vector(数据)中的错误:没有将这个 S4 类强制为向量的方法
我试图用 R 最小化以下问题:
\min \sum_{t=1}^T \| y_t - \delta \|_2
其中 y_t for t = 1,...,T 和 \delta 是向量
这是我尝试过的:
这是我在编译目标时收到的错误消息:
我知道这里 betaHat 不是一个数值,这就是出现错误的原因。那么,如何编写具有相同列的矩阵呢?如果 y 有 2 个列,我尝试将其作为多个约束
这行得通,但我怎样才能对 T 列重复呢?是否可以在循环中创建多个变量?然后总结它们?
r - CVXR:solve() 的问题 - as.vector(data) 中的错误:没有将这个 s4 类强制为向量的方法
我试图最小化这个功能:
\min_{\mu} \sum_{t=T}^T \| y_t - \mu_t \| 2 + λ\sum {t=1}^{T-1} \|mu_{t+1}-\mu_{t}\|_2
其中: y 和 mu 是 p*T 矩阵。在我使用 solve() 函数之前,一切都编译得很好。
这是我用 y 编码的 ap*obs 矩阵
一切都执行得很好,直到result_mu <- solve(problem_mu)
. 我在哪里收到以下错误消息:
到目前为止一切都很好。
我还尝试了以下公式:
具有相同的目标和问题函数。在这里,我再次在同一点收到完全相同的错误消息。
我看不出代码在什么时候出错了......任何指针?
谢谢
r - CVX 的 DCP for R 遇到问题
我面临以下挑战,我似乎没有找到解决方案:
基本上,我想为 StoNED 编写一些代码 - 随机非平滑数据包络。
我从这个开始:
由于这不起作用,我尝试将问题转换为:
通过这个,我将 DCP 错误从问题表达式转移到了约束表达式。我真的不知道如何解决这个问题。有没有人有合适的解决方案?提前致谢!
python - CVXPY - 传递变量和常量
我正在尝试执行以下操作(CVX matlab 代码):
但是当我在 python CVXPY 中尝试这个时,我得到一个错误:
TypeError:float() 参数必须是字符串或数字,而不是“变量”
matlab - “mexschurfun.mexmaci64”无法打开,因为无法验证开发者
我正在尝试在 MATLAB 中使用 CVX,但是当我运行我的代码时,我收到了这个错误:
“mexschurfun.mexmaci64”无法打开,因为无法验证开发者。
我已经尝试将“mexschurfun.mexmaci64”文件的 Mac 安全性更改为“仍然允许”,但它仍然给我同样的错误。任何想法如何解决这一问题?