嗨,我正在尝试使用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求解器?我的代码中会出现什么问题?
谢谢!
发布于 2021-07-29 20:49:49
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(提示:如果代码是开源的,请查看他们的测试文件夹,看看当你遇到问题时他们是如何调用他们的库的。这将显示它们的库在脚本中的常规调用方式。)
https://stackoverflow.com/questions/68560366
复制相似问题