[英]how can I use a solve cvxopt in Julia?
嗨,我正在嘗試在 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
(提示:如果代碼是開源的,請查看他們的測試文件夾,看看他們在遇到問題時如何調用他們的庫。這將顯示他們的庫通常如何在腳本中調用。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.