如何解决如何在 Julia 中使用求解 cvxopt?
嗨,我正在尝试在 Julia 中使用求解器 cvxopt。所以我做了一个这样的代码:
@time begin
using PyCall
using Pkg ENV["PYTHON"]=""
Pkg.add("CVXOPT")
Pkg.test("CVXOPT")
using Compat.SparseArrays
using NPZ
npzread("C:/Users/skqkr/Desktop/Semesterarbeit/Chiwan_Q1.npz")
Q = 2*(Matrix10["Q"])
p = (Matrix10["p"])
G = (Matrix10["G"])
h = (Matrix10["h"]) ## Rechte Seite von der Ungleichung
sol = cvxopt.solvers.qp(Q,p,G,h,kktsolver="ldl",options=["kktreg":1e-9])
print(sol) print(sol["x"])
end
end
似乎一切正常,但在迭代之后出现了这样的错误。
Certificate of dual infeasibility found.
Testing CVXOPT tests passed
undefvarerror: cvxopt not defined
如何在 Julia 中使用 CVXOPT 求解器,我的代码会出现什么问题??
谢谢!
解决方法
CVXOPT
大写。确保在大写名称中也引用它(您的代码使用小写 cvxopt
):
@time begin
using PyCall
using Pkg ENV["PYTHON"]=""
Pkg.add("CVXOPT")
Pkg.test("CVXOPT")
using Compat.SparseArrays
using NPZ
npzread("C:/Users/skqkr/Desktop/Semesterarbeit/Chiwan_Q1.npz")
Q = 2*(Matrix10["Q"])
p = (Matrix10["p"])
G = (Matrix10["G"])
h = (Matrix10["h"]) ## Rechte Seite von der Ungleichung
sol = CVXOPT.solvers.qp(Q,p,G,h,kktsolver="ldl",options=["kktreg":1e-9])
print(sol) print(sol["x"])
end
end
(提示:如果代码是开源的,请查看他们的测试文件夹,看看他们在遇到问题时如何调用他们的库。这将显示他们的库通常如何在脚本中调用。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。