CVXPY数值不稳定性

问题描述

我注意到,如果您将目标乘以零,则会大大影响解决方案。我在我无法上传的数据集上使用cvxpy时发现了此错误。但这是他们官方资源中的一个示例:https://www.cvxpy.org/examples/basic/sdp.html

import cvxpy as cp
import numpy as np

# Generate a random SDP.
n = 3
p = 3
np.random.seed(1)
C = np.random.randn(n,n)
A = []
b = []
for i in range(p):
    A.append(np.random.randn(n,n))
    b.append(np.random.randn())

# Define and solve the CVXPY problem.
# Create a symmetric matrix variable.
X = cp.Variable((n,n),symmetric=True)
# The operator >> denotes matrix inequality.
constraints = [X >> 0]
constraints += [
    cp.trace(A[i] @ X) == b[i] for i in range(p)]

prob = cp.Problem(cp.Minimize(cp.trace(C @ X)),constraints)
prob.solve()

# Print result.
print("The optimal value is",prob.value)
print("A solution X is")
print(X.value)

现在做同样的事情,但是要改变

prob = cp.Problem(cp.Minimize(cp.trace(C @ X) + 0*cp.trace(C @ X)**9),constraints)

您会看到X的值将会改变。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...