问题标签 [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.
matlab - 使用 CVX 的强凸问题具有 UNBOUNDED 状态
我正在尝试最小化以下类型的函数:
在 MATLAB 中使用 CVX,CVX 输出“Status: Unbounded Optimal value(cvx_optval): -Inf"
这是不合理的,因为它是一个强凸函数。知道为什么我会得到这个以及如何解决它吗?
例如,为了获得这种类型的输出,我运行了一个简单的示例:
matlab - 仍然不明白如何在最优问题中添加松弛变量
现在我正在尝试为这个最优问题添加一个松弛变量:http: //ask.cvxr.com/t/why-does-the-optimal-value-become-nan-sometimes/6035
这是我在本网站https://yalmip.github.io/debugginginfeasible/中添加 slack 变量第 6 节的参考
这是该网站的松弛代码。有些事情我不明白。
我对这个例子的问题是:
如果我有三个约束,我是否需要产生三个松弛变量?
我还需要构建 Constraints = [slack2>=0] 吗?
他的示例代码中的“某事”是什么意思?它是一个值、一个向量、一个矩阵还是一个公式?
我如何定义 N?在一个约束中,不仅有一个向量,还有另一个向量,有些向量可能是 5 x 1,有些可能是 4 x 1,所以我不知道我应该为 N 假设什么值?
下面是我的代码,我不认为这是正确的,除非我知道我问的问题的解释,NI假设是4,因为我只有一种向量;4乘1矢量
我的最佳问题代码和公式如下
r - CVXR 示例 cvxr_kelly-strategy 的扩展不符合 DCP?
我一直在研究一些示例代码,试图学习 CVX 并旋转我的轮子,试图找出 CVXR 中凯利示例的扩展:
“扩展:正如在上面的一些轨迹中所观察到的,财富在最终增加之前往往会大幅下降。降低这种回撤风险的一种方法是添加凸约束,如 Busseti、Ryu 和 Boyd (2016, 5.3) 中所述CVXR,这可以使用 log_sum_exp 原子在一行中完成。其他扩展,如财富目标、投注限制和 VaR/CVaR 界限也很容易合并。
CVXR 示例的 R 版本(不带扩展名)在这里:https ://cvxr.rbind.io/cvxr_examples/cvxr_kelly-strategy/
这完美地工作。
带有扩展名的 python 版本(来自参考文件)在这里:https ://github.com/cvxgrp/kelly_code
“有限结果 RCK 问题 (11) 可以在 CVXPY 中表述和解决为”
在具有上述公式的 R 中,lambda_risk 和 risk_constraints 应如下所示:
但是,这会导致 CVXR::psolve(a, b, ...) 中的错误:问题不遵循 DCP 规则。
真的
错误的
错误的
凸的和未知的
积极和未知
所以看起来最终的日志是取消它的资格。
如果我用原始迭代的实际结果“赌注”替换变量 b,它确实说 is_dcp TRUE
真的
可能是因为这个未回答的帖子(相同的基本问题) 凸函数的 Log_sum_exp 不符合 dcp 吗? 建议CVXR::log_sum_exp“无法推导出log_sum_exp的凸性”,可能是因为它不识别变量的符号?
如果有一个 R 错误,而不是我的代码中缺少的东西,我会感到惊讶。
此外,将 lambda_risk@value 设置为零,它应该只返回直接的 Kelly Optimal 赌注。如果我用数字 0 覆盖变量 lambda_risk,我只会得到这个结果。
真实与真实
错误的
我难住了。
到处都有可用的 python 解决方案,而且我也得到了我上面尝试的公式,可以在 DEOPTIM 中工作(在相当长的时间内),所以我没想到 CVXR 实现会那么棘手。任何追求的途径,甚至只是确认有人让它工作(不是错误),都会受到赞赏。
r - CVXR:无法识别凸函数
我正在尝试使用线性约束进行一些二次优化CVXR
。我有以下矩阵R
:
然后,我尝试构建一个DCP
符合规则集的表单:首先定义x = Variable(num_vars)
,然后编写
fnc <- t(x) %*% HL %*% HL %*% x
,甚至是y <- HL%*%x
, 和fnc <- t(y)%*%y
。根据DCP 规则集(参见二次形式部分),这应该被识别为凸的。但是,当我将源代码加载到R
中时,我得到
形成非凸表达式(仿射)*(仿射)
如何解决这个问题?我需要CVXR
能够将我的功能识别为“遵循 DCP 规则”。
cvx - CVXR:处理变量矩阵的非对角元素
假设在CVXR
我有一个定义A <- Variable(3,3)
并且想要最大化函数“非对角元素的平方根之和”。但是,如果我写类似的东西
sum(sqrt(A))-sum(sqrt(diag(A)))
,第一个函数是凹的,但第二个也是,这不符合,DCP Ruleset
因此被CVX
引擎拒绝。然而,很明显这个函数是凹的——我们只是简单地删除了总和中的一些元素,没有办法说“请考虑非对角元素”。可以做什么?
matlab - 在 CVX (Matlab) 中使用线性约束时出错
我正在尝试使用有纪律的凸规划(CVX)来解决 Matlab 中的一系列优化问题。但我不断收到错误
我尝试用两个不等式约束替换等式约束,但问题仍然存在。
对于某些参数值,这个问题消失了,问题也成功解决了,但我一直没能找出规律。
任何帮助解决此问题或了解导致此问题的原因将不胜感激。
cvxpy - cvxpy中的mosek参数设置
我正在尝试设置“mosek_param”设置,但是出现错误。例如,对于以下情况
来自https://docs.mosek.com/9.0/toolbox/parameters.html --> 我试过了
但是,遇到错误....评论部分有效。
当我在 Matlab 中工作时 --> 使用
对我来说效果很好。但是,在目前的情况下不起作用。此外,我能够设置精度如下
但是,现在不能这样做。是否有另一种方法可以在 cvxpy 中完成这两项工作?谢谢你。
PS:这个问题也发在CVXPY论坛--> https://groups.google.com/forum/#!topic/cvxpy/MEAewGMlqjI
下面是一个例子
这给了我错误。我也尝试使用 'MSK_IPAR_INTPNT_SOLVE_FORM' = 'MSK_SOLVE_PRIMAL' 但无济于事。
matlab - 求解凸线性规划
大家好,我对优化很陌生。解决这个问题的最佳方法是什么?我已经使用 cplex 来解决这些问题。任何人都可以指导我使用matlab找到可能的解决方案。我在 Cplex 中使用的代码
dvar float avgrate;
maximize avgrate;
subject to{
forall (i in V)
avgrate <= (1/n)*(sum (a in N)((b[i][a]) * (log(1+((P*h0) /
(sig*((H*H)+((x[i][a]-y[a])*(x[i][a]-y[a])) ) ) ) ))));
forall (a in N)
sum (i in V) b[i][a] <=1;}